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

Matching strings with multiple words between two words

在我的程序中,我正在尝试匹配一个包含两个字母然后在它们之间有几个单词的字符串,如下所示: "! hello my name !" 在这个例子中,字符串 "hello my name" 可以改变数字单词到字符串,例如:"hello" 或更多单词。无论如何,如何匹配感叹号之间的字符串?主要问题是我无法弄清楚在字符串匹配中使用的表达式来表示包含多个长度未知的单词的字符串。

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

print(string.match("! hello my name !","!([^!]*)!"))

也尝试模式 "!(.-)!"

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