⊗pyPmREMFi 62 of 129 menu

Pythonの正規表現におけるfinditerメソッド

メソッド finditerは、文字列内の正規表現パターンにマッチする全てのイテレータを取得するために使用されます。メソッドの最初のパラメータには検索する正規表現を指定し、2番目のパラメータには検索対象の文字列を指定します。このメソッドは、左から右へ全てのマッチをチェックします。マッチオブジェクトのイテレータを返します。メソッド finditerの構文は次の通りです:

re.finditer(検索パターン, 検索対象文字列)

文字列内の全ての数字部分を見つけてみましょう:

txt = 'aaaa 123 bbbb 456' print(re.finditer('\d+', txt))

コード実行結果:

<callable_iterator object at 0x000002AA891300A0>

次に、前の例で取得したオブジェクトを値とする変数 resを宣言しましょう。そしてループで処理します:

txt = 'aaaa 123 bbbb 456' res = re.finditer('\d+', txt) for el in res: print(el)

コード実行後、2つのマッチオブジェクトが出力されます:

<re.Match object; span=(5, 8), match='123'> <re.Match object; span=(14, 17), match='456'>

これらのオブジェクトは、タプル形式で正規表現にマッチした全ての情報を含んでいます。インデックスを使用してマッチ部分を出力することができます:

for el in res: print(el[0])

コード実行結果:

'123' '456'

次の文字列が与えられます:

txt = '12 aaa 34 bbb 56 ccc'

ループを使用して、この文字列から全ての数字を出力してください。

日本語
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItalianoქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否