正则问题(?<=<a\\s*id=\\\"J_BuyerRate\\\"\\s*href=\\\"javascript:void[(]0[)]\\\">) 中的?<=是什么意思
正则问题(?<=<a\\s*id=\\\"J_BuyerRate\\\"\\s*href=\\\"javascript:void[(]0[)]\\\">)中的?<=是什么...
正则问题(?<=<a\\s*id=\\\"J_BuyerRate\\\"\\s*href=\\\"javascript:void[(]0[)]\\\">) 中的?<=是什么意思
展开
2个回答
2013-01-16 · 知道合伙人互联网行家
关注
展开全部
(?<=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 //+表示点
你这句是不完整的表达式,它只达到了匹配<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 //+表示点
展开全部
转:
向后搜索(?<=pattern )(?<!pattern )
注:尽管JavaScript支持正则表达式前预搜索,但它不支持后预搜索。后预搜索可以匹配这种模式:“匹配B当且仅当它前面有或没有A”。
未来示例(现还不支持,将来应该可以用^-^):
//后搜索,但javascript还不支持,Java支持
function testAfterhandSearch(){
var reg = /(?<=\d{4})\d+(?=\d{4})/;
var str = "1234567890123456";
//56789012
alert(str.match(reg));
}
向后搜索(?<=pattern )(?<!pattern )
注:尽管JavaScript支持正则表达式前预搜索,但它不支持后预搜索。后预搜索可以匹配这种模式:“匹配B当且仅当它前面有或没有A”。
未来示例(现还不支持,将来应该可以用^-^):
//后搜索,但javascript还不支持,Java支持
function testAfterhandSearch(){
var reg = /(?<=\d{4})\d+(?=\d{4})/;
var str = "1234567890123456";
//56789012
alert(str.match(reg));
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询