要求验证windows下文件路径的格式,比如:“c:\\aa\\bb”
谢谢!

解决方案 »

  1.   

    (([a-zA-Z]:)?(\\\\\\\\\\w+)*)||((\\w+\\\\\\\\)*\\w*)
    左边是绝对路径的,右边是相对路径
      

  2.   

    一个逻辑意义上的\对应 四个\就可以了
    比如 
    “c:\\aa\\bb”
    逻辑意义上是 c:\aa\bb
      

  3.   

    >>> 楼上,为什么1个\要对应4个>>>一个是转义,另一个是正则的转义
    没错,两层转义,挺变态的在 JavaScript 为了便于书写,可以不用把 RegExp 用引号引起来,这样写出来的 literal String 就是 RegExp, 而 Java 必须用引号把任何字符串引起来
      

  4.   

    我试的结果跟楼上的解释不一样呀。
    import java.util.regex.*;
    public class test {
    public static void main(String[] args)throws Exception{
    String str="c:\\aa\\bb";

    if(Pattern.matches("(([a-zA-Z]:)?(\\\\\\w+)*)||((\\w+\\\\)*\\w*)",str))
    System.out.println("ok");
     
    }}