0

正規表現のコンパイルに問題があります。Cisco のドキュメントから取得したため、この表現の問題点がわかりません。また、なぜ機能しないのかわかりません。誰かが何が悪いのか教えてくれることを願っています。これは私がやろうとしていることです:

public void test(){
    try{
        pattern.compile("^[]0-9*#X[^-]{1,50}$");
        System.out.println("Syntax is ok");
    } catch (PatternSyntaxException e) {
        System.out.println(e.getDescription());
    }
}
4

1 に答える 1

1

これ:

^[]0-9*#X[^-]{1,50}$

機能しません。次のものに置き換える必要があり[]0-9ます[0-9]

^[0-9]*#X[^-]{1,50}$

アップデート

[]Duncan Jones が言うように、文字列の先頭で一致させたいと思ったかもしれません。この場合、正規表現は次のようになる必要があります

^\[\]0-9*#X[^-]{1,50}$

そう:

pattern.compile("^\\[\\]0-9*#X[^-]{1,50}$");
于 2013-06-20T14:57:04.287 に答える