Faire de l'expression régulière correspond pas à une chaîne vide?
J'ai regex qui fonctionne très bien dans mon application, mais elle correspond à une chaîne vide trop, c'est à dire pas d'erreur se produit lorsque l'entrée est vide. Comment puis-je modifier cette expression afin de ne pas correspondre à une chaîne vide ? Notez que je NE veux PAS changer de toute autre fonctionnalité de cette regex.
C'est la regex que j'utilise: ^([0-9\(\)\/\+ \-]*)$
Je ne sais pas beaucoup sur les regex formulation moi-même, c'est pourquoi je vous demande. J'ai cherché une réponse, mais ne pouvait pas trouver un direct. La plus proche je suis arrivé à: expression régulière pour rien, mais une chaîne vide en c#, mais qui ne fonctionne pas vraiment pour moi ..
OriginalL'auteur Ahmad | 2013-10-27
Vous devez vous connecter pour publier un commentaire.
Remplacer "*" par"+", " * " signifie "0 ou plusieurs occurrences", tandis que "+" signifie "au moins une occurrence"
OriginalL'auteur lejlot
Vous pouvez soit utiliser
+
ou la{min, max}
Syntaxe:ou
Par la route: c'est une grande source pour l'apprentissage des expressions régulières (et c'est le fun): http://regexone.com/
OriginalL'auteur Jan Wy
Évidemment, vous devez remplacer remplacer
*
avec+
, comme+
correspond à 1 ou plusieurs caractères. Cependant à l'intérieur de la classe de personnage que vous n'avez pas à faire tout ce qu'échapper que vous faites. Votre regex peut être simplifiée:OriginalL'auteur anubhava
Il y a beaucoup de types de motif qui peut correspondre à une chaîne vide. L'OP regex appartient à un
^.*$
type, et il est facile de le modifier pour éviter vide correspondance de chaîne en remplaçant*
(={0,}
) quantificateur (sens zéro ou plus) avec le+
(={1,}
) quantificateur (sens un ou plusieurs), comme cela a déjà été mentionné dans les posts ici.Il existe d'autres types de motif de correspondance des chaînes vides, et il n'est pas toujours évident de savoir comment empêcher eux à partir de la correspondance des chaînes vides.
Ici sont quelques-uns de ces modèles avec les solutions:
OriginalL'auteur Wiktor Stribiżew