📅  最后修改于: 2023-12-03 15:17:48.235000             🧑  作者: Mango
正则表达式是一种很强大的工具,可以用来匹配和操作字符串。在MySQL中,我们也可以使用正则表达式来选择数据。
正则表达式是一种由字符和特殊字符组成的字符串,用来描述或匹配一系列符合某个规则的字符串。在MySQL中,最常用的正则表达式特殊字符如下:
| 字符 | 描述 | |------|------| | . | 匹配任何字符 | | * | 匹配前一个字符0次或多次 | | + | 匹配前一个字符1次或多次 | | ? | 匹配前一个字符0次或1次 | | ^ | 匹配字符串的开头 | | $ | 匹配字符串的结尾 | | [] | 匹配括号内的任意一个字符 | | [^] | 匹配不在括号内的任意一个字符 | | () | 分组,用来限定一组字符的范围 |
MySQL中有两个用来匹配正则表达式的函数:REGEXP
和RLIKE
。它们的用法是完全一样的,只是名字不同。这两个函数的参数分别是要匹配的字符串和正则表达式模式。
SELECT * FROM table
WHERE column REGEXP 'pattern'
SELECT * FROM table
WHERE column RLIKE 'pattern'
以下是一些使用正则表达式选择数据的示例:
SELECT * FROM table
WHERE column REGEXP '^a'
SELECT * FROM table
WHERE column REGEXP 'a$'
SELECT * FROM table
WHERE column REGEXP '[0-9]+'
SELECT * FROM table
WHERE column REGEXP 'ab|bc|cd'
SELECT * FROM table
WHERE column REGEXP '^.{3}$'
SELECT * FROM table
WHERE column REGEXP '(.).*\1'
SELECT * FROM table
WHERE column REGEXP '[[:<:]]cat[[:>:]]'
以上是一些常用的正则表达式示例,希望对你有所帮助。