Existem várias classes de expressões regulares que o GNU grep
suporta:
-
Expressões regulares básicas (BRE) - o padrão. Não suporta
+
diretamente, mas suporta*
. Você pode fazer com que+
faça sentido quando escapar dela\+
. De documentação do GNU grep :In basic regular expressions the meta-characters ‘?’, ‘+’, ‘{’, ‘|’, ‘(’, and ‘)’ lose their special meaning; instead use the backslashed versions ‘\?’, ‘\+’, ‘\{’, ‘\|’, ‘\(’, and ‘\)’.
-
Expressões regulares estendidas (ERE) - a opção
-E
permite isso. Suporta+
e*
diretamente. - Expressões regulares compatíveis com Perl (PCRE) - a opção
-P
habilita o PCRE. Suporta sintaxe semelhante à do Perl, como lookaheads e lookbehinds.
BRE e ERE são geralmente classes padrão definidas por POSIX , então você deve encontrá-las em qualquer grep
que aspira a compatibilidade POSIX e espera comportar-se de forma semelhante.