3

有一个常见的习惯用法是遍历一个字符串,它的字符可以使用 regex 用反斜杠转义(\\.|.),如下所示:

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 模式来执行此操作(遍历可能转义的字符)?

4

1 回答 1

5

你可以试试

(\\?.)

并替换为[$1]

在 Regexr 上查看。

?是 0 或 1 次出现的快捷量词,因此上述模式匹配一​​个字符和一个可选的反斜杠。如果?不工作(我不知道 lua)你可以试试{0,1}。那是相同的长版本。

于 2014-04-07T13:13:26.273 回答