我试图创建一个正则表达式来匹配java中的文件路径
喜欢C:/WINDOWS/Profiles/myComputer/Desktop/test.xml
请帮助我。
非常感谢
我试图创建一个正则表达式来匹配java中的文件路径
喜欢C:/WINDOWS/Profiles/myComputer/Desktop/test.xml
请帮助我。
非常感谢
你可以试试这个
(?:[\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)
你可以使用这样的东西
"([a-zA-Z]:)?(\\\\[a-zA-Z0-9_.-]+)+\\\\?"
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.] <- 中添加字符,也可以接受点。