Java[^script]
We have a regexp /Java[^script]/.
Does it match anything in the string Java? In the string JavaScript?
Answers: no, yes.
-
In the script
Javait doesn’t match anything, because[^script]means “any character except given ones”. So the regexp looks for"Java"followed by one such symbol, but there’s a string end, no symbols after it.alert( "Java".match(/Java[^script]/) ); // null -
Yes, because the
[^script]part matches the character"S". It’s not one ofscript. As the regexp is case-sensitive (noiflag), it treats"S"as a different character from"s".alert( "JavaScript".match(/Java[^script]/) ); // "JavaS"