mysql正则表达式

mysql中也支持正则表达式,并且通常可以取得不错的效果,常用的正则如下:

select * from sampleTableName where attrName regexp '正则表达式';

1.以Xiaomi开头或者以06结尾的字符串

select * from sampleTableName where attrName regexp '^Xiaomi|06$';

 2.以Xiaomi开头并且以06结尾,中间含有其他任意字符的字符串

select * from sampleTableName where attrName regexp '^Xiaomi.+06$';

注意:点“.”在字符组中时,进表示普通的字符点,而在字符组外则表示任意字符+在正则中表示 “ 一个或多个 ”,因此上述正则不能匹配 “xiaomi06”这样中间没有其他字符的字符串

3.以Xiaomi开头并且以06结尾,中间可以没有字符,也可以有任意字符的字符串

select * from sampleTableName where attrName regexp '^Xiaomi.*06$';

正则表达式中,* 代表“ 0个或多个 ”,因此上述正则既能匹配Xiaomi06,也能匹配XiaomiHEHE06。