-1

我尝试使用的正则表达式是

 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

但是当我尝试替换所有出现时,

string.replaceAll(re2,getDate(dayForward,dateFormat));

不起作用。和,

matcher.appendReplacement(stringBuffer, getDate(dayForward,dateFormat));

只替换第一次出现。

有什么办法可以替换所有出现的吗?

4

1 回答 1

0

您必须将结果放入另一个变量中:

String replaced = string.replaceAll(re2,getDate(dayForward,dateFormat));

否则,这意味着您的正则表达式不正确。

于 2012-07-25T16:12:39.017 回答