正则问题(?<=<a\\s*id=\\\"J_BuyerRate\\\"\\s*href=\\\"javascript:vo...
发布网友
发布时间:2024-10-18 16:28
我来回答
共2个回答
热心网友
时间:2024-11-07 06:54
(?<=exp)也叫零宽度正回顾后断言,它断言自身出现的位置的前面能匹配表达式exp。
你这句是不完整的表达式,它只达到了匹配<a\\s*id=\\\"J_BuyerRate\\\"\\s*href=\\\"javascript:void[(]0[)]\\\">的效果,却取不到任何东西,var str = ' (?<=<a\\s*id=\\\"J_BuyerRate\\\"\\s*href=\\\"javascript:void[(]0[)]\\\">).*'这样,后面的.*就会匹配得到<a\\s*id=\\\"J_BuyerRate\\\"\\s*href=\\\"javascript:void[(]0[)]\\\">后面的所有字符。
参考:www+oschina+net/question/12_9507 //+表示点
热心网友
时间:2024-11-07 07:00
转:
向后搜索(?<=pattern )(?<!pattern )
注:尽管JavaScript支持正则表达式前预搜索,但它不支持后预搜索。后预搜索可以匹配这种模式:“匹配B当且仅当它前面有或没有A”。
未来示例(现还不支持,将来应该可以用^-^):
//后搜索,但javascript还不支持,Java支持
function testAfterhandSearch(){
var reg = /(?<=\d{4})\d+(?=\d{4})/;
var str = "1234567890123456";
//56789012
alert(str.match(reg));
}