les
echo 'CHAIRMAN AAAAAAAND CHIEF EXECUTIVE OFFICER' | grep -E -o '([A-Z])\1{2,}'
sorties:
AAAAAAA
outil grep
pour Unix et Linux
-E
modèle est une expression régulière étendue (ERE)
-o
montrent que la partie d'une ligne correspondant PATTERN
([A-Z])
correspond à un seul caractère et prend es soins du match comme référence arrière
\1{2,}
utilisant cette référence arrière plus 2 ou plus égale 3 caractères ou plus
consécutive Alors:
echo 'not nn nnn oo ooo tt ttt 123 11 111' | grep -E -o '(\w)\1{2,}'
correspondra:
nnn
ooo
ttt
111
Ou:
echo 'not nnn ooo ttt 123 111' | grep -E -o '([[:alpha:]]|[[:digit:]])\1{2,}'
a la même sortie.
Mais peut ou vous ne savez pas peut-\w
match de la _
et donc d'utiliser la classe de caractères comme [a-z]
ou caractère construire en classe comme [[:alpha:]]
est un meilleur choix.
J'ai essayé plusieurs choses différentes. Voici le dernier que j'ai essayé ... (? I) (?: ([a-zA-Z]) \\ 1 {2,}) * – user8265973
['(([[A-Za-z \ d]) \ 2 {2,})'] (https: // regex101. com/r/wMMWJH/1) –