2016-05-27 8 views
0

xを除くaとzのアルファベットの範囲を一致させたい。正規表現:文字クラスでの除外

私はこのためにjava.util.regex APIを使用しています。

私のパターン:

[a-z^x] // here a-z shows a range between a to z and^means negation 

  • 私は "A" を入力すると、それが一致している必要があります。
  • 私は "x" を入力すると、それは次のよう
+1

これまでに何を試みましたか?期待どおりに動作していないコードを追加してください。 – JohannisK

答えて

2

あなたはあなたのPatternを書き換えることができます一致しないでください。

[a-z&&[^x]]

String[] test = {"abcd", "abcdx"}; 
//       | range 
//       | | and 
//       | | | new class excluding "x" 
//       | | | | adding quantifier for this example 
Pattern p = Pattern.compile("[a-z&&[^x]]+"); 
for (String s: test) { 
    System.out.println(p.matcher(s).matches()); 
} 

出力

true 
false 
+0

Menaありがとうございます。 – Siddharth

+0

@Siddharthようこそ。 – Mena