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