java regex字符串匹配除列表之外的两个字母的国家/地区

时间:2017-01-10 11:58:27

标签: java regex

我希望java中的regex匹配除列表之外的所有国家/地区。 例如,除了西班牙之外的所有国家,我都尝试过:

[A-Z]{2}&&^(ES)

,其中

  • PT应为true
  • DE应为true
  • ES应为false

除国家/地区列表外的所有国家

[A-Z]{2}&&^(ES|PT|DE)

感谢

1 个答案:

答案 0 :(得分:4)

这可以使用零宽度负面预测来完成,因此最终正则表达式将为^(?!ES|PT|DE)[A-Z]{2}$,表示除了ES之外,您需要2个大写字母,{ {1}}和PT。如果您使用matches(String regex)提及的方法@WiktorStribiżew,则只需DE