src/java.base/share/classes/java/util/regex/Matcher.java
Print this page
*** 991,1000 ****
--- 991,1001 ----
* @since 9
*/
public Matcher appendReplacement(StringBuilder sb, String replacement) {
// If no match, return error
if (first < 0)
+
throw new IllegalStateException("No match available");
StringBuilder result = new StringBuilder();
appendExpandedReplacement(replacement, result);
// Append the intervening text
sb.append(text, lastAppendPosition, first);
*** 1176,1189 ****
reset();
boolean result = find();
if (result) {
StringBuilder sb = new StringBuilder();
do {
! appendReplacement(sb, replacement);
result = find();
} while (result);
! appendTail(sb);
return sb.toString();
}
return text.toString();
}
--- 1177,1192 ----
reset();
boolean result = find();
if (result) {
StringBuilder sb = new StringBuilder();
do {
! sb.append(text, lastAppendPosition, first);
! appendExpandedReplacement(replacement, sb);
! lastAppendPosition = last;
result = find();
} while (result);
! sb.append(text, lastAppendPosition, getTextLength());
return sb.toString();
}
return text.toString();
}
*** 1402,1413 ****
throw new NullPointerException("replacement");
reset();
if (!find())
return text.toString();
StringBuilder sb = new StringBuilder();
! appendReplacement(sb, replacement);
! appendTail(sb);
return sb.toString();
}
/**
* Replaces the first subsequence of the input sequence that matches the
--- 1405,1417 ----
throw new NullPointerException("replacement");
reset();
if (!find())
return text.toString();
StringBuilder sb = new StringBuilder();
! sb.append(text, 0, first);
! appendExpandedReplacement(replacement, sb);
! sb.append(text, last, getTextLength());
return sb.toString();
}
/**
* Replaces the first subsequence of the input sequence that matches the