12 votes

Exclusion de certains caractères à l'aide de RegEx

J'ai beau essayer, je n'arrive pas à faire en sorte qu'une RegEx exclue les espaces ou les guillemets simples.

  • La chaîne "abc" est autorisée
  • Non autorisé : "a'bc", "'", "'abc", "'''", "abc''", etc.
  • Les espaces peuvent aussi remplacer le ' dans l'exemple ci-dessus.
  • Les espaces de fin et de début sont supposés être déjà supprimés.
  • Les chaînes vides sont vérifiées ailleurs
  • Le langage cible est le javascript

J'utiliserais PATINDEX si j'étais en SQL.

Ou PAS de correspondance positive sur l'espace ou le guillemet simple, si je pouvais nier...

J'ai essayé (pour une citation unique uniquement)

  • \w*[^']\w*
  • ^\w*[^']\w*$
  • d'autres que j'oublie maintenant

S'il vous plaît, mettez fin à ma misère pour que je puisse dormir ce soir.

Edita:

  • La chaîne cible ne sera pas entourée de guillemets. J'ai pensé que cela pourrait ajouter de la clarté
  • Si "Le langage cible est javascript" est faux, alors c'est c#. Je dois vérifier où nous faisons la validation exactement : client javascript ou serveur c#.

14voto

Wojciech Bederski Points 2544
^\[^\\'\\ \]\*$?

7voto

Daniel Brückner Points 36242

C'est très simple. N'autorise pas les chaînes de caractères vides.

^[^' ]+$

2voto

Victor Points 2505

Je pense que

^\w*$

devrait fonctionner comme \w ne comprend pas de guillemet simple ou d'espace.

1voto

le dorfier Points 27267

Sans lire les détails, je ne vois nulle part [^ '] (avec un espace et un guillemet simple).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X