这个正则表达式:
\v\(.*\)\ze\s\-\>
匹配此项(包括括号):
functionDefinition = (matchedArgs) ->
一切都好。问题出现在这里:
$(window).on "scroll", (e) ->
(char)
不是单独匹配,而是一起匹配,如下所示:
$<<(window).on "scroll", (e)>> ->
如何修复正则表达式以使它们单独匹配?像这样:
$<<(window)>>.on "scroll", <<(e)>> ->
答案 0 :(得分:3)
我会将其更改为以下内容:
\v\(.{-}\)\ze\W
它在括号之间进行非贪婪匹配.{-}
,后跟任何非字母字符\W
。
<强>更新强>
我以为你想要匹配第一对parens。改为使用这个:
\v\([^)]*\)\ze\s-\>
更新2:有关说明
当然:\v
意味着非常神奇,所以它避免逃脱许多特殊字符,如括号,花括号等。此\([^)]*\)
匹配非贪婪模式下括号中的某些内容。 \ze\s-\>
是一个零宽度断言,其内容跟随但没有匹配。