Я бы использовал этот шаблон:
^(?!.*\\.*\\).*\\.*$
Это регулярное выражение утверждает, что две (или более) обратные косые черты не появляются.Затем он продолжается, чтобы соответствовать одной обратной косой черты.В Java-коде:
String input = "C:\\andres";
if (input.matches("(?!.*\\\\.*\\\\).*\\\\.*")) {
System.out.println("MATCH");
}
Но, String#split
может предложить еще более простой способ сделать это:
String input = "C:\\andres";
if (input.split("\\\\").length == 2) {
System.out.println("MATCH");
}
Соответствующий путь, только с одним обратным слешем, при разбиении на обратный слешдолжно иметь ровно два результирующих члена.