<ก่อนหน้านี้ | Contents | ถัดไป>
* - จับคู่องค์ประกอบศูนย์หรือมากกว่าครั้ง
ชอบ ? เมตาคาแรคเตอร์, * ใช้เพื่อแสดงถึงรายการเสริม อย่างไรก็ตามไม่เหมือน ?, รายการอาจเกิดขึ้นกี่ครั้งก็ได้ ไม่ใช่แค่ครั้งเดียว สมมติว่าเราต้องการดูว่าสตริงเป็นประโยคหรือไม่ กล่าวคือ มันขึ้นต้นด้วยอักษรตัวพิมพ์ใหญ่ จากนั้นจึงประกอบด้วยอักษรตัวพิมพ์เล็กและตัวพิมพ์เล็กและช่องว่างจำนวนเท่าใดก็ได้ และลงท้ายด้วยจุด เพื่อให้ตรงกับคำจำกัดความ (ที่หยาบมาก) ของประโยคนี้ เราสามารถใช้นิพจน์ทั่วไปดังนี้:
[[:บน:]][[:บน:][:ล่าง:] ]*\
นิพจน์ประกอบด้วยสามรายการ: นิพจน์วงเล็บที่มี [:บน:] คลาสอักขระ นิพจน์วงเล็บที่มีทั้ง [:บน:] และ [:ต่ำกว่า:] คลาสอักขระและช่องว่าง และจุดหนีด้วยแบ็กสแลช องค์ประกอบที่สองต่อท้ายด้วย an * metacharacter เพื่อที่ว่าหลังจากอักษรตัวพิมพ์ใหญ่นำหน้าในประโยคของเรา อักษรตัวพิมพ์ใหญ่และตัวพิมพ์เล็กและการเว้นวรรคจำนวนเท่าใดก็ได้ตามหลังและยังคงตรงกัน:
[me@linuxbox ~]$ echo "ใช้งานได้" | grep -E '[[:upper:]][[:upper:][
:ต่ำกว่า:] ]*\.'
นี้ทำงาน
[me@linuxbox ~]$ echo "ใช้งานได้แล้ว" | grep -E '[[:upper:]][[:upper:][
:ต่ำกว่า:] ]*\.'
งานนี้.
[me@linuxbox ~]$ echo "สิ่งนี้ไม่ได้" | grep -E '[[:upper:]][[:upper: ด้านบน:
][:ต่ำกว่า:] ]*\.'
[me@linuxbox ~]$
[me@linuxbox ~]$ echo "ใช้งานได้" | grep -E '[[:upper:]][[:upper:][
:ต่ำกว่า:] ]*\.'
นี้ทำงาน
[me@linuxbox ~]$ echo "ใช้งานได้แล้ว" | grep -E '[[:upper:]][[:upper:][
:ต่ำกว่า:] ]*\.'
งานนี้.
[me@linuxbox ~]$ echo "สิ่งนี้ไม่ได้" | grep -E '[[:upper:]][[:upper: ด้านบน:
][:ต่ำกว่า:] ]*\.'
[me@linuxbox ~]$
นิพจน์ตรงกับการทดสอบสองครั้งแรก แต่ไม่ใช่การทดสอบที่สาม เนื่องจากไม่มีอักขระตัวพิมพ์ใหญ่นำหน้าและจุดต่อท้ายที่กำหนด