这个正则表达式bug找出来就"蒜你狠"
这个是输入的源数据:
创新互联公司-专业网站定制、快速模板网站建设、高性价比卫滨网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式卫滨网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖卫滨地区。费用合理售后完善,10余年实体公司更值得信赖。
"script type=js src=\"a.com\/a.php?code=5auN%4\" reload=\"1\"<\/script>script type=js src=\"b.com\/code=uN%2Bo9\" reload=\"1\"<\/script>";
问题是找出这个字符串里的第1个src里面的url地址。比如上面的源数据就是要找出其中的:
http://a.com/a.php?code=5auN%4
现在我写个php脚本来测试下:
$srcUrl="script type=textjavascript src=\"a.com\/a.php?code=5auN%4\" reload=\"1\"<\/script>"
."script type=textjavascript src=\"b.com\/code=uN%2Bo9\" reload=\"1\"<\/script>";
$preg=preg_match('/script.+type=textjavascript.+src=\"(.*)\".+reload/s',$srcUrl,$match);
echo($match[1]);
各位看官,我这个正则表达式有问题吗?匹配这个格式,然后第1个匹配的就应该是$match[1]。
'/script.+type=textjavascript.+src=\"(.*)\".+reload/s'
结果输出如下:
怎么$match[1]输出的反而是第2个呢?你说是不是该输出: a.com\/a.php?code=5auN%4 才对啊,因为这才是第1个匹配的( )里的字符串啊。各位看官有什么高见啊?
这个正则表达式的错误,小编暂时没解。哪位有高见麻烦贴到评论里,谢谢。
但小编用这个方法把问题解决了,得到了想要的url:
当前名称:这个正则表达式bug找出来就"蒜你狠"
文章路径:http://scyanting.com/article/pshioe.html