Mysql - 用正则表达式过滤数据( 2 )

接着昨天的内容继续叨叨:


1:匹配特殊字符.

正则表达式语言由具有特定含义的特殊字符组成。例如我们已经看到过的' . ',' - ',' [ ] ',' | '等字符。那么,如果我们想匹配这些特殊字符,怎么搞?

首先,看下即将要用到的数据库中的表列数值:


接下来,我们来查找包含' . '字符的值。试试你的第一印象(Maybe Not):


虽然达到了要求,但是存在很多的冗余项,这不算良好的检索结果。原因:.匹配任意字符,因此每个行都被检索出来。 为了达到目标,必须用 \\ 为前导。试试便知晓:


良好的检索结果。同样:\\-表示查找-, \\| 表示查找 |。或许能总结出一个规律:正则表达式内具有特殊意义的所有字符都必须用这种方式转义。

那么,为了匹配\字符,理所当然的使用\\\.不信你检验一下。


2:匹配具有特殊含义的字符.

例如换页,换行,回车等空白元字符。如下表:


先来看看'\n'字符的效果是什么样:


可以看到,显示的数据列在\n处都发生了换行,那如果不想换行,连'\n'转义字符一起SELECT掉,怎么搞?


用法同第一点相同。


3:\或\\.

多数正则表达式使用单个反斜杠转义特殊字符,以便能使用这些字符。但是Mysql为什么就一定要求两个反斜杠?

其实:Mysql自己解释一个,正则表达式库解释一个。最后提醒一点:/在Mysql中就是个普通字符,不存在转义


小结:多加练习,定能熟练。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值