⊗pyPmREInr 33 of 129 menu

Pythonにおける正規表現入門

正規表現は、複雑な検索と置換(あるいは単なる検索)のためのコマンドです。非常に興味深いことを可能にしますが、残念ながら習得はかなり難しいものです。

Pythonで正規表現を使い始めるには、特別なモジュール re をインポートする必要があります。

import re

モジュール re には、正規表現を扱うためのメソッドが含まれています。正規表現はコマンドの集合であり、2種類の文字で構成されます。すなわち、それ自身を表す文字と、特殊文字と呼ばれるコマンド文字です。

正規表現の入門として、文字列内の置換に使用される sub メソッドの例から始めるのがよいでしょう。このメソッドは、最初のパラメータで何を置換するか、2番目のパラメータで何に置換するかを受け取ります。3番目のパラメータで置換を行う文字列を指定します。4番目のオプションパラメータで、置換回数を指定できます。このメソッドを使った最も単純な置換は次のようになります。

res = re.sub('a', '!', 'bab') print(res) # 出力は 'b!b'

お気づきのように、正規表現では文字はそれ自身を表します。数字についても同様です。数字 2! に置き換えてみましょう。

res = re.sub('2', '!', '12abc3') print(res) # 出力は '1!abc3'

一方、ピリオドは特殊文字であり、任意の1文字を表します。次の例では、文字 'x'、次に任意の文字、そして再び文字 'x' というパターンに一致する部分文字列を見つけてみましょう。

res = re.sub('x.x', '!', 'xax eee') print(res) # 出力は '! eee'

次の文字列があります。

txt = 'ahb acb aeb aeeb adcb axeb'

パターン 文字 'a'、任意の文字、文字 'b' に従って、文字列 'ahb''acb''aeb' を見つける正規表現を書いてください。

次の文字列があります。

txt = 'aba aca aea abba adca abea'

パターン 文字 'a'2 文字の任意の文字、文字 'a' に従って、文字列 'abba''adca''abea' を見つける正規表現を書いてください。

次の文字列があります。

txt = 'aba aca aea abba adca abea'

'adca' を捕捉せずに、'abba''abea' を見つける正規表現を書いてください。

日本語
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
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否