首页 新闻 会员 周边

正则表达式(?==)

0
悬赏园豆:20 [已解决问题] 解决于 2010-02-28 23:02

(onerror|onmousemove|onmouseout|onmouseover|onkeypress|onkeydown|onkeyup|javascript:)(\s*)(?==)

 

这个表达式我最迷惑的是(?==)这一部分:

1.  ()的作用:似乎是保证匹配结果中不包含“=”;

2.  ?=的作用:似乎是表示以=结束,但后面又必须再跟一个=

 

但没查到这方面的语法,各位大侠帮帮忙。

另外,正则表达式的语法应该有权威的地方可以查吧?能给个网址么?

问题补充: 我测试(?=)是组合起来使用的,表示“在某某之前的意思”如: (?=1) 在1之前 (?=a1) 在a1之前 (?=\w) 在字符、数字、下划线之前
自由飞的主页 自由飞 | 初学一级 | 园豆:174
提问于:2010-02-28 21:14
< >
分享
最佳答案
0

这里 ?== 应该分解为 ?= 和 =

?= 为正向预查,(?===)表示前面匹配的结果后面跟一个= , 但是并不捕获这个括号中的子匹配,所以=在结果中是不被保存的。

通常这样可以不存储不需要的匹配,来获得更好的正则效率。

收获园豆:20
steven hu | 小虾三级 |园豆:542 | 2010-02-28 21:55
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册