2016-05-09 27 views
0

私はRegex式を初めて使用しているので、数字0-9のFGHCとfghc *#を持つことができる文字列を検証することができません。正規表現Javaの特定の文字列のため

私はその正規表現ツールでの作業が、Javaでそのworking.Iは、Java 1.7

Egfor私は 2314F*Ghc 12fgH#などのように

public static void main(String[] args){ 
    String money = "23FGhc*#"; 
    Pattern p = Pattern.compile("[0-9FGHCfghc*#]",Pattern.CASE_INSENSITIVE); 
    Matcher m = p.matcher(money); 
    if (m.matches()) 
     System.out.println("valid:-"+ m); 
    else 
     System.out.println("unvalid:- "+m); 
} 

を、それを必要とこのパターンを使用していない [0-9FGHCFGHC*#]にしようとしています

あなたの助けを前倒してくれてありがとうございます。あなたがもっと詳しい知識を持つことができるように、もっと詳しい説明があります。

+0

['Pattern.CASE_INSENSITIVE'](http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html#CASE_INSENSITIVE)フラグとおそらく量子'+')最後に。 –

+0

私もそれを試しましたが、運はありません:( – vicky9988

+0

正確な関連コードを表示してください。私の正規表現はJavaでは動作しませんが、regex101で動作します。 2)Matcherを実行しなかった、3)findの代わりにmatchesを使用した(そしてその逆)。 –

答えて

2
(?i)[0-9fghc*#]+ 

末尾に数量詞を追加する必要があります。この場合、+はこれらの文字を1回以上一致させます。

また、大文字小文字を区別しないように(?i)を追加することもできます。

+1

おかげで、その作品は完璧です。 – vicky9988

関連する問題