Regex: Wie kann ich überprüfen, ob eine Zeichenfolge nicht leer oder leer ist und nicht die Zeichen "<" und ">" enthält? [Duplikat]

Nov 26 2020

Ich muss einen regulären Ausdruck verwenden, um zu überprüfen, ob eine Zeichenfolge nicht leer oder leer ist und kein ">" "<" enthält.

Beispielsweise:

  1. " " ist ungültig;

  2. "a <" ist ungültig;

  3. "a 6" ist OK;

Ich habe es unter Regex versucht, aber es funktioniert nicht.


^ (^ \ s *$)|^[^<,>]+$


Wie könnte ich diesen regulären Ausdruck einstellen? Könnten mir irgendwelche Jungs dabei helfen? Vielen Dank.

Antworten

1 Ivar Nov 26 2020 at 21:52

Versuchen

^(?!\s+$)[^<>]+$
  • ^...$ - String sollte beginnen und enden mit ... (passend zum ganzen String / zur ganzen Zeile)
    • (?!...) - Negativer Lookahead, String sollte nicht gefolgt werden von ...
      • \s+$ - Ein oder mehrere Leerzeichen bis zum Ende der Zeichenfolge
    • [^<>]+- Beliebiges Zeichen außer <und >einmal oder mehrmals

Live-Demo