c# - 如何使用正则表达式获取内部颜色标签匹配?
问题描述
我有这个问题,我应该使用什么模式在其他颜色标签中查找所有富文本颜色标签?
所以例如我有这个输入:
<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>
我需要这个的原因是因为我使用正则表达式将代码荧光笔应用于文本框中的文本,并且一些关键字在注释中被着色,如下例所示
所以我想检查并删除颜色标签中是否有任何颜色标签,就像在这个评论示例中一样。
我对正则表达式很陌生,所以目前有点迷茫,不知道该怎么做。有人可以给我一些建议,我该如何做到这一点?:) 谢谢!
解决方案
删除除第一个和最后一个之外的所有标签,您可以使用以下正则表达式获得您想要的,
(?<!^)<[^>]*>(?!$)
这基本上匹配除了第一个和最后一个使用否定环视的所有标签。让我知道这是否适用于您的场景,否则我可以进一步加强正则表达式。
推荐阅读
- java - 如何在 Java REST API 中向 GetMapping 添加逻辑
- ms-access-2013 - 访问更新 SQL
- android - IllegalStateException:片段
不与片段管理器关联 - c# - PostSharp:仅包含一些类或一些方法
- java - 复合 UniqueConstraint 上的级联更新 ConstraintViolationException
- python - Python selenium 代码似乎在调用显示模式对话框的 javascript 后等待
- swift - SwiftUI swizzling 默认禁用,手机身份验证不起作用
- css - 为什么我的图像在容器内无法正确调整大小
- json - 如何将powershell json响应转换为csv
- c - 访问结构的 char 属性