Bu işleç, örneğe uygun hale getirene kadar, kendinden önce yer alan ve mümkün olan en küçük yapıdaki düzenli ifadeyi gerekli sayıda-sıfır dahil- tekrarlamaya yarar. Bu işleç, * ile temsil edilir. örneğin; o* içerisinde sıfır veya daha fazla o bulunan her hangi bir dizge ile eşleşir. Bu işleç mümkün olan en küçük parça üzerinde işlem yaptığı için, fo* içinde sadece o tekrarlanır, fo değil. Bu nedenle, fo* sıra ile; f, fo, foo, ... ile eşleştirilir.
Sıfır veya fazlası ile eşleşme işleci bir sonek olduğu için, kendinden önce bir düzenli ifade bulunmadığı durumlarda hiçbir işe yaramazlar. Bu, şu durumlarda geçerli olur:
- bir düzenli ifade içindeki ilk karakter ise,
- bir satır başı ile eşleşme işlecinin, grup başlatma işlecinin ya da VEYA işlecinin ardından kullanılmışsa.
Bu tür durumlarda üç farklı şey olabilir:
Şayet RE_CONTEXT_INVALID_OPS sözdizimi biti bir ise, düzenli ifade geçersiz olur.
Şayet RE_CONTEXT_INVALID_OPS biti sıfır ve RE_CONTEXT_INDEP_OPS biti bir ise *
sıfır veya fazlası ile eşleşme işlecini temsil eder (böylece boş bir dizge üzerinde işlem yapılabilir).
Aksi takdirde, * sıradan bir karakterdir.
Eşleştirme işlemi, sıfır veya fazlası ile eşleştirme işlecinin kendinden önceki mümkün olan en küçük düzenli ifade ile öncelikle eşleştirilmesi ve bu işlemin gerektiği kadar yinelenmesi sürecidir. Daha sonra şablonun kalanı ile eşleştirmeye devam edilir.
Şayet şablonun kalanı ile eşleştirilemez ise, gerektiği kadar (kaç kere gerekliyse) geri gidilir ve işlem tekrarlanır. Her geri gidişte bir önceki eşleştirme iptal edilerek şablonun bütününe en yakın eşleşme bulunmaya çalışılır ya da hiçbir eşleşme bulunamaz. Örneğin; ca*ar düzenli ifadesi caaar dizgesi ile eşleştirilirken, eşleştirici ilk önce, dizgenin üç ası ile düzenli ifadenin a*'ını eşleştirir. Bununla beraber, düzenli ifadenin son ar'ı dizgenin son r'si ile eşleşemez. Bu durumda geriye dönülerek dizgedeki son a eşleşmesi iptal edilerek geriye kalan ar ile eşleşme sağlanır.