Php wordpress中的正则表达式假分隔符
我是正则表达式的新手,我有一个简单的疑问 我在wordpress中找到了这个代码Php wordpress中的正则表达式假分隔符,php,regex,wordpress,Php,Regex,Wordpress,我是正则表达式的新手,我有一个简单的疑问 我在wordpress中找到了这个代码 $self = preg_replace('|^.*/wp-admin/|i', '', $self); 根据。不允许作为分隔符 有人能解释一下代码吗?你试过了吗 从您的: 使用PCRE函数时,要求图案用分隔符括起来。分隔符可以是任何非字母数字、非反斜杠、非空白字符 因此,|是一个完全有效的分隔符。当您阅读该页面上的注释时,他们建议不要使用元字符(如|)作为分隔符,而应该在正则表达式中使用元字符 因为在您的示例
$self = preg_replace('|^.*/wp-admin/|i', '', $self);
根据。
不允许作为分隔符
有人能解释一下代码吗?你试过了吗
从您的:
使用PCRE函数时,要求图案用分隔符括起来。分隔符可以是任何非字母数字、非反斜杠、非空白字符
因此,|
是一个完全有效的分隔符。当您阅读该页面上的注释时,他们建议不要使用元字符(如|
)作为分隔符,而应该在正则表达式中使用元字符
因为在您的示例中没有替换(“|^.*/wp admin/| i”,“$self”)代码>没有问题,它正在按预期工作
当您在正则表达式中有一个替换(例如,preg_match(“|(F | F)oo |”,“Foobar”)
)时,您将得到一个警告“未知修饰符‘F’”,因为解释器认为正则表达式在第一个替换处结束
结论:允许但不建议使用正则表达式元字符,如|
,^
,+
。。。作为正则表达式分隔符。