Regex regex = matcher.regex; Encoding enc = regex.enc; byte[]buf = matcher.icbuf(); byte[]target = regex.exact; int targetP = regex.exactP;
Regex regex = matcher.regex; Encoding enc = regex.enc; byte[]buf = matcher.icbuf(); byte[]target = regex.exact; int targetP = regex.exactP;
@Override final int search(Matcher matcher, byte[]text, int textP, int textEnd, int textRange) { Regex regex = matcher.regex; Encoding enc = regex.enc; byte[]target = regex.exact; int targetP = regex.exactP; int targetEnd = regex.exactEnd; int end = textEnd; end -= targetEnd - targetP - 1; if (end > textRange) end = textRange; int s = textP; byte[]buf = matcher.icbuf(); while (s < end) { if (lowerCaseMatch(target, targetP, targetEnd, text, s, textEnd, enc, buf, regex.caseFoldFlag)) return s; s += enc.length(text, s, textEnd); } return -1; }
@Override final int search(Matcher matcher, byte[]text, int textP, int textEnd, int textRange) { Regex regex = matcher.regex; Encoding enc = regex.enc; byte[]target = regex.exact; int targetP = regex.exactP; int targetEnd = regex.exactEnd; int end = textEnd; end -= targetEnd - targetP - 1; if (end > textRange) end = textRange; int s = textP; byte[]buf = matcher.icbuf(); while (s < end) { if (lowerCaseMatch(target, targetP, targetEnd, text, s, textEnd, enc, buf, regex.caseFoldFlag)) return s; s += enc.length(text, s, textEnd); } return -1; }
@Override final int search(Matcher matcher, byte[]text, int textP, int adjustText, int textEnd, int textStart, int s_, int range_) { Regex regex = matcher.regex; Encoding enc = regex.enc; byte[]target = regex.exact; int targetP = regex.exactP; int targetEnd = regex.exactEnd; int s = textEnd; s -= targetEnd - targetP; s = (s > textStart) ? textStart : enc.leftAdjustCharHead(text, adjustText, s, textEnd); byte[]buf = matcher.icbuf(); while (s >= textP) { if (lowerCaseMatch(target, targetP, targetEnd, text, s, textEnd, enc, buf, regex.caseFoldFlag)) return s; s = enc.prevCharHead(text, adjustText, s, textEnd); } return -1; } };
@Override final int search(Matcher matcher, byte[]text, int textP, int adjustText, int textEnd, int textStart, int s_, int range_) { Regex regex = matcher.regex; Encoding enc = regex.enc; byte[]target = regex.exact; int targetP = regex.exactP; int targetEnd = regex.exactEnd; int s = textEnd; s -= targetEnd - targetP; s = (s > textStart) ? textStart : enc.leftAdjustCharHead(text, adjustText, s, textEnd); byte[]buf = matcher.icbuf(); while (s >= textP) { if (lowerCaseMatch(target, targetP, targetEnd, text, s, textEnd, enc, buf, regex.caseFoldFlag)) return s; s = enc.prevCharHead(text, adjustText, s, textEnd); } return -1; } };
Regex regex = matcher.regex; Encoding enc = regex.enc; byte[]buf = matcher.icbuf(); byte[]target = regex.exact; int targetP = regex.exactP;
Regex regex = matcher.regex; Encoding enc = regex.enc; byte[]buf = matcher.icbuf(); byte[]target = regex.exact; int targetP = regex.exactP;