diff --git a/spring-boot/src/main/java/org/springframework/boot/bind/RelaxedNames.java b/spring-boot/src/main/java/org/springframework/boot/bind/RelaxedNames.java index 157b760018..a20cdaa312 100644 --- a/spring-boot/src/main/java/org/springframework/boot/bind/RelaxedNames.java +++ b/spring-boot/src/main/java/org/springframework/boot/bind/RelaxedNames.java @@ -36,6 +36,9 @@ public final class RelaxedNames implements Iterable { private static final Pattern CAMEL_CASE_PATTERN = Pattern.compile("([^A-Z-])([A-Z])"); + private static final Pattern SEPARATED_TO_CAMEL_CASE_PATTERN = Pattern + .compile("[_\\-.]"); + private final String name; private final Set values = new LinkedHashSet(); @@ -180,7 +183,7 @@ public final class RelaxedNames implements Iterable { private static String separatedToCamelCase(String value, boolean caseInsensitive) { StringBuilder builder = new StringBuilder(); - for (String field : value.split("[_\\-.]")) { + for (String field : SEPARATED_TO_CAMEL_CASE_PATTERN.split(value)) { field = (caseInsensitive ? field.toLowerCase() : field); builder.append( builder.length() == 0 ? field : StringUtils.capitalize(field));