正则表达式。需要帮助

时间:2010-11-02 15:01:52

标签: 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 missing a using directive or an assembly reference?)

c:\DevProjects\AssaultRifle.cs(157): error CS0246: The type or namespace name 'Gunpowder' could not be found (are you missing a using directive or an assembly reference?)

3 个答案:

答案 0 :(得分:2)

尝试:

^(.*)\([0-9]+\):.*$

这应该这样做。

答案 1 :(得分:2)

^([^\(]+)

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

编辑: 如果你的文件名中可能有括号,事情就会变得复杂一些。

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

答案 2 :(得分:1)

试试这个。

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