Daha iyi anlamak için üç ifadeyi artı bir yakalama grubunu uygulayalım ve her davranışı analiz edelim.
() yakalama grubu - parantez içindeki normal ifade eşleşmeli ve eşleşme bir yakalama grubu oluşturmalıdır
(?:) yakalamayan grup - parantez içindeki normal ifade eşleşmelidir ancak yakalama grubunu oluşturmaz
(?=) olumlu ileriye bak - normal ifadenin eşleşmesi gerektiğini iddia eder
(?!) negatif ileriye bak - normal ifadeyle eşleştirmenin imkansız olduğunu iddia eder
En uygulayalım q(u)iiçin çıkın . q ile qeşleşir ve yakalama grubu u ile eşleşir . Yakalama grubu içindeki maç alınır ve bir yakalama grubu oluşturulur. Böylece motor devam ediyor . Ve i eşleşecek . Bu son maç denemesi başarılı. qui eşleştirilir ve u ile bir yakalama grubu oluşturulur.uii
En uygulayalım q(?:u)iiçin çıkın . Yine q ile qeşleşir ve yakalamayan grup u ile eşleşir . Yakalamayan gruptan maç alınır, ancak yakalama grubu oluşturulmaz. Böylece motor devam ediyor . Ve i eşleşecek . Bu son maç denemesi başarılı. qui eşleştiuii
En uygulayalım q(?=u)iiçin çıkın . Önden bakış olumludur ve bunu başka bir belirteç izler. Yine, qmaçları q ve umaçları u . Yine, önden gelen eşleşme atılmalıdır, böylece motor idizeden u'ya geri döner . Önden bakış başarılı oldu, bu yüzden motor devam ediyor i. Ama ui eşleşemez . Yani bu maç girişimi başarısız olur.
En uygulayalım q(?=u)uiçin çıkın . Önden bakış olumludur ve bunu başka bir belirteç izler. Yine, qmaçları q ve umaçları u . Önden gelen eşleşme atılmalıdır, böylece motor udizeden u'ya geri adım atar . Önden bakış başarılı oldu, bu nedenle motor devam ediyor u. Ve umaç olacak u . Yani bu maç girişimi başarılı. qu eşleşti
En uygulayalım q(?!i)uiçin çıkın . Bu durumda bile ilerleme pozitiftir (çünkü ieşleşmez) ve ardından başka bir belirteç gelir. Yine q ile qeşleşir ve u ile eşleşmez . Önden gelen eşleşme atılmalıdır, böylece motor dizeden u'ya geri adım atar . Önden bakış başarılı oldu, bu nedenle motor devam ediyor . Ve maç olacak u . Yani bu maç girişimi başarılı. qu eşleştiiuuu
Dolayısıyla, sonuç olarak, önden bakan ve yakalamayan gruplar arasındaki gerçek fark, sadece varlığını test etmek veya test etmek ve maçı kaydetmek isteyip istemediğinizle ilgilidir. Grup yakalama pahalıdır, bu yüzden dikkatli kullanın.