Bu araç hangi regex türünü kullanıyor?+−
JavaScript'in yerleşik regex motorunu (RegExp ve String.prototype.match/replace'in arkasındaki motor) kullanır, çünkü buradaki her şey bir sunucuda değil, tarayıcınızda istemci tarafında çalışır. PCRE'ye çok yakındır ama birkaç farkı vardır - örneğin lookbehind desteği motor sürümüne bağlıdır ve isimli gruplar (?<isim>...) söz dizimini kullanır.
Neden desenim sadece bir kez eşleşiyor?+−
Varsayılan olarak, g (genel) bayrağı olmadan bir regex ilk eşleşmesinden sonra durur - bu, JavaScript'te RegExp.exec() ve String.match()'in gerçekte nasıl davrandığını yansıtır. Test metnindeki sadece ilk eşleşmeyi değil, hepsini bulmak için yukarıdan g bayrağını etkinleştirin.
(...) ile (?:...) arasındaki fark nedir?+−
İkisi de desenin parçalarını bir araya getirir, ancak yalnızca (...) - bir yakalama grubu - eşleştirdiği şeyi kaydeder, böylece daha sonra ona başvurabilirsiniz (bir değiştirmede $1, $2, ... olarak veya eşleşmenin grup listesinde). (?:...) yakalamasız bir gruptur: gruplama yapar ve niceleyicileri uygular ama eşleşmeyi saklamaz; gruplamaya ihtiyacınız olup yakalanan metinle ilgilenmediğinizde kullanışlıdır.
İsimli gruplar ve $<isim> değiştirmeleri nasıl çalışır?+−
Bir grubu numara yerine bir isim altında yakalamak için (...) yerine (?<isim>...) yazın. Değiştir modunda, değiştirme metninde $<isim> olarak ona başvurun - örneğin, (?<yil>\d{4})-(?<ay>\d{2}) deseni $<ay>/$<yil> ile değiştirildiğinde grup numaralarını hatırlamaya gerek kalmadan bir tarihi yeniden düzenler.
+ ile +? gibi açgözlü (greedy) ve tembel (lazy) bir niceleyici arasındaki fark nedir?+−
Açgözlü bir niceleyici (+, *, {2,4}) mümkün olduğunca çok eşleşir, ardından desenin geri kalanının eşleşmesine izin vermek gerekirse geri çekilir. Aynı sembolün ardından ? gelen tembel bir niceleyici ise bunun yerine mümkün olduğunca az eşleşir ve yalnızca gerektiğinde bir karakter daha genişler. Örneğin, <.+>, <a><b> karşısında açgözlü şekilde tüm <a><b>'yi eşleştirirken, <.+?> tembel şekilde yalnızca <a>'yı eşleştirir.
İleriye/geriye bakış (lookahead/lookbehind) hiçbir karakteri tüketmiyorsa, aslında ne kontrol eder?+−
Bir desenin, eşleşmenin kendisine dahil edilmeden, geçerli konumun hemen öncesinde veya sonrasında görünüp görünmediğini test ederler - yani (?=...) ve (?<=...), orada bulunması gereken bir şeyi ileriye/geriye doğru kontrol ederken, (?!...) ve (?<!...) orada bulunmaması gerektiğini kontrol eder. Bu yüzden bir sayıyı yalnızca ardından 'px' geldiğinde eşleştirmek için \d+(?=px) kullanabilirsiniz; 'px' kendisi eşleşen metinde hiçbir zaman görünmez.