我需要使用正則表達式只提取多行字符串中的最後一行。我正在嘗試使用以下@「\ n(。*?)$」的SingleLine模式,但不幸的是,它提取了以第二行開始的文本以結束。任何提示?使用正則表達式提取文本的最後一行
謝謝!
我需要使用正則表達式只提取多行字符串中的最後一行。我正在嘗試使用以下@「\ n(。*?)$」的SingleLine模式,但不幸的是,它提取了以第二行開始的文本以結束。任何提示?使用正則表達式提取文本的最後一行
謝謝!
什麼像
@"([^\n\r]*)$"
這意味着匹配的一切,是不是換行字符,直到字符串的結尾。
好吧,當我仔細想想,當你不使用DOTALL修飾符那麼這應該是罰款
@"(.*)$"
沒有這個修飾符.
不匹配換行符。所以在開始時不需要\n
。
是的,這個工程!謝謝! – dcg
嘗試沒有一個正則表達式
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"
你能和'String'的'.Split(..)'方法做到這一點? – Tocco
我寧願使用正則表達式。我想過,如果沒有可行的解決方案出現 - 可能我會最終使用它。 – dcg
「我寧願使用更復雜,更耗費資源的解決方案」。 – Oded