Est-il possible d'avoir une regex pour correspondre à une chaîne avec l'alternance 0 et 1? Il peut se terminer par 0 ou 1 et la longueur est arbitraire.Regex pour correspondre 010101
Répondre
Oui, c'est possible. (?:01)*0?
autorisera une quantité arbitraire de "01", éventuellement suivie d'un 0, en supposant des expressions régulières de type PCRE avec des groupes non-capturants.
Notez que cela inclut la chaîne vide. Si vous voulez au moins un caractère (0), ou au moins un groupe de "01", qui peut également être traité avec 0(?:10)*1?
et (?:01)+0?
, respecitvely.
Que signifie '?:'? – javaguy
@javaguy: Normalement, dans une regex, vous pouvez créer un groupe de capture avec '()', et ensuite vous pouvez obtenir la partie qui a été trouvée par ce groupe après que le moteur de regex ait regardé votre chaîne. Cependant, parfois vous n'avez pas réellement besoin ou ne voulez pas le capturer. Pour ce faire, vous pouvez utiliser un groupe qui ne capture pas, ce que vous obtiendrez en plaçant '?:' Au début du groupe, comme dans ma réponse. –
Si vous utilisez (01) * ce qui sera contenu dans le groupe? – javaguy
(010101)|(010100)
Sauf que vous avez raté "la longueur est arbitraire" ...;) –
Hmmm, quand j'ai répondu à la question, il n'a pas inclus «la longueur est arbitraire» ... –
A regex pour toutes les chaînes binaires possibles serait ^(0|1)*$
. Cela inclut la chaîne vide. N'incluant pas la chaîne vide que vous utiliseriez ^(0|1)+$
.
Est-ce ce que vous demandez?
Edit: Si c'est le cas que vous cherchez, vous pouvez faire alterner 0 et de 1, ainsi que:
^1?(01)*0?$
doit correspondre à toutes les combinaisons possibles. Si vous voulez que la chaîne commence toujours par 0, vous pouvez utiliser ^(01)*0?$
(y compris la chaîne vide) ou ^(01)+0?$
(à l'exclusion de la chaîne vide).
Je crois qu'il cherche une chaîne constituée d'un motif alternant 0 et 1. –
@Michael Madsen: Ah, je pense que vous pourriez avoir raison. Je ne savais pas exactement ce que l'OP voulait au début, mais j'ai modifié cela. Merci. – eldarerathis
Je ne ferais pas confiance à la question jusqu'à ce qu'il l'édite pour être un peu plus question-like ... raisins aigres? Nahhhh .... juste à la recherche d'une question réellement utile est tout. – jcolebrand
Veuillez fournir plus d'informations. D'après les informations que nous avons les éléments suivants travaillerions:
[01]+
Il dit qu'il veut alterner. Il n'y a pas d'alternance là-bas. –
Oui, mais la question est un peu trompeuse :) – monokrome
Je suppose que vous voulez
((01)*(0)?)
Mais la question est très ambiguë
- 1. Regex pour correspondre « www » ou rien
- 2. Regex pour correspondre name1.name2 [.name3]
- 3. Regex javascript pour correspondre à href
- 4. Aide Regex pour correspondre et récrire URI
- 5. regex pour correspondre à postgresql bytea
- 6. Un Regex pour correspondre à un SHA1
- 7. Regex pour faire correspondre plusieurs chaînes
- 8. Regex pour correspondre à la dernière occurrence
- 9. Regex pour correspondre à un seul caractère
- 10. Regex pour faire correspondre la chaîne entre%
- 11. Regex pour correspondre à des attributs html
- 12. Comment "faire correspondre" avec regex?
- 13. Tables Regex comment faire correspondre?
- 14. Expression Regex pour correspondre à: 090129 YBB 100
- 15. javascript regex pour faire correspondre les caractères entre deux chaînes
- 16. Regex pour correspondre à tous les guillemets Unicode
- 17. RegEx pour faire correspondre 123.45 et E123.4 et V12.34
- 18. Regex pour faire correspondre des sous-chaînes uniques
- 19. J'ai besoin d'un regEx pour faire correspondre les URLs générales
- 20. Regex pour correspondre à un minimum de 1 caractère spécial
- 21. regex pour correspondre <Key> .... <Value> modèle
- 22. (grep) Regex pour faire correspondre les caractères non-ASCII?
- 23. Regex pour correspondre aux propriétés de style HTML
- 24. RegEx pour correspondre à deux alternatives mais rien d'autre
- 25. Regex pour correspondre à une URL dans la balise img
- 26. C# Regex pour correspondre le type de carrosserie ENUM
- 27. Regex pour correspondre à une URL avec un HASH
- 28. Comment écrire un motif regex pour correspondre à AAAA00000000-0000?
- 29. Comment utiliser regex pour correspondre à ASTERISK dans awk
- 30. regex pour correspondre à RTRIM (LTRIM (xx)) = xx
Que voulez-vous dire, « comme ça »? – Pops
Si vous avez seulement un nombre fini de mots possibles, il y a toujours une regex qui peut les faire correspondre. –
downvoted car à 6200 rep vous devriez savoir comment écrire une telle question maintenant http://tinyurl.com/so-hints ... – jcolebrand