gpt4 book ai didi

c# - 在最后一个正则表达式匹配之前修剪所有文本

转载 作者:太空宇宙 更新时间:2023-11-03 11:08:40 25 4
gpt4 key购买 nike

我试图删除最后一次出现 Regex 匹配之前的所有文本,而不同时删除匹配或必须将其替换为任何其他文本。这是我正在解析的文件中的几行示例行:

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:";  

该模式返回上述所有字符串,但我需要修剪最后一次出现该模式之前出现的所有文本,以便返回看起来像第一行的行。我在这里查看了许多类似的问题,但我一直无法找到在我的代码中实际有效或对我有意义的答案。

请记住,上述示例并未详尽列出各种可能性。这就是我尝试使用正则表达式而不是字符串方法的原因。

作为引用,以下是我在问这个问题之前通读的类似问题:

Regex + Remove all text before match
RegEx Multple Matches in Text
Regex: Filter out text before last occurrence

编辑:我应该指出,我正在使用的行是原始文件中包含的信息的一小部分。我发布的所有示例行都是“好”信息的示例(即我可以使用的信息),但第一行是最终输出的样子。

最佳答案

尝试以下操作:

string str = Regex.Replace(input, @"(.+?)(N\d\.C\d\.R\d:)", "$2");

关于c# - 在最后一个正则表达式匹配之前修剪所有文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14858247/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com