2011-10-11 26 views
2

の検索私はREGEXP_LIKE(mesage,'19')それはすべての4つのレコードを取得されないとき、私は、SOこのOracleの正規表現 - 特定の文字列

Test 20019-2000 test 
Test 119 test 
Test 19-EM 
Test EM - 19 

のような列のデータを持っています。しかし、私の要件は、トークン文字列が "19"で始まる行をフェッチする必要があるということです。

だから、3行目と4行目だけを取り出す必要があります。これで私を助けてください。

ありがとうございます。

答えて

3

Oracle regexpは、従来のワード境界演算子\bまたは\<をサポートしていません。しかし、19の直前にある文字列の先頭または単語以外の文字を照合することで、これをシミュレートすることができます。

など。ここでは、単語を英数字の列として定義します。だから、19fred 19fred.19ではなくfred19にマッチします

REGEXP_LIKE(mesage, '(\A|\W)19') 

を必要としています。単語を空白以外の文字として定義して一致させたくない場合は、に変更して

REGEXP_LIKE(mesage, '(\A|\s)19') 
に変更してください
関連する問題