Regex для строк, содержащих одну строку и не содержащих другую строку
У меня есть следующее регулярное выражение, чтобы соответствовать всем строкам, содержащимconsole.log()
или жеalert()
Функция в любом файле JavaScript, открытом в редакторе, поддерживающем PCRE.
^.*\b(console\.log|alert)\b.*$
Но я сталкиваюсь со многими файлами, содержащимиwindow.alert()
линии для предупреждения важных сообщений, я не хочу удалять / заменять их.
Таким образом, вопрос, как сопоставить регулярное выражение (регулярное выражение одной строки без необходимости часто запускать) все строки, содержащиеconsole.log()
а такжеalert()
но не содержит словаwindow
, Также, как избежать круглых скобок (круглых скобок), которые невозможно избежать\
сделать их частью строкового литерала?
Я попробовал следующее регулярное выражение, но тщетно:
^.*\b(console\.log|alert)((?!window).)*\b.*$