Oracleの正規表現を使って文字列を切り取る方法は何ですか?

Oracleの正規表現関数regexp_substrを使用して文字列を切り取ることができます。次に示す例は、数字の部分を文字列から切り取る方法を示しています。

数字と文字が混在した文字列があるとします。例えば、ABC123DEF456GHIのようなものです。この中から数字部分を取り出したい場合は、どうすればいいですか。

以下のSQL文を使用してください:

SELECT regexp_substr('ABC123DEF456GHI', '\d+') AS extracted_string
FROM dual;

出力は123になります。これは入力文字列の最初の連続した数字のシーケンスです。

\d+の正規表現は連続する数字と一致します。regexp_substr関数の最初の引数は一致させる文字列であり、2番目の引数は正規表現パターンです。”FROM dual”はOracleでシステムのダミーテーブルであるdualからデータを選択するための標準的な使用法です。

必要に応じて、正規表現パターンとマッチングしたい文字列を調整して、希望する切り取り効果を得ることができます。

bannerAds