MySql(二)REGEXP使用正则表达式

首先我们说一下REGEXP与LIKE的区别。

LIKE类似于等于,而 REGEXP更像包含。

  1. 点(.)操作符,表示匹配任意一字符。

  例:SELECT name FROM student WHERE name REGEXP 张.;匹配所有包含张而且后面仍有一任意字符的字符串,比如说张z、张zz、zzz张z。

     2. OR 匹配

     A. 使用 (|) 符号

 例:SELECT name FROM student WHERE name REGEXP 张|王;匹配name字段中包含张或者王的所有记录。

注:1|2|3 hello 等于 1或者2或者3 hello

     B. 使用[]

  例:SELECT age FROM student WHERE age REGEXP '[78]';匹配年龄中包含7或者8的记录。

    3. 范围匹配

使用[],例[123456789] == [1-9]匹配任意数字,[a-z]表示匹配所有字母

    4. 匹配特殊字符

当我们需要匹配. [ ] | 等特殊符号时需要转义字符\\

例:假如我们匹配. 字符本身,则需要\\.这样去匹配

    5. 匹配字符类

MySql(二)REGEXP使用正则表达式

    6. 匹配多个实例

MySql(二)REGEXP使用正则表达式

    7. 定位符

MySql(二)REGEXP使用正则表达式