私たち全員が推測しているので、私も同じように考えます。これは、Pythonの意味であると常に思っていました。それはかなりばかげて聞こえるかもしれません-PythonのPとは!?-しかし私の弁護では、このスレッドをぼんやりと思い出しました [強調は私のものです]:
件名:(?P ...)正規表現構文拡張の要求
差出人:グイドファンロッサム(gui ... @ CNRI.Reston.Va.US)
日付:1997年12月10日15:36:19
Perl開発者(Perl言語を開発する開発者)に対して、珍しい要求があります。これ(perl5-porters)が正しいリストであることを願っています。ここで説明しているほとんどの作業の起源であるPythonのstring-sigをccしています。
あなたはおそらくPythonを知っています。私はPythonの作成者です。今年の終わりまでに、次の「メジャー」バージョンであるPython 1.5をリリースする予定です。PythonとPerlが今後数年で共存できることを願っています。受粉は両方の言語に適しています。(LarryがPerl 5にオブジェクトを追加したとき、Pythonをよく見ていたと思います。O'Reillyは両方の言語に関する本を出版しています。)
ご存知かもしれませんが、Python 1.5では、Perlの構文により厳密に一致する新しい正規表現モジュールが追加されています。私たちは、Pythonの構文内で可能な限りPerl構文に近くなるように努めました。ただし、正規表現構文には、Python固有の拡張機能がいくつかあり、すべて(?Pで始まります。現在、2つの拡張機能があります。
(?P<foo>...)
通常のグループ化括弧と似ていますが、テキスト
が、グループが一致しは、一致が実行された後、シンボリックグループ名「foo」を介してアクセスできます。
(?P=foo)
「foo」という名前のグループが一致するものと同じ文字列に一致します。グループが参照されることを除いて、\ 1、\ 2などと同等
番号ではなく名前でされるです。
このPython固有の拡張機能が今後のPerl正規表現構文のPerl拡張機能と競合しないことを願っています。(?Pを使用する予定がある場合は、競合を解決するためにできるだけ早くお知らせください。 それ以外の場合は、(?P構文をPython固有の構文拡張用に永久的に予約できれば便利です。 (Is拡張機能のある種のレジストリはありますか?)
ラリー・ウォールが答えた:
[...]現在のところ、レジストリはありません。あなたのものは、外部のperl5-portersからの最初のリクエストであるため、かなり低帯域幅のアクティビティです。(申し訳ありませんが先週はさらに低くなりました-私はニューヨークのInternet Worldにいました。)
とにかく、私に関する限り、あなたは確かに私の祝福に 'P'を持っているかもしれません。(明らかに、この時点ではPerlは 'P'を必要としません。:-) [...]
したがって、Pの元の選択が何によって動機付けられたのかわかりません-パターン?プレースホルダー?ペンギン?-しかし、なぜ私がそれを常にPythonに関連付けてきたのか理解できます。(1)正規表現が好きではなく、可能な限り回避すること、および(2)このスレッドが15年前に発生したことを考えると、奇妙なことです。
P
の略ですPlaceholder
。