Usando modificadores de Regex compatível com Perl (PCRE) no grep

20

De acordo com grep --helpe man grep, podemos usar a -Popção para interpretar o padrão como uma expressão regular Perl (PCRE, para ser mais preciso), em vez das expressões regulares regulares básicas do POSIX (BRE).

Na linguagem Perl, vários modificadores podem ser adicionados à expressão, a fim de ajustar a interpretação do padrão (na sintaxe de /pattern/modifiers).

Então, como alguém pode adicionar modificadores à expressão regular Perl do grep? Tentei algumas variações, grep -P "/^got.it$/ms" [FILE]mas os resultados da pesquisa estavam errados.

No entanto, sobre a interpretação do PCRE, o manual aponta que:

Isso é altamente experimental e o grep -P pode avisar sobre recursos não implementados.

É possível que a ferramenta grep não suporte modificadores ?

A propósito, notei que é possível executar a correspondência de padrões sem distinção entre maiúsculas e minúsculas usando a -iopção, que é um exemplo de modificador.

Reflexão
fonte

Respostas:

17

Para os modificadores, imsxadlupvocê pode usar o (?X)for como descrito em Padrões Estendidos :

$ echo FOO | grep -P '(?i)foo'
FOO
Florian Diesch
fonte