Web作成作業用チートシート

正規表現 チートシート

どれかにマッチ

大雨|豪雨|強雨どれかの単語にマッチ
大雨 or 豪雨 or 強雨
(五月|暴風)雨前後に語がつく場合は丸括弧でグループ化
五月雨 or 暴風雨
[小大豪霧]雨カッコ内の1文字にマッチ
小雨 or 大雨 or 豪雨 or 霧雨
[^大豪]雨カッコ内の1文字以外にマッチ
大雨と豪雨以外にマッチ
第[1-8]位この範囲の1文字にマッチ
1から8の数字のどれか

すべての・・・の正規表現

 .(ピリオド)任意の1文字(例:ひ.し →ひろし、ひとし、ひさし…)
\dすべての数字 (第\d回大会)
 [0-3]\d00から39の数字
 [01]\d00から19の数字
 *角カッコ内は一文字ごとに照合される
 \d{2}2桁の数字 (00〜99)
 \d{2,4}2桁から4桁の数字 (00〜9999)
\D数字以外
\wすべての英数字(大文字/小文字/数字/ アンダーバー
 [a-zA-Z0-9] アンダーバー以外のすべての英数字
 ^[a-zA-Z0-9]{4,6}$ 4文字から6文字の、アンダーバー以外のすべての英数字
(^は文頭の位置、$は末尾の位置を表す)
\W英数字以外
\aアルファベット (a~z, A~Z)
\l小文字アルファベット (a~z)
\u大文字アルファベット (A~Z)
\s空白文字 [\t\n\r\f]
\S空白文字以外
\n改行コード
\tタブ記号
[ぁ-ん]すべてのひらがな(文字コード表内の範囲を指定)
[ァ-ヴ]すべてのカタカナ(文字コード表内の範囲を指定)
*漢字の正規表現について

繰り返し

A*Aを0回以上繰り返し
A+Aを1回以上繰り返し
(ABC)+ABCを1回以上繰り返し
B{n}Bをn回繰り返し
 \w{5,}英数字5文字の文字列
C{n,}Cをn回以上繰り返し
 \w{5,}英数字5文字以上の文字列
D{,n}Dをn回以下繰り返し
 \w{5,}5文字以下の英数字
E{n,m}Eをn回からm回繰り返し
 \w{5,7}5文字から7文字の英数字

その他のメタ文字

\の後ろにメタ文字 メタ文字記号を本来の意味で使う
\. → 本来のピリオド
\? → 本来の?マーク
^ $文字列の最初(^)と最後($)の位置
 ^.雨「霧雨、小雨、大雨」のうち霧雨
 .雨$「霧雨、小雨、大雨」のうち大雨
 ^[a-zA-Z0-9]{4,8}$アンダーバーを含まない4桁から8桁の英数字
years?あってもなくてもOK(yearもyearsもマッチ)
year\b単語の境界(yearにマッチ、yearsにマッチしない)
.*?★最短マッチ(一番近い★までにマッチ)
 <.*?>HTMLのタグひとつにマッチ

キャプション

(.*)は\1で、(.*)は\2です。マッチしたものをキャプチャして検索に再使用(順に\1,\2)
 <(\w+)>.*</\1>HTMLのタグにマッチ
(.*) (.*) $1 $2キャプチャした内容を置換する語句のなかで使用
(.*(.*)) $1 $2 グループ化のかっこが重複する場合、外側から順に、$1、$2となる。

先読み・後ろ読み

☆(?=★)後ろが★のときだけ☆でマッチ
 \d+(?=円)円にはマッチせず金額部分だけマッチする
(?<=★)☆前が★のときだけ☆でマッチ
 (?<=西暦)\d+西暦にはマッチせず数字部分だけマッチする
☆(?!★)否定先読み・後ろが★以外の時に☆にマッチ
 ピザ(?!パイ)後ろにパイがつかないピザにマッチ
(?<!★)☆否定後読み・前が★以外のとき☆にマッチ
 (?<!最)大規模最大規模以外の大規模にマッチ

応用例

電話番号^0\d{1,4}-\d{1,4}-\d{4}$
携帯電話番号^0[789]0-?\d{4}-?\d{4}$
メールアドレス^[\w\.\-]+@[\w\.\-]+\.[a-zA-Z]+$
URLhttps?://[\w/;:%#&\$\?!'\(\)~\.=\+\-\*,@\[\]]+