java - 我的正则表达式不起作用

标签 java regex runtime-error illegalstateexception

我尝试使用正则表达式提取值,但是当我尝试打印输出时出现此异常:

Exception in thread "Main Thread" java.lang.IllegalStateException: No match found
    at java.util.regex.Matcher.group(Matcher.java:468)
    at TEST.main(TEST.java:21)

这是我的代码:

import java.util.ArrayList;
import java.util.List;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class TEST {
    /**
     * @param args
     */
    public static void main(String[] args) {
        String string = "10/06/2013 01:45";
        Pattern pattern = Pattern.compile("([0-9]{1,})/([0-9]{1,})/([0-9]{4}) ([0-9]{1,}):([0-9]{1,})");
        Matcher matcher = pattern.matcher(string);

        System.out.println(matcher.group(1)+"\n"+matcher.group(2)+"\n"+matcher.group(3)+"\n"+matcher.group(4)+"\n"+matcher.group(5)+"\n");
    }
}

为什么这段代码不起作用?

最佳答案

在调用 group(int) 之前,您从未调用过 match()find()。异常消息通过说该方法是在非法状态下调用来描述这一点的——在处理输入之前,它无法告诉您 group(1) 中的内容!

关于java - 我的正则表达式不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17153655/

相关文章:

php - 如果冒号是第一个字符,则删除它

c - 尝试从文件读取数据时出现运行时错误

java - 确定JAVA-EE应用程序模块调用了哪些拦截方法

Java标签?外、中、内

java - Gson 将一组数据对象转换为 json - Android

java - 允许中文字符的正则表达式

java - 我应该如何使用正则表达式拆分我的字符串?

c# - ASP.Net在登录时引发错误-建立与SQL Server的连接时发生与网络相关或特定于实例的错误

excel - 更改为单元格时,范围会产生运行时错误 1004

java - 如何制作月牙形状?