web-dev-qa-db-fra.com

Regex - Ne contient pas certains caractères

J'ai besoin d'une expression régulière pour correspondre si n'importe où dans une phrase, il n'y a PAS ni <ni>.

Si <ou> sont dans la chaîne, il doit renvoyer false.

J'ai eu un succès partiel avec cela, mais seulement si mes <> sont au début ou à la fin:

(?!<|>).*$

J'utilise .Net si cela fait une différence.

Merci pour l'aide.

219
SetiSeeker
^[^<>]+$

Le caret dans la classe de caractères ([^) signifie que rien ne correspond, mais cela signifie donc, début de chaîne, puis un ou plusieurs éléments autres que < et >, puis la fin de la chaîne. chaîne.

357
Ned Batchelder

Voici:

^[^<>]*$

Ceci testera la chaîne qui n'a ni < ni >

Si vous voulez tester une chaîne pouvant avoir < et >, mais que vous ayez aussi quelque chose d'autre, vous devez utiliser simplement

[^<>] (or ^.*[^<>].*$)

[<>] signifie l'un quelconque de < ou > et [^<>] signifie tout ce qui n'est pas de < ou >.

Et bien sûr le obligatoire lien .

48
Alin Purcaru