Pythonの正規表現まとめ
| 文字 | 内容 | マッチする例 |
|---|---|---|
| . | 改行以外の任意の文字にマッチ | t.naka t●naka |
| ^ | 文字列の先頭とマッチ | ^ta ta●●●... |
| $ | 文字列の末尾、または文字列の末尾の改行の直前にマッチ | ka$ ...●●●ka |
| * | 直前の要素を任意の個数(0個以上)続けたものにマッチ。 | ab* a, ab, abbbb... |
| + | 直前の要素を任意の個数(1個以上)続けたものにマッチ。 | ab+ ab, abbbb... 注: a とはマッチしない。 |
| ? | 直前の要素を0回か1回繰り返すものにマッチ。 | ab? a, ab |
| [ ] | 文字の集合を指定するのに使用 | [abc] aかbかc [a-z] 英小文字 [a-zA-Z0-9] 英数字 t[ao]naka tanakaとtonaka |
| | | AかBどちらかにマッチ。 | A|B AかB |
| *? +? ?? |
'*' 、 '+' 、 '?' などは、すべて貪欲マッチ(=できるだけ多くのテキストにマッチする。greedy match) だが、最小マッチさせたい場合はそれぞれに?をつける。 | <.*> '<H1>title</H1>'全文にマッチ。 <.*?> <H1>だけにマッチ。 |
| {m} | 直前の要素のm回繰り返してたらマッチ | a{3} aaa |
| {m,n} | 直前の要素のn~m回繰り返してたらマッチ | a{1,3} a, aa, aaa |
| \d | 任意の十進数とマッチ。 [0-9] と同意。 |
|
| \D | 、任意の非数字文字とマッチ。 [^0-9] と同意。 |
|
| \s | 任意の空白文字とマッチ。 [\t\n\r\f\v] と同意。 |
|
| \S | 任意の非空白文字とマッチ。 [^\t\n\r\f\v] と同意。 |
|
| \w | 任意の英数文字および下線とマッチ。 [a-zA-Z0-9_] と同意。 |
|
| \W | 任意の非英数文字とマッチ。 [^a-zA-Z0-9_] と同意。 |