var a='<script type="text/javascript" src="js/linlang.js" ><\/script>\
<script>\
alert("靠 晕了~~")\
\
<\/script>';
var reg = /<script[^>]*(src=["']([^>"']*)["'])?[^>]*>([^>]*)<\/script>/g,b;
while(b=reg.exec(a)){
alert(b)
if(b[1])alert(b[1])
//if(b[3])alert(b[3])
}
<script>\
alert("靠 晕了~~")\
\
<\/script>';
var reg = /<script[^>]*(src=["']([^>"']*)["'])?[^>]*>([^>]*)<\/script>/g,b;
while(b=reg.exec(a)){
alert(b)
if(b[1])alert(b[1])
//if(b[3])alert(b[3])
}
<script>
var a='<script type="text/javascript" src="js/linlang.js" ><\/script>\
<script>\
alert("靠 晕了~~")\
\
<\/script>';
var reg = /<script.*src\s*=\s*\"(.*)\".*>(.*)<\/script>/img,b;
b=reg.exec(a);
alert(b[1]);
alert(b[2])
</script>
alert("靠 晕了~~")\
\
<\/script>';
中没有src 而你的正则中 也没有将src设为*或? 就怎么匹配了呢????
晕~
你把2个script都匹配了
这样会产生错误的 比如有3对 script标签 就不行了
<script src><script>
<script>ddsad<script>
<script src><script>
var reg = /<script\s*[^>\s]*\s*(src\s*=\s*"([^"]*)")?[^>]*>([^<]*)<\/script>/ig
我上面这个 只能匹配
'<script type="text/javascript" src="js/linlang.js"><\/script>\
<script>\
alert("靠 晕了~~")\
\
<\/script>';
不能匹配
'<script src="js/linlang.js" type="text/javascript"><\/script>\
<script>\
alert("靠 晕了~~")\
\
<\/script>';
需要加个问号 变成懒惰
var a='<script type="text/javascript" src="js/linlang.js" ><\/script>\
<script>\
alert("靠 晕了~~")\
\
<\/script>';
var reg = /<script\s*?[^>\s]*\s*(src\s*=\s*"([^"]*)")?\s*[^\s>]*\s*>([^<]*)<\/script>/ig,b;
while(b=reg.exec(a)){
alert(b)
if(b[2])alert(b[2])
if(b[3])alert(b[3])
}
<script>
var a=' <script src="js/linlang.js" type="text/javascript"> <\/script>\
<script>\
alert("靠 晕了~~")\
\
<\/script>';
var reg = /<script(.*src\s*=\s*\"(.*.js)\")*.*?\s*>(.*?)<\/script>/ig;
var b;
while(b=reg.exec(a)){
alert(b[1]);
alert(b[2]);
alert(b[3]);
}</script>
我在9楼的地方那个 可以行的通
但是出现了问题
<script></script>标签里面不能有<号
我想比较大小 都不行 我晕~~~~
怎么改变正则 才能解决这个问题啊?