如何使用正则表达式获取内部颜色标签匹配?

问题描述 投票:0回答:1

我有这个问题,应该使用什么模式来查找其他颜色标签中的所有富文本颜色标签?

例如,我有这个输入:

<color=yellow>Hello <color=cyan>World!</color></color>

并且通过替换为空字符串匹配的标记并在之后将其作为输入来删除:

<color=yellow>Hello World!</color>

例如,其中甚至可以包含更多标签:

<color=yellow>Hello my <color=cyan>name</color> is <color=gray>Kite <color=white>Watson!</color></color></color>

并在之后拥有:

<color=yellow>Hello my name is Kite Watson!</color>

之所以需要它,是因为我使用Regex将代码突出显示应用于文本框中的文本,并且注释中的某些关键字被着色,如下面的示例所示

enter image description here

因此,我想检查并删除颜色标签内是否有任何颜色标签,例如在此注释示例中。

我对Regex相当陌生,因此目前有点迷茫,不知道该怎么办。有人可以给我一些有关如何完成此操作的建议吗? :)谢谢!

c# regex tags pattern-matching richtext
1个回答
1
投票

删除第一个和最后一个标记之外的所有标记,并使用以下正则表达式获得所需的内容,

(?<!^)<[^>]*>(?!$)

这基本上与所有标签匹配,除了第一个和最后一个使用否定环顾。让我知道这是否适合您的情况,否则我可以进一步加强正则表达式。

Check this Demo

© www.soinside.com 2019 - 2024. All rights reserved.