>>> import re
>>> s = 'this is a test'
>>> reg1 = re.compile('test$')
>>> match1 = reg1.match(s)
>>> print match1
None
キキでは、sの最後のテストと一致します。何が欠けていますか?正規表現一致はNoneを返します。どこが間違っていますか?
match1 = reg1.search(s)
代わり
>>> import re
>>> s = 'this is a test'
>>> reg1 = re.compile('test$')
>>> match1 = reg1.match(s)
>>> print match1
None
キキでは、sの最後のテストと一致します。何が欠けていますか?正規表現一致はNoneを返します。どこが間違っていますか?
match1 = reg1.search(s)
代わり
使用(私もre.compile(r'test$')
を試してみました)。 match
ファンクションのみが文字列の先頭に一致します。ドキュメントhereを参照してください。
あなたの正規表現はと一致しませんフルストリング。無駄が述べたように、あなたは代わりに検索を使用するか、完全な文字列に一致するように、あなたの正規表現を変更することができます。
'^this is a test$'
あるいはやや読みにくいが、やや少ない役に立た:
'^t[^t]*test$'
それが依存していますあなたがしようとしていること。
ありがとう、私は完全にこれらの2つの操作の違いについて忘れました:) – tetris555
ありがとう!しかし、マッチ()のような奇妙な動作:(( )私は今、2時間を過ごして、rx笑の問題を解明しようとしている – oriadam