Я использую регулярные выражения 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