Uso de modificadores de Regex compatible con Perl (PCRE) en grep

20

Según grep --helpy man grep, podemos usar la -Popción para interpretar el patrón como una expresión regular de Perl (PCRE, para ser precisos), en lugar de las expresiones regulares básicas POSIX predeterminadas (BRE).

En el lenguaje Perl, se pueden agregar varios Modificadores a la expresión, para ajustar la interpretación del patrón (en la sintaxis de /pattern/modifiers).

Entonces, ¿cómo puede alguien agregar modificadores a la expresión regular Perl de grep? Intenté algunas variaciones, grep -P "/^got.it$/ms" [FILE]pero los resultados de búsqueda fueron incorrectos.

Sin embargo, sobre la interpretación PCRE, el manual señala que:

Esto es altamente experimental y grep -P puede advertir sobre características no implementadas.

¿Es posible que la herramienta grep no sea compatible con modificadores ?

Por cierto, noté que se puede realizar una coincidencia de patrones sin distinción entre mayúsculas y minúsculas mediante el uso de la -iopción, que es un ejemplo de un modificador.

Reflexión
fuente
Crossposted
goldilocks

Respuestas:

17

Para los modificadores imsxadlup, puede usar el (?X)como se describe en Patrones extendidos :

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