Considérant une chaîne de 12 caractères, je veux diviser la chaîne en trois groupes de quatre caractères et trouver un caractère dans le groupe 1 et 3.
Par exemple: P>
(^.{0,4})|(.{0,4}$)
3 Réponses :
Fondamentalement, vous souhaitez correspondre à B code> qui ont 3 caractères ou moins derrière eux ...
B(?=.{8,11}$)|B(?=.{0,3}$)
Vous pouvez essayer ceci. Cela trouve un 'B' dans n'importe quel groupe de 4.
Version PERL: expliqué p> < Pré> xxx pré> Si vous voulez simplement savoir si un "B" correspond au premier ou au dernier 4, ce serait ce p> https://regex101.com/r/wedtcu/1 p> expliqué p>
^ (?: (? =. {0,3} (b))? ....) (?: (? =. {0,3} (b))? ....) : (? =. {0,3} (b))? ....) $ code>
Version PCRE:
^ (?: (?: (? =. =. {0,3} (b)))? ....) (?: (? =. {0,3} (b))))))) ? ....) (?: (?: (? =. =. {0,3} (b)))? ....) $ code> p>
^ (? =. {12} $) (?: (? =. {0,3}? (B)) ....) | (? <= ^. {8}) (? {0,3}? (B)) ....) $) code> p>
si Quantifiers avec une largeur infinie ou une plage prédéterminée sont supportés dans un LookefereHind Comme dans, par exemple, le module Python PyPI Regex ou Java Vous pouvez également utiliser : Explication forte> p>
(? <= ^ [ab] {0,3}) code> affirme ce qui est à gauche est le début de la chaîne, 0-3 fois A ou B Li>
b code> correspondez littéralement li>
| code> ou li>
b code> correspondez littéralement li>
(? = [AB] {0,3} $) CODE> Assert Qu'est-ce que la droite est 0-3 fois A ou B, affirmez la fin de la chaîne li>
ul> p>
Pouvez-vous nous montrer à quoi ressemble la sortie réelle après la scission? De plus, quel langage de programmation utilisez-vous si vous utilisez un?