You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP正则表达式:排除三类匹配内容提取剩余文本

解决方案:单正则移除指定内容并提取剩余文本

需求说明

  • 移除1个以title:开头、空格结束的字符串
  • 移除1个以body:开头、空格结束的字符串
  • 移除多个以#开头、空格结束的字符串
  • 提取并整理剩余文本(去除多余空格)

实现代码

$inputStr = 'title:hello mexico body:something #css#php #html city';
// 移除三类指定内容
$tempStr = preg_replace('/\b(title:\S+|body:\S+|#\S+)\s?/u', '', $inputStr);
// 清理首尾空格并合并中间连续空格
$result = preg_replace('/\s+/', ' ', trim($tempStr));

echo $result; // 输出:mexico city

正则表达式解释

/\b(title:\S+|body:\S+|#\S+)\s?/u

  • \b:单词边界,确保匹配完整的目标前缀,避免部分匹配
  • title:\S+:匹配title:开头的完整前缀(直到空格为止的非空格内容)
  • body:\S+:匹配body:开头的完整前缀(规则同上)
  • #\S+:匹配所有#开头的内容(包括连续的#xxx#yyy这类无空格的情况)
  • \s?:匹配目标内容后的可选空格,减少后续清理空格的工作量
  • /u:启用Unicode支持,兼容多语言字符,与原正则的字符范围规则保持一致

内容的提问来源于stack exchange,提问作者Walid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 03:01:08