gpt4 book ai didi

regex - Lua string.match 使用不规则正则表达式?

转载 作者:行者123 更新时间:2023-12-04 09:27:59 36 4
gpt4 key购买 nike

我很好奇为什么这不起作用,并且需要知道为什么/如何解决它;我试图检测某些输入是否是一个问题,我很确定 string.match 是我需要的,但是:
print(string.match("how much wood?", "(how|who|what|where|why|when).*\\?"))
返回零。我是 pretty sure Lua's string.match uses regular expressions在字符串中查找匹配项,因为我之前成功使用了通配符 (.),但也许我不了解所有机制? Lua 是否需要在其字符串函数中使用特殊分隔符?我已经测试了我的正则表达式 here ,所以如果Lua使用正则表达式,上面的代码好像会返回"how much wood?" .

你们中的任何人都可以告诉我我做错了什么,我的意思是做什么,或者给我一个很好的引用,我可以在那里获得关于 Lua 的字符串操作函数如何利用正则表达式的全面信息?

最佳答案

Lua 不使用正则表达式。 Lua 使用 Patterns ,看起来相似但匹配不同的输入。
.*也会消耗最后的 ?输入,因此它在 \\? 上失败.应该排除问号。特殊字符用 % 转义.

"how[^?]*%?"

正如 Omri Barel 所说,没有交替运算符。您可能需要使用多个模式,一个用于句子开头的每个替代词。或者您可以使用支持正则表达式之类的库。

关于regex - Lua string.match 使用不规则正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7138189/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com