正規表現の使い方
パターンで探す・取り出す・置き換える
書き方
文字列 ~ 'パターン' 文字列 ~* 'パターン'(大文字小文字を区別しない) !~ regexp_replace(s, 'パターン', '置き換え', 'g') REGEXP_LIKE(s, 'パターン') REGEXP_SUBSTR(s, 'パターン') REGEXP_REPLACE(s, 'パターン', '置き換え') REGEXP_COUNT(s, 'パターン')(Oracle)
^ は先頭、$ は末尾、[0-9] や \d は数字、+ は 1 回以上、{3} は 3 回。LIKE より細かい形を調べられます。PostgreSQL の regexp_replace は 'g' を付けるとすべて置き換えます(Oracle の REGEXP_REPLACE は最初からすべて)。
例
SELECT * FROM users WHERE phone ~ '^0[789]0-[0-9]{4}-[0-9]{4}$';
SELECT REGEXP_SUBSTR(email, '@(.+)$', 1, 1, NULL, 1) FROM users;実際に打って練習する
PostgreSQL コースの Lv23「形で探す 正規表現」で覚えます。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。
Lv1〜2 はログインすると無料で試せます(それより先はゴールド以上のプランで遊べます)。