首先我们说一下REGEXP与LIKE的区别。
LIKE类似于等于,而 REGEXP更像包含。
- 点(.)操作符,表示匹配任意一字符。
例: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. 匹配字符类
6. 匹配多个实例
7. 定位符