- 相關(guān)推薦
Oracle正則表達(dá)式匯集
Oracle 10g數(shù)據(jù)庫(kù)內(nèi)建了符合IEEE POSIX (Portable Operating System for Unix)標(biāo)準(zhǔn)的正則表達(dá)式。熟練使用正則表達(dá)式,可以寫(xiě)出簡(jiǎn)潔,強(qiáng)大的SQL語(yǔ)句。
正則表達(dá)式有幾個(gè)優(yōu)點(diǎn)優(yōu)于常見(jiàn)的LIKE操作符和INSTR、SUBSTR及REPLACE 函數(shù)的。這些傳統(tǒng)的SQL 函數(shù)不便于進(jìn)行模式匹配。只有LIKE 操作符通過(guò)使用%和_字符匹配,但LIKE不支持表達(dá)式的重復(fù)、復(fù)雜的更替、字符范圍、字符列表和POSIX 字符類(lèi)等等。
元字符(Meta Character):
Sql代碼
^ 使表達(dá)式定位至一行的開(kāi)頭
$ 使表達(dá)式定位至一行的末尾
* 匹配 0 次或更多次
? 匹配 0 次或 1 次
+ 匹配 1 次或更多次
{m} 正好匹配 m 次
{m,} 至少匹配 m 次
{m, n} 至少匹配 m 次但不超過(guò) n 次
[:alpha:] 字母字符
[:lower:] 小寫(xiě)字母字符
[:upper:] 大寫(xiě)字母字符
[:digit:] 數(shù)字
[:alnum:] 字母數(shù)字字符
[:space:] 空白字符(禁止打印),如回車(chē)符、換行符、豎直制表符和換頁(yè)符[:punct:] 標(biāo)點(diǎn)字符
[:cntrl:] 控制字符(禁止打印)
[:print:] 可打印字符 | 分隔替換選項(xiàng),通常與分組操作符 () 一起使用
( ) 將子表達(dá)式分組為一個(gè)替換單元、量詞單元或后向引用單元
[char] 字符列表
Oracle 10g提供了四個(gè)regexp function: REGEXP_LIKE , REGEXP_REPLACE , REGEXP_INSTR , REGEXP_SUBSTR 。
Sql代碼
REGEXP_LIKE:比較一個(gè)字符串是否與正則表達(dá)式匹配
(srcstr, pattern [, match_option])
REGEXP_INSTR:在字符串中查找正則表達(dá)式,并且返回匹配的位置
(srcstr, pattern [, position [, occurrence [, return_option [, match_option]]]])
REGEXP_SUBSTR:返回與正則表達(dá)式匹配的子字符串
(srcstr, pattern [, position [, occurrence [, match_option]]])
REGEXP_REPLACE:搜索并且替換匹配的正則表達(dá)式
(srcstr, pattern [, replacestr [, position [, occurrence [, match_option]]]]) 其中各參數(shù)的含義為:
Sql代碼
srcstr: 被查找的字符數(shù)據(jù)。
pattern: 正則表達(dá)式。
occurrence: 出現(xiàn)的次數(shù)。默認(rèn)為1。
position: 開(kāi)始位置
return_option: 默認(rèn)值為0,返回該模式的起始位置;值為1則返回符合匹配條件的下一個(gè)字符的起始位置。
【Oracle正則表達(dá)式】相關(guān)文章:
Oracle認(rèn)證:ORACLE綁定變量BINDPEEKING03-08
Oracle認(rèn)證:Oracle控制件文件修復(fù)03-18
Oracle認(rèn)證:Oracle內(nèi)存結(jié)構(gòu)研究-PGA篇03-08
Oracle認(rèn)證:Oracle避免全表掃描方式03-08
Oracle認(rèn)證作用03-19
Oracle發(fā)展歷程03-12
oracle的sql語(yǔ)句01-21