Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/280.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# 使用正则表达式替换xml字符串中未定义的标记_C#_Regex_Replace_Tags - Fatal编程技术网

C# 使用正则表达式替换xml字符串中未定义的标记

C# 使用正则表达式替换xml字符串中未定义的标记,c#,regex,replace,tags,C#,Regex,Replace,Tags,我需要替换xml字符串中未定义的标记 示例:sdfsd(仅定义了和) 结果应为:sdfsd dfsdfmoine 和未预定义为和,并且没有结束标记 它必须用正则表达式完成!。 不使用xml加载等 我在与C#Net合作 谢谢 它必须用正则表达式完成!不使用xml加载等 我必须用靴子把这个钉子钉进去!禁止使用锤子之类的工具。这是一个古老的故事:) 你需要提供更多的信息。是否允许嵌套“有效”标记?“有效”标签是否可能随时更改?这需要有多强大 假设您的有效标记列表在任何时候都不会改变,您可以使用正则表达

我需要替换xml字符串中未定义的标记

示例:
sdfsd
(仅定义了

结果应为:
sdfsd dfsdfmoine
未预定义为和,并且没有结束标记

它必须用正则表达式完成!。 不使用xml加载等

我在与C#Net合作

谢谢

它必须用正则表达式完成!不使用xml加载等

我必须用靴子把这个钉子钉进去!禁止使用锤子之类的工具。这是一个古老的故事:)

你需要提供更多的信息。是否允许嵌套“有效”标记?“有效”标签是否可能随时更改?这需要有多强大

假设您的有效标记列表在任何时候都不会改变,您可以使用正则表达式替换:

s/<(?!\/?(your|valid|tags))([^>]*)>/&lt;$1&gt;/g
s/]*)>/$1/g
这个怎么样:

    string s = "<abc> <>sdfsd <dfsdf></abc><def><movie></def>";
    string regex = "<(?!/?(?:abc|def)>)|(?<!</?(?:abc|def))>";
    string result = Regex.Replace(s, regex, match =>
    {
        if (match.Value == "<")
            return "&lt;";
        else
            return "&gt;";
    });
    Console.WriteLine(result);
string s=“sdfsd”;
字符串regex=“)|(?”;
字符串结果=Regex.Replace(s,Regex,match=>
{

如果(match.Value=="重复:标记
中是否有空格?是否有CDATA区域?是否有xml注释?不要使用正则表达式。我知道你说过必须这样做,但你是在做傻事。@Jack:你可能应该包括一个指向上一个问题的链接,并解释为什么它不同。这不仅可以防止错误最后,它也对我们有所帮助,因为我们可以阅读那里的评论,并利用这些评论来提高我们对您需求的理解,或许可以从那里建议的答案中获得一些想法。那里的人问的问题与我问的问题完全相同。为什么不首先将这些信息包括在问题中,而不是让我们发挥作用“猜测需求(TM)"?为什么必须使用正则表达式?什么类型的正则表达式?您可以使用什么类型的正则表达式?正则表达式必须以特定的方式运行还是我们可以自己选择?如果是前者,是什么方式?您将如何测试我们的答案?使用工具?您是否有一个测试用例或框架,它必须在其中运行?您是否可以发布您将要发布的代码正在使用来测试我们的答案?请告诉我们您的所有要求,特别是如果他们将打破显而易见的解决方案。虽然这看起来会根据他给出的要求很好地工作,但不幸的是,我怀疑这不是他想要的,因为如果您阅读他的其他问题,他会写一条评论:
这是我的实际示例,wh我会解决所有的案子。“>sdfsdfasdasdasno…没有新的要求。我很抱歉打扰你:)下次不会了:)@杰克:你得到了你想要的,这才是最重要的。记住,你得到的答案的种类取决于问题的质量,所以如果你花更长的时间使问题更精确,你可能不需要等待太久才能得到你可以使用的答案。我们不需要几页的细节,但有一些关键的细节你真的需要给出一些细节,因为如果没有这些细节,我们就没有机会得到正确的答案。这个问题中没有足够的信息来给出这个答案——我得到它只是因为我也读了你的另一个问题。
<abc> &lt;&gt;sdfsd &lt;dfsdf&gt;</abc><def>&lt;movie&gt;</def>
<abc>>sdfsdf<<asdada>>asdasd<>asdasd<asdsad>asds<</abc>
<abc>&gt;sdfsdf&lt;&lt;asdada&gt;&gt;asdasd&lt;&gt;asdasd&lt;asdsad&gt;asds&lt;</abc>