如何用正则表达式在一字符串中搜取多个有一定格式的字串?
例:Str1="aaa<imgsrc='xxx.gif'/>sdflskdfj<imgsrc='yyy.jpg'/>bbbbbbbb"目标是取出字符串:“<imgsrc=...
例:Str1="aaa<img src='xxx.gif'/>sdflskdfj<img src='yyy.jpg'/>bbbbbbbb"
目标是取出字符串:“<img src='xxx.gif'/>”和“<img src='yyy.jpg'/>” 展开
目标是取出字符串:“<img src='xxx.gif'/>”和“<img src='yyy.jpg'/>” 展开
1个回答
展开全部
不知道你要做何用途,如果单纯用分析字符串的方法可能比较麻烦。
如果只是想得到一些html标签的内容信息就好办的多,可以尝试将字符串转化为xml文档对象类型来分析,那么以上字符串转化后可以得到5个元素,分别指向:
aaa
<img src='xxx.gif'/>
sdflskdfj
<img src='yyy.jpg'/>
bbbbbbbb
但我尝试用javascript的toString()转化成字符串不能成功,不过里面还有个属性HinnerHTML可以调用,如下测试程序段应该对理解有所帮助(基于javascript,建一个空的html文件放进去保存用浏览器打开就可以执行):
<div id="str">aaa<img src='xxx.gif'/>sdflskdfj<img src='yyy.jpg'/>bbbbbbbb</div>
<script>
var e=document.getElementById("str");
for(var i=0;i<e.childNodes.length;i++){
if(e.childNodes[i].nodeName!="IMG"){);//注意,这里IMG必须为大写程序才认的出来
e.childNodes[i].removeNode();
i--;
}
}
alert(e.innerHTML);
</script>
里面出来的结果既可以通过数组也可以通过xml文档对象或字符串再处理,不过感觉到dom肯定足够了。
如果只是想得到一些html标签的内容信息就好办的多,可以尝试将字符串转化为xml文档对象类型来分析,那么以上字符串转化后可以得到5个元素,分别指向:
aaa
<img src='xxx.gif'/>
sdflskdfj
<img src='yyy.jpg'/>
bbbbbbbb
但我尝试用javascript的toString()转化成字符串不能成功,不过里面还有个属性HinnerHTML可以调用,如下测试程序段应该对理解有所帮助(基于javascript,建一个空的html文件放进去保存用浏览器打开就可以执行):
<div id="str">aaa<img src='xxx.gif'/>sdflskdfj<img src='yyy.jpg'/>bbbbbbbb</div>
<script>
var e=document.getElementById("str");
for(var i=0;i<e.childNodes.length;i++){
if(e.childNodes[i].nodeName!="IMG"){);//注意,这里IMG必须为大写程序才认的出来
e.childNodes[i].removeNode();
i--;
}
}
alert(e.innerHTML);
</script>
里面出来的结果既可以通过数组也可以通过xml文档对象或字符串再处理,不过感觉到dom肯定足够了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询