Pythonの正規表現のオブジェクトの流れを理解する。
pythonの正規表現オブジェクトの流れは下記のとおりです。
- import reでインポートする。
- 検索に使う文字を定義する 例:hoge = ‘\d+’
- 正規表現で検索する文字列を定義する 例:foo = ‘時速100km’
- re.search(), re.findallI(), re.match()を使って検索をかける
- findall()はリスト、 search(), match()は文字列を返す。
Pythonの正規表現で使う各メソッドの違い
正規表現はプログラムを組んでそれがどのようにして助けになるかがわかりにくい部分があります。まとめると、検索したい文字列と、検索に使う文字列を定義して(正規表現を定義して)各メソッドを使って検索します。わかりにくいですが、findallはリスト、search、matchは文字列を返します。正規表現のメソッドを使ったPythonコード
import re number = '\d+' zisoku = '時速100km' search_number = re.search(number, zisoku) print(search_number.group())#100が見つかりました。
ここで紹介した方法以外にもre.compile()で正規表現オブジェクトを生成して検索するやり方もあります。詳しくは「pythonの正規表現のオブジェクトの流れ【re.compile()を使う】」をご覧ください。
findall() | 見つかったもの全てを返す。これを貪欲マッチという。 |
---|---|
search() | 最初に見つかったものを返す |
match() | 先頭要素からしか検索しいない。これが難しいが、先頭にその要素がなかったらマッチしないと思っておいてよい。 |
コメント