基本的な正規表現
| 文字 | 説明 | 正規表現の例 | マッチする例 | 
|---|---|---|---|
| . | 任意の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 | 
 
  
  
  
  
コメント