Ich versuche einen regulären Ausdruck zu schreiben, den ich ein paar Regeln nicht zusammen ketten kann. Ich muss einen Zahlenstring validieren, um zu überprüfen, dass es nicht einigen Regeln entspricht.Regulärer Ausdruck - Wie invertiert man in NOT
Ich muss es:
- Nicht mit 3 Nullen
- Nicht enden mit 4 Nullen beginnen
- nicht alle die gleiche Ziffer sein
Hier ist, was ich versuche so weit:
var re = new RegExp(/^(.)\1{8}$|^000|0000$/);
re.test("111111111"); // true; all same digit
re.test("000112222"); // true; starts with zeroes
re.test("111110000"); // true; ends in zeroes
re.test("123456789"); // false
re.test("111223344"); // false
Dies funktioniert für die fi Die ersten drei Fälle mit TRUE, wie kann ich den Test umkehren, damit er falsch ist, wenn er nicht die 3 Regeln erfüllt?
(ich weiß, ich kann es nur mit einem !
in der JS-Flip, ich bin für eine regex Lösung suchen)
Trennzeichen nicht, wenn Sie Konstruktor verwenden. 'new RegExp ('...')' oder '/.../' – Toto
Sie können ein * negatives Lookahead * verwenden. –
@Toto, können Sie erklären warum? – SoluableNonagon