PHP正则表达式找到非空格字母

hau*_*ilt 2 php regex preg-replace

我想替换F而不是\ F.

我试过以下代码,没有任何运气.

preg_replace("/[^\\]F/", "f", $str);
Run Code Online (Sandbox Code Playgroud)

Dam*_*amp 6

试试这个 :

preg_replace("/(?<!\\\)F/", "f", $str);
Run Code Online (Sandbox Code Playgroud)

  • 这称为零宽度负后视断言.您可以在http://perldoc.perl.org/perlre.html找到有关该主题的更多信息(不是很容易阅读但非常全面).基本上,它查找每个前面没有\的F(如另一个答案所述,反斜杠需要在那里3次,一次用于字符串转义,一次用于正则表达式转义) (2认同)