MySQL必知必会笔记(六):用正则表达式进行搜索

MySQL必知必会笔记(六):用正则表达式进行搜索_第1张图片

基本字符匹配

首先通过一个简单的例子开始。下面的语句检索列name包含文本a的所有行:
输入
SELECT name FROM shop WHERE name REGEXP 'a';
输出
MySQL必知必会笔记(六):用正则表达式进行搜索_第2张图片

'.'是正则表达式语言中一个特殊的字符,它表示匹配任意一个字符:
输入
SELECT name FROM shop WHERE name REGEXP '.a';
输出
MySQL必知必会笔记(六):用正则表达式进行搜索_第3张图片

进行OR匹配

为搜索两个串之一,使用 | :
输入
SELECT name FROM shop WHERE name REGEXP ‘l|h’;
输出
MySQL必知必会笔记(六):用正则表达式进行搜索_第4张图片

匹配几个字符之一

使用[ ]匹配特定字符:
输入
SELECT name FROM shop WHERE name REGEXP '[csg]h';
输出
MySQL必知必会笔记(六):用正则表达式进行搜索_第5张图片

匹配范围

输入
SELECT name,price FROM shop WHERE price REGEXP '1[4-9]';
输出
MySQL必知必会笔记(六):用正则表达式进行搜索_第6张图片

匹配特殊字符

为了匹配特殊字符,必须用\为前导,\-表示查找-,\.表示查找.等。
\也用来引用元字符,如表所示:

元字符 说明
\\f 换页
\\n 换行
\\r 回车
\\t 制表
\\v 纵向制表

为了匹配反斜杠(\)字符本身,需要使用\\\。

匹配字符类

MySQL必知必会笔记(六):用正则表达式进行搜索_第7张图片

匹配多个实例(待学习)

定位符(待学习)

你可能感兴趣的:(MySQL必知必会笔记(六):用正则表达式进行搜索)