Mik*_*ike 2 php regex preg-replace preg-replace-callback preg-match
我得到以下字符串:
last_name, first_name
bjorge, philip
kardashian, [kghim]
mer#$##Code:menu:51587daa7030e##$#cury some more
data #$##Code:menu:515r4387daa7dsf030e##$#, freddie
Run Code Online (Sandbox Code Playgroud)
我试图用函数替换中间的代码:'codeParser'正则表达式是:
$PC_File = preg_replace_callback("(?=\#\$\#\#).*?(?<=\#\#\$\#)", 'codeParser', $PC_File);
Run Code Online (Sandbox Code Playgroud)
但得到这个错误:
PHP Warning: preg_replace_callback() : Unknown modifier '.'
Run Code Online (Sandbox Code Playgroud)
您需要将正则表达式包装在分隔符中.它正在考虑()立即成为分隔符,并.作为修饰符(当然无效).
"/(?=#\\$##).*?(?<=##\\$#)/"
Run Code Online (Sandbox Code Playgroud)
(我也很确定#除非你用它们作为分隔符,否则不需要转义)
编辑:你需要\\正确地逃避$双引号.