0

正規表現を使用して値を抽出しようとしましたが、出力を印刷しようとすると、次の例外が表示されました。

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");
    }
}

このコードが機能しないのはなぜですか?

4

1 に答える 1

4

に電話したことがないmatch()find()、電話する前にgroup(int). 例外メッセージは、メソッドが不正な状態で呼び出されたことを示すことでこれを説明しています。入力を処理する前に、何が起こっているのかわかりませんgroup(1)!

于 2013-06-17T17:51:57.873 に答える