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

如何用Regex排除含特定字符串的匹配?DOCX转XHTML列表处理

如何排除包含特定字符串的正则匹配?

我查了相关主题的帖子,但没找到能解决问题的方案。核心问题是把DOCX文档转换成XHTML(即EPUB格式)后,嵌套列表的格式出了问题,示例HTML代码如下:

<ol style="list-style-type: decimal">
<li>lorem1</li>
<li>lorem2</li>
<li>lorem3</li>
<li>lorem4</li>
</ol>
<ol style="list-style-type: lower-alpha">
<li>ipsum-a</li>
</ol>
<ol style="list-style-type: lower-alpha">
<li>ipsum-b</li>
<li>ipsum-c</li>
<li>ipsum-d</li>
</ol>
<ol style="list-style-type: decimal">
<li>lorem5</li>
</ol>
<ol style="list-style-type: decimal">
<li>lorem6</li>
</ol>

这是一个包含字母子列表的编号列表,我需要匹配最后两个<ol>标签——它们都是独立的decimal类型块。规则是:只要捕获组中包含lower-alpha,就排除该匹配。期望的匹配结果如下:

<ol style="list-style-type: decimal">
<li>lorem5</li>
</ol>
<ol style="list-style-type: decimal">
<li>lorem6</li>
</ol>

我目前使用的单行正则(模式为//gs)如下:

(<ol[^>]+(?=decimal)[^>]+">\s*)(.*?)(<ol[^>]+(?=decimal)[^>]+">)

但这个正则的匹配结果不正确,因为它包含了带有lower-alpha的标签组。我尝试过使用负前瞻,但没有得到任何匹配结果。我是正则新手,不确定条件匹配或子函数这类元素能不能帮上忙,恳请大家提供帮助。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 16:53:20