我正在寻找包含括号的 JavaScript 函数名称的 grep。
例子:myfunction()
我还需要它来忽略.on()
,.click()
等jQuery 事件.width()
。所以基本上“在括号和括号之前获取单词,但如果单词之前有 a 则不会.
”。我尝试了不同的东西,([\l\u]())
但我无法理解。有任何想法吗?
我正在寻找包含括号的 JavaScript 函数名称的 grep。
例子:myfunction()
我还需要它来忽略.on()
,.click()
等jQuery 事件.width()
。所以基本上“在括号和括号之前获取单词,但如果单词之前有 a 则不会.
”。我尝试了不同的东西,([\l\u]())
但我无法理解。有任何想法吗?
要匹配某个内容可能不会出现在它“之前”的短语,请使用否定的lookbehind:
(?<!\.)\b([\l\u]+\(\))
您自己尝试的一个可能问题是您只测试括号前的单个字符。另一个可能是你没有逃脱(字面意思!)括号。
这匹配myfunction()
和甚至myFunction()
,但仅此而已。函数名称中更大的常用字符集是:
(?<!\.)\b([_\l\u]\w*\(\))
请注意,这会忽略括号内可能出现的任何和所有参数(根据您的规范,或者看起来如此)。不幸的是,这并不容易添加,因为您无法将“匹配括号”与单个 GREP 匹配。