この行の目的は、要求URIからopenid.something=value
のような値を削除することです。
regexを散文に翻訳するツールがあります。これは、正規表現がどのようなものに一致しようとしているのかを理解するのに役立ちます。あなたは、説明のように戻ってくるsuch a toolに渡されたとき、例えば:
NODE EXPLANATION
--------------------------------------------------------------------------------
( group and capture to \1:
--------------------------------------------------------------------------------
(?<= look behind to see if there is:
--------------------------------------------------------------------------------
\? '?'
--------------------------------------------------------------------------------
) end of look-behind
--------------------------------------------------------------------------------
| OR
--------------------------------------------------------------------------------
& '&'
--------------------------------------------------------------------------------
) end of \1
--------------------------------------------------------------------------------
openid 'openid'
--------------------------------------------------------------------------------
\. '.'
--------------------------------------------------------------------------------
[^&]+ any character except: '&' (1 or more times
(matching the most amount possible))
以上が言うように、正規表現はない&
何も続いopenid.
、続い?
または&
を探します。結果の一致には、前には&
が含まれていますが、後者にはlook behindが使用されているため、?
は含まれません。
'?openid = xx'を' REQUEST_URL'から削除し、その結果を '$ uri'という新しい変数に入れているようです。 – RobertPitt