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

如何用Regex删除指定单词两侧字符,遇分号;即停止?

正则表达式:删除指定单词两侧字符(遇分号停止)

需求说明

需要一个正则表达式,实现以下逻辑:

  • 定位指定目标单词,从单词的左右两侧分别遍历字符
  • 每侧遇到第一个分号;时停止删除,保留分号及对应方向的剩余内容
  • 若处理后无有效内容留存,返回空值

示例(以目标单词url为例)

有效输入(处理后均返回1;2)

  • 输入:123url456 789;1;2
  • 输入:1;123url 456;2
  • 输入:1;2;()url()
  • 输入:1;2;88^url();
  • 输入:1;2;url789 999
  • 输入:url3772;1;2

无效输入(处理后均返回空值)

  • 输入:;123url 123;
  • 输入:22 url123

正则实现方案

针对目标单词url,可以使用以下正则进行替换操作(将匹配到的内容替换为空字符串):

^[^;]*url[^;]*$|^[^;]*url|url[^;]*$

规则解释

  1. ^[^;]*url[^;]*$:匹配整个字符串无分号且包含url的情况,直接匹配全串替换为空(对应无效输入的第二种情况)
  2. ^[^;]*url:匹配从字符串开头到url的左侧无分号内容,替换为空
  3. url[^;]*$:匹配从url到字符串结尾的右侧无分号内容,替换为空

通用适配

如果需要适配任意目标单词,只需将正则中的url替换为你的目标单词即可。比如目标单词是path,正则改为:

^[^;]*path[^;]*$|^[^;]*path|path[^;]*$

覆盖场景

该正则支持所有要求的场景:

  • 单词两侧均有分号
  • 仅左侧有分号
  • 仅右侧有分号
  • 两侧均无分号(此时若无有效分号内容留存则返回空)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 04:30:34