我有一个文本文件,其内容如下:
initTest
1234 567 8910
1234 567 8910
endTest
initTest
1234 567 8911
1234 567 8911
endTest
initTest
1234 567 8912
1234 567 8912
endTest
然后我需要获取“ initTest”(单词前后有3个空格)和“ endTest”(单词前后有3个空格)内的块数,并将该块的元素保存到数组X。结果应为X [0] = {“ 1234 567 8910 \ n 1234 567 8910”}和X.length = 3。
我已经尝试过使用Regex在C#中执行以下代码,但结果不匹配。
string text = line;
string search = @"(^\s*initTest.*?^\s*endTest)";
MatchCollection matches = Regex.Matches(text, search, RegexOptions.Singleline | RegexOptions.IgnoreCase);
Console.WriteLine("there was {0} matches for '{1}'", matches.Count, search);
Console.ReadLine();
我真的很感谢任何线索和帮助。非常感谢。
使用
(?<=initTest)(.|\n)*?(?=endTest)
在哪里
initTest(.|\n)*?endTest
将捕获所需的文本,但包括initTest和endTest。使用(?<= ...)和(?= ...)将有助于摆脱它们。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句