【发布时间】:2011-12-09 04:00:33
【问题描述】:
为什么这个正则表达式不匹配:
(?<="Title" = "8:)[^"]*(?=")
这个:
"ARPHELPTELEPHONE" = "8:"
"ARPHELPLINK" = "8:"
"Title" = "8:something"
"Subject" = "8:"
"ARPCONTACT" = "8:something"
"Keywords" = "8:"
它摘自 Visual Studio 设置项目。它在我正在使用的在线工具中匹配,但使用 Regex.Match() 时不匹配
代码如下:
var productTitleRegex = @"(?<=""Title"" = ""8:)[^""]*(?="")";
var titleMatch = Regex.Match(content, productTitleRegex);
titleMatch.Success 如果为 false 且 value 不返回任何内容
编辑:
在 .net 正则表达式中使用 Look ahead 和 Look behind 时,也许我只是遗漏了一些东西?因为如果我删除环视,这可行,但它匹配整行,这是我不想要的。所以我使用lookarounds来匹配我想要的值。
其他人在 .net 正则表达式中使用环视时也有类似的经历?
【问题讨论】:
-
我在 VS2008 中用 C# 测试过
-
对,对不起,我的错。我一直在使用错误的输入文件:/