我需要创建可以验证文件路径的正则表达式。它应该批准像:
这样的字符串c:\
c:\dir1\file.txt
c:\dir1\dir2\file.txt
等等。 我试图创造它。结果:
(c|C):(\\\w{0,8})*(\.\w{1,3})?
在gskinner中一切正常,但是当我在Java中编译此模式时,以前的所有行都没有经过测试。
Java代码:
p = Pattern.compile("(c|C):(\\\w{0,8})*");
m = p.matcher(arguments);
result = m.matches();
答案 0 :(得分:0)
我刚编辑了您的示例代码:
String regex = "[cC]:(?:\\\\\\w{0,8})*(?:[.]\\w{1,3})?"
正则表达式\\
匹配单个反斜杠,因为\
是正则表达式中的特殊字符,因此必须进行转义,但是一旦我们将它放在引号中,又将其转换为{{1我们需要转义每个反斜杠,产生String
。我们需要"\\\\"
的额外两个\\
。