Dato che tutti indoviniamo, potrei anche dare il mio: ho sempre pensato che fosse Python. Può sembrare piuttosto stupido - cosa, P per Python ?! - ma a mia difesa, ho vagamente ricordato questo thread [enfatizzare il mio]:
Oggetto: Rivendicazione (? P ...) estensioni della sintassi della regex
Da: Guido van Rossum (gui ... @ CNRI.Reston.Va.US)
Data: 10 dic 1997 15:36:19
Ho una richiesta insolita per gli sviluppatori Perl (quelli che sviluppano il linguaggio Perl). Spero che questo (perl5-porters) sia la lista giusta. Sto scrivendo il Python string-sig perché è l'origine della maggior parte del lavoro di cui sto discutendo qui.
Probabilmente sei a conoscenza di Python. Sono il creatore di Python; Sto programmando di rilasciare una prossima versione "principale", Python 1.5, entro la fine di quest'anno. Spero che Python e Perl possano coesistere negli anni a venire; l'impollinazione incrociata può essere utile per entrambe le lingue. (Credo che Larry abbia dato una buona occhiata a Python quando ha aggiunto oggetti a Perl 5; O'Reilly pubblica libri su entrambe le lingue.)
Come forse saprai, Python 1.5 aggiunge un nuovo modulo di espressione regolare che si avvicina maggiormente alla sintassi di Perl. Abbiamo cercato di essere il più vicino possibile alla sintassi Perl all'interno della sintassi di Python. Tuttavia, la sintassi regex ha alcune estensioni specifiche di Python, che iniziano tutte con (? P. Attualmente ce ne sono due:
(?P<foo>...)
Simile alle normali parentesi di raggruppamento, ma il testo
corrispondente al gruppo è accessibile dopo che la corrispondenza è stata eseguita, tramite il nome simbolico del gruppo "pippo".
(?P=foo)
Corrisponde alla stessa stringa corrispondente a quella del gruppo "pippo". Equivalente a \ 1, \ 2, ecc. Tranne per il fatto che al gruppo viene fatto riferimento
per nome, non per numero.
Spero che questa estensione specifica di Python non sia in conflitto con eventuali future estensioni Perl alla sintassi della regex del Perl. Se avete intenzione di utilizzare (? P, fatecelo sapere al più presto possibile in modo che possiamo risolvere il conflitto. In caso contrario, sarebbe bello se il (? Sintassi P potrebbe essere riservato in modo permanente per le estensioni di sintassi Python-specifiche. (Is c'è una specie di registro delle estensioni?)
a cui Larry Wall rispose:
[...] Al momento non esiste alcun registro: la tua è la prima richiesta dall'esterno di perl5-porter, quindi è un'attività a larghezza di banda piuttosto bassa. (Mi dispiace che la settimana scorsa fosse ancora più bassa - ero fuori a New York su Internet World.)
Ad ogni modo, per quanto mi riguarda, potresti sicuramente avere 'P' con la mia benedizione. (Ovviamente Perl non ha bisogno della 'P' a questo punto. :-) [...]
Quindi non so quale sia stata la motivazione della scelta originale di P - pattern? segnaposto? pinguini? - ma puoi capire perché l'ho sempre associato a Python. Il che, considerando che (1) non mi piacciono le espressioni regolari ed evitarle laddove possibile, e (2) questa discussione è avvenuta quindici anni fa, è un po 'strano.
P
sta perPlaceholder
.