PHP如何用正则匹配数据?
精选回答
吃苦耐劳 2024-01-09 17:43:15
在做开发时,有时候需要在一段文字里找出需要的字符,这时就需要用到正则表达式了。下面一起来看下具体怎么使用正则查找数据。
操作方法
我们先定义一个字符串,如图,假设要从这段字符串里,匹配找出网站的名字“搜狗”
然后定义一个正则表达式,解析下代码,正则要放在斜杠符号(/)里面,如果表达式里有用到斜杠(/)符号的,则需要用反斜杠来转义。最后面的 “i” 标记是让正则表达式在匹配的时候不需要区分大小写。
这里定义一个数组,并调用php的preg_match方法,方法的第一个参数是上面定义的正则表达式,第二个参数是要查找的字符串,第三个参数是定义的数组,当有匹配到数据时,数组第一项是匹配的原字符串,数组第二项就是要查找的数据
最后用dump方法输出数组的内容,显示匹配结果。所有的代码就是这几行。
运行这些代码后,我们看到结果如图,有匹配到数据,但得到的结果(数组第二项内容)把字符串后面的内容都匹配上了。
为什么会这样?是因为我们的正式表达式,默认情况是贪婪匹配,就是匹配尽量多的内容。如何修正?我们只要加多一个U标记就行了,代码如图,加上这个标记就会告诉正则表达式,执行非贪婪匹配。
再运行下代码,看下结果。如图,这次能正确匹配到网站名字了。
![](http://yyk.iask.sina.com.cn/pic/fimg/160992420526376972575.jpg)
相关推荐
游鉴湖秦观原文翻译
宋朝是文学作品发展的高峰时期,有很多文人留下了不少经典的作品。比如说苏轼、李清照、辛弃疾、秦观等一大批优秀的诗词作家,都有脍炙人口的作品。游鉴湖秦观原文翻译游鉴湖[宋]秦观画舫珠帘出缭墙,天风吹到芰荷乡。水光入...
展开详情雨果的创作生涯可分为几个时期
雨果1802年2月26日出生于法国东部城市贝桑松,出生6周后,雨果随父母到处奔波。雨果幼时便显露出极高的文学天赋,后来的创作产生了不小的影响。雨果的创作生涯可分为几个时期雨果的创作生涯可分为四个时期。第一个创作...
展开详情歌德的少年维特之烦恼是一部什么小说
歌德1749年8月28日出生于法兰克福镇的一个富裕家庭。小时候歌德的父亲非常严肃,相反,母亲用不同于父亲的温柔母爱来安慰、保护着歌德、鼓励和引导他的学习兴趣,努力培养歌德正确理解文学的能力。歌德的少年维特之烦恼...
展开详情李清照对项羽的评价
李清照,号易安居士,她改革了宋代时期的词风,对宋词的发展有着巨大的贡献,引领了宋代词风的发展。李清照写词极佳,她的诗作也是一绝,李清照的诗作代表《夏日绝句》,其中的“生当作人杰,死亦为鬼雄”为千古名句,流传至今...
展开详情李清照前后词风的变化
有“千古第一才女”之称的词人李清照,在宋代文学史上有着重要的地位,她开创了新的词体,将婉约的风格发挥到了极致,引领着宋代婉约词做的发展。李清照在古典文学史占据着重要的地位,冠绝一时,被誉为“婉约之词宗”、“词国...
展开详情