使用正则表达式提取文本的最后一行
本文关键字:一行 最后 正则表达式 提取 取文本 | 更新日期: 2023-09-27 18:03:00
我需要使用正则表达式从多行字符串中提取最后一行。我试图使用单行模式,如以下@"'n(.*?)$",但不幸的是,它提取了从第二行开始到结束的文本。有提示吗?
谢谢!
@"([^'n'r]*)$"
这意味着匹配直到字符串末尾除换行符以外的所有字符。
嗯,我想一下,如果你不使用DOTALL修饰符那么这应该没问题
@"(.*)$"
如果没有这个修饰符,.
将不匹配换行符。所以开头不需要'n
尝试不使用RegEx
string literal = @"I
am
the
best"; //With 'n
string[] lines = literal.Split(new string[] { "'n" }, StringSplitOptions.None);
string lastLine = lines[lines.Length - 1];
Console.WriteLine(lastLine); //Should print "best"
与正则表达式:Match m = Regex.Match(literal, @"'n*.+$");
Console.WriteLine(m.Value); //Should be @"'nbest"