Использование регулярного выражения для оператора switch в Java

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. Мне нужна строка, которая: Начинается ровно с одной заглавной буквы, за которой следуют ровно две строчные буквы, за которыми следует по крайней мере одна цифра.

Я проверил API регулярных выражений и попробовал три варианта (жадные, упрямые и притяжательные кванторы), не зная, как правильно их использовать. Также проверил методы для String, не найдя метода, который мне показался подходящим.

18
задан jollyroger 11 November 2011 в 00:41
поделиться