Pythonで正規表現を利用して文字列を検索するコードを紹介します。
Pythonで正規表現を利用する場合はre
モジュールをインポートします。成否表現のパターンは re.comple()
メソッドで作成します。
文字列のマッチ判定は (パターンオブジェクト).search()
メソッドを利用します。
下記のコードを作成します。
import re
#stringText = 'ぺんぎん"オレンジ"キャンディー'
stringText = 'ぺんぎんオレンジキャンディー'
pattern = re.compile(r'".*"')
match = pattern.search(stringText)
if match:
print(match.group())
else:
print('みつかりませんでした')
re モジュールをインポートします。
import re
検索文字列を用意します。検索文字列はstringText
変数に代入します。
stringText = 'ぺんぎん"オレンジ"キャンディー'
re.compile()
メソッドを呼び出し、パターン文字列からパターンオブジェクトを作成します。".*"
をパターンに設定します。ダブルクォートで囲まれた文字列を検出する正規表現です。
文字列の手前に "r" の文字が記述されていますがこちらは Raw文字列の表現です。Raw文字列についてはこちららの記事を参照してください。
pattern = re.compile(r'".*"')
作成したパターンオブジェクトのsearch()
メソッドを呼び出し文字列を検索します。searchメソッドの第一引数に検索する文字列を与えます。
検索結果はmatch変数に代入されます。
match = pattern.search(stringText)
検索結果のmatchオブジェクトを判定します。結果が見つからなかった場合は match の値は None
になるため、「みつかりませんでした」の
文字列を出力します。結果があった場合は match の値は True
になります。結果が見つかった場合は、group() メソッドの戻り値を出力して画面に結果を表示します。
if match:
print(match.group())
else:
print('みつかりませんでした')
上記のコードを実行します。下図の結果が表示されます。コンソールウィンドウに検索文字列の中で 「"」で囲まれた文字列が検索され、
画面に表示されていることが確認できます。
入力文字列を「ぺんぎんオレンジキャンディー」にした場合は、下図の結果となります。