我正在使用它来匹配出现在两个单词之间的文本:
a1 = "apple"
a2 = "bear"
match_pattern = string.format('%s(.*)%s', a1, a2)
str = string.match(str, match_pattern)
如何在字符串的开头和数字或数字和字符串的结尾之间进行匹配?
我正在使用它来匹配出现在两个单词之间的文本:
a1 = "apple"
a2 = "bear"
match_pattern = string.format('%s(.*)%s', a1, a2)
str = string.match(str, match_pattern)
如何在字符串的开头和数字或数字和字符串的结尾之间进行匹配?
字符串的开头和数字或数字和字符串的结尾之间的匹配?
^
在模式的开头将其锚定到字符串的开头。模式末尾的“$”将其锚定到字符串的末尾。
s = 'The number 777 is in the middle.'
print(s:match('^(.*)777')) --> 'The number '
print(s:match('777(.*)$')) --> ' is in the middle.'
或匹配任何数字:
print(s:match('^(.-)%d+')) --> 'The number '
print(s:match('%d+(.*)$')) --> ' is in the middle.'
第一个模式稍有改变以使用非贪婪匹配,它将匹配尽可能少的字符。如果我们使用.*
而不是.-
,我们会匹配The number 77
。