我需要找到并替换文档中存在的所有日期(基本上将它带到当前日期)。使用正则表达式的问题是日期是否采用这种格式
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());
}