preg_match('@\.php@',$url,$match)
一般:-
- スラッシュ
- 引用
- 二重引用符
他のもの?
@
、、エスケープする必要が?
ありますか?=
ここのPHPドキュメントに特別な正規表現文字のリストがあります:http://php.net/manual/en/function.preg-quote.php
特別な正規表現文字は次のとおりです。
. \ + * ? [ ^ ] $ ( ) { } = ! < > | : -
preg_quote
おそらく、この関数が役立つでしょう。
preg_quote()はstrを受け取り、正規表現構文の一部であるすべての文字の前に円記号を置きます。これは、一部のテキストで一致させる必要のあるランタイム文字列があり、その文字列に特殊な正規表現文字が含まれている可能性がある場合に役立ちます。
特別な正規表現文字は次のとおりです。\ + *?[^] $(){} =!<> | :-
@
?
バックスラッシュする必要がありますが、すべきで=
はありません。
正規表現でバックスラッシュエスケープする必要がある文字は次のとおりです。
[]
()
{}
^
$
.
|
*
+
?
\
さらに、この場合@
、正規表現の区切り文字をバックスラッシュする必要があります。
特定の文字は、特定のコンテキストではメタ文字である可能性があることに注意することが重要です。たとえば、ハイフンは、次の文字列で示される正規表現のメタ文字ではありません。
"/foo-/"
ただし、は次の文字列のメタ文字です。
"/foo[a-z]/"