우리 모두가 추측하기 때문에, 나는 또한 내 것을 줄 수도 있습니다. 나는 항상 그것이 파이썬을 대표한다고 생각했습니다. 파이썬에서 P? -그러나 나의 방어에서 나는 막연하게 기억했다 이 실 [강조]을 .
제목 : 클레임 (? P ...) 정규식 구문 확장
보낸 사람 : Guido van Rossum (gui ... @ CNRI.Reston.Va.US)
날짜 : 1997 년 12 월 10 일 오후 3:36:19
Perl 개발자 (Perl 언어를 개발하는 개발자)에게 특별한 요청이 있습니다. 나는 이것이 (perl5 포터)가 올바른 목록이기를 바랍니다. 파이썬 string-sig는 내가 여기서 논의하고있는 대부분의 작업의 기원이기 때문에 참조합니다.
아마도 파이썬을 알고있을 것입니다. 저는 Python의 제작자입니다. 올해 말까지 다음 "주요"버전 인 Python 1.5를 출시 할 계획입니다. 앞으로 파이썬과 펄이 공존 할 수 있기를 바랍니다. 교차 수분은 두 언어 모두에 유용 할 수 있습니다. (Larry는 Perl 5에 객체를 추가했을 때 Python을 잘 보았으며 O'Reilly는 두 언어에 관한 책을 출판합니다.)
아시다시피 Python 1.5는 Perl의 구문과 더 일치하는 새로운 정규식 모듈을 추가합니다. 우리는 파이썬의 구문 내에서 가능한 한 Perl 구문에 가깝게 노력했습니다. 그러나 정규식 구문에는 파이썬 특정 확장명이 있으며, 모두 (? P로 시작합니다. 현재 두 가지가 있습니다.
(?P<foo>...)
일반 그룹 괄호와 유사하지만
그룹이 일치 한 텍스트 는 기호 그룹 이름 "foo"를 통해 일치가 수행 된 후 액세스 할 수 있습니다.
(?P=foo)
"foo"라는 그룹과 일치하는 문자열과 일치합니다. 그룹이
숫자가 아닌 이름으로 참조된다는 점을 제외하고 \ 1, \ 2 등과 같습니다 .
이 Python 전용 확장 프로그램이 Perl 정규식 구문에 대한 향후 Perl 확장 프로그램과 충돌하지 않기를 바랍니다. 당신이 사용할 계획이있는 경우 (? P, 우리는 충돌을 해결할 수 있도록 우리가 가능한 한 빨리 알려 주시기 바랍니다. (? P 구문은 영구적으로 파이썬 특정 구문 확장을 위해 예약 할 수 있다면, 그렇지 않으면 좋을 것이다. (IS를 어떤 종류의 확장 레지스트리가 있습니까?)
[...] 현재로서는 레지스트리가 없습니다. 귀하의 외부 perl5 포터 외부로부터의 첫 번째 요청이므로 매우 낮은 대역폭의 활동입니다. (죄송합니다. 지난 주 인터넷 세계에서 뉴욕을 떠났습니다.)
어쨌든, 내가 걱정하는 한, 당신은 확실히 내 축복으로 'P'를 가질 수 있습니다. (분명히 Perl은이 시점에서 'P'가 필요하지 않습니다. :-) [...]
그래서 P의 원래 선택이 패턴에 의해 동기가 된 것이 무엇인지 모르겠습니다. 자리 표시 자? 펭귄? -하지만 왜 항상 파이썬과 관련이 있는지 이해할 수 있습니다. (1) 정규 표현식이 마음에 들지 않고 가능한 한 피하는 것이 좋습니다. (2) 15 년 전에이 스레드가 발생했습니다.
P
의 약자Placeholder
.