<Sebelum | Contents [show] | Seterusnya>
{ } - Padankan Elemen Dengan Bilangan Kali Tertentu
. { and } metakarakter digunakan untuk menyatakan bilangan minimum dan maksimum padanan yang diperlukan. Mereka boleh ditentukan dalam empat cara yang mungkin:
Jadual 19-3: Menentukan Bilangan Padanan
Pengertian Penentu
Pengertian Penentu
{n} Padankan elemen sebelumnya jika ia berlaku tepat n kali.
{n,m} Padankan elemen sebelumnya jika ia berlaku sekurang-kurangnya n kali, tetapi tidak lebih daripada m kali.
{n,} Padankan elemen sebelumnya jika ia berlaku n atau lebih banyak kali.
{,m} Padankan elemen sebelumnya jika ia berlaku tidak lebih daripada m kali.
Berbalik kepada contoh awal kami dengan nombor telefon, kami boleh menggunakan kaedah ini untuk menentukan ulangan untuk memudahkan ungkapan biasa asal kami daripada:
^\(?[0-9][0-9][0-9]\)? [0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]$
kepada:
^\(?[0-9]{3}\)? [0-9]{3}-[0-9]{4}$
Jom cuba:
[saya@linuxbox ~]$ echo "(555) 123-4567" | grep -E '^\(?[0-9]{3}\)? [0- 9]{3}-[0-9]{4}$'
(555) 123-4567
[saya@linuxbox ~]$ gema "555 123-4567" | grep -E '^\(?[0-9]{3}\)? [0-9]
{3}-[0-9]{4}$'
555-123 4567
[saya@linuxbox ~]$ gema "5555 123-4567" | grep -E '^\(?[0-9]{3}\)? [0-9
]{3}-[0-9]{4}$'
[saya@linuxbox ~]$
[saya@linuxbox ~]$ echo "(555) 123-4567" | grep -E '^\(?[0-9]{3}\)? [0- 9]{3}-[0-9]{4}$'
(555) 123-4567
[saya@linuxbox ~]$ gema "555 123-4567" | grep -E '^\(?[0-9]{3}\)? [0-9]
{3}-[0-9]{4}$'
555-123 4567
[saya@linuxbox ~]$ gema "5555 123-4567" | grep -E '^\(?[0-9]{3}\)? [0-9
]{3}-[0-9]{4}$'
[saya@linuxbox ~]$
Seperti yang dapat kita lihat, ungkapan yang disemak kami boleh berjaya mengesahkan nombor dengan dan tanpa kurungan, sambil menolak nombor yang tidak diformat dengan betul.