正则表达式 - 提取文件路径

我需要能够从此字符串中提取完整的文件路径(文件扩展名后没有任何内容):

$/FilePath/FilePath/KeepsGoing/Folder/Script.sql (CS: 123456)

像下面这样的简单解决方案可能适用于这种情况,但它仅限于具有 3 个字符的文件扩展名:

(\$.*\..{3})

但是,当文件包含多个点时,我发现了这个问题:

$/FilePath/FilePath/File.Setup.Task.exe.config (CS: 123456)

我需要能够捕获完整的文件路径(从 $ 到任何文件扩展名的末尾,可以是任意数量的东西)。无论文件名中有多少个点,我都需要能够得到这个。在某些情况下,文件名中也有空格,所以我需要能够合并它。

编辑(CS....)这种情况下的结局不是标准的。各种各样的东西都可以跟随路径,所以我无法预测路径之后会发生什么,但路径永远是第一位的。有时文件名中确实存在空格。

有什么建议吗?


素胚勾勒不出你
浏览 781回答 1
1回答

牧羊人nacy

试试这个:(\$.*\.[\w.-]+)但是!它不会正确匹配文件扩展名中带有空格或特殊字符的文件。如果您需要匹配文件扩展名中可能具有特殊字符的文件,您需要详细说明输入(是否引用?是否转义?)。
打开App,查看更多内容
随时随地看视频慕课网APP