我尝试从下面的文字中提取以下字符串 C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets
。
到目前为止,这是我的解决方案:\s+((\w:\\.*(?:\()))
但这包括提取的字符串中的"("
。如何摆脱"("
。
C:\的Windows \ Microsoft.NET \框架\ v4.0.30319 \ Microsoft.Common.targets (2015,5): 错误MSB3091:任务失败,因为" AxImp.exe"没找到,或者 没有安装正确的Microsoft Windows SDK。任务正在寻找 for" AxImp.exe"在" bin"位于该位置下方的子目录 在注册表项的InstallationFolder值中指定 HKEY_LOCAL_MACHINE \ SOFTWARE \微软\微软 的SDK \的Windows \ v8.0A \ WinSDK-NetFx40Tools-86。你或许可以解决 通过执行以下操作之一来解决此问题:1)安装Microsoft Windows SDK。 2)安装Visual Studio 2010. 3)手动设置 上面的注册表项到正确的位置。 4)通过正确的 位于" ToolPath"任务的参数。
答案 0 :(得分:2)
将最后的非捕获组更改为正向前瞻。
\s*((\w:\\.*(?=\()))
OR
\s+((\w:\\.*(?=\()))
我还建议您按顺序将.*
更改为.*?
,\s*((\w:\\.*?(?=\()))
,以提供非贪婪的匹配。