MySQL 模式匹配
MySQL 模式匹配
LIKE 模式
利用 LIKE 运算符以及通配符 "%"(能匹配任意字符序列) 和 "_"(只能匹配单个字符) 实现的
通配符 "%" 能匹配任何字符串, 包括空字符串, 但是不能匹配 NULL
如果 LIKE 的一边为二进制串, 则两边都当成二进制串比较, 如果都不是二进制串, 则根据它们的排序规则来进行比较
正则表达式 REGEXP
利用 REGEXP 运算符和正则表达式实现的
点号字符 "." 可以匹配任何单个字符, 如:
'abc' REGEXP 'a.c'
方括号 "[...]" 可以匹配列在方括号内部的任何字符, 如:
'e' REGEXP '[aeiou]'
连接符 "-" 可用于指定字符范围, 其两端分别为范围的起始和结束字符 "^" 用于把这个字符范围的含义变反 (匹配未列在其中的字符), 如:'abc'REGEXP'[a-z]'
'abc'REGEXP'[^d-z]'
"*" 表示匹配前面的子表达式零次或多次, 如:'abcdef'REGEXP'a.*f'
'xxxxx'REGEXP'x*'
'abc' REGEXP '[0-9]*abc' 因为任意个包括 0 个
如果要匹配前面的子表达式一次或多次, 则需要使用 "+" 来代替 "*", 如:
'abc' REGEXP 'cd*' -- 可以匹配零次