温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

这个正则表达式bug找出来就"蒜你狠"

发布时间:2020-07-14 00:27:40 来源:网络 阅读:647 作者:neptunecai 栏目:web开发

这个是输入的源数据:

"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脚本来测试下:

<?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'

结果输出如下:

这个正则表达式bug找出来就"蒜你狠"

怎么$match[1]输出的反而是第2个呢?你说是不是该输出: a.com\/a.php?code=5auN%4 才对啊,因为这才是第1个匹配的( )里的字符串啊。各位看官有什么高见啊?

这个正则表达式的错误,小编暂时没解。哪位有高见麻烦贴到评论里,谢谢。

但小编用这个方法把问题解决了,得到了想要的url:

这个正则表达式bug找出来就"蒜你狠"

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI