Java正则表达式不匹配 - 在perl中

时间:2013-10-22 10:53:55

标签: java regex

我有这个正则表达式在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);

1 个答案:

答案 0 :(得分:5)

您未在代码中调用Matcher#findMatcher#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);
}