オラクルで使用可能な正規表現

Oracle で使用可能な正規表現は POSIX Extended Reuglar Exression のようである。
\d や \w などのプログラムで親しんだ文字クラスの表記も使用可能
( Perl で使用できる表記による拡張機能 )

メタ記号、演算子説明
\直後の文字のエスケープ、()での参照表現 \1 など
*0 回以上の繰り返し
+1 回以上の繰り返し
?0 or 1 回以上の繰り返し
代替一致指定 演算子 go(d|od) ⇒ 'god' or 'good')
^入力の開始(文頭)をあらわす
$入力の終了(文末)をあらわす
ドット('.')NULL 以外のすべての文字に一致(改行含む)
[]一致リスト、もしくはキャレット('^')をともない非一致リストを指定する
[.要素.]1 つの照合要素を指定。半角濁点文字が該当する?
[:文字クラス:]文字クラスに一致する
[=等価クラス=]日本語半角全角は該当するか?
()グループ化、もしくは参照表現に使用
{m}直前に記述した文字がm回繰り返されている
{m,}直前に記述した文字がm回以上繰り返されている
{m,n}直前に記述した文字がm回以上、n回以下繰り返されている
\nnは数字n=[1..9] 後方参照表現、n番目のグループの内容

Perl による 拡張表記

メタ記号、演算子説明
\d数値
\D数値以外
\w単語
\W単語以外
\s単語の区切り文字( [ \n\r\f\t] )空白、NEWLINE、CR、LF、TAB
\S単語の区切り文字以外
\A文字の先頭
\Z文字の末尾
繰り返しメタ文字直後の繰り返しは常に最短マッチされる。
Perl では ?、{m} 以外は場合、最長マッチされる

文字クラス

使用するキャラクタセットにより内容は変化する。
使用には [ ] で囲んで記述する。(表記例) [:digit:] + [] ⇒ [[:digit:]]

文字クラス内容
digitすべての数字 [0-9]
xdigitすべての有効な16 進文字 [0-9A-Fa-f]
alphaアルファベット文字 [a-zA-Z]
alnumすべての英数字 [0-9a-zA-Z]
blankすべての空白文字
spaceすべての空白文字 (印字が不可能)
lowerすべてのアルファベットの小文字
upperすべてのアルファベットの大文字
punctすべての句読点文字
graph[:punct:]、[:upper:]、[:lower:] および[:digit:] のすべての文字
cntrlすべての制御文字(印字が不可能)
printすべての印字可能文字
 

正規表現 SQL 関数

日本オラクル
■ 日本オラクル 株式会社
■ オラクルマスター資格 (オラクルマスターとは
■ 会員制(無料)の公式技術サイト