为什么不^.*$
匹配中的一行:
这是一些示例文本
这是另一条线
这是第三行
如何创建一个匹配整行的正则表达式,以便在找到下一个匹配项时它将返回下一行。
换句话说,我想要一个正则表达式,以便第一个匹配 = This is some sample text
,下一个匹配 =this is another line
等等......
^ 和 $ 匹配整个输入序列。您需要使用多行正则表达式选项来匹配文本中的各个行。
Regex rgMatchLines = new Regex ( @"^.*$", RegexOptions.Multiline);
有关正则表达式选项的说明,请参见此处。以下是关于 Multiline 选项的说明:
多行模式。更改 ^ 和 $ 的含义,使其分别匹配任何行的开头和结尾,而不仅仅是整个字符串的开头和结尾。
使用正则表达式选项
Regex regex = new Regex("^.*$", RegexOptions.Multiline);
您必须启用RegexOptions.Multiline
并匹配行的开始^
和$
结束。否则,^
将$
匹配整个输入字符串的开始和结束。