【发布时间】:2013-10-13 09:50:43
【问题描述】:
有没有办法我可以创建一个匹配 "ab|cd" 的字符串模式,以便匹配输入字符串中的 "ab" 或 "cd"。我知道您使用 "[ab]" 之类的东西作为模式,它将匹配 "a" 或 "b",但这仅适用于一个字母。
请注意,我的实际问题要复杂得多,但本质上我只需要知道 Lua 的字符串操作中是否存在 OR 事物。我实际上想在 OR 事物的每一侧放置其他模式,等等。但如果它与 "hello|world" 之类的东西一起使用,并且将 "hello, world!" 与 "hello" 和 "world" 匹配,那就太好了!
【问题讨论】:
-
我不确定使用内置模式匹配是否可以轻松完成。如果您需要使用 Lua 执行复杂的解析/匹配,您可以尝试 lpeg:inf.puc-rio.br/~roberto/lpeg
-
@peterm 是的,使用 lpeg 很容易!
(lpeg.P("foo") + "bar"):match(input)
标签: string parsing lua lua-patterns