.net正则表达式匹配线

时间:2012-07-13 14:14:30

标签: c# .net regex

为什么^.*$与以下行不匹配:

  

这是一些示例文本

     

这是另一条线

     

这是第三行

如何创建一个匹配整行的正则表达式,以便在找到下一个匹配时它将返回下一行。

换句话说,我希望一个正则表达式,以便第一个匹配= This is some sample text,下一个匹配= this is another line等...

3 个答案:

答案 0 :(得分:10)

^和$匹配整个输入序列。您需要使用Multiline Regex选项来匹配文本中的各个行。

Regex rgMatchLines = new Regex ( @"^.*$", RegexOptions.Multiline);

有关正则表达式选项的说明,请参阅here。以下是关于Multiline选项的说法:

  

多线模式。改变^和$的含义,使它们匹配   任何一行的开头和结尾,而不仅仅是   整个字符串的开头和结尾。

答案 1 :(得分:4)

使用正则表达式选项

Regex regex = new Regex("^.*$", RegexOptions.Multiline);

答案 2 :(得分:2)

您必须启用RegexOptions.Multiline才能使^$匹配行的开头和结尾。否则,^$将匹配整个输入字符串的开头和结尾。