【发布时间】:2015-10-11 14:25:39
【问题描述】:
使用 Notepad++,技术写作部门需要从如下文本中删除 <span class..>xxx</span> 标签:
`<span class="temp">See</span> Problems pane <span class="temp">for more <b>information</b>.</span>`
(澄清:) 期望的结果是没有 span 标签的元素的内部文本。上述示例的输出将是:
`See Problems pane for more <b>information</b>.`
我认为我需要的是这样的:
查找:<span..>(capture anything except "</span>")</span>
替换:\1
我不能使用([^<])* 作为捕获组,因为跨度中有其他标签,例如示例中的<b>。
我不能使用<span class=\"temp\">(.*)</span>,因为一行可能有两个这样的。
我已经尝试使用非贪婪语法关闭整个标签,并使用我在其他帖子中找到的示例计算 {1} 语法,但我无法让它工作。
我找到了几篇关于否定表达式的帖子,但无法让它们在捕获组中的否定 HTML 标记上工作。有一个帖子包含我的确切问题,但使用的是 PHP 而不是 Notepad++。
如果有任何建议,我将不胜感激。
【问题讨论】:
-
使用任何 xml 解析器怎么样?
-
检查我的答案。它会帮助你。
-
您需要保留其他标签并删除
<span>吗?我不清楚 -
是的。我特别需要删除某个类的跨度标签并保留所有其他标签。