基本的な正規表現
文字 説明 正規表現の例 マッチする例
. 任意の1文字 にマッチ . A / あ / 1
+ 直前の文字が 1回以上 繰り返す場合にマッチ 最長一致 go+gle gogle / goooogle
* 直前の文字が 0回以上 繰り返す場合にマッチ 最長一致 go*gle ggle / goooogle
? 直前の文字が 0個か1個 の場合にマッチ   最長一致 go?gle ggle / gogle
+? 直前の文字が 1回以上 繰り返す場合にマッチ 最短一致 go+?gle gogle / goooogle
*? 直前の文字が 0回以上 繰り返す場合にマッチ 最短一致 go*?gle ggle / goooogle
?? 直前の文字が 0個か1個 の場合にマッチ   最短一致 go??gle ggle / gogle
| OR条件として使われる goog(le|ol) google / googol
\ 直後の正規表現記号を エスケープ go\+gle go+gle
[...] 角括弧に含まれるいずれか1文字にマッチ [abc] / [a-c] a, b, c
[^...] 角括弧に含まれる文字以外にマッチ [^abc] / [^a-c] a, b, c 以外の文字
(...) 文字を1つのグループにまとめる goog(le|ol) google / googol
{n} 直前の文字の桁数を指定する a {3} aaa
{n,} 直前の文字の最小桁数のみ指定する a {3,} aaa / aaaaaaa
{n,m} 直前の文字の最小桁数と最大桁数を指定する  最長一致 a {3,4} aaa / aaaa
{n,m}? 直前の文字の最小桁数と最大桁数を指定する  最短一致 a {3,4}? aaa / aaaa
定義済みの正規表現
文字 説明 対応する表現   文字 説明 対応する表現
\t タブ (なし) \s 垂直タブ以外の全ての空白文字 [ \t\f\r\n]
\r 改行 CR(0x0D) (なし) \S すべての非空白文字 [^ \t\f\r\n]
\n 改行 LF(0x0A) (なし) \w 英字、_、数字 [a-zA-Z_0-9]
\d すべての数字 [0-9] \W 英字、_、数字以外の文字 [^a-zA-Z_0-9]
\D すべての数字以外の文字 [^0-9]
特定の位置関係の正規表現
文字 説明 正規表現の例 マッチする例
^ 直後の文字が行の 先頭 にある場合にマッチ ^google google...
$ 直前の文字が行の 末尾 にある場合にマッチ google$ ...google
\< 単語の先頭にマッチ \< *google
\> 単語の末尾にマッチ \> google*
\b 単語の先頭か末尾にマッチ \b *google*
\B 単語の先頭か末尾以外にマッチ \B google
\A ファイルの先頭にマッチ \A (なし)
\z ファイルの末尾にマッチ \z (なし)
\G 直前の一致文字列の末尾にマッチ \G (なし)
置換文字列で使える正規表現
文字 説明   文字 説明
\0 一致した文字列全体に置換 \L...\E 挟まれた文字列を小文字に変換
\1 〜 \9 一致文字列の1〜9番目の文字列に置換 \u 次の1文字を大文字に変換
\l 次の1文字を小文字に変換 \U...\E 挟まれた文字列を大文字に変換
使用頻度の高い正規表現式
Email アドレス ^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
URL ^https?://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$
ドメイン名 ^[a-zA-Z0-9][a-zA-Z0-9-]{1,61}[a-zA-Z0-9]\.[a-zA-Z-]{2,}$
固定電話番号 ^0\d(-\d{4}|\d-\d {3}|\d\d-\d\d|\d{3}-\d)-\d{4}$
携帯電話番号 ^0[789]0-\d{4}-\d{4}$
IP 電話番号 ^050-\d{4}-\d{4}$
フリーダイヤル ^(0120|0800)-\d{3}-\d{3}$
日付 (YYYY-MM-DD形式) ^\d{4}-\d\d-\d\d$
郵便番号 ^\d{3}-\d{4}$
ダメ文字とPHP各種置換
左記は同じ動作をする(SJISのみ) mb_eregi_replace("[\\\]","/",$s);  mb_eregi_replace("(\\\)","/",$s);
preg_replace("/\\\/","/",$s);     eregi_replace("[\]","/",$s);
str_replace("\\","/",$s);
["]を使うとエラーを起すため[']を使う \e \f \n \r \t \v
¥と|でエラーを起す漢字ダメ文字 \:ソ _ 表 予 圭 構 十 申 能 など、 |:ポ − 弓 芸 鋼 酢 竹 倒 培 など