5

为什么不^.*$匹配中的一行:

这是一些示例文本

这是另一条线

这是第三行

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

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

4

3 回答 3

10

^ 和 $ 匹配整个输入序列。您需要使用多行正则表达式选项来匹配文本中的各个行。

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

有关正则表达式选项的说明,请参见此处。以下是关于 Multiline 选项的说明:

多行模式。更改 ^ 和 $ 的含义,使其分别匹配任何行的开头和结尾,而不仅仅是整个字符串的开头和结尾。

于 2012-07-13T14:18:16.203 回答
4

使用正则表达式选项

Regex regex = new Regex("^.*$", RegexOptions.Multiline);
于 2012-07-13T14:17:27.477 回答
2

您必须启用RegexOptions.Multiline并匹配行的开始^$结束。否则,^$匹配整个输入字符串的开始和结束。

于 2012-07-13T14:17:26.013 回答