HTML代码<div id="vhtml">
<span a:id="student" >xx</span>
<span a:name ='book'>xx</span>
<span a:src= "car" >xx</span>
<span a:href= "tea" >xx</span>
</div>如果只是匹配标签中属性为a:id的属性,获取值为student的,正则表达式如下a:id\s*=\s*(("[^"]*")|('[^']*')|([^ ]+))
如果只是匹配标签中属性为a:name的属性,获取值为book的,正则表达式如下a:name\s*=\s*(("[^"]*")|('[^']*')|([^ ]+))
现在希望可以用一个正则表达式来一次性匹配a:id,a:name,a:src,a:href
同时获取student,book,car,tea请问对下面这个正则表达式要怎么修改呢a:id\s*=\s*(("[^"]*")|('[^']*')|([^ ]+))
好像只要修改a:id部分就行了,我改为a:(id)|(name)|(src)|(href)\s*=\s*(("[^"]*")|('[^']*')|([^ ]+))但是匹配不对。。只想用一条正则表达式完成,因为要嵌入到java的代码中使用。求高手帮忙修改下,先谢了。
<span a:id="student" >xx</span>
<span a:name ='book'>xx</span>
<span a:src= "car" >xx</span>
<span a:href= "tea" >xx</span>
</div>如果只是匹配标签中属性为a:id的属性,获取值为student的,正则表达式如下a:id\s*=\s*(("[^"]*")|('[^']*')|([^ ]+))
如果只是匹配标签中属性为a:name的属性,获取值为book的,正则表达式如下a:name\s*=\s*(("[^"]*")|('[^']*')|([^ ]+))
现在希望可以用一个正则表达式来一次性匹配a:id,a:name,a:src,a:href
同时获取student,book,car,tea请问对下面这个正则表达式要怎么修改呢a:id\s*=\s*(("[^"]*")|('[^']*')|([^ ]+))
好像只要修改a:id部分就行了,我改为a:(id)|(name)|(src)|(href)\s*=\s*(("[^"]*")|('[^']*')|([^ ]+))但是匹配不对。。只想用一条正则表达式完成,因为要嵌入到java的代码中使用。求高手帮忙修改下,先谢了。
var reg = /a:(id|name|src|href)\s*=\s*(("[^"]*")|('[^']*')|([^ ]+))/ig
alert(html.match(reg));
var testArr = ['<span a:id="student" >xx</span>', "<span a:name ='book'>xx</span>", '<span a:src= "car" >xx</span>', '<span a:href= "tea" >xx</span>'];
var reg = /a:(?:id|name|src|href)\s*=\s*(['"]?)(.*?)\1/;
for(var i in testArr) {
m = testArr[i].match(reg);
alert(m[2]);
}