C#RegEx匹配第二行中的所有内容

时间:2017-03-14 13:49:40

标签: c# regex

我需要一个正则表达式来匹配第二行中的所有内容。

First Line
Second Line

我尝试过使用\ n(。*)\ n但它返回空值。

Match match in Regex.Matches(line, @"\n(.*)\n", RegexOptions.Multiline)

3 个答案:

答案 0 :(得分:2)

你不需要正则表达式。只需将输入字符串拆分为行并获取所需的行:

var line= @"First Line
Second Line";

var secondLine = line.Split('\n')[1]; // "Second Line"

您还可以在逐个索引之前检查字符串中的行数,以避免IndexOutOfRange异常。

即使使用正则表达式,最好使用Split方法,如果你要按一些值分割输入(但是,如果你只是按行分割而没有某些模式,那就太过分了):

 var secondLine = Regex.Split(line, Environment.NewLine)[1];

答案 1 :(得分:0)

您尝试匹配两个结尾,而您的输入只有一个。

更改为\n(.*)

答案 2 :(得分:0)

启用RegexOptions.MultiLine后,您可以使用以下内容:

\n^(.*)$

启用Multiline后,^$将匹配行的开头和结尾,而不是字符串的开头和结尾。

示例:Regex101