在两个单词之间匹配具有多个单词的字符串

在我的程序中,我正在尝试匹配一个字符串,其中包含两个字母,然后是一些单词,例如:"!你好我的名字!"在此示例中,字符串"你好我的名字"可以更改为单词数更多的字符串,如"你好"。无论如何,我如何匹配感叹号之间的字符串?主要问题是我无法找到表示具有多个单词且长度未知的字符串的表达式。

点赞
用户1009479
用户1009479

使用模式!([^!]+)!,其中[^!]*匹配零个或多个非!字符。

print(string.match("! hello my name !","!([^!]*)!"))
2015-02-08 06:05:06
用户107090
用户107090

也可以尝试使用模式"!(.-)!"

这将匹配这种形式的 最短 字符串,不像 "!(.*)!" 那样匹配 最长 的字符串。

2015-02-08 11:14:23