2010-09-26 5 views

Répondre

4

Pour être plus explicite, je tends à utiliser ! et .test(), par exemple:

var hasNoMatch = !/myregex/.test(string); 

Depuis depuis par la spécification .match() renvoie la valeur null dans le cas de aucune correspondance, cela fonctionne aussi bien:

var hasNoMatch = !foo.match(); 

de the MDC documentation for .match() (beaucoup plus rapide ressource la plupart du temps:

Si l'expression régulière inclut l'indicateur g, la méthode renvoie un Array contenant toutes les correspondances. S'il n'y a pas eu de correspondance, la méthode renvoie null.

1

Si vous ne faites que tester si un motif correspond, vous devez utiliser la méthode test comme suggéré par Nick.

Si vous voulez trouver quelque chose qui ne correspond pas au motif, vous pouvez changer le motif pour qu'il corresponde à tout sauf à cela. Par exemple en utilisant un ensemble négatif:

// find uppercase characters 
var m = s.match(/[A-Z]+/g); 

// find everything except uppercase characters 
var m = s.match(/[^A-Z]+/g);