Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将Perl正则表达式转换为PHP_Php_Regex_Perl - Fatal编程技术网

将Perl正则表达式转换为PHP

将Perl正则表达式转换为PHP,php,regex,perl,Php,Regex,Perl,我有以下PERL格式的正则表达式,需要将其转换为PHP if ($referrer_url =~ /\.$domain/) { } 我目前在PHP中有以下内容与之匹配,但我没有得到相同的结果: if (preg_match("/\.$domain/", $referrer_url)) { } 有谁能告诉我,我所拥有的是相同的还是我错了?谢谢 我只是猜测您的$domain可能包含类似mysite.com的内容,如果您需要在变量上使用这种情况: if (preg_match("/\.".preg

我有以下PERL格式的正则表达式,需要将其转换为PHP

if ($referrer_url =~ /\.$domain/) { }

我目前在PHP中有以下内容与之匹配,但我没有得到相同的结果:

if (preg_match("/\.$domain/", $referrer_url)) { }

有谁能告诉我,我所拥有的是相同的还是我错了?谢谢

我只是猜测您的$domain可能包含类似mysite.com的内容,如果您需要在变量上使用这种情况:

if (preg_match("/\.".preg_quote($domain, "/")."/", $referrer_url)) { }

我只是猜测您的$domain可能包含类似mysite.com的内容,如果您需要在变量上使用这种情况:

if (preg_match("/\.".preg_quote($domain, "/")."/", $referrer_url)) { }

如果$domain是一个常规字符串,您可能更愿意使用它来查找字符串中第一个子字符串出现的位置。这将获得与使用preg_quote相同的结果,并且更易于阅读

if (strpos($referrer_url, ".$domain") !== false) {
}

如果$domain是一个常规字符串,您可能更愿意使用它来查找字符串中第一个子字符串出现的位置。这将获得与使用preg_quote相同的结果,并且更易于阅读

if (strpos($referrer_url, ".$domain") !== false) {
}

“我没有得到相同的结果”-与您的结果有什么不同?“我没有得到相同的结果”-与您的结果有什么不同?实际上,Perl代码更接近于
if(preg\u match(“/\”。$domain.”/“,$referer\u url)){}
,但它可能应该是您所说的。实际上,Perl代码更接近于
if(preg\u match(“/\.”“$domain.”/“,$referer\u url)){}
,但它可能应该是您所说的。
$domain
在Perl代码中被视为regex模式,这是不同的,但这可能是Perl代码应该做的。或者只是
if(strpos($referer\u url,“$domain”)){…
是的,在我看来,您的解决方案比
preg_match()
选项更具可读性。+1.
$domain
在Perl代码中被视为regex模式,这是不同的,但这可能是Perl代码应该做的。或者只是
if(strpos($referer\u url,.$domain))){…
是的,在我看来,您的解决方案比
preg_match()
选项更具可读性。