Hepimiz tahmin ettiğimizden, benimkini de verebilirim: Her zaman Python'un durduğunu düşündüm. Bu oldukça aptalca gelebilir - ne, Python için P ?! - ama savunmamda, bu konuyu belirsiz bir şekilde hatırladım [benimki vurgu]:
Konu: Düzenli ifade (? P ...) normal ifade sözdizimi uzantıları
Gönderen: Guido van Rossum (gui ... @ CNRI.Reston.Va.US)
Tarih: 10 Ara 1997 15:36:19
Perl geliştiricileri (Perl dilini geliştirenler) için alışılmadık bir isteğim var. Umarım bu (perl5-porters) doğru listedir. Python string-sig'ı kullanıyorum çünkü burada tartıştığım işlerin çoğunun kaynağı bu.
Muhtemelen Python'un farkındasınızdır. Ben Python'un yaratıcısıyım; Bu yılın sonuna kadar bir sonraki "büyük" sürümü Python 1.5'i yayınlamayı planlıyorum. Umarım Python ve Perl önümüzdeki yıllarda birlikte yaşayabilirler; çapraz tozlaşma her iki dil için de iyi olabilir. (Perl 5'e nesne eklerken Larry'nin Python'a iyi baktığına inanıyorum; O'Reilly her iki dil hakkında da kitap yayınlıyor.)
Bildiğiniz gibi Python 1.5, Perl'in sözdizimiyle daha yakından eşleşen yeni bir normal ifade modülü ekler. Python'un sözdiziminde Perl sözdizimine olabildiğince yakın olmaya çalıştık. Bununla birlikte, normal ifade sözdiziminde tümü ile başlayan bazı Python'a özgü uzantılar vardır (? P. Şu anda bunlardan iki tane var:
(?P<foo>...)
Normal gruplama parantezlerine benzer, ancak metin
grup tarafından eşleşen eşleştirme gerçekleştirildikten sonra sembolik grup adı "foo" aracılığıyla erişilebilir.
(?P=foo)
"Foo" adlı grupla aynı dizeyle eşleşir. Grubun yönlendirilmesi dışında \ 1, \ 2 vb. İle eşdeğerdir
sayı ile değil adla gerekir.
Umarım bu Python'a özgü uzantı Perl regex sözdiziminin gelecekteki Perl uzantılarıyla çakışmaz. Kullanım planlarınız varsa (? P, çakışmayı çözebilmemiz için lütfen en kısa sürede bize bildirin. (? P sözdizimi kalıcı Python özgü sözdizimi uzantıları için ayrılmış olabilir Aksi takdirde, çok güzel olurdu. (Is uzantıları bir tür kayıt var mı?)
Larry Wall'un cevapladığı:
[...] Şu an için hiçbir kayıt yok - sizinki perl5-porters dışından gelen ilk istek, bu yüzden oldukça düşük bant genişliği etkinliği. (Maalesef geçen hafta daha da düşüktü - İnternet Dünyasında New York'taydım.)
Her neyse, endişelendiğim kadarıyla, kutsamamla kesinlikle 'P' olabilir. (Açıkçası Perl'in bu noktada 'P' ye ihtiyacı yok. :-) [...]
Peki orijinal P seçiminin neden motive olduğunu bilmiyorum? Yer tutucu? penguenler? - ama neden her zaman Python ile ilişkilendirdiğimi anlayabilirsiniz. (1) Düzenli ifadeleri sevmiyorum ve mümkün olan yerlerde bunlardan uzak duruyorum ve (2) bu konu on beş yıl önce oldu, biraz garip.
P
anlamına gelirPlaceholder
.