我正在解析一個文件,它有基於時間的條目。格式是這樣的:Java正則表達式匹配hh:mm:ss在字符串中
00:02:10-XYZ:Count=10
00:04:50-LMK:Count=3
這裏我要的是從中提取串線的時間價值
我已搜查環節多,無法找到我想要的東西,最後我寫了這個碼。
Pattern pattern = Pattern.compile("((?i)[0-9]{1,2}:??[0-9]{0,2}:??[0-9]{0,2})"); //(?i)[0-9]{1,2}:??[0-9]{0,2}:??[0-9]{0,2} //\\d{1,2}:\\d{1,2}:\\d{1,2}
Matcher matcher;
List<String> listMatches;
下面是循環,我申請邏輯
for(int x = 0; x < file_content.size(); x++)
{
matcher= pattern.matcher(file_content.get(x));
listMatches = new ArrayList<String>();
while(matcher.find())
{
listMatches.add(matcher.group(1));
break;
}
}
我要當「matcher.find()」給出了正確返回我[0時02分10秒]在第一次迭代和[00 :04:50]在第二次迭代。
有你使用[的SimpleDateFormat]的(http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html),而不是寫自己的正則表達式的考慮? –
不,先生,我沒有,謝謝你分享你的有價值的代碼 – DareDevil