Wie überprüfe ich mit einem regulären Javascript-Ausdruck eine Zeichenfolge, die nicht mit bestimmten Wörtern übereinstimmt?
Zum Beispiel möchte ich eine Funktion, die, wenn eine Zeichenfolge übergeben wird, die entweder abc
oder enthält def
, false zurückgibt.
'abcd' -> false
'cdef' -> false
'bcd' -> wahr
BEARBEITEN
Vorzugsweise möchte ich einen regulären Ausdruck, der so einfach wie [^ abc] ist, aber nicht das erwartete Ergebnis liefert, da ich aufeinanderfolgende Buchstaben benötige.
z.B. Ich willmyregex
if ( myregex.test('bcd') ) alert('the string does not contain abc or def');
Die Aussage myregex.test('bcd')
wird ausgewertet true
.
javascript
regex
string
bxx
quelle
quelle
.
und*
scheinen nicht zu funktionierenquelle
/abc|def/g.test(s)
in diesem Fall einen BooleschenHier ist eine saubere Lösung:
quelle
quelle
string.match(/abc|def/)
ist hier wahrscheinlich effizienterreturn !string.match(...
quelle
Dies kann auf zwei Arten erfolgen:
quelle