任何Lua模式替代正则表达式(\\。|。)?

时间:2014-04-07 13:06:19

标签: lua lua-patterns

通过使用正则表达式(\\.|.),遍历字符串的常用习惯用法可以使用反斜杠转义字符,如下所示:

alert( "some\\astring".replace(/(\\.|.)/g, "[$1]") )

用JavaScript编写的。此代码将字符串some\astring更改为[s][o][m][e][\a][s][t][r][i][n][g]

我知道Lua模式不支持OR运算符,因此我们无法将此正则表达式直接转换为Lua模式。

然而,我想知道:是否有另一种方法可以使用Lua模式在Lua中执行此操作(遍历可能转义的字符)?

1 个答案:

答案 0 :(得分:5)

你可以尝试

(\\?.)

并替换为[$1]

请参阅it on Regexr

?是0或1出现的快捷量词,因此上述模式匹配前一个字符和一个可选的反斜杠。如果?无效(我不知道lua),您可以尝试使用{0,1}。这是同样的长版本。