Aid*_*api 5 regex lua lua-patterns
我正在尝试将字符串与模式匹配,但有一件事我还没弄清楚.在正则表达式中我会这样做:
Strings:
en
eng
engl
engli
englis
english
Pattern:
^en(g(l(i(s(h?)?)?)?)?)?$
Run Code Online (Sandbox Code Playgroud)
我希望所有的字符串都匹配.在Lua模式匹配中,我无法使其工作.
即使是这样一个更简单的例子也行不通:
Strings:
fly
flying
Pattern:
^fly(ing)?$
Run Code Online (Sandbox Code Playgroud)
有人知道怎么做这个吗?
你不能让比赛组可选(或赘述)使用Lua的量词?,*,+和-.
在模式中(%d+)?,问号"失去"其特殊含义,并且只需?通过执行以下代码行来匹配文字:
text = "a?"
first_match = text:match("((%w+)?)")
print(first_match)
Run Code Online (Sandbox Code Playgroud)
将打印:
a?
Run Code Online (Sandbox Code Playgroud)
AFAIK,你最接近Lua的将是使用这种模式:
^eng?l?i?s?h?$
Run Code Online (Sandbox Code Playgroud)
其中(当然)相匹配的字符串一样"enh","enls"...也是如此.