Im essayant de construire une expression régulière pour correspondre à peu si la longueur de la chaîne est impair. Je n'ai pas eu de succès jusqu'à présent.chaîne match de longueur impaire
2313432 - vrai
12 - faux
121111111111111 - vrai
Merci
Im essayant de construire une expression régulière pour correspondre à peu si la longueur de la chaîne est impair. Je n'ai pas eu de succès jusqu'à présent.chaîne match de longueur impaire
2313432 - vrai
12 - faux
121111111111111 - vrai
Merci
Vous voulez cette expression régulière:
^.(..)*$
Ce dit, trouver un caractère, puis zéro ou plusieurs ensembles de deux personnages, tout est ancrée au début et à la fin de la chaîne.
Que diriez-vous quelque chose comme: ^(..)*.$
?
@Dacto: J'allais dire la même chose, mais il avait fait une modification à sa réponse. Rafraîchir et vous verrez que cela est maintenant correct sauf qu'il ne correspond pas à des chaînes de longueur 1. (Je ne sais pas pourquoi les gens sont upvoting, maintenant ou avant le montage!) –
' '^ ((..) + . |.) $ ''ajoute une correspondance pour une longueur de 1 chaîne (j'utiliserais toujours' strlen() 'par contre) – Seth
@Seth: Cette regex est plus compliquée qu'elle ne devrait l'être. (Voir ma réponse) –
pourquoi voulez-vous utiliser pour cette regex? – Ties
Je comprends qu'il peut y avoir une raison particulière pour laquelle vous devez utiliser des regex, et je ne veux pas le deviner; mais si vous étiez juste après une solution, je suppose que vous pourriez simplement utiliser (string.size% 2) == 1 (quelle que soit la langue)? – Smashery
juste essayer d'apprendre regex :) – Dacto