正規表示式

2022-02-14 16:40:36 字數 2475 閱讀 2270

oracle 正則字元簇補充:

[[:digit:]] 任何數字[0-9]      [[unct:]] 任何標點符號

--

-測試oracle正則字元簇

--查詢指定字元是否以d開頭f結尾中間匹配任意字母0至10次

select 1 from dual where regexp_like('dshgapf','^d[[:alpha:]]f$'); 結果:1

當前測試了這些

--[ ]

elect 1 from dual where regexp_like('fsdf','[a-z]');

select 1 from dual where regexp_like('fsddf','[a-z]');

select 1 from dual where regexp_like('fsd7df','[0-9]');

select 1 from dual where regexp_like('fsd7df','[0-9a-aa-z]');

--select 1 from dual where regexp_like('fsda7adf','a');--匹配是否有兩個連續a

--^ $

select 1 from dual where regexp_like('fsd7aadf','^f');

select 1 from dual where regexp_like('fsd7aadf','f$');

--* + ?

select 1 from dual where regexp_like('fsd7aadf','fh*');

select 1 from dual where regexp_like('fsd7aadf','f+');

select 1 from dual where regexp_like('fsd7aaadf','(a)?');

但是還有這個未搞懂

--\1   

select 1 from dual where regexp_like('fsd7aadf','([a])\1');

select 1 from dual where regexp_like('saagafd','(a)\1');

select 1 from dual where regexp_like('abqqqfdfdfddffqweyifasaf','([a-d])\1');

select * from dual where regexp_like('abqqqfdfdfdddffqweyifasaf','(.)\2');

select 1 from dual where regexp_like('abqqqfdfdfdddffqweyifasaf','(.)\1')

select regexp_replace('09/29/2008', '^([0-9])/([0-9])/([0-9])$', '\3-\1-\2') replace

from dual;

經典案例

--不包含任何字母

select 1 from dual where not regexp_like('24g3324','[[:alpha:]]'); 無返回結果

--把指定字串中任何幾個連續的#只保留乙個

select regexp_replace('12#666##799####','[.#.]', '#')  from dual; 結果:12#666#799#

--查詢指定字串是否以a開頭,並且不區分大小寫,i代表不區分大小寫

select 1 from dual where regexp_like('afdsf','^a','i'); 結果:1

測試案例

--

查詢指定字串是否以d開頭f結尾中間可以出現任意字元零至多次,.代表任意字元(除了\n換行符),*代表匹配零個或多個

select

1from dual where regexp_like('

dsnf;ang11@vvhapf

','^d.*f$

'); 結果:1

--查詢指定字串是否以d開頭f結尾中間匹配a-z字元0-10次

select

1from dual where regexp_like('

dshapf

','^d[a-z]f$

'); 結果:1

--把指定字串中包含s加任意兩個字元加f的字元創替換成=

select 'dfs23fs',regexp_replace('dfs23fs','s..f','=') from dual; 結果:dfs23fs df=s

--擷取指定字串從第乙個位置第一次出現不以逗號開頭的第1至多個字元

select regexp_substr('12,43fd,er55','[^,]+',1,1,'i') from dual; 結果:12

正規表示式 正規表示式 總結

非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...

正規表示式 表示式

網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...

Linux正規表示式 編寫正規表示式

為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...