1

我正在寻找包含括号的 JavaScript 函数名称的 grep。

例子:myfunction()

我还需要它来忽略.on(),.click()等jQuery 事件.width()。所以基本上“在括号和括号之前获取单词,但如果单词之前有 a 则不会.”。我尝试了不同的东西,([\l\u]())但我无法理解。有任何想法吗?

4

1 回答 1

1

要匹配某个内容可能不会出现在它“之前”的短语,请使用否定的lookbehind:

(?<!\.)\b([\l\u]+\(\))

您自己尝试的一个可能问题是您只测试括号前的单个字符。另一个可能是你没有逃脱(字面意思!)括号。

这匹配myfunction()和甚至myFunction(),但仅此而已。函数名称中更大的常用字符集是:

(?<!\.)\b([_\l\u]\w*\(\))

请注意,这会忽略括号内可能出现的任何和所有参数(根据您的规范,或者看起来如此)。不幸的是,这并不容易添加,因为您无法将“匹配括号”与单个 GREP 匹配。

于 2014-04-09T17:27:18.003 回答