0
preg_match('@\.php@',$url,$match)

一般:-

  • スラッシュ
  • 引用
  • 二重引用符

他のもの?

@、、エスケープする必要が?ありますか?=

4

3 に答える 3

4

ここのPHPドキュメントに特別な正規表現文字のリストがあります:http://php.net/manual/en/function.preg-quote.php

特別な正規表現文字は次のとおりです。. \ + * ? [ ^ ] $ ( ) { } = ! < > | : -

于 2012-12-08T13:16:13.343 に答える
2

preg_quoteおそらく、この関数が役立つでしょう。

preg_quote()はstrを受け取り、正規表現構文の一部であるすべての文字の前に円記号を置きます。これは、一部のテキストで一致させる必要のあるランタイム文字列があり、その文字列に特殊な正規表現文字が含まれている可能性がある場合に役立ちます。

特別な正規表現文字は次のとおりです。\ + *?[^] $(){} =!<> | :-

于 2012-12-08T13:15:58.507 に答える
2

@?バックスラッシュする必要がありますが、すべきで=はありません。

正規表現でバックスラッシュエスケープする必要がある文字は次のとおりです。

  • 角括弧[]
  • 括弧()
  • 中括弧{}
  • カレット^
  • ドル記号$
  • 限目.
  • パイプ|
  • アスタリスク*
  • プラス+
  • 疑問符?
  • バックスラッシュ\

さらに、この場合@、正規表現の区切り文字をバックスラッシュする必要があります。

特定の文字は、特定のコンテキストではメタ文字である可能性があることに注意することが重要です。たとえば、ハイフンは、次の文字列で示される正規表現のメタ文字ではありません。

"/foo-/"

ただし、次の文字列のメタ文字です。

"/foo[a-z]/"
于 2012-12-08T13:16:29.493 に答える