基本的な正規表現
文字 | 説明 | 正規表現の例 | マッチする例 |
---|---|---|---|
. |
任意の1文字 にマッチします。 | . |
A あ |
+ |
直前の文字が 1回以上 繰り返す場合にマッチします。 最長一致。条件に合う最長の部分に一致します。 |
go+gle |
gogle |
* |
直前の文字が 0回以上 繰り返す場合にマッチします。 最長一致。条件に合う最長の部分に一致します。 |
go*gle |
ggle |
? |
直前の文字が 0個か1個 の場合にマッチします。 最長一致。条件に合う最長の部分に一致します。 |
go?gle |
ggle |
+? |
直前の文字が 1回以上 繰り返す場合にマッチします。 最短一致。条件に合う最短の部分に一致します。 |
go+?gle |
gogle |
*? |
直前の文字が 0回以上 繰り返す場合にマッチします。 最短一致。条件に合う最短の部分に一致します。 |
go*?gle |
ggle |
?? |
直前の文字が 0個か1個 の場合にマッチします。 最短一致。条件に合う最短の部分に一致します。 |
go??gle |
ggle |
| | いずれかの条件 (OR条件) として使われます。 | goog(le|ol) |
google |
\ |
直後の正規表現記号を エスケープ します。 | go\+gle |
go+gle
|
[...] |
角括弧に含まれるいずれか1文字にマッチします。 | [abc] |
a, b, c |
[^...] |
角括弧に含まれる文字以外にマッチします。 | [^abc] |
a, b, c 以外の文字 |
(...) |
文字を1つのグループにまとめることができます。 | goog(le|ol) |
google |
{n} |
直前の文字の桁数を指定できます。 | a{3} |
aaa
|
{n,} |
直前の文字の最小桁数のみ指定できます。 | a{3,} |
aaa |
{n,m} |
直前の文字の最小桁数と最大桁数を指定できます。 最長一致。条件に合う最長の部分に一致します。 |
a{3,4} |
aaa |
{n,m}? |
直前の文字の最小桁数と最大桁数を指定できます。 最短一致。条件に合う最短の部分に一致します。 |
a{3,4}? |
aaa |
定義済みの正規表現
文字 | 説明 | 対応する表現 |
---|---|---|
\t |
タブ | (なし) |
\r |
改行。CR(Carriage Return:0x0D) | (なし) |
\n |
改行。LF(Line Feed:0x0A) | (なし) |
\d |
すべての数字 | [0-9] |
\D |
すべての数字以外の文字 | [^0-9] |
\s |
垂直タブ以外のすべての空白文字 | [ \t\f\r\n] |
\S |
すべての非空白文字 | [^ \t\f\r\n] |
\w |
アルファベット、アンダーバー、数字 | [a-zA-Z_0-9] |
\W |
アルファベット、アンダーバー、数字以外の文字 | [^a-zA-Z_0-9] |
スポンサーリンク
特定の位置関係の正規表現
文字 | 説明 | 正規表現の例 | マッチする例 |
---|---|---|---|
^ |
直後の文字が行の 先頭 にある場合にマッチします。 | ^google |
google... |
$ |
直前の文字が行の 末尾 にある場合にマッチします。 | google$ |
...google |
\< |
単語の先頭にマッチします。 | \< |
*google |
\> |
単語の末尾にマッチします。 | \> |
google* |
\b |
単語の先頭か末尾にマッチします。 | \b |
*google* |
\B |
単語の先頭か末尾以外にマッチします。 | \B |
google |
\A |
ファイルの先頭にマッチします。 | \A |
(なし) |
\z |
ファイルの末尾にマッチします。 | \z |
(なし) |
\G |
直前の一致文字列の末尾にマッチします。 | \G |
(なし) |
置換文字列で使える正規表現
文字 | 説明 |
---|---|
\0 |
一致した文字列全体に置換します。 |
\1 ~ \9 |
一致した文字列の1~9番目に対応する文字列に置換します。 |
\l |
次の1文字を小文字に変換します。 |
\L...\E |
挟まれた文字列を小文字に変換します。 |
\u |
次の1文字を大文字に変換します。 |
\U...\E |
挟まれた文字列を大文字に変換します。 |
スポンサーリンク
検索したい文字列の例1
検索したい文字列 | 正規表現 ※赤い字がメタ文字、グレーの「\」はエスケープのための「\」 |
---|---|
bから始まってkで終わる3桁の文字列 | b.k |
bから始まってkで終わる2桁以上の文字列 | b.*k |
bから始まってkで終わる3桁以上の文字列 | b.+k |
半角数字 | \d |
半角数字以外 | \D |
数字列 | \d+ |
4桁の数字 | \d{4} |
4桁以上の数字 | \d{4,} |
4桁までの数字(1~4桁の数字) | \d{1,4} |
4~10桁の数字(最長一致) | \d{4,10} |
4~10桁の数字(最短一致) | \d{4,10}? |
桁区切りのカンマ付数字列 | \b\d{1,3}(,\d{3})*\b |
価格(先頭が「\」の桁区切り付数字列) | \\\d{1,3}(,\d{3})*\b |
半角英大文字 | \u |
半角英大文字以外 | \U |
半角英小文字 | \l (※”l”は小文字のL) |
半角英小文字以外 | \L |
半角英文字 | [\u\l] (※”l”は小文字のL) |
半角英字以外 | [^\u\l] (※”l”は小文字のL) |
英単語(半角英文字列) | \b[\u\l]+\b (※”l”は小文字のL) |
半角英数字 | [\u\l\d] (※”l”は小文字のL) |
1桁の奇数 | [13579] |
奇数 | \d*[13579]\b |
3から7までの数字 | [3–7] |
0-9とA-Fのいずれかの2文字(2桁の16進数) | [0–9A–F]{2} |
検索したい文字列の例2
検索したい文字列 | 正規表現 ※赤い字がメタ文字、グレーの「\」はエスケープのための「\」 |
---|---|
全角数字 | [0–9] |
全角英大文字列 | [A–Z]+ |
ひらがな | [ぁ–ん] |
カタカナ | [ァ–ヴ] |
半角カタカナ | [ヲ–゚] |
漢数字列 | [一二三四五六七八九十壱弐参拾百千万萬億兆〇]+ |
改行 | \n |
半角スペース | \x20 |
全角スペース | □ (※□は全角スペース) |
タブコード | \t |
半角スペースかタブコードの繰り返し | [\x20\t]+ |
空白文字 | \s |
sampleという文字列 (大文字小文字同一視) |
(?i)sample |
sampleという文字列(samは大小文字同一視、pleは小文字限定) | (?i)sam(?-i)ple |
amという単語 | \bam\b |
単語の途中にあるam | \Bam\B |
whで始まる3文字以上の単語 | \b[Ww]h.+?\b |
大阪または東京 | 大阪|東京 |
大阪府または大阪市 | 大阪(府|市) |
スポンサーリンク
検索したい文字列の例3
検索したい文字列 | 正規表現 ※赤い字がメタ文字、グレーの「\」はエスケープのための「\」 |
---|---|
行頭の○ | ^○ |
行頭の半角スペースの連続 | ^\x20+ |
行末の。 | 。$ |
空白行 | ^\n |
行全体 | ^.*$ |
郵便番号 | (〒|ZIP:)\d{3}–\d{4} |
電話番号 | 0\d{1,4}–\d{1,4}–\d{4} |
携帯電話番号(ハイフンなし) | 0[89]0\d{8} |
メールアドレス | [\w.\–]+@[\w\–]+\.[\w.\–]+ |
URL(ホームページアドレス) | https?://[\w/:%#\$&\?\(\)~\.=\+\–]+ |
日付 | \d{4}[/\.年]\d{1,2}[/\.月]\d{1,2}日? |
見出しタグ開始(h1~h3まで) | <[hH][1–3].*?> |
見出しタグ終了(h1~h3まで) | </[hH][1–3]> |
sample の中の sam | sam(?=ple) |
sample か samba の中の sam | sam(?=ple|ba) |
後ろが「ple」ではない「sam」 | sam(?!ple) |
sample の中の ple | (?<=sam)ple |
sample か apple の中の ple | (?<=sam|ap)ple |
前が「sam」か「ap」以外の 「ple」 | (?<!sam|ap)ple |