字符类中的字符顺序在正则表达式中是否重要

时间:2017-09-10 03:36:48

标签: java

我在正则表达式中使用字符类来分割字符串。我假设字符类中的字符顺序无关紧要。

以下是我用来分割字符串"123.3+23+23.3"的两种模式。

[+/*-]

[+*-/]

对于第一个模式,我得到了输出:

123.3
23
23.3

对于第二种模式,我得到了输出:

123
3
23
23
3

我不知道,为什么我会得到不同的输出。请帮帮我。

1 个答案:

答案 0 :(得分:5)

在字符类中,-是范围运算符(与[a-f]中的[abcdef]相同)。因此,如果您想在您的范围中加入实际-,则必须是第一个或最后一个字符。

因此,您的第一个示例将匹配+ / * -,而您的第二个示例将匹配+ / {{1} } * - ,

enter image description here