【发布时间】:2019-05-12 18:31:13
【问题描述】:
我编写了一个正则表达式来匹配下面的字符串类型,当我在正则表达式匹配器中在线检查时,它按预期工作-
"['432', '212']"
regex - "(\[)('([^']|'')*'), ('([^']|'')*')(])"
ngx.re.find(string, "\"(\[)('([^']|'')*'), ('([^']|'')*')(])\"", "jo")
当我在 lua 块中使用它来匹配字符串时,它给了我无效的转义序列错误。 我转义了双引号,并试图用 \ 转义正则表达式中的特殊字符,但问题仍然存在。任何指针都会有所帮助。谢谢!
【问题讨论】:
-
你试过
local regex = [["(\[)('([^']|'')*'), ('([^']|'')*')(])"]]吗? -
我不知道 lua,但是在很多语言中,
\在字符串文字中是特殊的,所以你实际上必须使用\\[将\[传递给正则表达式引擎以匹配文字[. -
@ikegami - 是的,你说得对,它是 PCRE。我的错。