Ponieważ wszyscy zgadujemy, równie dobrze mogę podać moje: zawsze myślałem, że oznacza Python. To może brzmieć dość głupio - co, P dla Pythona ?! - ale na swoją obronę niejasno zapamiętałem ten wątek [podkreślenie moje]:
Temat: Zgłaszanie (? P ...) rozszerzeń składni wyrażeń regularnych
Od: Guido van Rossum (gui ... @ CNRI.Reston.Va.US)
Data: 10 grudnia 1997 15:36:19
Mam nietypową prośbę do programistów Perla (tych, którzy rozwijają język Perl). Mam nadzieję, że ta lista (perl5-porters) jest właściwa. Cc'ing Python string-sig, ponieważ jest źródłem większości prac, które tutaj omawiam.
Prawdopodobnie znasz język Python. Jestem twórcą Pythona; Planuję wypuścić kolejną "główną" wersję, Python 1.5, do końca tego roku. Mam nadzieję, że Python i Perl mogą współistnieć w nadchodzących latach; zapylenie krzyżowe może być dobre dla obu języków. (Myślę, że Larry dobrze przyjrzał się Pythonowi, dodając obiekty do Perla 5; O'Reilly publikuje książki o obu językach).
Jak być może wiesz, Python 1.5 dodaje nowy moduł wyrażeń regularnych, który bardziej pasuje do składni Perla. Staraliśmy się być jak najbliżej składni Perla w składni Pythona. Jednak składnia wyrażeń regularnych ma pewne rozszerzenia specyficzne dla Pythona, z których wszystkie zaczynają się od (? P. Obecnie są dwa z nich:
(?P<foo>...)
Podobny do zwykłych nawiasów grupujących, ale tekst
dopasowany przez grupę jest dostępny po zakończeniu dopasowania, poprzez symboliczną nazwę grupy „foo”.
(?P=foo)
Dopasowuje ten sam ciąg, który został dopasowany przez grupę o nazwie „foo”. Odpowiednik \ 1, \ 2 itd. Z tym wyjątkiem, że do grupy odnosi
się nazwa, a nie numer.
Mam nadzieję, że to rozszerzenie specyficzne dla Pythona nie będzie kolidować z żadnymi przyszłymi rozszerzeniami Perla do składni wyrażeń regularnych Perl. Jeśli planujesz używać (? P, daj nam znać tak szybko, jak to możliwe, abyśmy mogli rozwiązać konflikt. W przeciwnym razie byłoby dobrze, gdyby składnia (? P mogła być na stałe zarezerwowana dla rozszerzeń składni specyficznych dla języka Python). (Czy jest jakiś rejestr rozszerzeń?)
[...] Na razie nie ma rejestru - twoje jest pierwsze żądanie od zewnętrznych portierów perl5, więc jest to dość niska aktywność. (Przepraszam, że w zeszłym tygodniu było jeszcze niżej - byłem w Nowym Jorku na Internet World.)
W każdym razie, jeśli o mnie chodzi, z pewnością możesz mieć „P” z moim błogosławieństwem. (Oczywiście Perl nie potrzebuje w tym momencie „P”. :-) [...]
Nie wiem więc, czym był motywowany pierwotny wybór P - wzór? symbol zastępczy? pingwiny? - ale możesz zrozumieć, dlaczego zawsze kojarzyłem go z Pythonem. Biorąc pod uwagę to, że (1) nie lubię wyrażeń regularnych i unikam ich, gdy tylko jest to możliwe, oraz (2) ten wątek wydarzył się piętnaście lat temu, jest trochę dziwny.
P
oznaczaPlaceholder
.