Por padrão, o grep usa BREs, por isso você precisa fugir dos parênteses:
grep 'AB\{4\}'
grep '\(AB\)\{4\}'
Você também pode usar os EREs passando a opção -E , disponível em algumas implementações do grep:
grep -E 'AB{4}'
grep -E '(AB){4}'
qual a diferença entre essas expressões de expressão regular?
AB \ {4 \} e (AB) \ {4 \}
para a primeira expressão, acho que repita B 4 vezes, depois para a segunda expressão,
repete AB 4 vezes. Quando tento testar a segunda expressão usando o ABABABAB nada corresponde.
Por padrão, o grep usa BREs, por isso você precisa fugir dos parênteses:
grep 'AB\{4\}'
grep '\(AB\)\{4\}'
Você também pode usar os EREs passando a opção -E , disponível em algumas implementações do grep:
grep -E 'AB{4}'
grep -E '(AB){4}'
Tags regular-expression