我有一個段落如下(這是一個例子我的其他樣本中的話中─和字母保持不變,只有數字的變化):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
你能告訴你如何通過匹配器方法傳遞字符串我的意思是如何從你顯示的數據構造字符串,我相信它有分隔符..對嗎? – mhasan
你的代碼是工作人員 – passion