当前位置:趣知科普网>游戏数码>IT技术>

PHP如何用正则匹配数据?

IT技术 阅读(2.98W)

在做开发时,有时候需要在一段文字里找出需要的字符,这时就需要用到正则表达式了。下面一起来看下具体怎么使用正则查找数据。

操作方法

(01)我们先定义一个字符串,如图,假设要从这段字符串里,匹配找出网站的名字“搜狗”

PHP如何用正则匹配数据?

(02)然后定义一个正则表达式,解析下代码,正则要放在斜杠符号(/)里面,如果表达式里有用到斜杠(/)符号的,则需要用反斜杠来转义。最后面的 “i” 标记是让正则表达式在匹配的时候不需要区分大小写。

PHP如何用正则匹配数据? 第2张

(03)这里定义一个数组,并调用php的preg_match方法,方法的第一个参数是上面定义的正则表达式,第二个参数是要查找的字符串,第三个参数是定义的数组,当有匹配到数据时,数组第一项是匹配的原字符串,数组第二项就是要查找的数据

PHP如何用正则匹配数据? 第3张

(04)最后用dump方法输出数组的内容,显示匹配结果。所有的代码就是这几行。

PHP如何用正则匹配数据? 第4张

(05)运行这些代码后,我们看到结果如图,有匹配到数据,但得到的结果(数组第二项内容)把字符串后面的内容都匹配上了。

PHP如何用正则匹配数据? 第5张

(06)为什么会这样?是因为我们的正式表达式,默认情况是贪婪匹配,就是匹配尽量多的内容。如何修正?我们只要加多一个U标记就行了,代码如图,加上这个标记就会告诉正则表达式,执行非贪婪匹配。

PHP如何用正则匹配数据? 第6张

(07)再运行下代码,看下结果。如图,这次能正确匹配到网站名字了。

PHP如何用正则匹配数据? 第7张