preg_match('@\.php@',$url,$match)
普通的: -
其他人?
应该转义@
,?
,=
吗?
答案 0 :(得分:4)
PHP文档中有一个特殊的正则表达式字符列表:http://php.net/manual/en/function.preg-quote.php
特殊正则表达式字符为:
. \ + * ? [ ^ ] $ ( ) { } = ! < > | : -
答案 1 :(得分:2)
也许你会发现preg_quote
函数很有用:
preg_quote()接受str并在每个前面放一个反斜杠 作为正则表达式语法一部分的字符。这是 如果你有一个运行时字符串,你需要匹配一些 text和字符串可能包含特殊的正则表达式字符。
特殊的正则表达式字符是:。 \ + *? [^] $(){ } =! &LT; &GT; | : -
答案 2 :(得分:2)
@
和?
应该反斜杠,=
不应该。
正则表达式中反斜杠转义所需的字符包括:
[]
()
{}
^
$
.
|
*
+
?
\
此外,您的正则表达式分隔符(在本例中为@
)需要反斜杠。
重要的是要注意某些字符在某些上下文中可能是元字符。例如,连字符不是此字符串表示的正则表达式中的元字符:
"/foo-/"
但 是以下字符串中的元字符:
"/foo[a-z]/"