正则表达式匹配java中的文件路径

时间:2012-10-31 13:59:40

标签: java regex

  

可能重复:
  C# - Regex for file paths e.g. C:\test\test.exe

我正在尝试创建一个正则表达式来匹配java中的文件路径

C:/WINDOWS/Profiles/myComputer/Desktop/test.xml

请帮助我。

非常感谢

3 个答案:

答案 0 :(得分:1)

你可以试试这个,

 (?:[\w]\:|\\)(\\[a-z_\-\s0-9\.]+)+\.(?i)(txt|xml|gif|pdf|doc|docx|xls|xlsx)$

说明:

^(?:[\w]\:|\\) -- Begin with x:\ or \\
[a-z_\-\s0-9\.] -- valid characters are a-z| 0-9|-|.|_ (you can add more)
(?i) -- regular expression case-insensitive
(txt|xml|gif|pdf|doc|docx|xls|xlsx) -- Valid extension (you can add more)

答案 1 :(得分:0)

你可以使用这样的东西

"([a-zA-Z]:)?(\\\\[a-zA-Z0-9_.-]+)+\\\\?"

答案 2 :(得分:0)

Matcher ma = Pattern.compile("([a-zA-Z]:(?:/[\\w\\s]+)*/[\\w\\s]+\\.\\w+)")
                .matcher("C:/WINDOWS/Profiles/myComputer/Desktop/test.xml");
while (ma.find()) {
    System.out.println(ma.group(1));
}

以下是适合您案例的示例。也许你需要添加一些不允许的字符,但它只是在[\ w \ s。]中添加字符< - 也可以接受点。