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”
上一篇: c语言小程序:编写猜字游戏
下一篇: sql如何在排序后把特定数据显示最上面?
推荐阅读
-
MySQL中(JOIN/ORDER BY)语句的查询过程及优化方法
-
MySQL中查询json格式的字段实例详解
-
Oracle与MySQL的分页查询sql语句格式实例讲解
-
PHP使用mysql_fetch_object从查询结果中获取对象集的方法
-
mysql存储过程之引发存储过程中的错误条件(SIGNAL和RESIGNAL语句)实例分析
-
Mysql中Join的使用实例详解
-
Mysql查询语句使用select.. for update导致的数据库死锁分析
-
MySQL使用集合函数查询的实例
-
Mysql数据库中的 Order by 语句的特殊之处(select 中的项目不必出现在order by中)---不建议使用!
-
使用MySQL语句来查询Apache服务器日志的方法