У меня есть вход, который нужно проверить, и я искал способ использовать регулярные выражения для этого.
Синтаксис ввода
add passenger general {passenger-name} add passenger airline
{passenger-name} add passenger loyalty {passenger-name} {current-
loyalty-points} {using-loyalty-points} {has-extra-bag}
Ввод
add passenger airline Trevor add passenger general Mark add passenger
loyalty Joan 100 FALSE TRUE add passenger general Daniel
Несколько баллов
- Во входных данных может быть любое количество добавляемых выписок о пассажирах
- Пассажиры 3-х типов: генерал или авиакомпания или лояльность
- Для пассажиров общего назначения это будет добавить пассажира генеральной марки
- Для пассажиров авиакомпании это будет добавить пассажира авиакомпании Тревор
- Для пассажиров лояльности это будет добавить лояльности пассажиров Джоан 100
ЛОЖНОЕ ИСТИНА
Я пробовал приведенную ниже логику, но она не подтверждает многократное вхождение предложений. Подобно тому, как он проверяет первое вхождение добавленного пассажира общего назначения, но не будет влиять на любое последующее добавление пассажира общего назначения. Аналогично для любого другого типа пассажиров
String s = "add passenger general Mohit add passenger general ra add
passenger airline rajui";
Pattern pattern = Pattern.compile("((add passenger general) \\D+)*
((add passenger airline) \\D+)*");
Matcher matcher = pattern.matcher(s);
System.out.println(matcher.matches());