Предположим, мне нужно совместить скобки, содержащие пробелы.Сканер Java. Как сопоставить пробелы?
Вот отрывок:
String input = "() () ()";
Pattern pattern = Pattern.compile("\\(\\s\\)");
Scanner scanner = new Scanner(input);
scanner.useDelimiter("\\n");
Matcher matcher = pattern.matcher(input);
System.out.println(scanner.hasNext(pattern)); // false
System.out.println(matcher.find()); // true
System.out.println(matcher.start(0) + " " + matcher.end(0)); // 0 3
Сличитель делает именно то, что мне нужно, но сканер не делает.
Вопрос не задан правильно. Моя цель состояла в том, чтобы последовательно захватить все() токены в строке со сканером, потому что у сокета, похоже, есть неудобный API для такой задачи. Я должен был внимательно прочитать документацию.
метод, что мне нужно:
scanner.findInLine(pattern);
Возможный дубликат [Java, регулярное выражение catching string with white-space] (http://stackoverflow.com/questions/13313493/java-regular-expression-catching-string-with-white-space) – guerda
Незначительное примечание : если вы хотите использовать новую строку в качестве разделителя, не используйте \\ n, но \ n или даже лучший результат 'System.getProperty (« line.separator »)'. – Pshemo
Тело, похоже, явно не поддерживает название. В чем именно вопрос? –