C# 返回最后一个冒号后的文本的字符串上的regex
我有以下正则表达式:C# 返回最后一个冒号后的文本的字符串上的regex,c#,regex,C#,Regex,我有以下正则表达式: :57[^:]?:*[^:]* 我试图创建它以返回最后一个冒号之后的所有内容: 编辑 :57A:/19000019 SOMEMORETEXT :59:xxxxxxxx 它不应该返回前一个标记或前一个标记中的任何内容,但我只能让它返回以下内容: :57A:/19000019 SOMEMORETEXT 其中包括:57A:-但是我需要正斜杠,以及最后一个字符后的另一个字符: 编辑 好的,我继续前进。我现在用的是c#: 它现在返回我需要的所有项目,但都在一个字符串中,包括我不
:57[^:]?:*[^:]*
我试图创建它以返回最后一个冒号之后的所有内容:
编辑
:57A:/19000019
SOMEMORETEXT
:59:xxxxxxxx
它不应该返回前一个标记或前一个标记中的任何内容,但我只能让它返回以下内容:
:57A:/19000019 SOMEMORETEXT
其中包括:57A:-但是我需要正斜杠,以及最后一个字符后的另一个字符:
编辑
好的,我继续前进。我现在用的是c#:
它现在返回我需要的所有项目,但都在一个字符串中,包括我不需要的标记。我怎么知道使用这个字符串并基于\n创建一个数组/列表?/^\(.*:\)*\(.*\)$/\2/
就可以了。
您可以使用以下方法对此进行测试:
echo ':57A:/19000019 SOMEMORETEXT' | sed -e 's/^\(.*:\)*\(.*\)$/\2/'
如果可能的话,我建议尝试在其分隔符上“拆分”字符串(使用除正则表达式以外的其他方法,例如类似于“拆分”的函数),因为这可能更可靠,当然也更有效。尝试“可能查找”
(?<=\:\w{2,3}\:).*
(?具体预期结果是什么?/19000019 SOMEMORETEXT@KamilkPay您可以查看上面的更改吗,我需要捕获两行或更多行的信息显示您是否提供用于正则表达式求值的行?是逐行吗?是的,它是一个字符串,是一个原始文本文件,其中包含回车行提要。抱歉,可能我看不到确切的pr问题是,如果您逐行提供,那么您可以对每个特定字符串使用正则表达式。不,这是一个文本块,上面的:59:是一个子集。我不想循环遍历每一行,因为文件非常大,我想挑出特定的标记,在本例中:59:
(?<=\:\w{2,3}\:).*