今天润壤网络润壤跟大家了解在网站建设中,PHP模糊查询技术—正则表达式匹配查询的知识。
先来了解一下通配符
. “.”是号匹配任意单个字符
* “*”匹配0个或多个在它面前的字符
X*表示匹配任何数量的x字符
[..] 匹配中括号的任意字符
[abc]匹配字符ab或c
[a-z]匹配任意字母
[0-9]匹配任意数字
^ “^”表示以某个字符或字符串开始
^a 表示以字母a开头
$ “$”表示以某个字符或字符串结尾
a$ 表示以字母a结尾
使用正则表达式匹配模式使用操作符是REGEXP 或 NOT REGEXP(RLIKE 或NOT RLIKE)
我们通过例子来证明吧,先看我们准备的数据
#查询用户名以字符 i 开头的
正则表达式 ^i
SELECT username FROM `uweb_admin_member` WHERE username REGEXP ' ^i ';
#查询用户名以字符 r 结尾的
SQL匹配械 %r
正则表达式 r$
SELECT username FROM `uweb_admin_member` WHERE username REGEXP ' r$ ';
结果就是以 r 结尾的用户名
#匹配以i开头,r 结尾
正则语法:^i.*r$
SELECT username FROM `uweb_admin_member` WHERE username REGEXP ' ^i.*r$ ';
#匹配6个字符长度的用户名
正则语法:......;6个点
SELECT username FROM `uweb_admin_member` WHERE username REGEXP ' ...... ';
结果是字符长度6个或以上都出来了,说明只要字符中任意满足6个长度的都会出现。如果要精确的表示多少字符长度,就在前面和后面加定界符;精确查找6个字符长度的用户名:^......$