Lines Matching defs:matcher

47  * matcher, so many matchers can share the same pattern.
53 * Matcher m = p.{@link #matcher matcher}("aaaaab");
488 * may also be retrieved from the matcher once the match operation is complete.
736 * unless the matcher is reset. </p></li>
1073 * Creates a matcher that will match the given input against this pattern.
1079 * @return A new matcher for this pattern
1081 public Matcher matcher(CharSequence input) {
1113 * Pattern.compile(regex).matcher(input).matches()</pre></blockquote>
1129 Matcher m = p.matcher(input);
1197 Matcher m = matcher(input);
3286 * Returns a suitably optimized, single character matcher.
3309 * Utility method for creating a string slice matcher.
3353 boolean match(Matcher matcher, int i, CharSequence seq) {
3354 matcher.last = i;
3355 matcher.groups[0] = matcher.first;
3356 matcher.groups[1] = matcher.last;
3377 boolean match(Matcher matcher, int i, CharSequence seq) {
3378 if (matcher.acceptMode == Matcher.ENDANCHOR && i != matcher.to)
3380 matcher.last = i;
3381 matcher.groups[0] = matcher.first;
3382 matcher.groups[1] = matcher.last;
3401 boolean match(Matcher matcher, int i, CharSequence seq) {
3402 if (i > matcher.to - minLength) {
3403 matcher.hitEnd = true;
3406 int guard = matcher.to - minLength;
3408 if (next.match(matcher, i, seq)) {
3409 matcher.first = i;
3410 matcher.groups[0] = matcher.first;
3411 matcher.groups[1] = matcher.last;
3415 matcher.hitEnd = true;
3433 boolean match(Matcher matcher, int i, CharSequence seq) {
3434 if (i > matcher.to - minLength) {
3435 matcher.hitEnd = true;
3438 int guard = matcher.to - minLength;
3440 //if ((ret = next.match(matcher, i, seq)) || i == guard)
3441 if (next.match(matcher, i, seq)) {
3442 matcher.first = i;
3443 matcher.groups[0] = matcher.first;
3444 matcher.groups[1] = matcher.last;
3458 matcher.hitEnd = true;
3469 boolean match(Matcher matcher, int i, CharSequence seq) {
3470 int fromIndex = (matcher.anchoringBounds) ?
3471 matcher.from : 0;
3472 if (i == fromIndex && next.match(matcher, i, seq)) {
3473 matcher.first = i;
3474 matcher.groups[0] = i;
3475 matcher.groups[1] = matcher.last;
3488 boolean match(Matcher matcher, int i, CharSequence seq) {
3489 int endIndex = (matcher.anchoringBounds) ?
3490 matcher.to : matcher.getTextLength();
3492 matcher.hitEnd = true;
3493 return next.match(matcher, i, seq);
3504 boolean match(Matcher matcher, int i, CharSequence seq) {
3505 int startIndex = matcher.from;
3506 int endIndex = matcher.to;
3507 if (!matcher.anchoringBounds) {
3509 endIndex = matcher.getTextLength();
3513 matcher.hitEnd = true;
3527 return next.match(matcher, i, seq);
3535 boolean match(Matcher matcher, int i, CharSequence seq) {
3536 int startIndex = matcher.from;
3537 int endIndex = matcher.to;
3538 if (!matcher.anchoringBounds) {
3540 endIndex = matcher.getTextLength();
3544 matcher.hitEnd = true;
3553 return next.match(matcher, i, seq);
3562 boolean match(Matcher matcher, int i, CharSequence seq) {
3563 if (i != matcher.oldLast)
3565 return next.match(matcher, i, seq);
3587 boolean match(Matcher matcher, int i, CharSequence seq) {
3588 int endIndex = (matcher.anchoringBounds) ?
3589 matcher.to : matcher.getTextLength();
3617 return next.match(matcher, i, seq);
3621 return next.match(matcher, i, seq);
3627 matcher.hitEnd = true;
3630 matcher.requireEnd = true;
3631 return next.match(matcher, i, seq);
3648 boolean match(Matcher matcher, int i, CharSequence seq) {
3649 int endIndex = (matcher.anchoringBounds) ?
3650 matcher.to : matcher.getTextLength();
3659 // matcher.hitEnd
3661 return next.match(matcher, i, seq);
3668 matcher.hitEnd = true;
3671 matcher.requireEnd = true;
3672 return next.match(matcher, i, seq);
3691 boolean match(Matcher matcher, int i, CharSequence seq) {
3692 if (i < matcher.to) {
3695 && next.match(matcher, i+Character.charCount(ch), seq);
3697 matcher.hitEnd = true;
3713 boolean match(Matcher matcher, int i, CharSequence seq) {
3714 if (i < matcher.to) {
3716 && next.match(matcher, i+1, seq);
3718 matcher.hitEnd = true;
3859 boolean match(Matcher matcher, int i, CharSequence seq) {
3863 if ((i+j) >= matcher.to) {
3864 matcher.hitEnd = true;
3870 return next.match(matcher, i+len, seq);
3882 boolean match(Matcher matcher, int i, CharSequence seq) {
3886 if ((i+j) >= matcher.to) {
3887 matcher.hitEnd = true;
3895 return next.match(matcher, i+len, seq);
3907 boolean match(Matcher matcher, int i, CharSequence seq) {
3911 if ((i+j) >= matcher.to) {
3912 matcher.hitEnd = true;
3920 return next.match(matcher, i+len, seq);
3932 boolean match(Matcher matcher, int i, CharSequence seq) {
3936 if (x >= matcher.to) {
3937 matcher.hitEnd = true;
3944 if (x > matcher.to) {
3945 matcher.hitEnd = true;
3949 return next.match(matcher, x, seq);
3964 boolean match(Matcher matcher, int i, CharSequence seq) {
3968 if (x >= matcher.to) {
3969 matcher.hitEnd = true;
3976 if (x > matcher.to) {
3977 matcher.hitEnd = true;
3981 return next.match(matcher, x, seq);
4076 boolean match(Matcher matcher, int i, CharSequence seq) {
4079 return (atom.match(matcher, i, seq) && next.match(matcher, matcher.last, seq))
4080 || next.match(matcher, i, seq);
4082 return next.match(matcher, i, seq)
4083 || (atom.match(matcher, i, seq) && next.match(matcher, matcher.last, seq));
4085 if (atom.match(matcher, i, seq)) i = matcher.last;
4086 return next.match(matcher, i, seq);
4088 return atom.match(matcher, i, seq) && next.match(matcher, matcher.last, seq);
4122 boolean match(Matcher matcher, int i, CharSequence seq) {
4125 if (atom.match(matcher, i, seq)) {
4126 i = matcher.last;
4132 return match0(matcher, i, j, seq);
4134 return match1(matcher, i, j, seq);
4136 return match2(matcher, i, j, seq);
4141 boolean match0(Matcher matcher, int i, int j, CharSequence seq) {
4145 return next.match(matcher, i, seq);
4148 while (atom.match(matcher, i, seq)) {
4150 int k = matcher.last - i;
4154 i = matcher.last;
4158 if (!atom.match(matcher, i, seq))
4160 if (i + k != matcher.last) {
4161 if (match0(matcher, matcher.last, j+1, seq))
4170 if (next.match(matcher, i, seq))
4177 return next.match(matcher, i, seq);
4182 boolean match1(Matcher matcher, int i, int j, CharSequence seq) {
4185 if (next.match(matcher, i, seq))
4191 if (!atom.match(matcher, i, seq))
4194 if (i == matcher.last)
4197 i = matcher.last;
4201 boolean match2(Matcher matcher, int i, int j, CharSequence seq) {
4203 if (!atom.match(matcher, i, seq))
4205 if (i == matcher.last)
4207 i = matcher.last;
4209 return next.match(matcher, i, seq);
4273 boolean match(Matcher matcher, int i, CharSequence seq) {
4274 int[] groups = matcher.groups;
4275 int[] locals = matcher.locals;
4291 if (atom.match(matcher, i, seq)) {
4294 groups[groupIndex+1] = matcher.last;
4296 i = matcher.last;
4304 ret = match0(matcher, i, cmin, seq);
4306 ret = match1(matcher, i, cmin, seq);
4308 ret = match2(matcher, i, cmin, seq);
4321 boolean match0(Matcher matcher, int i, int j, CharSequence seq) {
4322 int[] groups = matcher.groups;
4332 if (!atom.match(matcher, i, seq))
4334 int k = matcher.last - i;
4351 if (!atom.match(matcher, i, seq))
4353 if (i + k != matcher.last) {
4354 if (match0(matcher, i, j, seq))
4360 if (next.match(matcher, i, seq)) {
4382 return next.match(matcher, i, seq);
4385 boolean match1(Matcher matcher, int i, int j, CharSequence seq) {
4387 if (next.match(matcher, i, seq))
4391 if (!atom.match(matcher, i, seq))
4393 if (i == matcher.last)
4396 matcher.groups[groupIndex] = i;
4397 matcher.groups[groupIndex+1] = matcher.last;
4399 i = matcher.last;
4404 boolean match2(Matcher matcher, int i, int j, CharSequence seq) {
4406 if (!atom.match(matcher, i, seq)) {
4410 matcher.groups[groupIndex] = i;
4411 matcher.groups[groupIndex+1] = matcher.last;
4413 if (i == matcher.last) {
4416 i = matcher.last;
4418 return next.match(matcher, i, seq);
4465 boolean match(Matcher matcher, int i, CharSequence seq) {
4466 return next.match(matcher, i, seq);
4497 boolean match(Matcher matcher, int i, CharSequence seq) {
4500 if (conn.next.match(matcher, i, seq))
4502 } else if (atoms[n].match(matcher, i, seq)) {
4553 boolean match(Matcher matcher, int i, CharSequence seq) {
4554 int save = matcher.locals[localIndex];
4555 matcher.locals[localIndex] = i;
4556 boolean ret = next.match(matcher, i, seq);
4557 matcher.locals[localIndex] = save;
4560 boolean matchRef(Matcher matcher, int i, CharSequence seq) {
4561 int save = matcher.locals[localIndex];
4562 matcher.locals[localIndex] = ~i; // HACK
4563 boolean ret = next.match(matcher, i, seq);
4564 matcher.locals[localIndex] = save;
4579 boolean match(Matcher matcher, int i, CharSequence seq) {
4580 return head.matchRef(matcher, i, seq)
4581 && next.match(matcher, matcher.last, seq);
4605 boolean match(Matcher matcher, int i, CharSequence seq) {
4606 int tmp = matcher.locals[localIndex];
4610 int groupStart = matcher.groups[groupIndex];
4611 int groupEnd = matcher.groups[groupIndex+1];
4613 matcher.groups[groupIndex] = tmp;
4614 matcher.groups[groupIndex+1] = i;
4615 if (next.match(matcher, i, seq)) {
4618 matcher.groups[groupIndex] = groupStart;
4619 matcher.groups[groupIndex+1] = groupEnd;
4624 matcher.last = i;
4638 boolean match(Matcher matcher, int i, CharSequence seq) {
4639 return loop.matchInit(matcher, i, seq);
4654 int countIndex; // local count index in matcher locals
4661 boolean match(Matcher matcher, int i, CharSequence seq) {
4663 if (i > matcher.locals[beginIndex]) {
4664 int count = matcher.locals[countIndex];
4669 matcher.locals[countIndex] = count + 1;
4670 boolean b = body.match(matcher, i, seq);
4674 matcher.locals[countIndex] = count;
4682 matcher.locals[countIndex] = count + 1;
4683 boolean b = body.match(matcher, i, seq);
4687 matcher.locals[countIndex] = count;
4692 return next.match(matcher, i, seq);
4694 boolean matchInit(Matcher matcher, int i, CharSequence seq) {
4695 int save = matcher.locals[countIndex];
4698 matcher.locals[countIndex] = 1;
4699 ret = body.match(matcher, i, seq);
4701 matcher.locals[countIndex] = 1;
4702 ret = body.match(matcher, i, seq);
4704 ret = next.match(matcher, i, seq);
4706 ret = next.match(matcher, i, seq);
4708 matcher.locals[countIndex] = save;
4728 boolean match(Matcher matcher, int i, CharSequence seq) {
4730 if (i > matcher.locals[beginIndex]) {
4731 int count = matcher.locals[countIndex];
4733 matcher.locals[countIndex] = count + 1;
4734 boolean result = body.match(matcher, i, seq);
4738 matcher.locals[countIndex] = count;
4741 if (next.match(matcher, i, seq))
4744 matcher.locals[countIndex] = count + 1;
4745 boolean result = body.match(matcher, i, seq);
4749 matcher.locals[countIndex] = count;
4754 return next.match(matcher, i, seq);
4756 boolean matchInit(Matcher matcher, int i, CharSequence seq) {
4757 int save = matcher.locals[countIndex];
4760 matcher.locals[countIndex] = 1;
4761 ret = body.match(matcher, i, seq);
4762 } else if (next.match(matcher, i, seq)) {
4765 matcher.locals[countIndex] = 1;
4766 ret = body.match(matcher, i, seq);
4768 matcher.locals[countIndex] = save;
4788 boolean match(Matcher matcher, int i, CharSequence seq) {
4789 int j = matcher.groups[groupIndex];
4790 int k = matcher.groups[groupIndex+1];
4799 if (i + groupSize > matcher.to) {
4800 matcher.hitEnd = true;
4810 return next.match(matcher, i+groupSize, seq);
4826 boolean match(Matcher matcher, int i, CharSequence seq) {
4827 int j = matcher.groups[groupIndex];
4828 int k = matcher.groups[groupIndex+1];
4837 if (i + groupSize > matcher.to) {
4838 matcher.hitEnd = true;
4865 return next.match(matcher, i+groupSize, seq);
4884 boolean match(Matcher matcher, int i, CharSequence seq) {
4886 return atom.match(matcher, i, seq)
4887 && next.match(matcher, matcher.last, seq);
4890 if (i > matcher.to) {
4891 matcher.hitEnd = true;
4894 if (atom.match(matcher, i, seq)) {
4895 return next.match(matcher, matcher.last, seq);
4898 matcher.first++;
4916 boolean match(Matcher matcher, int i, CharSequence seq) {
4917 if (cond.match(matcher, i, seq)) {
4918 return yes.match(matcher, i, seq);
4920 return not.match(matcher, i, seq);
4952 boolean match(Matcher matcher, int i, CharSequence seq) {
4953 int savedTo = matcher.to;
4957 if (matcher.transparentBounds)
4958 matcher.to = matcher.getTextLength();
4960 conditionMatched = cond.match(matcher, i, seq);
4963 matcher.to = savedTo;
4965 return conditionMatched && next.match(matcher, i, seq);
4977 boolean match(Matcher matcher, int i, CharSequence seq) {
4978 int savedTo = matcher.to;
4982 if (matcher.transparentBounds)
4983 matcher.to = matcher.getTextLength();
4985 if (i < matcher.to) {
4986 conditionMatched = !cond.match(matcher, i, seq);
4990 matcher.requireEnd = true;
4991 conditionMatched = !cond.match(matcher, i, seq);
4995 matcher.to = savedTo;
4997 return conditionMatched && next.match(matcher, i, seq);
5006 boolean match(Matcher matcher, int i, CharSequence seq) {
5007 return i == matcher.lookbehindTo;
5023 boolean match(Matcher matcher, int i, CharSequence seq) {
5024 int savedFrom = matcher.from;
5026 int startIndex = (!matcher.transparentBounds) ?
5027 matcher.from : 0;
5030 int savedLBT = matcher.lookbehindTo;
5031 matcher.lookbehindTo = i;
5033 if (matcher.transparentBounds)
5034 matcher.from = 0;
5036 conditionMatched = cond.match(matcher, j, seq);
5038 matcher.from = savedFrom;
5039 matcher.lookbehindTo = savedLBT;
5040 return conditionMatched && next.match(matcher, i, seq);
5052 boolean match(Matcher matcher, int i, CharSequence seq) {
5055 int savedFrom = matcher.from;
5056 int startIndex = (!matcher.transparentBounds) ?
5057 matcher.from : 0;
5061 int savedLBT = matcher.lookbehindTo;
5062 matcher.lookbehindTo = i;
5064 if (matcher.transparentBounds)
5065 matcher.from = 0;
5070 conditionMatched = cond.match(matcher, j, seq);
5072 matcher.from = savedFrom;
5073 matcher.lookbehindTo = savedLBT;
5074 return conditionMatched && next.match(matcher, i, seq);
5090 boolean match(Matcher matcher, int i, CharSequence seq) {
5091 int savedLBT = matcher.lookbehindTo;
5092 int savedFrom = matcher.from;
5094 int startIndex = (!matcher.transparentBounds) ?
5095 matcher.from : 0;
5097 matcher.lookbehindTo = i;
5099 if (matcher.transparentBounds)
5100 matcher.from = 0;
5102 conditionMatched = cond.match(matcher, j, seq);
5105 matcher.from = savedFrom;
5106 matcher.lookbehindTo = savedLBT;
5107 return !conditionMatched && next.match(matcher, i, seq);
5119 boolean match(Matcher matcher, int i, CharSequence seq) {
5122 int savedFrom = matcher.from;
5123 int savedLBT = matcher.lookbehindTo;
5125 int startIndex = (!matcher.transparentBounds) ?
5126 matcher.from : 0;
5128 matcher.lookbehindTo = i;
5130 if (matcher.transparentBounds)
5131 matcher.from = 0;
5135 conditionMatched = cond.match(matcher, j, seq);
5138 matcher.from = savedFrom;
5139 matcher.lookbehindTo = savedLBT;
5140 return !conditionMatched && next.match(matcher, i, seq);
5198 int check(Matcher matcher, int i, CharSequence seq) {
5201 int startIndex = matcher.from;
5202 int endIndex = matcher.to;
5203 if (matcher.transparentBounds) {
5205 endIndex = matcher.getTextLength();
5211 && hasBaseCharacter(matcher, i-1, seq)));
5218 && hasBaseCharacter(matcher, i, seq)));
5221 matcher.hitEnd = true;
5223 matcher.requireEnd = true;
5227 boolean match(Matcher matcher, int i, CharSequence seq) {
5228 return (check(matcher, i, seq) & type) > 0
5229 && next.match(matcher, i, seq);
5237 private static boolean hasBaseCharacter(Matcher matcher, int i,
5240 int start = (!matcher.transparentBounds) ?
5241 matcher.from : 0;
5350 boolean match(Matcher matcher, int i, CharSequence seq) {
5353 int last = matcher.to - patternLength;
5368 matcher.first = i;
5369 boolean ret = next.match(matcher, i + patternLength, seq);
5371 matcher.first = i;
5372 matcher.groups[0] = matcher.first;
5373 matcher.groups[1] = matcher.last;
5381 matcher.hitEnd = true;
5404 boolean match(Matcher matcher, int i, CharSequence seq) {
5407 int last = matcher.to - lengthInChars;
5425 matcher.first = i;
5426 boolean ret = next.match(matcher, i + lengthInChars, seq);
5428 matcher.first = i;
5429 matcher.groups[0] = matcher.first;
5430 matcher.groups[1] = matcher.last;
5435 matcher.hitEnd = true;