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