le même personnage inconnu, plusieurs fois
J'ai une regex problème je n'arrive pas à résoudre. En fait, je ne sais pas si l'expression rationnelle peut le faire, mais j'ai besoin de correspondre à une plage de caractères n fois à la fin d'un modèle.
par exemple. blahblah[A-Z]{n}
Le problème est ce caractère correspond à la fin besoin d'être tous les mêmes.
Par exemple, je veux correspondre
- blahblahAAAAA
- blahblahEEEEE
- blahblahQQQQQ
mais pas
- blahblahADFES
- blahblahZYYYY
Est-il une expression régulière pattern qui peut faire cela?
Voir cette question: stackoverflow.com/questions/7147810/...
merci pour les réponses, cela fonctionne très bien
merci pour les réponses, cela fonctionne très bien
OriginalL'auteur Erin Aarested | 2012-07-12
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser ce modèle:
blahblah([A-Z])\1+
La
\1
est une référence arrière à la première capture de groupe, dans ce cas([A-Z])
. Et le+
correspond à celui de caractères en une ou plusieurs fois. À la limite, vous pouvez remplacer le+
avec un nombre de répétitions à l'aide de{n}
, comme\1{3}
qui va correspondre à trois fois.Si vous avez besoin de la totalité de la chaîne de match, alors assurez-vous de préfixe
^
et à la fin avec$
, respectivement, de sorte que le modèle devient^blahblah([A-Z])\1+$
Vous pouvez en lire plus à propos de en arrière-références ici.
OriginalL'auteur Ahmad Mageed
Dans la plupart des regex implémentations, vous pouvez accomplir cela en faisant référence à un groupe de capture dans votre regex. Pour votre exemple, vous pouvez utiliser les méthodes suivantes pour correspondre à la même majuscule à cinq reprises:
Noter que pour correspondre à la regex
n
fois, vous devez utiliser\1{n-1}
depuis un match va venir à partir du groupe de capture.OriginalL'auteur Andrew Clark
blahblah(.)\1*\b
devrait fonctionner dans presque toutes les langues de saveurs.(.)
saisit une chose à la fois, puis\1*
matches (le premier match) n'importe quel nombre de fois.OriginalL'auteur dlras2