考虑以下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;


或在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


C:\_Temporary\MyFile.txt的内容:


  “第一”-这是我的第一项。
  
  “第二个”-这是我的第二个项目。
  
  “第三”-这是我的第三项。


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

最佳答案

根据Microsoft's .NET 4.5 Regex.是一个“通配符:匹配除\n之外的任何单个字符。

关于c# - 排除回车的正则表达式返回与回车的匹配,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27723832/

10-11 23:18
查看更多