GREP в Adobe InDesign для имени функции

Я ищу grep для имен функций JavaScript, включая скобки.

Пример: myfunction()

Мне нужно, чтобы игнорировать события JQuery, такие как .on(), .click(), .width() также. Таким образом, в основном "получить слово перед круглыми и круглыми скобками, но не если есть . перед словом ". Я пробовал разные вещи, как ([\l\u]()) но я не могу разобраться. Есть идеи?

1 ответ

Решение

Чтобы сопоставить фразу, в которой что-то может не отображаться "перед", используйте отрицательный вид сзади:

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

Одной из возможных проблем в вашей собственной попытке могло быть то, что вы проверяете только один символ перед скобками; другой, возможно, вы не избежали (буквального!) скобки.

Это соответствует myfunction() и даже myFunction(), но не более того. Большой обычно используемый набор символов в именах функций будет:

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

Обратите внимание, что при этом игнорируются все аргументы, которые могут появляться в скобках (согласно вашей спецификации, или так может показаться). К сожалению, это нелегко добавить, поскольку вы не можете сопоставить "совпадающие скобки" с одним GREP.

Другие вопросы по тегам