3

在以下 lua 代码中:

function interp(s, tab)
  return (s:gsub('($%b{})', function(w) return tab[w:sub(3, -2)] or w end))
end

%b 是什么意思?

以及如何匹配 "${name}" 之类的东西?

4

1 回答 1

5

%bXY匹配以 . 开头X和结尾的字符序列Y。因此,%b{}匹配{......}大括号之间的任何字符。

示例代码中的整体模式首先匹配一个$字符,后跟 a {、任意数量的字符,然后是 a }

于 2010-05-03T21:18:22.477 回答