in src/main/java/org/apache/sling/api/uri/SlingUriBuilder.java [987:1010]
private String extractPathParameters(String path) {
// we rebuild the parameters from scratch as given in path (if path is set to null we also reset)
pathParameters.clear();
if (path != null) {
Pattern pathParameterRegex = Pattern.compile(PATH_PARAMETERS_REGEX);
StringBuffer resultString = null;
Matcher regexMatcher = pathParameterRegex.matcher(path);
while (regexMatcher.find()) {
if (resultString == null) {
resultString = new StringBuffer();
}
regexMatcher.appendReplacement(resultString, "");
String key = regexMatcher.group(1);
String value = isNotBlank(regexMatcher.group(2)) ? regexMatcher.group(2) : regexMatcher.group(3);
pathParameters.put(key, value);
}
if (resultString != null) {
regexMatcher.appendTail(resultString);
path = resultString.toString();
}
}
return path;
}