У меня есть список строк, содержащих такие значения:
String [] arr = {"${US.IDX_CA}", "${UK.IDX_IO}", "${NZ.IDX_BO}", "${JP.IDX_TK}", "${US.IDX_MT}", "more-elements-with-completely-different-patterns-which-is-irrelevant"};
Я пытаюсь извлечь все IDX_XX из этого списка.Таким образом, из приведенного выше списка, я должен иметь, IDX_CA, IDX_IO, IDX_BO и т. Д. С использованием регулярного выражения в Java
Я написал следующий код:
Pattern pattern = Pattern.compile("(.*)IDX_(\\w{2})");
for (String s : arr){
Matcher m = pattern.matcher(s);
if (m.matches()){
String extract = m.group(1);
System.out.println(extract);
}
}
Но это ничего не печатает.Может кто-нибудь, пожалуйста, скажите мне, какую ошибку я делаю.Спасибо.