[英]Java: regular expressions.Create reg to validate path to file
我需要创建用于验证文件路径的正则表达式。 它应该批准这样的字符串:
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();
我刚刚编辑了您的示例代码即可工作:
String regex = "[cC]:(?:\\\\\\w{0,8})*(?:[.]\\w{1,3})?"
正则表达式\\\\
匹配单个反斜杠,因为\\
是正则表达式中的特殊字符,因此必须对其进行转义,但是一旦将其用引号引起来,又将其转换为String
,我们就需要对每个反斜杠进行转义,产生"\\\\\\\\"
。 我们需要额外的两个\\\\
作为w
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.