正则表达式与特殊字符匹配

时间:2012-12-15 15:54:15

标签: php regex

我正在使用以下reg-ex,它可以正常匹配数组的正常字符串,

preg_grep( "/^". $name . "$/i", $values);

然而,它不适用于具有“娱乐(常规)”等特殊字符的字符串。

找到一个相关的thread但它的java脚本,它也无济于事。

1 个答案:

答案 0 :(得分:5)

使用preg_quote函数转义字符串中可能包含的任何特殊字符:

preg_grep( "/^". preg_quote($name, '/') . "$/i", $values);

来自documentation

  

preg_quote()在作为正则表达式语法一部分的每个字符前放置一个反斜杠。如果您有一个需要在某些文本中匹配的运行时字符串,并且该字符串可能包含特殊的正则表达式字符,这将非常有用。