php preg_match 在标志处

标签 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)

它们都不工作。

最佳答案

对于后代:如果有人因为对作为其他人代码一部分的正则表达式中的 at 符号的使用感到困惑而无意中发现了这一点,@偶尔用作开始和结束 regex-delimiter .下面的引述还涉及到为什么 OP 尝试匹配文字“@”失败(强调我的):

When using the PCRE functions, it is required that the pattern is enclosed by delimiters. A delimiter can be any non-alphanumeric, non-backslash, non-whitespace character.

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

关于php preg_match 在标志处,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11023790/

相关文章:

php - 如何使用 php 创建谷歌两因素身份验证?

php - 哪种 MySQL 排序规则与 PHP 的字符串比较完全匹配?

regex - 如果最后一个字符是空格,则负先行不捕获空格

php - 什么正则表达式将检查 GPS 值?

php - preg_match 验证 URL slug

php - mysql 查询错误没有重复 - 但如何让它跳过错误并继续执行其他错误?

php - 我想使用 mysql where 命令从 laravel 中的数据库返回一个值

正则表达式从文件中提取多行

python - 如何使用 Python 和 Pandas 查找具有单个字符的句子

php - Preg_match 文本文件并在单个代码中显示多个结果