我正在尝试创建一个正则表达式来匹配java中的文件路径
赞C:/WINDOWS/Profiles/myComputer/Desktop/test.xml
请帮助我。
非常感谢
答案 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。]中添加字符< - 也可以接受点。