【发布时间】:2017-08-04 20:22:59
【问题描述】:
在我现在正在工作的项目中,我需要使用 Scanner 类解析转义序列(在 Linux 中使用 Java)。例如,为了包括键盘中的两个 END 键,我最初编写了以下代码:
if(sc.findWithinHorizon("(\\G\\e\\[4~)?",0).length() > 0 || sc.findWithinHorizon("(\\G\\eOF)?",0).length() > 0 ) {
System.out.print("END"); //To see if it works
使用该代码,我没有得到任何输出(终端只是冻结)。看到之后,我将这两个条件分成了两个不同的 if:
if(sc.findWithinHorizon("(\\G\\e\\[4~)?",0).length() > 0)
System.out.print("END");
else if(sc.findWithinHorizon("(\\G\\eOF)?",0).length() > 0 )
System.out.print("END");
然后就可以了。有人知道为什么它不适用于 OR 运算符吗?
提前致谢。
【问题讨论】:
标签: java parsing java.util.scanner binary-operators