GREP в Adobe InDesign для имени функции
Я ищу grep для имен функций JavaScript, включая скобки.
Пример: myfunction()
Мне нужно, чтобы игнорировать события JQuery, такие как .on()
, .click()
, .width()
также. Таким образом, в основном "получить слово перед круглыми и круглыми скобками, но не если есть .
перед словом ". Я пробовал разные вещи, как ([\l\u]())
но я не могу разобраться. Есть идеи?
1 ответ
Чтобы сопоставить фразу, в которой что-то может не отображаться "перед", используйте отрицательный вид сзади:
(?<!\.)\b([\l\u]+\(\))
Одной из возможных проблем в вашей собственной попытке могло быть то, что вы проверяете только один символ перед скобками; другой, возможно, вы не избежали (буквального!) скобки.
Это соответствует myfunction()
и даже myFunction()
, но не более того. Большой обычно используемый набор символов в именах функций будет:
(?<!\.)\b([_\l\u]\w*\(\))
Обратите внимание, что при этом игнорируются все аргументы, которые могут появляться в скобках (согласно вашей спецификации, или так может показаться). К сожалению, это нелегко добавить, поскольку вы не можете сопоставить "совпадающие скобки" с одним GREP.