Tanda bintang hanyalah operator pengulangan , tetapi Anda perlu memberi tahu apa yang Anda ulangi. /*abc*/
cocok dengan string yang berisi ab dan nol atau lebih c (karena * kedua ada di c; yang pertama tidak ada artinya karena tidak ada yang diulangi). Jika Anda ingin mencocokkan apa pun, Anda perlu mengatakan .*
- titik berarti karakter apa pun ( dalam pedoman tertentu ). Kalau mau cocok aja abc, tinggal bilang aja grep 'abc' myFile
. Untuk kecocokan yang lebih kompleks, Anda perlu menggunakan .*
- grep 'abc.*def' myFile
akan mencocokkan string yang berisi abc diikuti def dengan sesuatu opsional di antaranya.
Pembaruan berdasarkan komentar:
*
dalam ekspresi reguler tidak persis sama dengan * di konsol. Di konsol, * adalah bagian dari a konstruksi glob , dan hanya bertindak sebagai karakter pengganti (misalnya ls *.log
akan mencantumkan semua file yang diakhiri dengan .log). Namun, dalam ekspresi reguler, * adalah pengubah, artinya ini hanya berlaku untuk karakter atau grup yang mendahuluinya. Jika Anda ingin * dalam ekspresi reguler berfungsi sebagai karakter pengganti, Anda perlu menggunakan .*
seperti yang disebutkan sebelumnya - titik adalah karakter karakter pengganti, dan bintang, saat mengubah titik, berarti menemukan satu atau beberapa titik; yaitu. temukan satu atau lebih karakter apa pun.