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;
}
}
}
ऐसा लगता है कि मेरा रेगेक्स बंद है या मैं इसे केस-कथन में सही तरीके से उपयोग नहीं कर रहा हूं। मैं जो चाहता हूं वह एक स्ट्रिंग है जो: बिल्कुल एक अपरकेस अक्षर के साथ शुरू होता है और इसके बाद दो लोअरकेस अक्षर होते हैं, जिसके बाद कम से कम एक अंक होता है।जावा में स्विच-स्टेटमेंट के लिए रेगेक्स का उपयोग
मैंने रेगेक्स एपीआई की जांच की है और तीन उचित रूपों (लालची, अनिच्छुक और स्वामित्व वाले क्वांटिफायर) को उनके उचित उपयोग के बिना कोशिश की है। स्ट्रिंग के लिए विधियों को भी बिना किसी विधि को ढूंढने के तरीकों की जांच की जो मेरी आवश्यकताओं के अनुरूप था।
क्या यह जावा 7 में कुछ नया है? Regex के साथ स्विच करें। जावा 6 या उससे कम में ऐसी कोई चीज़ नहीं है। – gigadot
6 और नीचे (केवल इंटीग्रल और एनम्स) में कोई स्ट्रिंग स्विच भी नहीं है –
हां - मुझे संदेह है कि यह स्विच के नियम तोड़ रहा था। तो अच्छा करने के लिए 'ओल अगर/और अगर बयान तो? – jollyroger