Grundlegende Verwendung
Lassen Sie uns zunächst sehen, was jede Funktion tut:
regexObject . test ( String )
Führt die Suche nach einer Übereinstimmung zwischen einem regulären Ausdruck und einer angegebenen Zeichenfolge aus. Gibt true oder false zurück .
Zeichenfolge . Übereinstimmung ( RegExp )
Wird verwendet, um die Übereinstimmungen abzurufen, wenn eine Zeichenfolge mit einem regulären Ausdruck abgeglichen wird. Gibt ein Array mit den Übereinstimmungen zurück oder null
wenn es keine gibt.
Da null
bewertet zu false
,
if ( string.match(regex) ) {
// There was a match.
} else {
// No match.
}
Performance
Gibt es einen Leistungsunterschied?
Ja . Ich habe diese kurze Notiz auf der MDN-Site gefunden :
Wenn Sie wissen müssen, ob eine Zeichenfolge mit einem regulären Ausdruck regexp übereinstimmt, verwenden Sie regexp.test (Zeichenfolge).
Ist der Unterschied signifikant?
Die Antwort lautet noch einmal JA ! Diese von mir zusammengestellte jsPerf zeigt, dass der Unterschied je nach Browser ~ 30% - ~ 60% beträgt :
Fazit
Verwenden .test
Sie diese Option, wenn Sie eine schnellere boolesche Prüfung wünschen. Verwenden Sie .match
diese Option , um alle Übereinstimmungen abzurufen, wenn Sie das g
globale Flag verwenden.