位置指定子
メタキャラクタ |
意味 |
^ |
文頭にが含まれる文字列 |
$ |
文末にが含まれる文字列 |
文字クラス
肯定の文字クラス
メタキャラクタ |
意味 |
[ABC] |
A, B, Cのいずれかが含まれる文字列 |
[Aa][Bb] |
AB, Ab, aA, abのいずれかが含まれる文字列 |
[0-9] |
0から9のいずれかが含まれる文字列 |
[a-z] |
aからzのいずれかが含まれる文字列 |
[A-Z] |
aからzのいずれかが含まれる文字列 |
否定の文字クラス
メタキャラクタ |
意味 |
[a-zA-Z] |
アルファベットのいずれかが含まれる文字列 |
[^abc] |
a, b, cのいずれも含まれない文字列 |
^[Ii] am |
文頭にI amもしくはi amのいずれかが含まれる文字列 |
[^?.]$ |
文末に?, .のいずれも含まれない文字列 |
量指定子
メタキャラクタ |
意味 |
. |
任意の1文字 |
ABC|abc |
ABCもしくはabc |
^(ABC|abc) |
ABCもしくはabcで始まる文字列 |
? |
直前の文字を0か1回を含む文字列 |
* |
直前の文字を0回以上含む文字列 |
+ |
直前の文字を1回以上含む文字列 |
{m, n} |
直前の文字のm回以上n回以下の繰り返しを含む文字列 |
{m} |
直前の文字のm回の繰り返しを含む文字列 |
{m,} |
直前の文字のm回以上の繰り返しを含む文字列 |
エスケープ
改行
メタキャラクタ |
改行コード |
\r |
CR (Mac) |
\n |
LF (Unix) |
\r\n |
CR+LF (Windows) |
キャプチャ
メタキャラクタ |
意味 |
\1, \2, … \9 |
前方の括弧() 内と同じ文字列 |
後方参照
+([a-zA-Z]+) +\1 +
スペース、その後に続く少なくとも一文字、スペース、すでにマッチした文字列、スペース
最長一致
量指定子を使用した正規表現では、最長一致が適用される。
^s(.*)s
正規表現に?
を加えると、最短一致に変更される
^s(.*?)s
先読み
パターンの直前にある文字列を取得したい場合で、結果にパターンを含めたくない場合に使用できます。
(?=<PATERN>)
例(Python):
>>> re.match('(.+)(?=:)', "#meatadatat: test variable")
<re.Match object; span=(0, 11), match='#meatadatat'>
Unicode
"\u00A1"