Heim  >  Artikel  >  Backend-Entwicklung  >  正则表达式怎么匹配两种情况

正则表达式怎么匹配两种情况

WBOY
WBOYOriginal
2016-06-13 12:11:161623Durchsuche

正则表达式如何匹配两种情况
我的链接存在这二个情况

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

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

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


想要的结果:当链接后面存在 &m=xxx 时,把 这里的结果也分段出来,不存在就只配置前面的
------解决思路----------------------
你的意思是如果第二种情况就取出bbb第一种情况就取出aaa对吧?
------解决思路----------------------
为什么不用parse_url呢?结合explode分析你的query里面有多少个参数,效率比用正则要高的多
------解决思路----------------------
1,$str=xxx.php?a=aaa;
2,$str=xxx.php?a=aaa&m=bbb;
不要硬套正则有些时候正则未必方便
$val=end(explode('=',$str));

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn