1. 基本字符匹配:
創(chuàng)新互聯(lián)從2013年成立,先為觀山湖等服務(wù)建站,觀山湖等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為觀山湖企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
select name from user where name REGEXP '1000';
檢索name中包含文本1000的所有行。
select name from user where name REGEXP '.000';
.在正則表達(dá)式中表示匹配任意一個字符。
2. 進(jìn)行OR匹配:
select name from user where name REGEXP '1000|2000';
檢索name中包含文本1000或2000的所有行。
3. 匹配幾個字符之一:
select name from user where name REGEXP '[123] Ton';
[123]定義一組字符,它的意思是匹配1或2或3。
select name from user where name REGEXP '[1-3] Ton';
-用來定義一個范圍。
4. 匹配特殊字符:
匹配特殊字符,必須用\為前導(dǎo),\-表示查找-,\.表示查找.
5. 匹配多個實例:
*: 0個或多個匹配;
+:1個或多個匹配(等于{1,});
?:0個或1個匹配(等于{0,1});
{n}:指定數(shù)目的匹配;
{n,}:不少于指定數(shù)目的匹配;
{n,m}:匹配數(shù)目的范圍(m不超過255)。
6. 定位符:
^:文本的開始;
$:文本的結(jié)尾;
[[::]]:詞的開始;
[[::]]:詞的結(jié)尾;
^在集合中:用來否定該集合,例如[^0-9],表示不匹配數(shù)字
[]表示的是范圍,就是說只匹配里面的單個字符或范圍,同樣的字符寫多次和寫一次效果一樣
如果是一般情況,可以用(?!55)$或者(?!55)$匹配,但是mysql數(shù)據(jù)庫不支持這些非獲取匹配的寫法,所以還是用not regexp '55$'來篩選吧
LIKE運算符用于WHERE表達(dá)式中,以搜索匹配字段中的指定內(nèi)容,語法如下:
LIKE通常與通配符%一起使用進(jìn)行模糊匹配,%表示通配pattern中出現(xiàn)的內(nèi)容,而不加通配符%的LIKE語法,表示精確匹配,其實際效果等同于 = 等于運算符。SQL LIKE 子句中使用百分號 %字符來表示任意字符。
MySQL LIKE 匹配字符的時候,默認(rèn)情況下是不區(qū)分大小寫的,如果在需要區(qū)分大小寫的時候,可以加入BINARY操作符:
MySQL中使用 REGEXP 操作符來進(jìn)行正則表達(dá)式匹配。
實例: