这是我要从中删除日期值的 json。
{
"mCheckInTime": null,
"mCheckOutTime": null,
"mLateArrivalTime": "2017-09-14T18:00:00.000+05:00",
"mNumberOfBeds": 0
}
这是对应的正则表达式
String valueRegex = "^(\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}\\+\\d{2}:\\d{2})$";
String message = message.replaceAll(valueRegex, "");
当我运行这段代码时,它什么也没做。 有人请帮我解决这个问题,这里有什么问题吗?
最佳答案
您需要从正则表达式中删除 ^
(开始)和 $
(结束)元字符:
String message = "{\n" +
" \"mCheckInTime\": null,\n" +
" \"mCheckOutTime\": null,\n" +
" \"mLateArrivalTime\": \"2017-09-14T18:00:00.000+05:00\",\n" +
" \"mNumberOfBeds\": 0\n" +
" }";
String regex = "\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}\\+\\d{2}:\\d{2}";
System.out.println(message.replaceAll(regex, ""));
这会产生以下输出:
{
"mCheckInTime": null,
"mCheckOutTime": null,
"mLateArrivalTime": "",
"mNumberOfBeds": 0
}
关于java - 正则表达式无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46211818/