Я использую регулярные выражения Java в Java 1.6 (среди прочего, для разбора числового вывода) и не могу найти точное определение \b
(«граница слова»). Я предполагал, что -12
будет «целочисленным словом» (соответствует \b\-?\d+\b
), но, похоже, это не работает. Буду признателен за информацию о способах сопоставления разделенных пробелами чисел.
Пример:
Pattern pattern = Pattern.compile("\\s*\\b\\-?\\d+\\s*");
String plus = " 12 ";
System.out.println(""+pattern.matcher(plus).matches());
String minus = " -12 ";
System.out.println(""+pattern.matcher(minus).matches());
pattern = Pattern.compile("\\s*\\-?\\d+\\s*");
System.out.println(""+pattern.matcher(minus).matches());
Возвращает:
true
false
true