-1
工作
正则表达式我试图用的是string.replaceAll(正则表达式,更换)不适用于某些情况下
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));
只取代第一次出现。
有什么办法可以替代所有的事件吗?
使用复杂的正则表达式字符串,它更有可能是您的正则表达式中的错误超过了匹配器或replaceAll。你能给我们提供更多关于你想要替换什么的信息,以及那个正则表达式应该匹配什么? – Charles 2012-07-25 16:11:38
它如何“不起作用”? – Wormbo 2012-07-25 16:11:38
正则表达式试图匹配“YYYYMMDD 1”?为什么不这样做更简单:(\ d {4})(\ d {2})(\ d {2})\ s * \ d {1}您可以添加?团体如果是可选的 – PaNaVTEC 2012-07-25 16:17:08