标签: java
我在正则表达式中使用字符类来分割字符串。我假设字符类中的字符顺序无关紧要。
以下是我用来分割字符串"123.3+23+23.3"的两种模式。
"123.3+23+23.3"
[+/*-] [+*-/]
对于第一个模式,我得到了输出:
123.3 23 23.3
对于第二种模式,我得到了输出:
123 3 23 23 3
我不知道,为什么我会得到不同的输出。请帮帮我。
答案 0 :(得分:5)
在字符类中,-是范围运算符(与[a-f]中的[abcdef]相同)。因此,如果您想在您的范围中加入实际-,则必须是第一个或最后一个字符。
-
[a-f]
[abcdef]
因此,您的第一个示例将匹配+ / * -,而您的第二个示例将匹配+ / {{1} } * - ,。
+
/
*
,