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 回答