1
我試圖捕獲命令'\'可用於擴展命令到多行。因此,一個可能的分隔符可以是:Java掃描儀獲取下一個分隔符
Pattern assignment = Pattern.compile("[^\\\\]\\n");
當然,這有「\ n」之前斬去最後一個非「\」字符的問題。我嘗試通過以下嘗試恢復該字符:
由於掃描器的輸入形式爲:T1 D1 T2 D2 T3 D3 ....其中T#和D#對應於令牌和分隔符號碼'分別#」,我認爲這會工作:
Pattern p = Pattern.compile("\\\\?\\s+");
String residue = file.findInLine(assignment);
String curToken = file.next().trim();
if(residue == null)
residue = "";
else
residue = residue.trim();
Scanner tokens = new Scanner(curToken + residue).useDelimiter(p);
非但沒有T1和D1,findInLine,這是應該忽略掃描儀的分隔符的級聯,當模式是一樣的分隔符返回null!任何人都能解釋這種奇怪的行爲嗎