MySQL 正则表达式
-
正则表达式
您已经看到与LIKE...%匹配的MySQL模式。MySQL支持基于正则表达式和REGEXP运算符的另一种模式匹配操作。如果您了解PHP或PERL,那么对您来说很简单,因为这种匹配与对正则表达式进行脚本编写的方式相同。以下是模式表,可以与REGEXP运算符一起使用。正则字符 描述 ^ 字符串开头 $ 字符串结尾 。 任何单个字符 [...] 方括号之间列出的任何字符 [^ ...] 方括号之间未列出的任何字符 p1 | p2 | p3 匹配任何模式p1,p2或p3 * 零个或多个前一元素的实例 + 前一个元素的一个或多个实例 {n} 前一个元素的n个实例 {m,n} m至n个先前元素的实例 -
例子
现在,基于上表,您可以配置各种类型的SQL查询以满足您的要求。在这里,我列出一些供您理解。考虑我们有一个名为person_tbl的表,它有一个名为name的字段查询以'st'开头的所有名称mysql> SELECT name FROM person_tbl WHERE name REGEXP '^st';
查询以找到所有以'ok'结尾的名称-mysql> SELECT name FROM person_tbl WHERE name REGEXP 'ok
查询以查找所有包含“mar”的名称-mysql> SELECT name FROM person_tbl WHERE name REGEXP 'mar';
查询以找到所有以元音字母开头并以'ok'结尾的名称mysql> SELECT FirstName FROM intque.person_tbl WHERE FirstName REGEXP '^[aeiou].*ok
查询以查找所有包含“mar”的名称-
查询以找到所有以元音字母开头并以'ok'结尾的名称
查询以查找所有包含“mar”的名称-
查询以找到所有以元音字母开头并以'ok'结尾的名称