Ini tidak menghasilkan keluaran apa pun. Bagaimana bisa?
$ echo 'this 1 2 3' | grep '\d\+'
Tapi ini lakukan:
$ echo 'this 1 2 3' | grep '\s\+'
this 1 2 3
$ echo 'this 1 2 3' | grep '\w\+'
this 1 2 3
2
Tidak ada yang berhasil untuk saya (Solaris).
—
spraff
Aku juga tidak. (Cygwin) Apakah Anda bermaksud memiliki
—
Eric Wilson
\+
? Apa artinya?
ya, saya menggunakan Ubuntu 10.04, menggunakan bash. Untuk BRE di grep Anda harus keluar dari beberapa karakter. Coba "Ekspresi Reguler Dasar vs Diperluas" di man grep.
—
Ankur Agarwal
@FarmBoy:
—
Daenyth
+
dalam regex berarti "satu atau lebih dari token sebelumnya". Dalam kasus ini, itu lolos karena itulah sintaks yang diperlukan oleh grep
mesin regex default.
@FarmBoy:
—
Keith Thompson
+
perlu di-escape jika Anda menggunakan grep
; jika Anda menggunakan egrep
, tidak. grep -E
setara dengan egrep
(setidaknya untuk versi GNU).