js正则匹配,怎样才能匹配到需要的js呢
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js正则匹配,怎样才能匹配到需要的js呢相关的知识,希望对你有一定的参考价值。
假如我要匹配第二个js,正则要怎么写呢
<script src="aaa.js" type="text/javascript"></script> <script type="text/javascript">agag</script>
一定要正则,我的意思是只匹配到不包含src的的script。<script src="aaa.js" type="text/javascript"></script><script type="text/javascript">agag</script><script src="bbb.js" type="text/javascript"></script>不管有多少个script ,只要没有src的js匹配上就好。比如上面这些,我需要匹配到<script type="text/javascript">agag</script>而过滤掉另外两个
我需要的是一条匹配规则。
var str = '<script src="aaa.js" type="text/javascript"></script><script type="text/javascript">agag</script><script src="bbb.js" type="text/javascript"></script>';
str.match(reg); 参考技术A
你好,如果是要过滤掉没有src的script标签,直接用js判断一下即可:
var src = document.getElementsByTagName('script');for (var i = 0; i < src.length; i++)
if(src[i].getAttribute('src'))
console.log(src[i]);
;
希望能帮到你~~
我需要正则匹配。不过还是感谢你的回答
追答没事
参考技术B var srcArr = [...]; // 我假设你拿到了所有的script字符串列表;如果不是字符串类型也可以.var rule = /...../; // 假设你已经写好了这个正则
for(var i=0; i< srcArr.length; i++)
if(srcArr[i].match(rule))
// 匹配到了.然后这里写你的业务逻辑...
// 你可以再建一个数组, 把这里匹配到的放进去,便于后面的处理
// newArr.push(srcArr[i]);
如果你是按我这个思路写, 我觉得你可以最大化的简化这个正则:
var rule = /src/;
if加个 ! 反判断就是了.. 参考技术C (\<script( )?type="text\/javascript">(.+)?\<\/script\>) 参考技术D 试试这个:
(?i)\<\bscript\b\s+\btype\b\s*=\s*\"text\/javascript\"\s*\>\w+\<\/\bscript\b\>
Java:怎样使用正则从url中匹配出ip和端口呢
例如:
http://127.0.0.1:8080
使用正则匹配出127.0.0.1和8080,而不使用split()
匹配最后的8080似乎可以使用(?=pattern),但匹配127.0.0.1呢?或者说能否一次都匹配出来了?
Pattern p=Pattern.compile(regex);
String t="://127.0.0.1:8080";
Matcher m=p.matcher(t);
while(m.find())
System.out.println(m.group(1));
System.out.println(m.group(2));
追问
您好:
为什么可以写作"//(.*?):(.*)"而不用写作"http://(.*?):(.*)"呢?希望您再和我说下
那个前面的部分随意啦,考虑到可能是https之类的
追问您好前辈,这种写法我没见过,还可以从中间开始匹配吗?呜呜呜
追答(.*?)是非贪婪的任意字符匹配
本回答被提问者采纳 参考技术B String reg = "((\\d+\\.)3\\d+)\\:(\\d+)";String url = "";
String ip = url.replaceAll(reg, "$1");
String port = url.replaceAll(reg, "$3");
以上是关于js正则匹配,怎样才能匹配到需要的js呢的主要内容,如果未能解决你的问题,请参考以下文章