【发布时间】:2018-11-24 22:26:54
【问题描述】:
在我的 C# 应用程序中,我试图通过使用正则表达式过滤掉我的一些 XML 元素。
我的输入例如:
<myXMLTag id="Text1.Text2.Text3">
<Anything/>
</myXMLTag>
<myXMLTag id="Text1.ISHOULDNOTBEHERE.Text3">
<Anything/>
</myXMLTag>
<myXMLTag id="Text1.Text2.Text3">
<Anything/>
</myXMLTag>
我在http://regexstorm.net/tester 上尝试了一些正则表达式,但它总是标记前两个<myXMLTag>,而不仅仅是中间那个。
图案:
<myXMLTag.*Text1.+(ISHOULDNOTBEHERE)+.*?</(myXMLTag)>
我需要一个模式,它只能在 XML 字符串中找到 XML 元素,看起来像中间那个。
【问题讨论】:
-
那么你是想全部匹配还是只匹配中间那个
-
我只是想让正则表达式匹配中间那个。
-
XY problem。永远不要使用 Regex 进行 XML 解析/操作。使用您选择的 XML 库中的 XML 函数。
-
您真的需要为相关搜索关键字添加一个 + 量词吗?
-
@UweKeim 那不是问题。感谢您重复我在我的问题中所说的内容,但评论没有一点帮助。