Utilisation de modificateurs de regex compatible Perl (PCRE) dans grep

20

Selon grep --helpet man grep, nous pouvons utiliser l' -Poption afin d'interpréter le modèle comme une expression régulière Perl (PCRE, pour être précis), au lieu des expressions régulières de base POSIX par défaut (BRE).

En langage Perl, différents modificateurs peuvent être ajoutés à l'expression, afin d'ajuster l'interprétation du motif (dans la syntaxe de /pattern/modifiers).

Alors, comment peut-on ajouter des modificateurs à l'expression régulière Perl du grep? J'ai essayé quelques variantes, grep -P "/^got.it$/ms" [FILE]mais les résultats de la recherche étaient erronés.

Cependant, concernant l'interprétation du PCRE, le manuel souligne que:

Ceci est hautement expérimental et grep -P peut avertir des fonctionnalités non implémentées.

Est-il possible que l'outil grep ne supporte pas du tout les modificateurs ?

Soit dit en passant, j'ai remarqué que l'on peut effectuer une correspondance de modèle insensible à la casse en utilisant l' -ioption, qui est un exemple de modificateur.

Réflexion
la source
Crossposted
goldilocks

Réponses:

17

Pour les modificateurs, imsxadlupvous pouvez utiliser le (?X)for comme décrit dans Modèles étendus :

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