Comment faire correspondre {1,0} avec expression régulière?
? or `{0,1}`
sera match un modèle si nécessaire,mais maintenant, je veux faire l'inverse.
Dire,ne correspondent pas si nécessaire.
Quiconque obtenir ce que je veux dire a la solution?
- J'ai répondu à la question ci-dessous, mais il semble que tout le monde a mal compris ce que vous voulez. Vous pourriez peut-être donner un exemple de la façon dont vous aimeriez qu'il match.
- Vous avez vraiment besoin de re-état de la question. Il est très ambiguë et difficile à répondre. Essayez d'ajouter un échantillon de ce que vous voulez faire.
Vous devez vous connecter pour publier un commentaire.
Vient de mettre un point d'interrogation après le
{0,1}
, comme dans{0,1}?
, et il préfère correspondant zéro fois. Le point d'interrogation fait de la "non-gourmand", ce qui signifie qu'il ne sera pas avaler autant que possible.Test (en Perl):
Imprime
Vous pouvez également utiliser
??
en place de{0,1}?
.?
et{0,1}
ne par défaut. Regex est gourmand, sauf mention contraire.?
et{0,1}
faire correspondre si possible, pas si nécessaire (comme vous l'avez dit).Non,
?
ou{0,1}
va correspondre à un modèle si possible. Regex est gourmand par défaut.Pour les faire correspondre quand nécessaire, ils ont besoin de ressembler à
??
ou{0,1}?
.Semble que vous avez déjà ce que vous voulez.
Disant "ne correspond pas à" est généralement quelque chose de difficile et impossible dans la regex. Sauf si vous venez avec un véritable échantillon de ce que vous devez faire, c'est difficile de répondre.
Donc, vous avez besoin de "deux ou plus"? Ensuite, essayez ceci:
{2,}
Il me semble que vous êtes à la recherche pour une assertion négative. La syntaxe pour que est généralement
(?!...)
Par exemple,
A(?!B)C
correspondra à Une puis C, mais pas si le début de C correspond B.