Perl normal ifadesini etkileşimli olarak nasıl test edebilir ve kullanabilirim?


15

Diyelim ki metin içeren bir arabellek var. Tamponuma karşı düzenli bir ifadeyi (ideal olarak Perl tipi) test etmek ve Emacs'ın eşleşmeleri vurgulamasını istiyorum.

Örneğin, aşağıdaki normal ifade ( Wikipedia'dan alınmıştır ):

(?<=\.) {2,}(?=[A-Z]) 

aşağıdaki metinde aşağıdaki gibi eşleşir:

                    resim açıklamasını buraya girin

Bu düzenli ifade özellikle noktadan sonra (.)ve büyük harflerden önce meydana gelen en az iki boşlukla eşleşir .

Emacs , Perl düzenli ifadeleri için etkileşimli bir düzenli ifade eşleştirici sağlıyor mu?

İkincisinin cevabı hayır ise:

  1. Emacs'ta Perl düzenli ifadelerinin yerel desteğinin (hiç) dikkate alınmamasının bir nedeni var mı ? (Unix / Linux'ta iyi bilinen bir standart olduğu düşünüldüğünde)

  2. Böyle bir Perl regexp eşleştiricisini inşa etmeye nasıl başlanabilir? (belki de Perl'i kaputun altında mı çağırıyor, yoksa Perl regexp'ini desteklenen bir varyanta dönüştürüyor musunuz?)


2
Emacs regexps bir süre Perl'den önce gelir ve geriye dönük uyumluluk nedeniyle değiştirilmediklerini varsayıyorum.
shosti

1
Ayrıca, github.com/joddie/pcre2el kontrol etmek isteyebilirsiniz (Ben kullanmadım, bunun için kefil olamaz).
shosti

Yanıtlar:


15

Birlikte kullanılması gereken perl tür regexes ile etkili bir şekilde çalışmak için iki güzel paket var - görsel-regexp ve uzantısı - visual-regexp-steroidler . Emacs'a harika bir ektir:

resim açıklamasını buraya girin


2
Açıklığa kavuşturmak için, visual-regexp emacs regexp kullanır ve steroidler sürümü arka uç olarak PCRE veya Python regex'i kullanabilir.
Kaushal Modi

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.