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