我正在寻找一个正则表达式,它将允许我检查字符串是否具有无效的(Windows)字符。 这是我的示例代码:-
public class Test {
public static void main(String[] args) {
String folderName = ">aa?|<";
Pattern p = Pattern.compile(".[\\\\/:\"*<>|].*$");
Matcher m = p.matcher(folderName);
if (m.matches()) {
System.out.println("Match");
} else {
System.out.println("Un-match");
}
}
}
如果特殊字符位于字母之间(例如,例如“ a> a”),则该模式可以正常工作
任何人都可以建议适当的表达方式。 我搜索了很多链接,但找不到解决方法。
谢谢!
答案 0 :(得分:0)
这是因为您的初始点正好匹配一个字符。将其更改为.*
以匹配零个或多个字符。
因此将.[\\\\/:\"*<>|].*$
更改为.*[\\\\/:\"*<>|].*$
。