基本字符匹配
首先通过一个简单的例子开始。下面的语句检索列name包含文本a的所有行:
输入
SELECT name FROM shop WHERE name REGEXP 'a';
输出
'.'是正则表达式语言中一个特殊的字符,它表示匹配任意一个字符:
输入
SELECT name FROM shop WHERE name REGEXP '.a';
输出
进行OR匹配
为搜索两个串之一,使用 | :
输入
SELECT name FROM shop WHERE name REGEXP ‘l|h’;
输出
匹配几个字符之一
使用[ ]匹配特定字符:
输入
SELECT name FROM shop WHERE name REGEXP '[csg]h';
输出
匹配范围
输入
SELECT name,price FROM shop WHERE price REGEXP '1[4-9]';
输出
匹配特殊字符
为了匹配特殊字符,必须用\为前导,\-表示查找-,\.表示查找.等。
\也用来引用元字符,如表所示:
元字符 | 说明 |
---|---|
\\f | 换页 |
\\n | 换行 |
\\r | 回车 |
\\t | 制表 |
\\v | 纵向制表 |
为了匹配反斜杠(\)字符本身,需要使用\\\。