3
は、画像用のgzip圧縮を回避するための行があります:どういう意味ですか?:意味ですか? Apacheの設定ファイルで
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
私はmyfile.*:gif
よう.gif
ファイル名が存在する可能性が信じていません。
?:
の意味は?
は、画像用のgzip圧縮を回避するための行があります:どういう意味ですか?:意味ですか? Apacheの設定ファイルで
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
私はmyfile.*:gif
よう.gif
ファイル名が存在する可能性が信じていません。
?:
の意味は?
この特定部分(?:gif|jpe?g|png)
は、(gif|jpe?g|png)
とほぼ同じものです。
ここでの違いは、最初のものが括弧内のグループを「取得」しないことです。言い換えれば、試合を見ると、最初の例のものは特別なグループには含まれません。
通常、アイテムをカッコで囲むと、「キャプチャグループ」と呼ばれます。言い換えれば、正規表現とテキストをマッチングさせた結果を見ると、かっこ内のものは後で調べるために 'グループ'に入れられます。 (?:stuff)
を使用すると、カッコ内のものは正規表現でグループ化されますが、キャプチャグループとはみなされません。
これは、あなたが画像の束のファイル名を一致させたい場合は、ボット名以上を捕捉しない役に立つことができます:
この正規表現に対してファイルを照合すると、ファイル名だけがキャプチャされます"([^.]\.)(?:gif|png|tiff)"
。ファイル拡張子は、キャプチャグループに含まれていないため、表示されません。
+1私の答えは削除されています。これは、リンクを追加するだけで役立ちます。http://www.regular-expressions.info/brackets.html – Vojta
@Vojita、あなたの答えを保つことをお勧めします。 2つの良いものを傷つけることはありません。 – jjnguy