正規表現の使い方

パターンで探す・取り出す・置き換える

書き方

文字列 ~ 'パターン'  文字列 ~* 'パターン'(大文字小文字を区別しない)  !~
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 はログインすると無料で試せます(それより先はゴールド以上のプランで遊べます)。

PostgreSQL の構文一覧(psql・JSONB・PL/pgSQL)へ戻る