关于正则表达式pattern类的matcher匹配的问题..
private static final String procedureREx = "(REP_(\\d{1})_(\\d{1,2})(_(\\d{1}))?)"; //正则表达式
private static ProcedureInfo getProcedureInfo(String procedure) {
ProcedureInfo info = new ProcedureInfo();
String procedureName = null;
String category = null;
String reportNo = null;
String rowType = null;
Pattern procPattern = Pattern.compile(procedureREx); //编译正则表达式
Matcher matcher = procPattern.matcher(procedure); //匹配字符串到正则表达式
if (matcher.find()) { //字符串是否匹配正则表达式
procedureName = matcher.group(1);
category = matcher.group(2);
reportNo = matcher.group(3);
rowType = matcher.group(5);
info.setName(procedureName);
info.setCategory(Integer.parseInt(category));
info.setReportNo(Integer.parseInt(reportNo));
if (rowType != null) {
info.setRowType(Integer.parseInt(rowType));
}
info.setArgs(getArgs(procedure));
return info;
} else {
System.out.println("can't recognize procedure:" + procedure);
return null;
}
}
我不太明白的式
procedureName = matcher.group(1);
category = matcher.group(2);
reportNo = matcher.group(3);
rowType = matcher.group(5);
这里的1,2,3...是什么意思....请教高手指教...