Yineleme, aşağıdaki öğeleri takibeden niceleyicilerle belirtilir:
   Genel yineleme niceleyicileri, kaşlı ayraçlar arasına alınıp virgülle
   ayrılmış olarak asgari ve azami miktarda eşleşme belirirler. Belirtilen
   sayılar 65536'dan küçük olmalı ve ilk sayı ikincisine eşit veya ondan
   küçük olmalıdır. Örneğin, z{2,4} şablonu "zz", "zzz"
   veya "zzzz" ile eşleşecektir. Kapatan kaşlı ayraç özel bir karakter
   değil, kendisidir. Eğer virgül konduğu halde ikinci niceleyici
   verilmezse bir üst sınır olmayacaktır. Eğer ikinci niceleyici virgülsüz
   olarak belirtilmemişse, tam olarak belirtilen sayıda eşleşme sağlanmaya
   çalışılır. Dolayısıyla, [aeiou]{3,} şablonu en az üç
   sesli harfle eşleşecektir. Ancak, \d{8} şablonu tam
   olarak 8 rakamla eşleşecektir. Şayet birinci niceleyici belirtilmezse
   veya kaşlı ayraçtan sonraki karakter bir rakam değilse kaşlı ayraç
   sadece kendisiyle eşleşir. Örneğin, {,6} şablonu bir yineleyici değil,
   dört karakterden oluşan sıradan bir dizgedir.
  
Bir yineleyici olarak {0} şablonuna izin verilir ve ifadenin, önceki öğe ve niceleyici hiç yokmuş gibi davranmasına sebep olur.
Geriye uyumluluk adına, üç yineleyici türünün tek karakterlik kısaltmalarına izin verilmektedir:
| * | {0,}yineleyicisine eşdeğerdir. | 
| + | {1,}yineleyicisine eşdeğerdir. | 
| ? | {0,1}yineleyicisine eşdeğerdir. | 
   Hiçbir karakterle eşleşmeyen bir alt şablonu takibeden üst sınırsız bir
   yineleyici belirterek sonsuz döngü oluşturmak mümkündür. Örnek:
   (a?)*
  
Perl ve PCRE'nin önceki sürümleri böyle şablonların derlenmesi sırasında hata verirdi. Ancak, bu şablonlar bazen yararlı olabildiklerinden artık kabul edilmektedir, fakat hiçbir karakterle eşleşmeme durumunda döngü bilinçli olarak kırılmaktadır.
   Yineleyiciler öntanımlı olarak "açgözlü" olurlar. Yani, şablonun geri
   kalanının başarısız olmasına sebep olmaksızın olabildiğince çok (azami
   niceleyicisinin izin verdiği ölçüde) eşleşme yapmaya çalışır. Klasik bir
   örnek olarak, C kodları arasındaki açıklamalarla eşleşme sorunları
   verilebilir. Bu açıklamalar /* ve */ dizilimleri arasında bulunurlar ve
   içlerinde birbirlerinden bağımsız olarak / ve * karakterleri
   bulunabilir. Örneğin, /\*.*\*/ şablonu
   /* birinci açıklama */  bu açıklama değil  /* ikinci açıklama
   */ dizgesiyle eşleştirilmeye çalışıldığında başarısız
   olunacaktır. Çünkü .* öğesinin açgözlülüğü yüzünden dizgenin tamamı ile
   eşleşecektir.
  
   Bununla birlikte, bir yineleyicinin ardına bir soru imi konursa,
   açgözlülüğe son verilmiş olur ve olası en az sayıda eşleşme yapılmaya
   çalışılır. Dolayısıyla, /\*.*?\*/ şablonu C
   açıklamaları ile beklendiği gibi eşleşir. Yineleyiciler, anlamları
   değiştirilmediği sürece sadece tercih edilen sayıda eşleşme yapacaktır.
   Soru imini, bir yineleyici olarak kendisinin sonrasına koymaktan
   çekinmeyin. İki çeşit kullanımı olduğundan bazen
   \d??\d örneğindeki gibi bir soru imi çifti olarak
   görünür ve tercihan tek bir rakamla eşleşirse de şablonun kalanının
   eşleşmesi için başka çare yoksa iki rakamla da eşleşir.
  
PCRE_UNGREEDY seçeneği (Perl'de bulunmayan bir seçenektir) etkinse yineleyiciler öntanımlı olarak açgözlü olmazlar, fakat bir yineleyiciyi takibeden bir soru imi varsa o yineleyici açgözlülük gösterebilir. Başka bir deyişle, bu seçenek öntanımlı davranışı tersine çevirir.
   + imi yineleyicilerin ardına konduğunda yineleyiciyi
   bencilleştirir. Yani, şablonun kalanının başarısızlığı pahasına
   olabildiğince çok eşleşme yapmaya çalışır. Bu bakımdan, örneğin,
   .*abc şablonu "aabc" ile eşleştiği halde
   .*+abc şablonu eşleşmeyecektir. Çünkü
   .*+ dizgenin tamamını yiyecektir.
  
Bir yaylı ayraçlı alt şablon, 1'den büyük bir asgari ve sınırlı bir azami yineleme değeriyle nicelendiğinde derlenmiş şablon için asgari ve azami değerlerin büyüklüklerine bağlı olarak daha fazla alan gerekir.
Eğer bir şablon, .* veya .{0,} ile başlıyorsa ve (Perl'in /s seçeneğine eşdeğer) PCRE_DOTALL seçeneği etkinse, noktanın satırsonu karakterleriyle eşleşmesini sağlamak için, eşleşmeye konu dizgedeki karakterleri şablonun kalanı ile eşleştirmek adına, şablon örtük olarak satırsonlarına demirlenir. Dolayısıyla, ilkinden sonraki eşleşmeler için yineleme gereği kalmaz. PCRE böyle bir şablonu \A ile öncelenmiş gibi ele alır. Eşleşmeye konu dizgenin satırsonu karakterlerini içermediğinin bilindiği durumlarda, demirleme işlemini dolaylı olarak belirtmek amacıyla ^ kullanmak veya bu en iyilemeyi sağlamak için şablon .* ile başlatıldığı takdirde PCRE_DOTALL seçeneğini etkin kılmak akıllıca olur.
   Bir yakalayan alt şablonun yinelenmesi durumunda, alt şablonun eşleştiği
   alt dizge son yineleme ile eşleşen alt dizgedir. Örneğin,
   (tweedle[dume]{3}\s*)+ şablonu "tweedledum
   tweedledee" dizgesiyle eşleştirilmeye çalışıldığında eşleşen alt dizge
   "tweedledee" olur. Bununla birlikte, iç içe yakalayan alt şablonların
   varlığında, alt şablonun eşleştiği alt dizge önceki yinelemelerle
   eşleşen alt dizgeler olabilir. Örneğin, /(a|(b))+/
   şablonu "aba" ile eşleştirilmeye çalışıldığında eşleşen ikinci alt dizge
   "b" olur.
  
