Java[^script]
Considérons l’expression rationnelle /Java[^script]/.
Trouve-t-elle quelque chose dans la chaîne de caractères Java? Dans la chaîne JavaScript?
Réponses : non, oui.
-
Dans la chaîne de caractères
Java, elle ne trouve aucune correspondance, parce que[^script]signifie “n’importe quel caractère sauf ceux cités”. L’expression rationnelle cherche donc"Java"suivi d’un autre symbole, mais arrivant en fin de chaîne, elle n’en trouve aucun.alert( "Java".match(/Java[^script]/) ); // null -
Oui, car la partie
[^script]correspond au caractère"S". Qui n’est pas l’un des caractères descript. Comme l’expression rationnelle est sensible à la casse (pas de marqueuri), elle considère bien"S"différemment de"s".alert( "JavaScript".match(/Java[^script]/) ); // "JavaS"