у меня есть пункт следующим образом (Это пример paragraph- в моих других образцах слова и буквы остаются теми же, и только изменение числа):Java регулярное выражение удаления последнего значения неожиданно
blablabla
Reflux Table - Day1
Total Upright Supine Meal PostPr Cough
Duration of Period (d,hh: mm) 23:13 14:05 09:08 00:48 05:59 00:15
Number of Refluxes 56 56 0 1 32 1
Number of Long Refluxes>5 (min) 1 1 0 0 0 0
Duration of longest reflux (min) 5 5 0 0 4 1
Time pH <4 (min) 66 66 0 0 40 1
Fraction Time pH <4 (%) 4.8 0.0 11.3 3.6
some more text blablaotherStuff
Я хочу извлечь следующий пункт
Reflux Table - Day1
Total Upright Supine Meal PostPr Cough
Duration of Period (d,hh: mm) 23:13 14:05 09:08 00:48 05:59 00:15
Number of Refluxes 56 56 0 1 32 1
Number of Long Refluxes>5 (min) 1 1 0 0 0 0
Duration of longest reflux (min) 5 5 0 0 4 1
Time pH <4 (min) 66 66 0 0 40 1
Fraction Time pH <4 (%) 4.8 0.0 11.3 3.6
Для этого у меня есть следующий код:
Pattern ReflDay1_pattern = Pattern.compile("Reflux Table - Day1 .*?Fraction Time[^\n]*",Pattern.DOTALL);
Matcher matcherReflDay1_pattern = ReflDay1_pattern.matcher(s);
ArrayList<String> ReflDay1_arr = new ArrayList<String>();
try {
while (matcherReflDay1_pattern.find()) {
ReflDay1_arr.add(matcherReflDay1_pattern.group(0));
System.out.println("matcherReflDay1_pattern.group(0)"+matcherReflDay1_pattern.group(0));
}
}
catch (Exception e) {
e.printStackTrace();
}
Howev Этот результат отбрасывает последнее значение, так что я теряю «3.6». Это происходит в любом пункте, который я пытаюсь сделать. Как я могу убедиться, что он включен? Это регулярное выражение (я проверил регулярное выражение и он извлекает то, что он должен извлечь, включая значение 3.6)?
Reflux Table - Day1
Total Upright Supine Meal PostPr Cough
Duration of Period (d,hh: mm) 23:13 14:05 09:08 00:48 05:59 00:15
Number of Refluxes 56 56 0 1 32 1
Number of Long Refluxes>5 (min) 1 1 0 0 0 0
Duration of longest reflux (min) 5 5 0 0 4 1
Time pH <4 (min) 66 66 0 0 40 1
Fraction Time pH <4 (%) 4.8 0.0 11.3
Ваш код отлично работает в моей среде. – saka1029
Можете ли вы рассказать, как вы передаете строку в методе matcher? Я имею в виду, как построить строку из данных, которые вы показываете, я считаю, что она имеет разделители. Правильно? – mhasan
Вы код работает человек – passion