1

私は次のことを行い、指定された行を印刷したいと思います:

a=set(['bye', 'hits', 'hi'])
if r'.i*' in a:
  print "This is what I want to see."
else:
  print "Sadly, this is what I actually see."

残念ながら、inキーワードはセットに対して正規表現検索を実行していません。

これを行う方法はありますか?

4

1 に答える 1

3

悲しいことに、ここにループが必要です:

import re
a = {'bye', 'hits', 'hi'}
if any(re.match(r'.i*',s) for s in a):
   print "see this"

私は を使用re.matchしましたが、あなたがそれを望んでいるのか、それとも を望んでいるのかは不明ですre.search

注:r'my string'意味するのは 、正規表現ではなく、生の文字列です。生の文字列を使用すると、通常のエスケープ シーケンス ( で始まるもの) がエスケープされないことが保証されます。モジュールはエスケープシーケンスも使用するため、これは正規表現で役立ちます。生の文字列を使用することで、文字列を二重にエスケープする必要がなくなります (例: )。\re'a\\double escaped string'

于 2013-02-22T01:49:13.400 に答える