PHP 正则表达式不起作用


PHP Regex not working

我想替换文本中的所有$[0-9a-f][0-9a-f][0-9a-f],但使用以下正则表达式(PHP)不起作用。

我有文字

$000T$111e$222s$333t

但是用我的正则表达式

preg_replace("'$[0-9a-fA-F]{3}", "", $text);

它不起作用。

预期:

Test

返回值:空字符串

我在像DebuggEx这样的网站上尝试了正则表达式,我的表达式效果很好。

可能导致此问题的原因是什么?

如果使用双引号,则应转义'':

preg_replace("/''$[0-9a-fA-F]{3}/", "", $text);

或更容易使用单引号:

preg_replace('/'$[0-9a-fA-F]{3}/', '', $text);