oracle的正規表示式

2021-06-21 23:18:56 字數 1670 閱讀 7178

* 匹配前面的子表示式零次或多次

| 指明兩項之間的乙個選擇。例子'^([a-z]+|[0-9]+)$'表示所有小寫字母或數字組合成的字串。 

^ 匹配輸入字串的開始位置,在方括號表示式中使用,此時它表示不接受該字元集合。

$ 匹配輸入字串的結尾位置。如果設定了 regexp 物件的 multiline 屬性,則 $ 也匹配 'n' 或 'r'。

標記乙個中括號表示式

乙個精確地出現次數範圍,m=《出現次數<=n,''表示出現m次,''表示至少出現m次。

[::]oracle字元類

表示 含義

[[:alpha:]] 表示任意字母,正規表示式的一般語法為\w。

[[:digit:]] 表示任意數字,正規表示式的一般語法為\d。

[[:lower:]] 表示任意小寫字母。

[[:upper:]] 表示任意大寫字母。

[[:alnum:]] 表示任意字母和數字。

[[:space:]] 表示任意空白字元,正規表示式的一般語法為\s。

[[:punct:]] 表示任意標點符號。

[[:xdigit:]] 表示任意16進製制的數字,相當於[0-9a-fa-f]

\  4種不同含義 a.表示其本身 b.相用下乙個字元 c. 引入乙個運算子 d.do nothing

+匹配前面的子表示式一次或多次

?匹配前面的子表示式零次或一次。

. 匹配除null之外的任何單字元。

() 標記乙個子表示式的開始和結束位置(字元組)。 

[==] 指定等價類

\n 返回引用表示式

\num 匹配 num,其中 num 是乙個正整數。對所獲取的匹配的引用。 

正規表示式的乙個很有用的特點是可以儲存子表示式以後使用,被稱為backreferencing. 允許複雜的替換能力 

如調整乙個模式到新的位置或者指示被代替的字元或者單詞的位置. 被匹配的子表示式儲存在臨時緩衝區 

中,緩衝區從左到右編號, 通過\數字符號訪問。 下面的例子列出了把名字 aa bb cc 變成cc, bb, aa. 

select regexp_replace('aa bb cc','(.*) (.*) (.*)', '\3, \2, \1') from dual; 

regexp_replace('ellenhildismit 

cc, bb, aa 

'\' 轉義符。

標記乙個中括號表示式。

oracle 正規表示式

with temp as select br.777 1 a from dual union all select bs.6 175 a from dual union all select d.140 supplement 1 a from dual union all select e.191 ...

oracle正規表示式

在資料庫可直接執行下面語句,但在程式中不能執行,regexp like t.ipaddress,25 0 5 2 0 4 0 9 01 0 9 0 9 25 0 5 2 0 4 0 9 01 0 9 0 9 報錯有特殊字元 在句末再加乙個 改為 regexp like t.ipaddress,25 ...

oracle正規表示式

oracle 10g支援正規表示式的四個新函式分別是 regexp like regexp instr regexp substr 和regexp replace。它們使用posix 正規表示式代替了老的百分號 和萬用字元 字元。特殊字元 匹配輸入字串的開始位置,在方括號表示式中使用,此時它表示不接...