js正则问题
var str ="<a href='www.dsf.jsp'>123</a><a href='www.dsf.jsp'>456</a>";
现在用js正则取到123,和456应该怎么取到?
------解决方案-------------------- 引用: Quote: 引用:
var str ="<a href='www.dsf.jsp'>123</a><a href='www.dsf.jsp'>456</a>";
alert( str.match(/\d+(?=<\/a>)/ig) ) ;
//或者
alert( str.match(/\d+/g) ) ;
那数字只是个代表,不能用\\d,可以是任意的东西
var str ="<a href='www.dsf.jsp'>123</a><a href='www.dsf.jsp'>456</a>";
alert( str.match(/[^>]+(?=<\/a>)/ig) ) ;
------解决方案-------------------- 引用: Quote: 引用:
Quote: 引用:
var str ="<a href='www.dsf.jsp'>123</a><a href='www.dsf.jsp'>456</a>";
alert( str.match(/\d+(?=<\/a>)/ig) ) ;
//或者
alert( str.match(/\d+/g) ) ;
那数字只是个代表,不能用\\d,可以是任意的东西
var str ="<a href='www.dsf.jsp'>123</a><a href='www.dsf.jsp'>456</a>";
alert( str.match(/[^>]+(?=<\/a>)/ig) ) ;
可能是我太菜,有点没看懂,前面这个是怎么回事?
/[^>]
取 ^或者> ?
虽然匹配出来了,但是不懂。。。
我用了两个零宽度断言,这样就OK:
(?<=\B>).*?(?=<\/a)
------解决方案-------------------- var result;
var reg = /<a.*?>(.+?)<\/a>/g;
var str ="<a href='www.dsf.jsp'>123</a><a href='www.dsf.jsp'>456</a>";
while ((result = reg.exec(str)) != null) {
alert(result[1]);
}