Regex para líneas que contienen una cadena y no contienen otra cadena
Tengo siguientes expresiones regulares a mano para que coincida con todas las líneas que contienenconsole.log()
oalert()
funcionen en cualquier archivo javascript abierto en el editor compatible con PCRE.
^.*\b(console\.log|alert)\b.*$
Pero me encuentro con muchos archivos que contienenwindow.alert()
líneas para alertar mensajes importantes, no quiero eliminarlos / reemplazarlos.
Entonces, la pregunta de cómo regex-match (regex de una sola línea sin necesidad de ejecutarse con frecuencia) todas las líneas que contienenconsole.log()
yalert()
pero no contiene palabrawindow
. También cómo escapar de corchetes (paréntesis) que son imposibles de evitar por\
, para hacerlos parte de la cadena literal?
Intenté seguir regex pero en vano:
^.*\b(console\.log|alert)((?!window).)*\b.*$