6

私はこれを使用して、2つの単語の間に表示されるテキストを一致させています。

a1 = "apple"
a2 = "bear"
match_pattern = string.format('%s(.*)%s', a1, a2)
str = string.match(str, match_pattern)

文字列の先頭と数字、または数字と文字列の末尾を一致させるにはどうすればよいですか?

4

1 に答える 1

10

文字列の先頭と数字、または数字と文字列の末尾が一致しますか?

^パターンの先頭で、パターンを文字列の先頭に固定します。パターンの最後にある`$'は、パターンを文字列の最後に固定します。

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ます。

于 2012-04-16T03:21:51.443 に答える