正規表現は文字列の集合を1つの文字列にまとめて表現する方法です.
各種プログラミング言語で検索・置換に用いられています.

目次

  1. 正規表現
    1. 文字・文字列
    2. 反復
    3. タブ・改行
    4. 英数
    5. 位置
    6. 参照

正規表現

文字・文字列

項目 メタ文字
任意の1文字 .
[ ]に含まれる文字から任意の1文字 [...]
[ ]に含まれない文字から任意の1文字 [^...]
char1からchar2までの文字コードから任意の1文字 [char1-char2]
str1またはstr2のいずれかの文字列 `(str1

反復

項目 メタ文字
直前のパターンを0回以上反復する *
直前のパターンを1回以上反復する +
直前のパターンを高々1回反復する ?
直前のパターンをnum回反復する {num}
直前のパターンをmin回以上,max回以下反復する {min,max}
直前のパターンをmin回以上反復する {min,}

?+*{n,m}はいずれも最長一致ですが,?を後置して??+?*?{n,m}?とすれば最短一致になります.

タブ・改行

項目 メタ文字
タブ \t
垂直タブ \v
CR(キャリッジ・リターン) \r
LF(ライン・フィード) \n
CRLF \r\n

英数

項目 メタ文字
数字 \d
英数・アンダースコア \w
半角英大文字 \u
半角英大文字 \l
(垂直タブを除いた)空白文字 \s

いずれも大文字にすると,「〜でないもの」の意味になります.
例えば,\Dなら数字以外です.

位置

項目 メタ文字
行頭 ^
行末 $

参照

項目 メタ文字
一致した文字列全体に置換 \0
一致した文字列の1-9番目にあたる文字列に置換 \1\9
エスケープ \

正規表現の書き方の例です.

項目 表現例
平仮名 [ぁ-ん]
片仮名 [ァ-ヴ]
半角カナ [ヲ-゚]
英小文字 [a-z]
英大文字 [A-Z]
空白行 ^\n
スペースの連続 \s+
郵便番号 \d{3}-\d{4}
携帯電話 0[589]0-\d{4}-\d{4}