我尝试使用的正则表达式是
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));
仅替换第一次出现。
有什么方法可以替换所有的事件?
答案 0 :(得分:0)
您必须将结果放在另一个变量中:
String replaced = string.replaceAll(re2,getDate(dayForward,dateFormat));
否则,这意味着你的正则表达式不正确。