正则表达式:在字符类中排除

时间:2016-05-27 13:27:23

标签: java regex pattern-matching regex-negation

我希望匹配a和z之间的字母范围,x除外。

我正在使用java.util.regex API。

我的模式:

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

示例

  • 如果我输入" a",它应匹配。
  • 如果我输入" x",则它不应该匹配

1 个答案:

答案 0 :(得分:2)

您可以按如下方式重写std::vector<int> v; for(int i = 1; i < 10; i++){ v.push_back(i); } char *a = &v[0];

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());
}