排除回车的正则表达式返回与回车匹配

ror*_*.ap 1 .net c# regex vb.net

考虑以下C#代码:

string s = System.IO.File.ReadAllText("C:\\_Temporary\\MyFile.txt");
var reg = new System.Text.RegularExpressions.Regex("\"Second\" -- (.+)");
var val = reg.Match(s).Groups[1].Value;
Run Code Online (Sandbox Code Playgroud)

或者在VB.NET中:

Dim s = System.IO.File.ReadAllText("C:\_Temporary\MyFile.txt")
Dim reg = New System.Text.RegularExpressions.Regex("""Second"" -- (.+)")
Dim val = reg.Match(s).Groups(1).Value
Run Code Online (Sandbox Code Playgroud)

以及内容C:\_Temporary\MyFile.txt:

"第一" - 这是我的第一个项目.

"第二" - 这是我的第二项.

"第三" - 这是我的第三项.

如果RegEx元字符.排除所有行结束字符(实际上,阻止匹配返回下面的其余内容"Second" -- here is my second item.),为什么它val以回车符(\r)结束?

在此输入图像描述

rya*_*uyu 5

根据微软的.NET 4.5 Regex,这.是一个"通配符:匹配任何单个字符,除了\n.