Pythonで学ぶ正規表現
Maria Eugenia Inzaugarat
Data Scientist
マッチ方法は2種類:
標準の量指定子は既定で貪欲: *, +, ?, {num, num}
貪欲: できるだけ多くの文字にマッチ
最長一致を返す
import re
re.match(r"\d+", "12345bcada")
<re.Match object; span=(0, 5), match='12345'>

マッチし過ぎたらバックトラック
1文字ずつ諦める
import re
re.match(r".*hello", "xhelloxxxxxx")
<re.Match object; span=(0, 6), match='xhello'>

? を付ける import re
re.match(r"\d+?", "12345bcada")
<re.Match object; span=(0, 1), match='1'>

マッチが少なすぎるとバックトラック
1文字ずつ拡張
import re
re.match(r".*?hello", "xhelloxxxxxx")
<re.Match object; span=(0, 6), match='xhello'>

Pythonで学ぶ正規表現