首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

js正则有关问题

2013-09-28 
js正则问题var str a hrefwww.dsf.jsp123/aa hrefwww.dsf.jsp456/a现在用js正则取到123

js正则问题
var str ="<a href='www.dsf.jsp'>123</a><a href='www.dsf.jsp'>456</a>";
现在用js正则取到123,和456应该怎么取到? 正则 js
[解决办法]

引用:
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]);
 }

热点排行