1

私は正規表現が初めてです。以下のコードで間違っているところを修正してください。また、Java-Regex の素敵な書籍やチュートリアルを提案してください。

public class regexx {
public static void main(String[] args) {
    // TODO Auto-generated method stub
    String s = "Bug 2742";
    if("^Bug [0-9]*".matches(s)){
        System.out.println("eq");
    }else {
        System.out.println("nq");
    }
}
}

出力として「eq」を期待していますが、一致はfalseを返しています。

4

2 に答える 2

3

正規表現は引数 http://www.tutorialspoint.com/java/java_string_matches.htmである必要があります

s.matches ("^Bug [0-9]*")
于 2013-08-31T09:30:40.387 に答える
2
public boolean matches(String regex)

String#matches() は、操作を行っているものではなく、正規表現をパラメーターとして受け取りますstring

申請中は逆のことをしているregex

明確にするために、その行を分離しました。

試す

public static void main(String[] args) {
        // TODO Auto-generated method stub
        String s = "Bug 2742";
        boolean matches = s.matches("^Bug [0-9]*");
        if(matches){
            System.out.println("eq");
        }else {
            System.out.println("nq");
        }
    }
于 2013-08-31T09:33:51.233 に答える