用于解析URL的正则表达式

时间:2014-05-10 10:01:35

标签: php regex

我想为url使用正则表达式。但我的代码不起作用请帮助我,我是新来的。 我的网址就像:

http://www.justdial.com/Delhi/Eagnatec--Opposite-Sun-Vally-International-School-Vaishali-Sector-1/011PXX11-XX11-120601182620-Y5P9_RGVsaGkgQ29tcHV0ZXIgVHJhaW5pbmcgSW5zdGl0dXRlcw==_BZDET - Eagnatec

我的代码是:

 <?php 
   $hh1='http://www.justdial.com/Delhi/Eagnatec--Opposite-Sun-Vally-International-       School-Vaishali-Sector-1/011PXX11-XX11-120601182620-    Y5P9_RGVsaGkgQ29tcHV0ZXIgVHJhaW5pbmcgSW5zdGl0dXRlcw==_BZDET - Eagnatec';


           $date_regex='^(http(?:s)?\:\/\/[a-zA-Z0-9\-]+(?:\.[a-zA-Z0-9\-]+)*\.[a-zA-Z]{2,6}    (?:\/?|(?:\/[\w\-]+)*)(?:\/?|\/\w+\.[a-zA-Z]{2,4}(?:\?[\w]+\=[\w\-]+)?)?(?:\&[\w]+\=[\w\-  ]+)*)$';
   if (preg_match($date_regex,$hh1))
  {
    echo "correct";

  } ?>

1 个答案:

答案 0 :(得分:0)

首先,您的模式$date_regex缺少delimiters

然后,您的模式与主题$hh1

不匹配

http(?:s)?\:\/\/[a-zA-Z0-9\-]+(?:\.[a-zA-Z0-9\-]+)*匹配http://www.justdial.com

以下\.(转义的文字`.`)与主题的下一个字符/不匹配。