Home > Backend Development > PHP Tutorial > 正则表达式如何匹配两种情况

正则表达式如何匹配两种情况

WBOY
Release: 2016-06-23 13:43:48
Original
1185 people have browsed it

我的链接存在这二个情况

1,$str=xxx.php?a=aaa;
2,$str=xxx.php?a=aaa&m=bbb;

我自己写的正则,但匹配不到,求高手帮助写一下:

preg_match("/((.*?\.php)\?(.*))(?(&.*))/is",$str,$arr);


想要的结果:当链接后面存在 &m=xxx 时,把 这里的结果也分段出来,不存在就只配置前面的


回复讨论(解决方案)

你的意思是如果第二种情况就取出bbb第一种情况就取出aaa对吧?



你的意思是如果第二种情况就取出bbb第一种情况就取出aaa对吧?



对,是的,

为什么不用parse_url呢?结合explode分析你的query里面有多少个参数,效率比用正则要高的多

1,$str=xxx.php?a=aaa;
2,$str=xxx.php?a=aaa&m=bbb;
不要硬套正则有些时候正则未必方便
$val=end(explode('=',$str));

我以为正则的效率很高呢,所以……

自学的小白还有很多路要走,谢谢你们的指点!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template