9、正則表達(dá)式

查詢中的正則

格式
select * from 表名 where 字段名 REGEXP '正則表達(dá)式';

字符功能

命令 說明
. 匹配任意字符(包括回車和新行)
a|b 匹配a或b
[abc] 匹配a,b,c任意一個字符
[m-n] 匹配m到n之間的任意單個字符,例如[0-9],[a-z],[A-Z]
\\特殊字符 匹配含此特殊字符的數(shù)據(jù),\\表示轉(zhuǎn)義
* 0個或多個匹配
+ 1個或多個匹配,即{1,}
? 0個或1個匹配,即{0,1}
{n} 指定數(shù)目的匹配
{n,} 不少于指定數(shù)目的匹配
{,n} 匹配0到n個
{n,m} 匹配數(shù)目的范圍(m不超過255)
^ 文本的開始
[^...] 不匹配里面的任意單個字符
$ 文本的末尾
[[:<:]] 詞的開始
[[:>:]] 詞的結(jié)尾
(...) 將內(nèi)部的字符組成一個整體
select 'AABC123abc' REGEXP '[a-z]'; #返回1
select 'AABC123abc' REGEXP '[4-6]'; #返回0
select 'AABC123abc' REGEXP 'C|D'; #返回1
select 'AABC123abc' REGEXP '[Ed3]'; #返回1
select 'AABC123abc' REGEXP '(AD*BC)'; #返回1
select 'AABC123abc' REGEXP '(AD+BC)'; #返回0
select 'AABC123abc' REGEXP '(AD?BC)'; #返回1
select 'AABC123abc' REGEXP '^(A{2}BC)'; #返回1
select 'AABC123abc' REGEXP 'A{2,100}'; #返回1
select 'AABC123abc' REGEXP 'b$'; #返回0
select 'alike alike' REGEXP '[[:<:]](li)'; #返回0

除了以上字符,還內(nèi)置了一些字符類,也可直接用于正則表達(dá)式

說明
[:alnum:] 任意字母與數(shù)字(同[a-zA-Z0-9])
[:alpha:] 任意字符(同[a-zA-Z])
[:blank:] 空格和制表(同[\\t])
[:cntrl:] ASCII控制字符(ASCII 0到31和127)
[:digit:] 任意數(shù)字(同[0-9])
[:print:] 任意可打印字符
[:graph:] 與[:print:]相同,但不包括空格
[:lower:] 任意小寫字母(同[a-z])
[:upper:] 任意大寫字母(同[A-Z])
[:punct:] 既不在[:alnum:]又不在[:cntrl:]中的任意字符
[:space:] 包括空格在內(nèi)的任意空白字符(同[\\f\\n\\r\\t\\v])
[:xdigit:] 任意十六進(jìn)制數(shù)字(同[a-fA-F0-9])
select 'AABC123Aabc' REGEXP '[[:alum:]]{11}'; #返回1
select 'AABC123Aabc' REGEXP '[[:alum:]]{12}'; #返回0
select 'AABC123Aabc' REGEXP '[[:alpha:]]{4}'; #返回1
select 'AABC123Aabc' REGEXP '[[:alpha:]]{5}'; #返回0,說明必須是連續(xù)的字符
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容