您的位置:首页 > 数据库

使用政策表达式查询sql数据库

2015-09-05 20:27 405 查看
正则表达式是用某种模式去匹配一类字符串的一种方式。正则表达式的查询能力比统配字符的查询能力更强大,而且更加灵活。

在mysql中,使用regexp关键字来匹配查询正则表达式。其基本形式如下:

字段名 regexp '匹配方式'

字段名: 需要查询的字段名称;

匹配方式: 以哪种方式来进行匹配查询。支持的模式匹配字符如下表:

模式字符含义应用举例
^匹配以特定字符或字符串开头的记录查询A表中books字段以字母php开头的记录:

select books from A where books regexp '^php';
$匹配以特定字符或字符串结尾的记录查询A表中books字段以字母php结尾的记录:

select books from A where books regexp 'php$';
.匹配字符串的任意一个字符,包括回车和换行查询A表中books字段包含字母p的记录:

select books from A where books regexp 'p.';
[字符集合]匹配”字符集合“中的任意一个字符查询A表中books字段包含PCA的记录:

select books from A where books regexp '[PCA]';
[^字符集合]匹配除”字符集合“以外的任意一个字符查询A表中books字段包含c-z字母以外的记录:

select books from A where books regexp '^c-z';
S1|S2|S3匹配S1,S2,S3中的任意一个字符串查询A表中books字段中包含php、c或者java字符中任意一个字符的记录:

select books from A where books regexp 'php|c|java';
*匹配多个该符号之前的字符,包括0和1个查询A表中books字段中A字母前出现过J字符的记录:

select books from A where books regexp 'J*A';
+匹配多个该符号之前的字符,包括1个查询A表中books字段中A字母前出现过J字符的记录:

select books from A where books regexp 'J+A';
字符串{N}匹配字符串出现N次查询A表中books字段中出现3次a字符的记录:

select books from A where books regexp 'a{3}';
字符串{M,N}匹配字符串至少出现M次,最多出现N次查询A表中books字段中最少出现2次,最多出现4次a字符的记录:

select books from A where books regexp 'a{2,4}';
其实这里的正则表达式与java语言、php语言等变成语言中的正则表达式基本一致。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: