2016-09-07 9 views
1

こんにちは私は大きなテキストファイルから<?xml version="1.0" encoding="ISO-8859-1"?></Document>を含むテキストのみを読んでみたいと思います。 と入力して<?xml version="1.0" encoding="ISO-8859-1"?>を入力してください。</Document>を入力してください。ドキュメントからの別個の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を。?。

あなたの正規表現内の文字の一部がエスケープされていない、あなたは全体マッチした文字列が含まれるように一致グループ0を使用することができます

+6

明らかな質問:代わりにXMLパーサを使用してみませんか? – Jan

+0

regexを使用する必要はありません。text.IndexOfまたはxmlパーサを使用してください – prospector

+0

regexタグから: "注:HTML、JSONなどの正規表現を求めるには否定的な反応が見られる傾向があります。代わりにそれを使用してください。 – Sayse

答えて

0

をアドバイスしてください。私は以下のあなたの例を更新しました:

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