Regex 正则表达式。需要帮助

Regex 正则表达式。需要帮助,regex,Regex,我需要一个正则表达式,它将从如下字符串中提取文件的完整路径: c:\DevProjects\Web Projects\RD_deploy\obj\Release\Source\App_Code\BusinessLogic\WebMethodTypes\WebCompressionResult.cs(33): error CS0246: The type or namespace name 'CompressionResult' could not be found (are you missin

我需要一个正则表达式,它将从如下字符串中提取文件的完整路径:

c:\DevProjects\Web Projects\RD_deploy\obj\Release\Source\App_Code\BusinessLogic\WebMethodTypes\WebCompressionResult.cs(33): error CS0246: The type or namespace name 'CompressionResult' could not be found (are you missing a using directive or an assembly reference?)

尝试:

这样就可以了。

试试:

这样就可以了。

^([^\(]+)

这将使字符串的开头,直到第一个
)进入组1;在您的情况下,整个路径直到
(33)…

编辑: 如果文件名中有括号,事情会变得更复杂

^(+.+)(\(\d++):
将所有内容匹配到一个括号内的数字,后面跟一个冒号,如“(33):”或“(157):”,进入第1组。

^([^\(]+)

这将使字符串的开头,直到第一个
)进入组1;在您的情况下,整个路径直到
(33)…

编辑: 如果文件名中有括号,事情会变得更复杂

^(+.+)(\(\d++\):
将所有内容匹配到一个括号内的数字,后面跟一个冒号,如“(33):”或“(157):”,进入第1组。

试试这个

([a-zA-Z]:(?:\\\\\w+(?:\s+\w+)*)+\.\w+)
试试这个

([a-zA-Z]:(?:\\\\\w+(?:\s+\w+)*)+\.\w+)

我不能进行拆分…我需要一个匹配项。这是一个匹配项。在perl中,可以执行:$file=$1 if/^(.*)([0-9]+):.*$/I不能执行拆分…我需要一个匹配项。这是一个匹配项。在perl中,可以执行:$file=$1 if/^(.*)([0-9]+):*$/
([a-zA-Z]:(?:\\\\\w+(?:\s+\w+)*)+\.\w+)