我正在寻找C#的Regex来从.sln文件中获取SccTeamFoundationServer值。 也许有人遇到过这种需求并找到了解决方案。你能帮忙吗?
文件:
Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebApplication", "WebApplication\WebApplication.csproj", "{AE0F6C02-1C8D-426D-AFA0-C07A52E6112F}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ConsoleApplication", "ConsoleApplication\ConsoleApplication.csproj", "{2BD82C34-CF50-4559-A3CD-F85ACD657292}"
EndProject
Global
GlobalSection(TeamFoundationVersionControl) = preSolution
SccNumberOfProjects = 3
SccEnterpriseProvider = {4CA58AB2-18FA-4F8D-95D4-32DDF27D184C}
SccTeamFoundationServer = http://ServerName:8080/
SccLocalPath0 = .
SccProjectUniqueName1 = ConsoleApplication\\ConsoleApplication.csproj
SccProjectName1 = ConsoleApplication
SccLocalPath1 = ConsoleApplication
SccProjectUniqueName2 = WebApplication\\WebApplication.csproj
SccProjectName2 = WebApplication
SccLocalPath2 = WebApplication
EndGlobalSection
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{AE0F6C02-1C8D-426D-AFA0-C07A52E6112F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{AE0F6C02-1C8D-426D-AFA0-C07A52E6112F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{AE0F6C02-1C8D-426D-AFA0-C07A52E6112F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{AE0F6C02-1C8D-426D-AFA0-C07A52E6112F}.Release|Any CPU.Build.0 = Release|Any CPU
{2BD82C34-CF50-4559-A3CD-F85ACD657292}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2BD82C34-CF50-4559-A3CD-F85ACD657292}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2BD82C34-CF50-4559-A3CD-F85ACD657292}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2BD82C34-CF50-4559-A3CD-F85ACD657292}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
答案 0 :(得分:0)
基于this和一些猜测,以下可能会解决这个问题:
\bSccTeamFoundationServer\s*=\s*(['"]?)([^\1\n]*)\1
它允许使用可选的单引号/双引号并使用反向引用来确保两端使用的引号匹配。它不处理转义引号。
答案 1 :(得分:0)
如果我使用这个
(。SccTeamFoundationServer \ S * = \ S *(*))
TFS服务器地址将是捕获组2.整行是捕获组1.如果您希望更容易提取它们,可以向捕获组添加名称。