Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在以下 lua 代码中:
function interp(s, tab) return (s:gsub('($%b{})', function(w) return tab[w:sub(3, -2)] or w end)) end
%b 是什么意思?
以及如何匹配 "${name}" 之类的东西?
%bXY匹配以 . 开头X和结尾的字符序列Y。因此,%b{}匹配{......}大括号之间的任何字符。
%bXY
X
Y
%b{}
{......}
示例代码中的整体模式首先匹配一个$字符,后跟 a {、任意数量的字符,然后是 a }。
$
{
}