什么是正则表达式
匹配。
有哪些正则表达式?
.000 匹配任意一个字符
LIKE是进行通配符匹配,REGEXP是进行正则表达式匹配
REGEXP是regular expression(正则表达式)的意思
LIKE和REGEXP的重要区别?
①LIKE使用’XXX%’,REGEXP使用’XXX.’
即在LIKE中使用%,在REGEXP使用.表示相同的含义
②LIKE区分大小写,REGEXP不区分大小写
如果想让REGEXP区分大小写,在REGEXP后面加上BINARY
③select * from student where sname like ‘[李周]%’;
结果:不返回任何值
select * from student where sname regexp ‘[李周].’;
结果:返回姓李或者周的同学的相关信息
等价的改写形式:select * from student where sname regexp ‘李|周.’
正则表达式进行or匹配
举例:
SELECT prod_name
FROM products
WHERE prod_name REGEXP '1000|2000|3000'
ORDER BY prod_name
|表示匹配其中之一
|与in,or起的作用相同
[]是另一种形式的or语句
举例:
SELECT prod_name
FROM products
WHERE prod_name REGEXP '[123]Ton'
ORDER BY prod_name;
如上语句 1Ton,2Ton,3Ton语句都匹配
[^]字符集可以被否定,匹配除指定字符外的任何东西
匹配范围
举例
SELECT prod_name
FROM products
WHERE prod_name REGEXP '[1-5] ton'
ORDER BY prod_name;
匹配特殊字符([],|,.)
为了匹配特殊字符,必须用\为前导,例如\.表示查找.
为了匹配\字符本身,需要使用\
[:digital:]用来匹配任意数字
定位符
匹配特定位置的文本