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

正则需求:匹配不属于XML实体的分号后的首个单词

解决XML实体分号干扰的正则提取问题

首先得抓住核心矛盾:你字符串里的>(实际对应显示字符>)里的分号是XML实体的结束标记,不是用来分隔目标单词的独立分号。原来的正则(;[a-z0-9]+)会把所有分号开头的单词都捞出来,所以得想办法排除属于XML实体的分号。

推荐正则表达式

(?<!&[a-z]+);([a-z0-9]+)

正则拆解说明

  • (?<!&[a-z]+):这是负向后行断言,它会检查当前要匹配的分号;前面,是不是&紧跟一串小写字母的结构。这样就能精准排除&gt;这类XML实体里的结束分号,不会误抓关联的word1。
  • ;:匹配我们真正需要的、用来分隔目标单词的分号。
  • ([a-z0-9]+):捕获组,专门提取你想要的word2、word3这类目标单词。

效果验证

把你的测试字符串this &amp;gt;word1 is a special ;word2 with ;word3代入这个正则:

  • &amp;gt;里的分号因为前面是&amp;gt(符合&[a-z]+的结构),会被断言排除,不会匹配到word1
  • 只会命中;word2和;word3,对应的捕获组内容就是word2和word3,完全贴合你的需求。

要是后续遇到其他XML实体(比如&amp;、&lt;),这个正则也能自动排除它们的分号干扰,适用性拉满。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:54:13