0

正規表現は初めてです。これで戻ると思いましたがmatched succesfully、戻りません。どうしてこんなことに?

String myString = "SUB_HEADER5_LABEL";
if (myString.matches(Pattern.quote("SUB_HEADER?_LABEL")))
{
    System.out.println("matched succesfully");
}
4

1 に答える 1

4

Pattern.qoute()指定された文字列にのみ完全に一致するパターンを作成します。あなたが必要

if (myString.matches("SUB_HEADER\\d_LABEL"))

数が9を超えると予想される場合は、次の+ような数量詞を追加します。

if (myString.matches("SUB_HEADER\\d+_LABEL"))

あなたが持っている数字と一致させたい場合(それは数量詞であるため、あなたの場合?は1または0を意味します)。またはRに置き換える必要があります。[0-9]\\d

于 2012-11-22T13:31:36.593 に答える