特殊字元:
'^' 匹配輸入字串的開始位置,在方括號表示式中使用,此時它表示不接受該字元集合。
'$' 匹配輸入字串的結尾位置。如果設定了 regexp 物件的 multiline 屬性,則 $ 也匹配 '\n' 或'\r'。
'.' 匹配除換行符 \n之外的任何單字元。
'?' 匹配前面的子表示式零次或一次。
'*' 匹配前面的子表示式零次或多次。
'+' 匹配前面的子表示式一次或多次。
'( )' 標記乙個子表示式的開始和結束位置。
'' 標記乙個中括號表示式。
'' 乙個精確地出現次數範圍,m=《出現次數<=n,''表示出現m次,''表示至少出現m次。
'|' 指明兩項之間的乙個選擇。例子'^([a-z]+|[0-9]+)$'表示所有小寫字母或數字組合成的字串。
\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
'\' 轉義符。
字元簇:
[[:alpha:]] 任何字母。
[[:digit:]] 任何數字。
[[:alnum:]] 任何字母和數字。
[[:space:]] 任何白字元。
[[:upper:]] 任何大寫字母。
[[:lower:]] 任何小寫字母。
[[unct:]] 任何標點符號。
[[:xdigit:]] 任何16進製制的數字,相當於[0-9a-fa-f]。
各種操作符的運算優先順序
\ 轉義符
(), (?, (?=), 圓括號和方括號
*, +, ?, , , 限定符
^, $, \anymetacharacter 位置和順序
| 「或」操作
檢視原始碼列印?
1
--regexp_like
2
select
*
from
test
where
regexp_like(mc,
'^a'
);
3
select
*
from
test
where
regexp_like(mc,
'a'
);
4
select
*
from
test
where
regexp_like(mc,
'^a.*e$'
);
5
select
*
from
test
where
regexp_like(mc,
'^[[:lower:]]|[[:digit:]]'
);
6
select
*
from
test
where
regexp_like(mc,
'^[[:lower:]]'
);
7
select
mc
from
test
where
regexp_like(mc,
'[^[:digit:]]'
);
8
select
mc
from
test
where
regexp_like(mc,
'^[^[:digit:]]'
);
轉之
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 正規表示式代替了老的百分號 和萬用字元 字元。特殊字元 匹配輸入字串的開始位置,在方括號表示式中使用,此時它表示不接...