【发布时间】:2013-01-29 01:50:29
【问题描述】:
所以我有一个要解析的字符串,但我的正则表达式无法正常工作。我使用https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/RegExp 作为我的正则表达式指南。
我希望我的正则表达式匹配以下任何符号。
+ - * % /
我的代码如下。输入字符串:D[1]+D[0]。应该打印 true...但是打印 false。
String tmp = "D[1]+D[0]";
if(tmp.matches("[\\+\\-\\*\\/\\%]"))
System.out.println("true");
else
System.out.println("false");
有什么想法吗?
【问题讨论】:
-
尝试只使用 1 个反斜杠来转义字符。
-
@Serdalis Java 编译器要求 \ 被转义。单个反斜杠仅适用于以下序列 `\b \t \n \f \r \" \' \`
-
首先要意识到Java 不是 Javascript! 所以 Javascript 的网络参考不一定对 Java 有那么大的用处。 docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html 应该是您作为参考的第一个呼叫点。
-
@Adam - 至少使用
Pattern.quote你会让正则表达式从你的脸上消失。这只会让您使用更简洁的 Java 转义。