1. 基本字符匹配:
创新互联从2013年成立,先为观山湖等服务建站,观山湖等地企业,进行企业商务咨询服务。为观山湖企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
select name from user where name REGEXP '1000';
检索name中包含文本1000的所有行。
select name from user where name REGEXP '.000';
.在正则表达式中表示匹配任意一个字符。
2. 进行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. 匹配特殊字符:
匹配特殊字符,必须用\为前导,\-表示查找-,\.表示查找.
5. 匹配多个实例:
*: 0个或多个匹配;
+:1个或多个匹配(等于{1,});
?:0个或1个匹配(等于{0,1});
{n}:指定数目的匹配;
{n,}:不少于指定数目的匹配;
{n,m}:匹配数目的范围(m不超过255)。
6. 定位符:
^:文本的开始;
$:文本的结尾;
[[::]]:词的开始;
[[::]]:词的结尾;
^在集合中:用来否定该集合,例如[^0-9],表示不匹配数字
[]表示的是范围,就是说只匹配里面的单个字符或范围,同样的字符写多次和写一次效果一样
如果是一般情况,可以用(?!55)$或者(?!55)$匹配,但是mysql数据库不支持这些非获取匹配的写法,所以还是用not regexp '55$'来筛选吧
LIKE运算符用于WHERE表达式中,以搜索匹配字段中的指定内容,语法如下:
LIKE通常与通配符%一起使用进行模糊匹配,%表示通配pattern中出现的内容,而不加通配符%的LIKE语法,表示精确匹配,其实际效果等同于 = 等于运算符。SQL LIKE 子句中使用百分号 %字符来表示任意字符。
MySQL LIKE 匹配字符的时候,默认情况下是不区分大小写的,如果在需要区分大小写的时候,可以加入BINARY操作符:
MySQL中使用 REGEXP 操作符来进行正则表达式匹配。
实例: