Menggunakan Pengubah Reg-kompatibel (PCRE) Perl di grep

20

Menurut grep --helpdan man grep, kita dapat menggunakan -Popsi untuk menafsirkan pola sebagai ekspresi reguler Perl (PCRE, tepatnya), alih-alih ekspresi reguler reguler dasar POSIX (BRE).

Dalam bahasa Perl, berbagai Pengubah dapat ditambahkan ke ekspresi, untuk menyesuaikan interpretasi pola (dalam sintaksis /pattern/modifiers).

Jadi, bagaimana seseorang dapat menambahkan pengubah ke ekspresi reguler Perl grep? Saya mencoba beberapa variasi seperti grep -P "/^got.it$/ms" [FILE]tetapi hasil pencarian salah.

Namun, tentang interpretasi PCRE, manual menunjukkan bahwa:

Ini sangat eksperimental dan grep -P dapat memperingatkan fitur yang tidak diimplementasikan.

Apakah mungkin alat grep sama sekali tidak mendukung pengubah ?

Omong-omong, saya perhatikan bahwa seseorang dapat melakukan pencocokan pola case-insensitive dengan menggunakan -iopsi, yang merupakan contoh dari pengubah.

Refleksi
sumber
Crossposted
goldilocks

Jawaban:

17

Untuk pengubah imsxadlupAnda dapat menggunakan (?X)untuk seperti yang dijelaskan dalam Pola Diperluas :

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