using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text.RegularExpressions;
public class Test
{
public static void Main()
{
var inLine = "Project(\"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\") = \"Common\", \"Libraries\\Common\\Common.csproj\", \"{91197577-34B9-4D46-B3FE-A8589D4380B1}\"";
var regex = new Regex(@"(Project\(""{[\w-]*}""\) = "")(?<projectName>[^\s""]*)("", "")(?<relativePath>[^\s""]*)("", ""{[\w-]*}"")");
var projectName = string.Empty;
var relativePath = string.Empty;
var replaced = regex.Replace(inLine, m => {
projectName = m.Groups["ProjectName"].Value;
relativePath = m.Groups["relativePath"].Value;
return $"{m.Groups[1].Value}{m.Groups[2].Value}{m.Groups[3].Value}";
});
Console.WriteLine("Project Name: {0}\nRelative Path: {1}\nReplaced: {2}", projectName, relativePath, replaced);
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLklPOwp1c2luZyBTeXN0ZW0uTGlucTsKdXNpbmcgU3lzdGVtLlRleHQuUmVndWxhckV4cHJlc3Npb25zOwoKcHVibGljIGNsYXNzIFRlc3QKewoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewoJCXZhciBpbkxpbmUgPSAiUHJvamVjdChcIntGQUUwNEVDMC0zMDFGLTExRDMtQkY0Qi0wMEMwNEY3OUVGQkN9XCIpID0gXCJDb21tb25cIiwgXCJMaWJyYXJpZXNcXENvbW1vblxcQ29tbW9uLmNzcHJvalwiLCBcIns5MTE5NzU3Ny0zNEI5LTRENDYtQjNGRS1BODU4OUQ0MzgwQjF9XCIiOwoJCXZhciByZWdleCA9IG5ldyBSZWdleChAIihQcm9qZWN0XCgiIntbXHctXSp9IiJcKSA9ICIiKSg/PHByb2plY3ROYW1lPlteXHMiIl0qKSgiIiwgIiIpKD88cmVsYXRpdmVQYXRoPlteXHMiIl0qKSgiIiwgIiJ7W1x3LV0qfSIiKSIpOwoJCXZhciBwcm9qZWN0TmFtZSA9IHN0cmluZy5FbXB0eTsKCQl2YXIgcmVsYXRpdmVQYXRoID0gc3RyaW5nLkVtcHR5OwoJCXZhciByZXBsYWNlZCA9IHJlZ2V4LlJlcGxhY2UoaW5MaW5lLCBtID0+IHsKCQkJcHJvamVjdE5hbWUgPSBtLkdyb3Vwc1siUHJvamVjdE5hbWUiXS5WYWx1ZTsKCQkJcmVsYXRpdmVQYXRoID0gbS5Hcm91cHNbInJlbGF0aXZlUGF0aCJdLlZhbHVlOwoJCQlyZXR1cm4gJCJ7bS5Hcm91cHNbMV0uVmFsdWV9e20uR3JvdXBzWzJdLlZhbHVlfXttLkdyb3Vwc1szXS5WYWx1ZX0iOwoJCX0pOwoJCUNvbnNvbGUuV3JpdGVMaW5lKCJQcm9qZWN0IE5hbWU6IHswfVxuUmVsYXRpdmUgUGF0aDogezF9XG5SZXBsYWNlZDogezJ9IiwgcHJvamVjdE5hbWUsIHJlbGF0aXZlUGF0aCwgcmVwbGFjZWQpOwoJfQp9