php 模糊匹配_PHP模糊查询技术—正则表达式匹配查询

今天

先来了解一下通配符

.    “.”是号匹配任意单个字符

*   “*”匹配0个或多个在它面前的字符

X*表示匹配任何数量的x字符

[..] 匹配中括号的任意字符

[abc]匹配字符ab或c

[a-z]匹配任意字母

[0-9]匹配任意数字

^   “^”表示以某个字符或字符串开始

^a 表示以字母a开头

$   “$”表示以某个字符或字符串结尾

a$ 表示以字母a结尾

使用正则表达式匹配模式使用操作符是REGEXP 或 NOT REGEXP(RLIKE 或NOT RLIKE)

我们通过例子来证明吧,先看我们准备的数据

5d779bfa695af0f69893e948c87ed9a1.png

#查询用户名以字符 i 开头的

正则表达式 ^i

SELECT username FROM `uweb_admin_member` WHERE username REGEXP ' ^i ';

25f1970058169cef8d2f10f97cf13c7d.png

#查询用户名以字符 r 结尾的

SQL匹配械 %r

正则表达式 r$

SELECT username FROM `uweb_admin_member` WHERE username REGEXP  ' r$ ';

ee7d77e7d70caacd24e6f172aff094a3.png

结果就是以 r 结尾的用户名

#匹配以i开头,r 结尾

正则语法:^i.*r$

SELECT username FROM `uweb_admin_member` WHERE username REGEXP ' ^i.*r$ ';

6e8ad9b33ad076ca151f78f93c9e355a.png

#匹配6个字符长度的用户名

正则语法:......;6个点

SELECT username FROM `uweb_admin_member` WHERE username REGEXP ' ...... ';

65b119bd3bcff5e3161f01c3fa938b9e.png

结果是字符长度6个或以上都出来了,说明只要字符中任意满足6个长度的都会出现。如果要精确的表示多少字符长度,就在前面和后面加定界符;精确查找6个字符长度的用户名:^......$

责任编辑:优网技术部

版权所有:http://www.uweb.net.cn (优网科技) 转载请注明出处

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值