使用java中的正则表达式进行搜索和替换

时间:2012-07-24 19:21:28

标签: java

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

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());
        }

0 个答案:

没有答案