Używanie modyfikatorów Regex kompatybilnego z Perlem (PCRE) w grep

20

Zgodnie z grep --helpi man grepmożemy użyć tej -Popcji, aby zinterpretować wzorzec jako wyrażenie regularne Perla (a dokładniej PCRE), zamiast domyślnych podstawowych wyrażeń regularnych POSIX (BRE).

W języku Perl do wyrażenia można dodawać różne modyfikatory w celu dostosowania interpretacji wzorca (w składni /pattern/modifiers).

Jak więc ktoś może dodać modyfikatory do wyrażenia regularnego Perla grepa? Próbowałem niektóre odmiany, grep -P "/^got.it$/ms" [FILE]ale wyniki wyszukiwania były nieprawidłowe.

Jednak w kwestii interpretacji PCRE podręcznik wskazuje, że:

Jest to wysoce eksperymentalne i grep -P może ostrzegać przed niewdrożonymi funkcjami.

Czy to możliwe, że narzędzie grep w ogóle nie obsługuje modyfikatorów ?

Nawiasem mówiąc, zauważyłem, że można wykonać dopasowanie wzorca bez rozróżniania wielkości liter, używając -iopcji, która jest przykładem modyfikatora.

Odbicie
źródło

Odpowiedzi:

17

W przypadku modyfikatorów imsxadlupmożna użyć parametru (?X)for zgodnie z opisem w sekcji Wzorce rozszerzone :

$ echo FOO | grep -P '(?i)foo'
FOO
Florian Diesch
źródło