Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 排除回车符的正则表达式返回与回车符匹配的结果_C#_.net_Regex_Vb.net - Fatal编程技术网

C# 排除回车符的正则表达式返回与回车符匹配的结果

C# 排除回车符的正则表达式返回与回车符匹配的结果,c#,.net,regex,vb.net,C#,.net,Regex,Vb.net,考虑以下C#代码: string s=System.IO.File.ReadAllText(“C:\\\\ U Temporary\\MyFile.txt”); var reg=new System.Text.RegularExpressions.Regex(“\”Second\”--(.+)”); var val=reg.Match。组[1]。值; 或者在VB.NET中: Dim s=System.IO.File.ReadAllText(“C:\\U Temporary\MyFile.txt

考虑以下C#代码:

string s=System.IO.File.ReadAllText(“C:\\\\ U Temporary\\MyFile.txt”);
var reg=new System.Text.RegularExpressions.Regex(“\”Second\”--(.+)”);
var val=reg.Match。组[1]。值;
或者在VB.NET中:

Dim s=System.IO.File.ReadAllText(“C:\\U Temporary\MyFile.txt”)
Dim reg=New System.Text.RegularExpressions.Regex(“'Second”“--”(.+)”)
Dim val=注册匹配。组(1)。值
以及
C:\\u Temporary\MyFile.txt的内容:

“第一”——这是我的第一项

“第二项”——这是我的第二项

“第三项”——这是我的第三项

如果正则表达式元字符
排除了所有行尾字符(实际上,它阻止匹配返回
“Second”下面的其余内容——这是我的第二项。
),为什么
val
以回车符结尾(
\r


根据,该
是一个“通配符:匹配除
\n

之外的任何单个字符”。根据,该
是一个“通配符:匹配除
\n
之外的任何单个字符,因为
\r
何时表示换行?哦,对了,Windows逻辑。从什么时候起,
\r
表示换行?哦,对了,Windows逻辑。
SingleLine
标志控制我所引用的这种行为,特别是“点匹配单个字符,而不关心该字符是什么。唯一的例外是换行字符。”。我把“换行符”解释为所有换行符。是的,不幸的是,不是每个人都使用相同的正则表达式规则。NET决定只包含换行符
\n
感谢您的帮助:)@Ryanyu Javascript具有与.NET类似的正则表达式规则。SingleLine
标志控制我所引用的此行为,特别是“点匹配单个字符,而不关心该字符是什么。唯一的例外是换行符。”。我将“换行符”解释为所有换行符。是的,不幸的是,并非每个人都使用相同的正则表达式规则。并且.NET决定只包含换行符
\n
感谢您的帮助:)@ryanyyu Javascript具有与.NET类似的正则表达式规则