如何在没有库的情况下用 Lua 编写这个正则表达式模式?

我想要编写这个正则表达式模式:

(?<=bring a ).*?(?=,)

但是在 Lua 中我不知道该如何完成。如果有人能指点我正确的方向,将不胜感激!

正则表达式模式解释:它的作用是获取 bring a, 之间的任何内容。

点赞
用户7509065
用户7509065

Lua 的模式匹配不如正则表达式高级,所以不能编写与您发布的正则表达式完全相同的模式。 但是,您可以编写与此正则表达式相同的模式:

bring a (.*?),

不同之处在于,您将获得作为子组的想要的结果,而不是整个匹配。 以下是实现的方法:

bring a (.-),

您可以像这样使用它:

str = 'I will bring a ball, so if you bring a bat, then we can have batting practice.'
for s in str:gmatch('bring a (.-),') do
    print(s)
end

这将打印出“ball”和“bat”。

2019-12-25 00:44:25