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中正確使用它。我想要的是一個字符串:剛好有一個大寫字母,緊跟着兩個小寫字母,後面跟着至少一個數字。在Java中使用正則表達式切換語句
我已經檢出了正則表達式API,並且在不知道其正確使用的情況下嘗試了三種變體(貪婪,不情願和佔有量詞)。還檢查了字符串的方法,但未找到與我的需求相關的方法。
這是Java 7中的新東西嗎?用正則表達式切換。 Java 6或以下沒有這樣的事情。 – gigadot
在6及以下甚至沒有字符串開關(僅限積分和枚舉) –
是的 - 我懷疑這是違反了開關規則。那麼,如果還有其他的if/else if語句呢? – jollyroger