我需要查找并替换文档中存在的所有日期(基本上将其带到当前日期)。使用正则表达式的问题是日期是否采用这种格式
CreationDatetime="2012/07/24 10:00:19 649 GMT"
正则表达式将找不到此条目,因为日期附加到另一个字符串。有没有其他方法可以找到所有格式的日期(yyyymmdd、yyyy/mm/dd 等)并将其带到当前日期。
用于搜索一种格式(yyyymmdd)的工作代码,但替换现在不起作用。
String re1=".*?"; // Non-greedy match on filler
String re2="((?:(?:[1]{1}\\d{1}\\d{1}\\d{1})|(?:[2]{1}\\d{3}))[-:\\/.](?:[0]?[1-9]|[1][012])[-:\\/.](?:(?:[0-2]?\\d{1})|(?:[3][01]{1})))(?![\\d])"; // YYYYMMDD 1
Pattern p = Pattern.compile(re1+re2,Pattern.CASE_INSENSITIVE | Pattern.DOTALL);
for(Object s : x){
String temp = s.toString();
Matcher m = p.matcher(s.toString());
if (m.find())
{
temp.replaceAll(re1+re2, "test");
System.out.println(temp.toString());
}