C# c“要查找的正则表达式”;[数据]”;以及下文

C# c“要查找的正则表达式”;[数据]”;以及下文,c#,expression,C#,Expression,大家好,如果有人能帮忙的话,我是正则表达式的新手,我已经做了一些基本的例子,但没有什么我需要的。 这是我需要读取的文本文件: [data] 84 73 0 -124 0 50 84 73 0 -124 0 50 84 84 0 -124 0 50 87 109 0 -124 0 50 82 120 0 -124 0 50 82 132 0 -124 0 50 83 143 0 -124

大家好,如果有人能帮忙的话,我是正则表达式的新手,我已经做了一些基本的例子,但没有什么我需要的。 这是我需要读取的文本文件:

[data]
84  73  0   -124    0   50
84  73  0   -124    0   50
84  84  0   -124    0   50
87  109 0   -124    0   50
82  120 0   -124    0   50
82  132 0   -124    0   50
83  143 0   -124    0   50
83  154 0   -124    0   50
我当前的代码读取文本文件并将其存储到列表中。我只需要一个表达式来检测
[data]
标题,然后开始读取
[data]
之后的所有信息,直到结束,或者最好直到到达
\r\n
,以防文本文件中有更多数据。 我没有要求任何人做我的代码,我已经做了所有其他的事情,只是表达或在正确的方向上的一点


非常感谢您的帮助。

当您可以使用
文件读取行和
Linq
时,为什么要使用正则表达式:

var lines = File.ReadLines("text.txt");
var result = lines.SkipWhile(i => i != "[data]").Skip(1);

这可能不是最短的正则表达式,但我认为它可以工作
(\[data\]{1}\s*(\d++\s*|(\-{1})\d++\s*)++\n)
。我曾经使用以下方法测试上述正则表达式:

[data] 123  73 0 -124 21312 123 73 0 -123 231231
123

作为测试数据。

什么是“开始读取所有信息”?预期的输出是什么?您所说的“…并将其存储到列表中”是什么意思?我们这里说的是
列表吗?如果是这样,那么如果它在一个列表中,为什么需要一个正则表达式?你可以逐行读取文件,如果它包含“[data]”文件,则跳过第一行。ReadLines:我认为在这里使用正则表达式没有任何意义。谢谢你,这很有效,但只有在[data]下面没有其他文本时才可以84 73 0-124 0 50 84 73 0-124 0 50 84 84 0-124 0 50 87 109 0-124 0 50 82 120 0-124 0 50 82 132 0-124 0 50 83 1430-124 0 50 83 154 0-124 0 50 50 84 154 0-124 0 50还有什么其他文本?这将在[数据]上方StartTime=14:33:45.0 Length=00:49:34.2 Interval=1 Upper1=0 Lower1=0 Upper2=0 Lower2=0,注释将在下面,以\r\n分隔,因此在最后一个
83 154 0-124 0 50
(数据行)之后有一个空行?非常感谢您的关注。非常感谢:)