PostgreSQLで、正規表現に最初に一致した文字列を取得する手順を記述してます。「regexp_match」に対象の文字列と正規表現を使用することで可能です。結果が存在しない場合は「null」が返ります。実行結果はpgadmin上で確認してます。
環境
- OS CentOS Stream release 9
- PostgreSQL 15.1
- pgadmin4 6.16
正規表現に最初に一致した文字列を取得
正規表現に最初に一致した文字列を取得するには、「regexp_match」を使用します。
regexp_match(文字列,正規表現);
実際に、取得してみます。
※「カンマ」は任意の1文字にマッチするという正規表現です。
SELECT
regexp_match('abcde abcDE', 'bc.'),
regexp_match('abcde abcDE', 'bc..');
実行結果
パラメーター「i」
パラメーター「i」を使用すると大文字小文字の区別をせずに取得できます。
SELECT
regexp_match('aBCde abcDE', 'bc.'),
regexp_match('aBCde abcDE', 'bc.','i');
実行結果
存在しない正規表現
存在しない正規表現を使用すると「null」が返ります。
SELECT
regexp_match('aBCde abcDE', 'fg.');
実行結果
複数の正規表現を使用
以下のように複数の正規表現を使用することも可能です。
SELECT
regexp_match('Abcde abCde aBcde', '(a.)(c.)', 'i');
実行結果
The post PostgreSQL 正規表現に最初に一致した文字列を取得する first appeared on mebee.