Я конвертирую файл excel в CSV, а его в String.
Проблема в том, что регулярное выражение работает некорректно
Я хочу обнаружить такой текст:
Пакет MYW, Пакет MYW + Питание быстрого обслуживания, Пакет MYW + Питание, Пакет MYW + Питание Делюкс,
Номер + Билеты + Питание быстрого обслуживания
У меня есть массив строк. Поэтому мне нужно знать шаблон для этого, я пробую это, но он его не обнаруживает:
Pattern.compile("([A-Z]{3})+(\\s)+([A-Za-z]{3})+(\\s)+(\\+)");
Я пытаюсь сопоставить "MYW Pkg +", например, знаете, почему это не работает?
Больше кода:
chain — это массив со значениями типа «MYW Pkg»,
Pattern patPackageDescription = Pattern.compile("([A-Z]{3})+(\\s)+([A-Za-z])+(\\s)+(\\+)");
for (int i = 0; i < chain.length; i++) {
Matcher matPackageDescription = patPackageDescription
.matcher(chain[i]);
if (matPackageDescription.matches()) {
String space = String.format("%1$-" + 50 + "s",
chain[i].toString());
a.append(space + "|\n");
}
}
С Уважением.
(?)
странно / скорее всего не нужно и 2) вы ищете[A-Z]+
прямо перед\\+
(даже если междуPkg
и+
есть пробел). - person Sam   schedule 19.07.2016(?i:[A-Z])
, но вы можете просто использовать[A-Za-z]
- person Wiktor Stribiżew   schedule 19.07.2016