Правильное выражение и код для выполнения вашей работы:
String s = "IAmASentenceInCamelCaseWithNumbers500And1And37";
System.out.println("Output: " + s.replaceAll("[A-Z]|\\d+", " $0").trim());
Это выводит,
Output: I Am A Sentence In Camel Case With Numbers 500 And 1 And 37
Редактирование ответа на запрос, заданный OP в комментарии:
Если входная строка равна,
ThisIsAnABBRFor1Abbreviation
Regex нуждается в небольшой модификации и становится этим, [A-Z]+(?![a-z])|[A-Z]|\\d+
для обработки сокращений.
Этот код,
String s = "ThisIsAnABBRFor1Abbreviation";
System.out.println("Input: " + s.replaceAll("[A-Z]+(?![a-z])|[A-Z]|\\d+", " $0").trim());
Дает ожидаемый результат согласно OP ZeekAran в комментарии,
Input: This Is An ABBR For 1 Abbreviation