Regex für Zeilen, die eine Zeichenfolge enthalten und keine andere Zeichenfolge enthalten

Ich habe folgenden regulären Ausdruck zur Hand, der mit allen Zeilen übereinstimmt, die @ enthalteconsole.log() oderalert() Funktion in jeder Javascript-Datei, die im PCRE-unterstützenden Editor geöffnet ist.

^.*\b(console\.log|alert)\b.*$

Aber ich stoße auf viele Dateien mitwindow.alert() Zeilen, um wichtige Nachrichten zu warnen. Ich möchte sie nicht entfernen / ersetzen.

So die Frage, wie man Regex-Match (einzeiliges Regex ohne häufige Ausführung) aller Zeilen mitconsole.log() undalert() enthält aber kein Wortwindow. Auch wie man runden Klammern (Klammern) entgeht, die durch @ nicht zu umgehen si\, um sie als Teil des String-Literal zu verwenden?

Ich habe versucht, Regex zu folgen, aber vergebens:

^.*\b(console\.log|alert)((?!window).)*\b.*$

Antworten auf die Frage(2)

Ihre Antwort auf die Frage