java替换字符串中包含的5位长度的数字,其他长度不用处理,请问有什么好的办法?

用java判断字符串中是不是有5位定长的数字,有的话在其前面加空格,
没有5位定长数字或其他长度的数字则不予处理,请问大家有什么好办法?

class Untitled {
    public static void main(String[] args) {
        String str= "aaaa23456aaa123aaa1234567aaa12345";
        System.out.println(str.replaceAll("(^|[^\\d])(\\d{5})(?=[^\\d]|$)", "$1 $2"));
    }
}

aaaa 23456aaa123aaa1234567aaa 12345

https://blog.csdn.net/baidu_41612618/article/details/79032267参考下。
我觉得你可以考虑下正则表达式判断下。