9. 用正则表达式进行搜索
1. 正则表达式介绍
- 正则表达式是用来匹配文本的特殊的串(字符集合)。
2. 使用MySQL正则表达式
2.1. 基本字符匹配
REGEXP
- REGEXP后所跟的东西作为正则表达式(与文字正文1000匹配的一个正则表达式)处理
.
- 是正则表达式语言中一个特殊的字符。它表示匹配任意一个字符
- LIKE匹配整个列。如果被匹配的文本在列值中出现,LIKE将不会找到它,相应的行也不被返回(除非使用通配符)。而REGEXP在列值内进行匹配,如果被匹配的文本在列值中出现,REGEXP将会找到它,相应的行将被返回。
2.2. 进行OR匹配
2.3. 匹配几个字符之一
[]
- 匹配任何单一字符
^
- 字符集合也可以被否定,即,它们将匹配除指定字符外的任何东西。为否定一个字符集,在集合的开始处放置一个^即可。因此,尽管[123]匹配字符1、2或3,但[^123]却匹配除这些字符外的任何东西。
2.4. 匹配范围
范围不限于完整的集合,[1-3]和[6-9]也是合法的范围。此外,范围不一定只是数值的,[a-z]匹配任意字母字符。
2.5. 匹配特殊字符
为了匹配特殊字符,必须用\为前导。\-表示查找-,\.表示查找.。
\也用来引用元字符(具有特殊含义的字符)
2.6. 匹配字符类

2.7. 匹配多个实例

?匹配匹配它前面的任何字符的0次或1次出现
{n}
2.8. 定位符

- ^

- 的双重用途有两种用法。在集合中(用[和]定义),用它来否定该集合,否则,用来指串的开始处
- 使REGEXP起类似LIKE的作用本章前面说过,LIKE和REGEXP的不同在于,LIKE匹配整个串而REGEXP匹配子串。利用定位符,通过用^开始每个表达式,用$结束每个表达式,可以使REGEXP的作用与LIKE一样
9. 用正则表达式进行搜索
http://binbo-zappy.github.io/2024/11/27/mysql_bzbh/9-用正则表达式进行搜索/