私は非常に簡単な質問がありますが、私はこれに対する答えを見つけることができません。Pythonの正規表現:完全一致のみ
私のようないくつかの文字列を持っている:私は、この文字列は正確な私の条件に一致する場合、検証のためのいくつかのsmart
の正規表現を持つようにしたい
test-123
を。
私のような文字列を持つことを期待:数は1から番号の*要素に含まれている必要があります
test-<number>
を。
import re
correct_string = 'test-251'
wrong_string = 'test-123x'
regex = re.compile(r'test-\d+')
if regex.match(correct_string):
print 'Matching correct string.'
if regex.match(wrong_string):
print 'Matching wrong_string.'
だから、私は(正しいと間違った文字列が一致する)の両方のメッセージを見ることができますが、私は本当に唯一の正しい文字列と一致することを期待:
することは、私はこのような何かをしようとしています。
また、match
の代わりにsearch
メソッドを使用しようとしましたが、運がありませんでした。
アイデア?
、ありがとうございました。私の質問が出版された直後、私はこの間違いを見つけました。 – smart
@smartは本当に '$'を置く必要があります。なぜなら、 're.match'は自動的に正規表現で'^'と仮定しているからです。 – CDahn
@CDahn、私は知っています。タイ! – smart