105 of 151 menu

Matchオブジェクト

Matchオブジェクトは、文字列内の正規表現との一致に関する情報を持つオブジェクトです。Matchオブジェクトは、以下のメソッドを適用することで取得できます: fullmatch, match, search

Matchオブジェクトから情報を抽出するには、主要なメソッドを使用します。

Matchオブジェクトに適用される主要なメソッド

メソッド 目的
group グループ0を返します。
groups キャプチャグループのタプルを返します。
groupdict 名前付きキャプチャグループの辞書を返します。
span 単一のキャプチャグループのタプルの最初と最後のインデックスを返します。
start 単一のキャプチャグループのタプルの最初のインデックスを返します。
end 単一のキャプチャグループのタプルの最後のインデックスを返します。

. メソッドを使用しないMatchオブジェクト

文字列にmatchメソッドを適用してみましょう:

txt = '123 456 789' res = re.match('\d+', txt) print(res)

コード実行結果:

<re.Match object; span=(0, 3), match='123'>

. groupメソッド

次に、Matchオブジェクトからgroupメソッドを使ってグループ0を出力してみましょう:

txt = '123 456 789' res = re.match('\d+', txt) print(res.group())

コード実行結果:

'123'

. groupsメソッド

取得したオブジェクトにgroupsメソッドを適用して、キャプチャグループのタプルを出力してみましょう:

txt = '123 456 789' res = re.match('(\d)(\d)', txt) print(res.groups())

コード実行結果:

('1', '2')

. groupdictメソッド

名前付きキャプチャグループの辞書を出力するには、groupdictメソッドを適用できます:

res = re.match('(?P<test1>\d)(?P<test2>\d)', txt) print(res.groupdict())

コード実行結果:

{'test1': '1', 'test2': '2'}

. spanメソッド

単一のキャプチャグループの最初と最後のインデックスのタプルを出力してみましょう。これにはspanメソッドを使用します:

res = re.match('\d+', txt) print(res.span())

コード実行後、2つのインデックスからなるタプルが表示されます。ただし、最後の値は終了インデックスより1大きいことに注意してください:

(0, 3)

. startおよびendメソッド

各インデックスを個別に返すには、startendメソッドを適用できます:

res = re.match('\d+', txt) print(res.start()) print(res.end())

コード実行結果:

0 3

関連項目

  • reモジュールのmatchメソッド、
    文字列の先頭で正規表現と一致するものを検索します
  • reモジュールのfullmatchメソッド、
    文字列全体が正規表現と一致するものを検索します
  • reモジュールのsearchメソッド、
    文字列内で最初に正規表現と一致するものを検索します
日本語
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
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否