Regex: Comment vérifier si une chaîne n'est pas vide ou vide et ne contient pas les caractères «<» et «>»? [dupliquer]

Nov 26 2020

Je dois utiliser une expression régulière pour vérifier si une chaîne n'est pas vide ou vide et ne contient pas ">" "<".

Par example:

  1. " " est invalide;

  2. "a <" n'est pas valide;

  3. "un 6" est OK;

J'ai essayé ci-dessous regex, mais ne fonctionne pas.


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


Comment pourrais-je définir cette expression régulière? des gars gentils pourraient-ils m'aider à ce sujet? Merci.

Réponses

1 Ivar Nov 26 2020 at 21:52

Essayer

^(?!\s+$)[^<>]+$
  • ^...$ - La chaîne doit commencer et se terminer par ... (correspondant à toute la chaîne / ligne)
    • (?!...) - Lookahead négatif, la chaîne ne doit pas être suivie de ...
      • \s+$ - Un ou plusieurs caractères d'espacement jusqu'à la fin de la chaîne
    • [^<>]+- Tout caractère sauf <et >, une ou plusieurs fois

Démo en direct