我正在尝试使用正则表达式(Pattern
和Matcher
类确定路径是否绝对。
我的要求是:
我写了这个正则表达式:"^((?i)[a-z]):\\.*"
,但这似乎不起作用。
我无法使用path.isAbsolute
,因为我需要一种独立于平台的方法来检测绝对路径。
你能告诉我那个表达有什么问题吗?
由于
答案 0 :(得分:0)
在java正则表达式中,要匹配文字\
符号,您需要将其转义三次。 (?i)
不区分大小写的修饰符和此[\\\\/]
匹配文字反斜杠或正斜杠。
"(?i)^[a-z]:\\\\.*"
示例:
System.out.println("C:\\temp".matches("(?i)[a-z]:\\\\.*")); // true
System.out.println("C:/temp".matches("(?i)[a-z]:[\\\\/].*")); // true
答案 1 :(得分:0)
这应涵盖您所有必需的案件:
"^(([a-zA-Z]:)?\\\\|/).*"
它匹配以(^
)开头(|
)与
\\\\
),可选地以字母和冒号(([a-zA-Z]:)?
)开头;或/
)