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