0

可能重复:
C# - 文件路径的正则表达式,例如 C:\test\test.exe

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

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

请帮助我。

非常感谢

4

3 回答 3

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)
于 2012-10-31T14:45:01.900 回答
0

你可以使用这样的东西

"([a-zA-Z]:)?(\\\\[a-zA-Z0-9_.-]+)+\\\\?"
于 2012-10-31T14:02:29.577 回答
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.] <- 中添加字符,也可以接受点。

于 2012-10-31T14:08:50.353 回答