正则表达式从文本文件的结尾开始

时间:2016-09-07 14:50:30

标签: c# regex xml

您好我想从大型文本文件中只读取包含<?xml version="1.0" encoding="ISO-8859-1"?></Document>的文字。 您可以说它需要带有<?xml version="1.0" encoding="ISO-8859-1"?>的文字 START WITH </Document> END 。意味着从文档中单独分离XML部分。你能帮我提一下C#中的正则表达式吗?

目前我正在使用以下代码:

if (text.Contains("<?xml"))
{
    foreach (Match match in Regex.Matches(text, @"(?s)<?xml(.*?)</Document>"))
    Console.WriteLine(match.Groups[1].Value);
    Console.ReadKey();
}

但现在不包括。?xml ...和./Document。

请咨询

1 个答案:

答案 0 :(得分:0)

正则表达式中的某些字符未进行转义,您可以使用匹配组0来包含整个匹配的字符串。我已经更新了以下示例:

foreach (Match match in Regex.Matches(text, @"(?s)\<\?xml(.*)</Document>"))
{
   Console.WriteLine(match.Groups[0].Value);
}