我有这个正则表达式在perl中运行正常。但是在java中,我在运行此代码时遇到异常。
String procTime="125-23:02:01";
String pattern = "([0-9]+)-([0-9]+):([0-9]+):([0-9]+).*";
Pattern r = Pattern.compile(pattern);
Matcher mt = r.matcher(procTime);
String a = mt.group(0); // throws exception not fnd
String d = mt.group(1);
答案 0 :(得分:5)
您未在代码中调用Matcher#find
或Matcher#matches
命令。以下工作:
String procTime="125-23:02:01";
String pattern = "([0-9]+)-([0-9]+):([0-9]+):([0-9]+).*";
Pattern r = Pattern.compile(pattern);
Matcher mt = r.matcher(procTime);
if (mt.find()) {
String a = mt.group(0); // should work now
String d = mt.group(1);
}