Java正则表达式找到一组字符bug

时间:2018-06-06 10:09:00

标签: java regex

我有一个Java正则表达式,我试图删除当天的部分。我想删除以dd开头的字符串的开头以及任何这些字符:\.-/(space)

我想要的是将此"dd-MMM-yyyy"转换为此"MMM-yyyy"。为此我使用了这种格式dd[\\.-/ ]的正则表达式。但是,由于某种原因,这似乎不起作用。从模式javadoc正则表达式应该工作。我得到的输出是:

"dd-MMM-yyyy".replaceAll("dd[\\.-/ ]", EMPTY_STRING) 
outputs dd-MMM-yyyy

然而,改变空格角色的位置似乎有效。

"dd-MMM-yyyy".replaceAll("dd[\\. -/]", EMPTY_STRING)
outputs MMM-yyyy

所有这些正则表达式也都有效:

"dd-MMM-yyyy".replaceAll("dd[\\.-]", EMPTY_STRING)
outputs MMM-yyyy

"dd-MMM-yyyy".replaceAll("dd[\\-]", EMPTY_STRING)
outputs MMM-yyyy

"dd-MMM-yyyy".replaceAll("dd[-]", EMPTY_STRING
outputs MMM-yyyy

这可能是一个Java错误吗?

0 个答案:

没有答案