Python
 Computer >> コンピューター >  >> プログラミング >> Python

Python正規表現でre.finditer()メソッドをどのように使用しますか?


Pythonのドキュメントによると、

re.finditer(pattern, string, flags=0)

文字列内のREパターンの重複しないすべての一致に対してMatchObjectインスタンスを生成するイテレータを返します。文字列は左から右にスキャンされ、一致するものが見つかった順序で返されます。空の一致が結果に含まれます。

次のコードは、Python正規表現でのre.finditer()メソッドの使用を示しています

import re
s1 = 'Blue Berries'
pattern = 'Blue Berries'
for match in re.finditer(pattern, s1):
    s = match.start()
    e = match.end()
    print 'String match "%s" at %d:%d' % (s1[s:e], s, e)
出力
Strings match "Blue Berries" at 0:12



  1. 正規表現を使用してPythonで単語以外の文字を照合するにはどうすればよいですか?

    以下のコードは、指定された文字列の単語以外のすべての文字と一致し、それらのリストを出力します。 例 import re s = 'ab5z8d*$&Y@' regx = re.compile('\W') result = regx.findall(s) print result 出力 これにより出力が得られます ['*', '$', '&', '@']

  2. 正規表現を使用してPythonで単語を照合するにはどうすればよいですか?

    次のコードは、指定された文字列の「meeting」という単語と一致します。 前向きな先読みアサーションと後ろ向きアサーションを使用して、囲んでいる文字を尊重しますが、一致には含めません。 例 import re s = """https://www.google.com/meeting_agenda_minutes.html""" result = re.findall(r'(?<=[\W_])meeting(?=[\W_])', s) print result 出力 ['meeting']