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

正则表达式匹配替换问题:替换<p class="text_obisnuit">内的<br>并消除多余</p>

正则表达式匹配替换问题:替换

内的
并消除多余

嘿,我懂你的困扰!你现在用的正则能把目标段落里的<br>换成</p>,但原来段落末尾自带的</p>还留在那儿,结果就出现了重复的结束标签,这显然不是你想要的效果。

给你个一步到位的解决方案,直接把<br>和它后面跟着的空白(包括换行)以及多余的</p>一起匹配,替换成单个</p>就搞定了:

针对当前场景的具体正则

  • FIND:(?s)<p class="text_obisnuit">(.*?)<br>\s*</p>
  • REPLACE BY:<p class="text_obisnuit">$1</p>

简单解释下这个正则:

  • (?s):开启单行模式,让.可以匹配换行符,这样就算<br>和</p>之间隔了换行也能精准匹配
  • <p class="text_obisnuit">:精准定位你要处理的段落起始标签
  • (.*?):非贪婪捕获<br>之前的所有内容,存到分组1里,避免过度匹配吞掉不该处理的内容
  • <br>\s*</p>:匹配<br>、任意数量的空白(比如换行、空格)以及段落结束标签
  • 替换时,把整个匹配内容换成「起始标签 + 分组1的内容 + 单个结束标签」,完美解决重复</p>的问题

如果要套用你给出的通用公式(BSR = <p class="text_obisnuit">,FR = <br>,ESR = </p>),通用版的正则可以写成:

  • FIND:(?s)({BSR})(.*?)({FR}\s*){ESR}
  • REPLACE BY:$1$2{ESR}

这样后续你调整BSR、FR这些变量时,直接替换就能用啦。

备注:内容来源于stack exchange,提问作者Just Me

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.16 07:20:33