void menu() {
print();
Scanner input = new Scanner( System.in );
while(true) {
String s = input.next();
switch (s) {
case "m": print(); continue;
case "s": stat(); break;
case "[A-Z]{1}[a-z]{2}\\d{1,}": filminfo( s ); break;
case "Jur1": filminfo(s); break; //For debugging - this worked fine
case "q": ; return;
}
}
}
Кажется, что либо мое регулярное выражение выключено, либо я не использую его правильно в case-statement. То, что я хочу, это строка, которая: начинается с одной буквы в верхнем регистре и за ней следуют ровно две строчные буквы, за которыми следует хотя бы одна цифра.
Я проверил API регулярных выражений и попробовал три варианта (жадные, неохотные и притяжательные кванторы), не зная их правильного использования. Также проверили методы для String, не найдя метод, который, как мне кажется, соответствовал моим потребностям.