Vì tất cả chúng ta đều đoán, tôi cũng có thể đưa ra ý kiến của mình: Tôi luôn nghĩ nó là viết tắt của Python. Điều đó nghe có vẻ khá ngu ngốc - cái gì, P cho Python?! - nhưng trong sự bảo vệ của tôi, tôi mơ hồ nhớ chủ đề này [nhấn mạnh của tôi]:
Chủ đề: Yêu cầu mở rộng cú pháp regex (? P ...)
Từ: Guido van Rossum (gui ... @ CNRI.Reston.Va.US)
Ngày: 10 tháng 12 năm 1997 3:36:19 chiều
Tôi có một yêu cầu bất thường đối với các nhà phát triển Perl (những người phát triển ngôn ngữ Perl). Tôi hy vọng điều này (perl5-porter) là danh sách đúng. Tôi đang sử dụng chuỗi Python-sig vì nó là nguồn gốc của hầu hết các công việc tôi đang thảo luận ở đây.
Bạn có thể biết về Python. Tôi là người tạo ra Python; Tôi đang lên kế hoạch phát hành phiên bản "chính" tiếp theo, Python 1.5, vào cuối năm nay. Tôi hy vọng rằng Python và Perl có thể cùng tồn tại trong những năm tới; thụ phấn chéo có thể tốt cho cả hai ngôn ngữ. (Tôi tin rằng Larry đã có một cái nhìn tốt về Python khi anh ấy thêm các đối tượng vào Perl 5; O'Reilly xuất bản sách về cả hai ngôn ngữ.)
Như bạn có thể biết, Python 1.5 thêm một mô-đun biểu thức chính quy mới phù hợp hơn với cú pháp của Perl. Chúng tôi đã cố gắng gần với cú pháp Perl nhất có thể trong cú pháp của Python. Tuy nhiên, cú pháp regex có một số phần mở rộng dành riêng cho Python, tất cả đều bắt đầu bằng (? P. Hiện tại có hai trong số chúng:
(?P<foo>...)
Tương tự như dấu ngoặc đơn nhóm thông thường, nhưng văn bản
phù hợp với nhóm có thể truy cập được sau khi trận đấu được thực hiện, thông qua tên nhóm tượng trưng "foo".
(?P=foo)
Khớp chuỗi giống với chuỗi được khớp bởi nhóm có tên "foo". Tương đương với \ 1, \ 2, v.v. ngoại trừ nhóm được gọi
bằng tên, không phải số.
Tôi hy vọng rằng tiện ích mở rộng dành riêng cho Python này sẽ không xung đột với bất kỳ tiện ích mở rộng Perl nào trong tương lai với cú pháp biểu thức chính quy Perl. Nếu bạn có kế hoạch để sử dụng (? P, xin vui lòng cho chúng tôi biết càng sớm càng tốt để chúng ta có thể giải quyết mâu thuẫn. Nếu không, nó sẽ được tốt đẹp nếu (? Cú pháp P có thể được dành vĩnh viễn cho các phần mở rộng cú pháp Python cụ thể. (Is có một số loại đăng ký của phần mở rộng?)
mà Larry Wall đã trả lời:
[...] Hiện tại không có đăng ký - yêu cầu của bạn là yêu cầu đầu tiên từ bên ngoài perl5-porter, do đó, đây là một hoạt động băng thông khá thấp. (Xin lỗi, nó thậm chí còn thấp hơn vào tuần trước - Tôi đã nghỉ ở New York tại Thế giới Internet.)
Dù sao, theo như tôi quan tâm, bạn chắc chắn có thể có 'P' với lời chúc phúc của tôi. (Rõ ràng Perl không cần 'P' tại thời điểm này. :-) [...]
Vì vậy, tôi không biết lựa chọn ban đầu của P được thúc đẩy bởi - mẫu nào? giữ chỗ? chim cánh cụt? - nhưng bạn có thể hiểu tại sao tôi luôn liên kết nó với Python. Việc xem xét rằng (1) tôi không thích các biểu thức thông thường và tránh chúng ở bất cứ nơi nào có thể, và (2) chủ đề này đã xảy ra mười lăm năm trước, là một điều kỳ quặc.
P
là viết tắt củaPlaceholder
.