2014-04-09 62 views
1

我正在尋找包含括號的JavaScript函數名稱的grep。用於函數名稱的Adobe InDesign中的GREP

例子:myfunction()

我需要它忽略jQuery的事件,如.on().click().width()爲好。所以基本上「在括號和括號之前得到單詞,但如果在單詞」之前有.「,則不會。我嘗試了不同的東西,如([\l\u]()),但我無法得到我的頭。有任何想法嗎?

回答

1

要匹配,其中一些可能不會出現「前」它,使用負回顧後一個短語:

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

在自己的嘗試一個可能的問題可能是你唯一的括號之前測試單個字符;另一個可能是你沒有逃過(直接!)括號。

這匹配myfunction(),甚至myFunction(),但沒有更多。在功能名稱的大常用的字符集是:

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

注意,這忽略任何及所有參數可能出現在括號內(根據您的規格,或因此它似乎)。不幸的是,這是不容易添加的,因爲你可以將而不是匹配「匹配圓括號」與單個GREP。

+0

謝謝你的回覆!不幸的是,你的兩個解決方案仍然匹配jQuery事件。所以,如果我想使函數名稱爲粗體,我會得到如下結果:.w ** width()** –

+0

我忘了添加一個強制性的「單詞分隔符」。編輯答案。 – usr2564301