繁体   English   中英

Java:正则表达式创建reg以验证文件路径

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM