2017-05-28 27 views
-1

我已经编写了下列代码来检查正则表达式。以下是代码片段。方括号内的字符未在JAVA BufferedReader中读取

BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 
    String regEx =br.readLine(); 
    System.out.println("-->"); 
    System.out.print(regEx); 
    System.out.println("-->"); 

我越来越在的IntelliJ运行窗口下面的输出

\d[.]\d 
    --> 
    \d[]\d--> 

    \d\d\d[a-z]\d\d\d 
    \d\d\d[-z]\d\d\d--> 

为什么不显示

+0

我没有IntelliJ,但它在命令行(1.8.0_131,64位,Windows)中正常工作。考虑测试它,那么你可能想报告一个错误(也许在https://www.jetbrains.com/help/idea/2017.1/reporting-issues-and-sharing-your-feedback.html) – tevemadar

+0

什么是你的键盘布局?你需要使用AltGr键输入方括号吗?您是否将IntelliJ IDEA与Jetbrains自定义JRE(随附IDE)一起使用,还是单独安装了Java? –

回答

0

方括号内的文字可能是IntelliJ IDEA的问题

在我的版本2016.3 CE全部正常工作

/Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home/bin/java 
\d[.]\d 
--> 
\d[.]\d--> 

Process finished with exit code 0 
0

很难从可用的信息中准确地判断出来,但代码看起来很清楚,并且问题出在IDE上......这使得这个问题不是真正关于编程问题,而且可能脱离主题。

我猜IDE输入时根据键盘布局输入开口方括号时需要输入什么。问题不在于BufferedReader,而是IDE在该视图中处理键盘输入的方式,以及它如何将该输入传递给程序的stdin流(System.in)。

要验证,可以尝试输入一个正则表达式用方括号外IDE,那么复制粘贴到的IntelliJ。它会更好,还是相同?

如果你会使用需要的AltGr键入一个左括号(克罗地亚,法国...)键盘映射,看看this page和修复建议:

请尝试加入actionSystem.force.alt.gr=truebin/idea.properties并重新启动IDE

相关问题