Skip to main content
 首页 » 编程设计

c#之单个正则表达式去除除 anchor 之外的所有 HTML

2024年02月25日28mq0036

这里的版本已经被问过好几次了,使用这些版本我能够得到两个不同的 ReGex 语句。

剥离所有 HTML 的一个

1. <[^>]*> 

还有一个去除除了 anchor 标签之外的所有东西

2. <a[^>]*>([^<]+)<\/a> 

我不希望将它们组合起来得到一个去除所有 HTML 但保持 anchor (1+!2) 的正则表达式。因此,我目前使用第一个正则表达式遍历我的 HTML,如果我遇到通常位于 anchor 内的某个关键字,那么我使用第二个正则表达式遍历 Body 并将两者结合起来。

这显然不理想,很可能会错过许多 anchor 。

匹配所有 HTML 但 anchor 看起来像的单个正则表达式会是什么样子?/1?!2/

测试数据:https://www.regextester.com/?fam=105725我需要全部大写的所有内容及其周围的 anchor 。

请您参考如下方法:

无视我自己的评论 ;) - 这就是您想要的吗?

替换

<((?!a|\/a)[^>]*)>\s* 

空字符串。

开盘后负面前瞻<确保它忽略 anchor 。

Here at regex101 .