} else { matchRoot = expr(lastAccept);
} else { matchRoot = expr(lastAccept);
head = createGroup(true); tail = root; head.next = expr(tail); break; case '=': // (?=xxx) and (?!xxx) lookahead head = createGroup(true); tail = root; head.next = expr(tail); if (ch == '=') { head = tail = new Pos(head); head = createGroup(true); tail = root; head.next = expr(tail); head = tail = new Ques(head, INDEPENDENT); break; tail = root; namedGroups().put(name, capturingGroupCount-1); head.next = expr(tail); break; head = createGroup(true); tail = root; head.next = expr(tail); tail.next = lookbehindEnd; TreeInfo info = new TreeInfo();
head = createGroup(true); tail = root; head.next = expr(tail); break; case '=': // (?=xxx) and (?!xxx) lookahead head = createGroup(true); tail = root; head.next = expr(tail); if (ch == '=') { head = tail = new Pos(head); head = createGroup(true); tail = root; head.next = expr(tail); head = tail = new Ques(head, INDEPENDENT); break; tail = root; namedGroups().put(name, capturingGroupCount-1); head.next = expr(tail); break; head = createGroup(true); tail = root; head.next = expr(tail); tail.next = lookbehindEnd; TreeInfo info = new TreeInfo();