Регулярное выражение для анализа URL-адреса

Я хочу использовать регулярное выражение для URL. Но мой код не работает, пожалуйста, помогите мне, я новичок здесь. Мой 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 ответ

Во-первых, в вашем шаблоне $date_regex отсутствуют разделители.

Затем ваш шаблон просто не соответствует предмету $hh1:

http(?:s)?\:\/\/[a-zA-Z0-9\-]+(?:\.[a-zA-Z0-9\-]+)* соответствует http://www.justdial.com.

Следующее \. (экранированный литерал '.') не соответствует субъекту следующего символа /.

licensed under cc by-sa 3.0 with attribution.