日期:2014-05-20  浏览次数:20833 次

关于replaceall()函数的正则表达式应用
如题   我有一个字符串aa4d32ee85
我想把他变成aa004d032ee085
自己的思路是分两次把数字提取出来   补0
如   第一次取只有一个字符4   补两个0
第二次去32   和85   补一个0
请问用replaceall函数怎么实现,谢谢了
String   str= "aa4d32ee85 ";
str.replaceAll( "(\\D)\\d)(\\D) ", "?? ");

------解决方案--------------------
String str = "aa4d32ee85 ";
str = str.replaceAll( "(? <!\\d)(\\d)(?!\\d) ", "00$1 ").replaceAll( "(? <!\\d)(\\d{2})(?!\\d) ", "0$1 ");
System.out.println(str);