MySQL正则表达式

MySQL支持两种使用正则表达式的方式:

1. LIKE 操作符:

  • _:匹配任何单个字符,例如 _a 匹配第二个字符为 'a' 的字符串。
  • %:匹配任意数目字符,例如 %a 匹配以 'a' 结尾的字符串,a% 匹配以 'a' 开头的字符串,%a% 匹配包含字符 'a' 的字符串。
  • ____:匹配刚好包含五个字符的字符串。

2. REGEXP 操作符:

  • .: 匹配任何单个字符,例如 .a 匹配第二个字符为 'a' 的字符串。
  • [...]: 匹配括号中包含的任意一个字符,例如 ab[abc]dd 匹配第三个字符为 'a'、'b' 或 'c' 的字符串, [a-z] 匹配所有字母,[0-9] 匹配所有数字。
  • *: 匹配 0 个或者多个在它前面的字符,例如 [0-9]* 匹配任何数量的数字。
  • ^$: 匹配字符串的开头和结尾,例如 ^a 匹配以 'a' 开头的字符串,b$ 匹配以 'b' 结尾的字符串。
  • -{8}: 表示八个任意单个字符。
  • w: 表示包含字符 'w' 的字符串。

可以使用 SELECT * FROM 表名 WHERE 字段名 REGEXP '正则表达式'; 语句进行查询。