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)文章
Redhat 6.2 下 oracle 11g R2的安裝詳解
這篇文章主要介紹了Redhat 6.2 下 oracle 11g R2的安裝詳解,需要的朋友可以參考下2016-07-07oracle10g 數(shù)據(jù)備份與導(dǎo)入
oracle10g 數(shù)據(jù)備份與導(dǎo)入 實現(xiàn)方法2009-06-06Oracle數(shù)據(jù)庫常用語句總結(jié)大全
SQL是結(jié)構(gòu)化查詢語言,用于管理關(guān)系型數(shù)據(jù)庫系統(tǒng),本指南涵蓋了創(chuàng)建和刪除數(shù)據(jù)庫、表以及其他高級表操作如增加、修改、刪除字段,還介紹了主鍵、索引、視圖操作和數(shù)據(jù)DML操作,需要的朋友可以參考下2024-09-09oracle 聲明游標(不具備字段)規(guī)則應(yīng)用
在開發(fā)過程中可能會聲明一個含有某張表不具備字段的游標,來解決特殊問題,本文將詳細介紹這類問題,需要了解更多的朋友可以參考下2012-11-11