首页 新闻 会员 周边 捐助

正则表达式 正向预查 (?=[^\\w\\$])

1
悬赏园豆:20 [已解决问题] 解决于 2011-09-13 15:14

var bool=/(?=[^\w])hello/.test('+ hello') //false

这是为何??

问题补充:
var reg=/(?=[^\w]+)hello/;
var teststr='++++++++++++hello'
reg.test(teststr) //false

 这是为何呢? 可是这样可以的: var reg=/hello(?=[^\w]+)/; var teststr='hello++++++++++++' reg.test(teststr) //true
fun5的主页 fun5 | 初学一级 | 园豆:4
提问于:2011-08-10 16:09
< >
分享
最佳答案
0

(?=exp)也叫零宽度正预测先行断言,它断言自身出现的位置的后面能匹配表达式exp。比如\b\w+(?=ing\b),匹配以ing结尾的单词的前面部分(除了ing以外的部分),如查找I'm singing while you're dancing.时,它会匹配singdanc

(?<=exp)也叫零宽度正回顾后发断言,它断言自身出现的位置的前面能匹配表达式exp。比如(?<=\bre)\w+\b会匹配以re开头的单词的后半部分(除了re以外的部分),例如在查找reading a book时,它匹配ading

收获园豆:20
Lecaf | 菜鸟二级 |园豆:352 | 2011-08-19 11:19
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册