* - مطابقة عنصر صفري أو مرات أكثر
مثل ? الحرف الأولي ، ال * يستخدم للدلالة على عنصر اختياري ؛ ومع ذلك ، على عكس ?، قد يحدث العنصر أي عدد من المرات ، وليس مرة واحدة فقط. لنفترض أننا أردنا معرفة ما إذا كانت السلسلة عبارة عن جملة ؛ أي أنه يبدأ بحرف كبير ، ثم يحتوي على أي عدد من الأحرف الكبيرة والصغيرة والمسافات ، وينتهي بنقطة. لمطابقة هذا التعريف (الخام جدًا) للجملة ، يمكننا استخدام تعبير عادي مثل هذا:
[[: upper:]] [[: upper:] [: Lower:]] * \.
يتكون التعبير من ثلاثة عناصر: تعبير قوس يحتوي على [: العلوي:] فئة الحرف ، تعبير قوس يحتوي على كل من [: العلوي:] و [:أدنى:] فئات الأحرف ومسافة ، وهروب فترة بشرطة مائلة للخلف. يتأخر العنصر الثاني بامتداد * أحرف أولية ، بحيث أنه بعد الحرف الكبير الأول في الجملة لدينا ، قد يتبعها أي عدد من الأحرف الكبيرة والصغيرة والمسافات ولا تزال مطابقة:
[me @ linuxbox ~] $ صدى "هذا يعمل". | grep -E '[[: upper:]] [[: upper:] [
:أدنى:] ]*\.'
هذا يعمل.
[me @ linuxbox ~] $ صدى "هذا يعمل". | grep -E '[[: upper:]] [[: upper:] [
:أدنى:] ]*\.'
هذا يعمل.
[me @ linuxbox ~] $ صدى "هذا لا" | grep -E '[[: upper:]] [[: upper:
][:أدنى:] ]*\.'
[me @ linuxbox ~] $
[me @ linuxbox ~] $ صدى "هذا يعمل". | grep -E '[[: upper:]] [[: upper:] [
:أدنى:] ]*\.'
هذا يعمل.
[me @ linuxbox ~] $ صدى "هذا يعمل". | grep -E '[[: upper:]] [[: upper:] [
:أدنى:] ]*\.'
هذا يعمل.
[me @ linuxbox ~] $ صدى "هذا لا" | grep -E '[[: upper:]] [[: upper:
][:أدنى:] ]*\.'
[me @ linuxbox ~] $
يتطابق التعبير مع الاختبارين الأولين ، ولكن ليس الثالث ، لأنه يفتقر إلى الحرف الكبير الأساسي المطلوب ونقطة لاحقة.