我试图在最后一次出现正则表达式匹配之前删除所有文本,而无需删除匹配项或将其替换为任何其他文本。这是我正在解析的文件中的几行示例行:
N3.C2.R1:19 00000000 00000000 00 ** 0000 00000000 00000000 00000000 00000000
N0.C0.R0N3.C3.R1:19 00000000 00000000 00000000 00000000 00000000 00000000 00000000
.N3.C3.R0:18 00000000 00000000 00000000 00000000 00000 * 00 00000000 00000000
写入等级 1...N3.C1.R3: -22 0000000* 00000000 00000000 00000000 00000*00 00000000 00000000
第一行是理想的行,与返回值相匹配。我的正则表达式模式如下:
string pattern = @"N\d\.C\d\.R\d:";
该模式返回所有上述字符串,但我需要修剪在模式最后一次出现之前出现的所有文本,以便返回一个看起来像第一个的行。我在这里查看了许多类似的问题,但我无法找到在我的代码中实际有效或对我有意义的答案。
请记住,上述示例并非详尽的可能性列表。这就是我尝试使用正则表达式而不是字符串方法的原因。
作为参考,以下是我在问这个问题之前阅读的类似问题:
正则表达式+删除匹配前
的所有文本正则表达式文本中的多个匹配正则
表达式:过滤掉最后一次出现之前的文本
编辑:我应该指出,我正在使用的行是原始文件中包含的信息的一小部分。我发布的所有示例行都是“好”信息(即我可以使用的信息)的示例,但第一行是最终输出的样子。