有一个常见的习惯用于遍历字符串,其字符可以使用正则表达式使用反斜杠进行转义(\\.|.),如下所示:
alert( "some\\astring".replace(/(\\.|.)/g, "[$1]") )
Run Code Online (Sandbox Code Playgroud)
这是在JavaScript中.此代码将字符串更改some\astring为[s][o][m][e][\a][s][t][r][i][n][g].
我知道Lua模式不支持OR运算符,因此我们无法将此正则表达式直接转换为Lua模式.
然而,我想知道:是否有另一种方法可以使用Lua模式在Lua中执行此操作(遍历可能转义的字符)?
你可以试试
(\\?.)
Run Code Online (Sandbox Code Playgroud)
并替换为 [$1]
?是0或1出现的快捷量词,因此上述模式匹配前一个字符和一个可选的反斜杠.如果?不工作(我不知道lua)你可以试试{0,1}.这是同样的长版本.