MySQL正则表达式:REGEXP 和 LIKE

发布时间 2023-04-14 14:28:38作者: 我不想一直当菜鸟

正则表达式作用:

根据指定的匹配模式匹配文中符合要求的特殊字符。

REGEXP :

①操作符中常用的匹配列表:

匹配特殊字符使用\\进行转义

  • \\.   能够匹配 .
  • \\f   换页
  • \\n 换行
  • \\r 回车
  • \\t 制表
  • \\  纵向制表

 ③进行or匹配:搜索两个串之一(或者为这个串,或者为另一个串),使用 |。

LIKE有两个模式:

%:代表0个或多个任意字符;

_:表示单个字符;

REGEXP 和 LIKE 的区别:

LIKE匹配整个列。若是被匹配的文本仅在列值中出现,LIKE并不会找到它,相应的行也不会返回(使用通配符除外)。

REGEXP在列值内进行匹配,若是被匹配的匹配的文本在列值中出现,REGEXP将会找到它,相应的行将被返回。

例如:

products表:

 LIKE:

 REGEXP:

执行上述两条语句,会发现第一条语句不返回数据,而第二条语句返回一行。为什么?

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

《MySQL必知必会》:

为了匹配特殊字符,必须用\\为前导。\\-表示查找 -,\\. 表示查找 .

 力扣练习题:

1.力扣1517.查找拥有有效邮箱的用户(简单)

2.力扣1527.患某种疾病的患者(简单)

其他待完善...