正则表达式1.0

1.LIKE 和 REGEXP之间的区别

LIKE 匹配整个列,如果被匹配的文本在列值中出现,LIKE 将不会找到它,相应的行也不会被返回(除非使用通配符)。而 REGEXP 在列值内进行匹配,如果被匹配的文本在列值中出现,REGEXP 将会找到它,相应的行将被返回,并且 REGEXP 能匹配整个列值(与 LIKE 相同的作用)。

2.正则表达式匹配不区分大小写

为区分大小写,可以使用 BINARY 关键字,例如:Where first_name REGEXP BINARY 'Bear'。

字符 描述
^ 匹配输入字符串的开始位置。例:'^p',查询p开头的字符串
$ 匹配输入字符串的结束位置。例:'E$',查询E结尾的字符串
| 竖线被解释为 OR,匹配过程从最左侧的模式开始,例:'a|bear' 能匹配 "a" 或 "bear"。'(a|b)ear' 则匹配 "aear" 或 "bear"
[aeiou] 元音字符

实例:

查找p开头的所有数据:

select * from actor where first_name REGEXP '^p';

查找e结尾的所有数据:

select * from actor where first_name REGEXP 'E$';

查找包含BE的所有数据:

select * from actor where first_name REGEXP 'BE';

查找以元音字符开头或以'ok'字符串结尾的所有数据:

select * from actor where first_name REGEXP '^[aeiou]|ok$';

posted @ 2022-04-25 18:17  Oh,Boy  阅读(78)  评论(0)    收藏  举报