C# 引用文本和特殊字符的正则表达式
我试图在.NET中找到一个正则表达式,它可以检测用引号括起来的XML特殊字符。它们也可以包含其他字符,但必须至少存在一个以下字符<>&' 火柴C# 引用文本和特殊字符的正则表达式,c#,.net,xml,regex,C#,.net,Xml,Regex,我试图在.NET中找到一个正则表达式,它可以检测用引号括起来的XML特殊字符。它们也可以包含其他字符,但必须至少存在一个以下字符&' 火柴 "Hello &" "& Something" "Testing <>" 我尝试过[&\\\'\w\s]+之类的表达式,但是这个正则表达式确实接受缺少特殊字符的字符串 此表达式的目的是从可能使解析器崩溃的特殊字符中清除所有XML属性。您的正则表达式表示这些字符的任何字符串(例如。\w)都应该匹配。请尝试以下方法: ^.*
"Hello &"
"& Something"
"Testing <>"
我尝试过[&\\\'\w\s]+之类的表达式,但是这个正则表达式确实接受缺少特殊字符的字符串
此表达式的目的是从可能使解析器崩溃的特殊字符中清除所有XML属性。您的正则表达式表示这些字符的任何字符串(例如。\w)都应该匹配。请尝试以下方法:
^.*[&<>\"\'].*$
不过,你不需要逃避这些引用
我希望您使用的是DOM解析器来检索属性值…如果没有转义包含在引号中的引号,这将非常棘手,因为任何正则表达式模式都不知道哪个引号是结尾,哪个引号只是匹配中的引号。此外,您的匹配失败,因为您的角色类只要求包含一个字符,而不是所有字符。因为您可能只需要查找两个以上的字符。字符串是否以开头和结尾?此外,如果您需要按顺序显示,可以尝试以下方法:^.*[&']|.*$。这是如何处理内部的?我认为他的问题是指从属性值中删除特殊字符,并用引号括起来,这正是他的描述方式。我在回答中建议他应该使用DOM解析器来检索这些属性值。如果他纯粹是想用正则表达式来做这件事,那么我也没有答案。我也不知道他是什么意思。我现在拥有的是一个包含XML格式数据的字符串。。如果我尝试将该字符串加载到XMLDocument对象中,如果属性中有任何无效字符,它将崩溃,这就是我被卡住的原因。
^.*[&<>\"\'].*$