Я хочу использовать регулярные выражения в Java для разделения числовой строки.
Я использую онлайн тестер регулярных выражений регулярное выражение правильно.
Но в Java это не так.
Pattern pattern = Pattern.compile("[\\\\d]{1,4}");
String[] results = pattern.split("123456");
// I expect 2 results ["1234","56"]
// Actual results is ["123456"]
Что-нибудь мне не хватает?
Я знаю, что этот вопрос скучный. Но я хочу решить эту проблему.
Ответ
Pattern pattern = Pattern.compile("[\\d]{1,4}");
String[] results = pattern.split("123456");
// Results length is 0
System.out.println(results.length);
не работает. Я должен попробовать это. Это ничего не даст по результатам.
Пожалуйста, попробуйте, прежде чем ответить.
Искренне благодарю людей, которые помогли мне.
Решение:
Pattern pattern = Pattern.compile("([\\d]{1,4})");
Matcher matcher = pattern.matcher("123456");
List<String> results = new ArrayList<String>();
while (matcher.find()) {
results.add(matcher.group(1));
}
Результаты вывода 2 ["1234", "56"]