亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Oracle數(shù)據(jù)庫正則表達式使用場景代碼實例

 更新時間:2020年09月29日 11:10:00   作者:勤快的懶羊羊  
這篇文章主要介紹了Oracle數(shù)據(jù)庫正則表達式使用場景代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

正則表達式:

無論是在前端還是后臺正則表達式都是一個至關(guān)重要的知識點,例如判斷一個手機號碼輸入是否正確,如果使用Java、C或者其他語言進行字符串進行判斷,也許寫幾十行代碼都不一定能解決,而且漏洞百出,而使用正則表達式,一行代碼則可輕易解決,下面是舉例說明正則表達式的用法:

1: \d 代表一個(阿拉伯數(shù)字) 任意數(shù)字

例如:判斷用戶輸入的是否為11位數(shù)字(當然手機號碼是不能這么簡答的表達,只是解釋一下\d的用法)

 select 'ok'
 from dual
 where regexp_like('18812345678','\d\d\d\d\d\d\d\d\d\d\d')

2: . 代表一個(任意字母) 任意字母

  這里需要注意的是,如果輸入的數(shù)字確實需要字母 . 的話,不能直接輸 . 要轉(zhuǎn)換一下格式,輸入 \. 即可,這個需要注意。

3: [[:number:]] 一個任意數(shù)字(可以使十六進制)

這個用的并不多,如果現(xiàn)實十六進制,可以使用如下方式即可

 select 'ok'
 from dual
 where regexp_like('str','[0-9a-fA-F]')

4: [[:alpha:]] 一個任意大小寫字母

5: [ ] 匹配到方括號內(nèi)的其中一個字母

方括號中只能匹配到其中的任意一個字母,或者是7 或者是8或者是9,只能是1個

 select 'ok'
 from dual
 where regexp_like('8','[379]')

例如下面的就是ASCII碼中,數(shù)字3到ASCII碼 小寫的 a 其中的任意一個字符的匹配

select 'ok'
from dual
where regexp_like('9','[3-a]')  

當然如果是12345678這樣的連續(xù)的數(shù)字可以這么寫

 select 'ok'
 from dual
 where regexp_like('str','[1-8]')

如果是要匹配 12345678 中的其中一個,或者是字母 a也行,就可以這么寫,a可以寫到前邊,也可以寫到后面,這并無所謂,因為只匹配一個而已

 select 'ok'
 from dual
 where regexp_like('str','[a1-8]')

6: () 單詞匹配

單詞匹配,一般用豎線隔開,例如:小明喜歡吃蘋果或者香蕉或者櫻桃,此時就應(yīng)該是用單詞的匹配,在圓括號中任選一個。

 select 'ok'
 from dual
 where regexp_like('小明喜歡吃蘋果.','小明喜歡吃(蘋果|香蕉|櫻桃)\.')

7:量詞:來修飾左側(cè)的元素的數(shù)量,三個量詞

  7.1: * 0到任意多個
  7.2: + 1到任意多個
  7.3: ? 0或者1個

{N},代表左側(cè)有N個數(shù)據(jù),比如上面的手機號碼驗證,\d 需要輸入9個,這里就可以使用{N}來簡化一下,\d是數(shù)字,然后\d{10},代表這里有10個數(shù)字

 select 'ok'
 from dual
 where regexp_like('str','1\d{10}')

如果是:{2,10} 代表左側(cè)的東西 最少有2個,最多有10個

9:引導(dǎo)符: ^ :在正則表達式最前方使用 ^ ,代表只能按照表達式的格式去匹配

10:結(jié)束符: $ :在正則表達式最后面使用 ¥ ,代表只能按照表達式的格式去匹配

出現(xiàn)前導(dǎo)符的原因:因為正則表達式只匹配"表達式匹配條件的內(nèi)容",之外的不匹配

11:\n 換行

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論