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

Mat*_*mar 1 php regex

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

preg_grep( "/^". $name . "$/i", $values);
Run Code Online (Sandbox Code Playgroud)

但它不适用于具有"娱乐(通用)"等特殊字符的字符串.

找到一个相关的线程,但它的java脚本,它也没有帮助.

Tim*_*per 5

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

preg_grep( "/^". preg_quote($name, '/') . "$/i", $values);
Run Code Online (Sandbox Code Playgroud)

文档:

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