Java[^script]
Tenemos una regexp /Java[^script]/
.
¿Coincide con algo en la cadena Java
? ¿Y en la cadena JavaScript
?
Respuestas: no, si.
-
En el script
Java
no coincide con nada, porque[^script]
significa “cualquier carácter excepto los dados”. Entonces, la expresión regular busca"Java"
seguido de uno de esos símbolos, pero hay un final de cadena, sin símbolos posteriores.alert( "Java".match(/Java[^script]/) ); // null
-
Sí, porque la sección
[^script]
en parte coincide con el carácter"S"
. No está enscript
. Como el regexp distingue entre mayúsculas y minúsculas (sin flagi
), procesa a"S"
como un carácter diferente de"s"
.alert( "JavaScript".match(/Java[^script]/) ); // "JavaS"