9. 用正则表达式进行搜索

1. 正则表达式介绍

  1. 正则表达式是用来匹配文本的特殊的串(字符集合)。

2. 使用MySQL正则表达式

2.1. 基本字符匹配

  1. REGEXP

    1. img
    2. REGEXP后所跟的东西作为正则表达式(与文字正文1000匹配的一个正则表达式)处理
  2. .

    1. img
    2. 是正则表达式语言中一个特殊的字符。它表示匹配任意一个字符
    3. LIKE匹配整个列。如果被匹配的文本在列值中出现,LIKE将不会找到它,相应的行也不被返回(除非使用通配符)。而REGEXP在列值内进行匹配,如果被匹配的文本在列值中出现,REGEXP将会找到它,相应的行将被返回。

2.2. 进行OR匹配

    1. img

2.3. 匹配几个字符之一

  1. []

    1. 匹配任何单一字符
    2. img
  2. ^

    1. 字符集合也可以被否定,即,它们将匹配除指定字符外的任何东西。为否定一个字符集,在集合的开始处放置一个^即可。因此,尽管[123]匹配字符1、2或3,但[^123]却匹配除这些字符外的任何东西。

2.4. 匹配范围

  1. 范围不限于完整的集合,[1-3]和[6-9]也是合法的范围。此外,范围不一定只是数值的,[a-z]匹配任意字母字符。

    1. img

2.5. 匹配特殊字符

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

    1. img
  2. \也用来引用元字符(具有特殊含义的字符)

    1. img

2.6. 匹配字符类

img

2.7. 匹配多个实例

img
  1. ?匹配匹配它前面的任何字符的0次或1次出现

    1. img
  2. {n}

    1. img

2.8. 定位符

img
  1. ^
img
  1. 的双重用途有两种用法。在集合中(用[和]定义),用它来否定该集合,否则,用来指串的开始处
  2. 使REGEXP起类似LIKE的作用本章前面说过,LIKE和REGEXP的不同在于,LIKE匹配整个串而REGEXP匹配子串。利用定位符,通过用^开始每个表达式,用$结束每个表达式,可以使REGEXP的作用与LIKE一样
  3. img

9. 用正则表达式进行搜索
http://binbo-zappy.github.io/2024/11/27/mysql_bzbh/9-用正则表达式进行搜索/
作者
Binbo
发布于
2024年11月27日
许可协议