我知道有很多在那裏。但我無法弄清楚如何從Scanner(System.in);
正則表達式來提取命令行參數 - Java的
commandline = scanner.readLine();
兩個參數允許提取兩個參數:
第一個可以是AHG
或4到9之間的數字之一。 第二個參數再次在4到9之間或任意數字。 應該處理所有的場景:
" A 3 " //spaces before and after
"A 3" // spaces between the params
"A 7 6" // Unwanted 3rd parameter
" 6 " // Only one param with spaces.
那麼如何寫正則表達式此提取上面? 我試過這個。 \\w\\s
。但是這不起作用。我與RegEx很差。
我認爲你試圖用一個陳述來完成太多事情。這會讓你的代碼難以理解。 –
我不確定你的難點是什麼,但不僅嘗試解析參數,而且還按照OP規則進行驗證。 – Saleem
正在使用的正則表達式對於大多數不經常使用複雜正則表達式的程序員來說可能很難理解。因此,我寧願先分割輸入,然後在第二步中驗證參數。 –