Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 引用文本和特殊字符的正则表达式_C#_.net_Xml_Regex - Fatal编程技术网

C# 引用文本和特殊字符的正则表达式

C# 引用文本和特殊字符的正则表达式,c#,.net,xml,regex,C#,.net,Xml,Regex,我试图在.NET中找到一个正则表达式,它可以检测用引号括起来的XML特殊字符。它们也可以包含其他字符,但必须至少存在一个以下字符&' 火柴 "Hello &" "& Something" "Testing <>" 我尝试过[&\\\'\w\s]+之类的表达式,但是这个正则表达式确实接受缺少特殊字符的字符串 此表达式的目的是从可能使解析器崩溃的特殊字符中清除所有XML属性。您的正则表达式表示这些字符的任何字符串(例如。\w)都应该匹配。请尝试以下方法: ^.*

我试图在.NET中找到一个正则表达式,它可以检测用引号括起来的XML特殊字符。它们也可以包含其他字符,但必须至少存在一个以下字符<>&'

火柴

"Hello &"
"& Something"
"Testing <>"
我尝试过[&\\\'\w\s]+之类的表达式,但是这个正则表达式确实接受缺少特殊字符的字符串


此表达式的目的是从可能使解析器崩溃的特殊字符中清除所有XML属性。

您的正则表达式表示这些字符的任何字符串(例如。\w)都应该匹配。请尝试以下方法:

    ^.*[&<>\"\'].*$
不过,你不需要逃避这些引用


我希望您使用的是DOM解析器来检索属性值…

如果没有转义包含在引号中的引号,这将非常棘手,因为任何正则表达式模式都不知道哪个引号是结尾,哪个引号只是匹配中的引号。此外,您的匹配失败,因为您的角色类只要求包含一个字符,而不是所有字符。因为您可能只需要查找两个以上的字符。字符串是否以开头和结尾?此外,如果您需要按顺序显示,可以尝试以下方法:^.*[&']|.*$。这是如何处理内部的?我认为他的问题是指从属性值中删除特殊字符,并用引号括起来,这正是他的描述方式。我在回答中建议他应该使用DOM解析器来检索这些属性值。如果他纯粹是想用正则表达式来做这件事,那么我也没有答案。我也不知道他是什么意思。我现在拥有的是一个包含XML格式数据的字符串。。如果我尝试将该字符串加载到XMLDocument对象中,如果属性中有任何无效字符,它将崩溃,这就是我被卡住的原因。
    ^.*[&<>\"\'].*$