2012-04-15 5 views
0

私は2つの単語の間に表示されるテキストを一致させるために、これを使用しています:Luaのstring.matchと文字列の開始または終了を一致させる方法は?

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

は、どのように私は、文字列の先頭と数または数と文字列の末尾の間のマッチを行うことができますか?

+0

-1:[ドキュメンテーション](http://www.lua.org/manual/5.1/manual.html#5.4.1)で簡単に答えが見つかります。 –

+0

ここでは、人々は他の人には難しいです。 「RTFM」はサイトの精神とは反対のようです。 luaのドキュメントは簡単に検索できますが、理解するのは難しいです。私は自分で質問に答えることができればいいと思っていますが、すでにドキュメントを読めないことが判明したので、私はここでも答えを探しています。がんばろう! –

答えて

2

文字列の開始と文字列の番号または数字との間の一致?

^はパターン開始時に文字列の先頭に固定されます。 パターンの最後に `$ 'を付けると、文字列の最後に固定されます。

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と一致するはずです。

関連する問題