猿问

正则表达式(?==)

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

 

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

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

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

 

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

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


慕码人8056858
浏览 417回答 1
1回答

阿波罗的战车

这里 ?== 应该分解为 ?= 和 =?= 为正向预查,(?===)表示前面匹配的结果后面跟一个= , 但是并不捕获这个括号中的子匹配,所以=在结果中是不被保存的。通常这样可以不存储不需要的匹配,来获得更好的正则效率。
随时随地看视频慕课网APP
我要回答