php preg_match 在符号

yzh*_*ang 2 php regex preg-match

您好,我想在以下行中匹配“@”,

create@create_time:"2012-05-30 21:14:35.0",update_time:"2012-05-31 22:05:46.0"

preg_replace("@", "", $content)

preg_replace("\@", "", $content)
Run Code Online (Sandbox Code Playgroud)

他们都没有工作。

Sel*_*edy 5

对于后代:万一有人偶然发现这一点,因为他们对正则表达式中使用 at 符号感到困惑,正则表达式是其他人代码的一部分,@偶尔用作开始和结束regex-delimiter。下面的引文还涉及为什么 OP 尝试匹配文字 '@' 的尝试不成功(重点是我的):

使用 PCRE 函数时,需要使用分隔符将模式括起来。分隔符可以是任何非字母数字、非反斜杠、非空白字符。

换句话说,任何正则表达式字符串都必须以字符类标识的匹配字符开始和结束,[^A-Za-z\s\\]或者——如果你觉得你可以处理它们的使用可能给你带来的任何麻烦——一对匹配的分组字符<> {} [] ()