mysql查询语句中正则表达式的使用实例
正则表达式的使用
正则表达式(Regular Expression),是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。在很多文本编辑器或其他工具裡,正则表达式通常被用来检索和/或替换那些符合某个模式的文本内容。许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl 中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由UNIX 中的工具软件(例如SED 和GREP)普及开的,通常缩写成“REGEX”或者“REGEXP”。
MySQL 利用REGEXP 命令提供给用户扩展的正则表达式功能,REGEXP 实现的功能,类似UNIX上GREP 和SED 的功能,并且REGEXP 在进行模式匹配时是区分大小写的。熟悉并掌握REGEXP的功能可以使模式匹配工作事半功倍。
MySQL 5.0 中可以使用的模式序列如表17-1 所示。
表17-1 正则表达式中的模式
序列 序列说明
^ 在字符串的开始处进行匹配
$ 在字符串的末尾处进行匹配
. 匹配任意单个字符,包括换行符
[…] 匹配出括号内的任意字符
[^…] 匹配不出括号内的任意字符
a* 匹配零个或多个a(包括空串)
a+ 匹配1 个或多个a(不包括空串)
a? 匹配1 个或零个a
a1|a2 匹配a1 或a2
a(m) 匹配m 个a
a(m,) 匹配m 个或更多个a
a(m,n) 匹配m 到n 个a
a(,n) 匹配0 到n 个a
mysql> select name ,email from t where email REGEXP "@163[.,]com$";
mysql> select name ,email from t where email like “@163%.com” or email like “@163%,com”
上一篇: oracle序列的使用实例讲解
下一篇: linux查询天气(方法实例)
推荐阅读
-
使用distinct在mysql中查询多条不重复记录值的解决办法
-
优化MySQL数据库中的查询语句详解_MySQL
-
mysql中sql实现查询当天、昨天、本月、季度的语句
-
Php中使用Select 查询语句的实例_PHP教程
-
PHP使用mysql_fetch_object从查询结果中获取对象集的方法_PHP教程
-
为什么无法使用php中mysqli的准备语句进行数据库中数据的查询(绑定参数或者绑定结果),项目急用!该如何处理
-
如何使用MySQL查询某个列中相同值的数量统计_MySQL
-
MySQL中UPDATE与DELETE语句的使用教程_MySQL
-
mysql 查询数据库中的存储过程与函数的语句
-
MySQL使用select语句查询指定表中指定列(字段)的数据