Bagaimana cara mencocokkan kata hanya antara tanda kurung
Memasukkan :
this is (test.com)
Output Keinginan:
test.com
grep
regular-expression
Rahul Patil
sumber
sumber
Jawaban:
Berikut adalah beberapa opsi, yang semuanya mencetak output yang diinginkan:
Menggunakan
grep
dengan-o
flag (hanya bagian pencocokan cetak baris) dan ekspresi reguler yang kompatibel dengan Perl (-P
) yang dapat melakukan lookaround :Regex itu mungkin perlu dijelaskan:
(?<=\()
: Ini adalah tampilan positif di belakang , format umumnya(?<=foo)bar
dan yang akan cocok dengan semua kasus yangbar
ditemukan setelahfoo
. Dalam hal ini, kami mencari tanda kurung buka, jadi kami gunakan\(
untuk menghindarinya.(?=\))
: Ini adalah lookahead positif dan hanya cocok dengan tanda kurung tutup.The
-o
pilihan untukgrep
penyebab itu hanya mencetak bagian cocok dari setiap baris, sehingga kita mencari apa yang ada di kurung dan kemudian menghapusnya dengansed
:Mengurai semuanya dengan Perl:
Pisahkan semuanya dengan
sed
:sumber
Salah satu pendekatan adalah menggunakan PCRE - Ekspresi Reguler Kompatibel Perl dengan
grep
:Referensi
sumber