1NOTE regex implementation categorization 2004-05-31 2 3?E aa* xaxaax (1,2) POSITION=leftmost 4; POSITION=bug 5 6?E (a*)(ab)*(b*) abc (0,2)(0,1)(?,?)(1,2) ASSOCIATIVITY=right 7|E (a*)(ab)*(b*) abc (0,2)(0,0)(0,2)(2,2) ASSOCIATIVITY=left 8; ASSOCIATIVITY=bug 9 10?E ((a*)(ab)*)((b*)(a*)) aba (0,3)(0,2)(0,0)(0,2)(2,3)(2,2)(2,3) SUBEXPRESSION=precedence 11|E ((a*)(ab)*)((b*)(a*)) aba (0,3)(0,1)(0,1)(?,?)(1,3)(1,2)(2,3) SUBEXPRESSION=grouping 12; SUBEXPRESSION=bug 13 14?E (...?.?)* xxxxxx (0,6)(4,6) REPEAT_LONGEST=first 15|E (...?.?)* xxxxxx (0,6)(2,6) REPEAT_LONGEST=last 16|E (...?.?)* xxxxxx OK REPEAT_LONGEST=unknown 17; REPEAT_LONGEST=bug 18 19?E (a|ab)(bc|c) abcabc (0,3)(0,2)(2,3) EXPECTED 20|E (a|ab)(bc|c) abcabc (0,3)(0,1)(1,3) BUG=alternation-order 21; BUG=alternation-order-UNKNOWN 22 23?E (aba|a*b)(aba|a*b) ababa (0,5)(0,2)(2,5) EXPECTED 24|E (aba|a*b)(aba|a*b) ababa (0,4)(0,3)(3,4) BUG=first-match 25; BUG=unknown-match 26 27?B a\(b\)*\1 a NOMATCH EXPECTED 28|B a\(b\)*\1 a (0,1) BUG=nomatch-match 29|B a\(b\)*\1 abab (0,2)(1,2) # BUG=repeat-any 30; BUG=nomatch-match-UNKNOWN 31 32?E (a*){2} xxxxx (0,0)(0,0) EXPECTED 33|E (a*){2} xxxxx (5,5)(5,5) BUG=range-null 34; BUG=range-null-UNKNOWN 35 36?B a\(b\)*\1 abab NOMATCH EXPECTED 37|B a\(b\)*\1 abab (0,1) # BUG=nomatch-match 38|B a\(b\)*\1 abab (0,2)(1,2) BUG=repeat-any 39; BUG=repeat-any-UNKNOWN 40 41?E (a*)* a (0,1)(0,1) EXPECTED 42|E (a*)* ax (0,1)(0,1) BUG=repeat-null-unknown 43|E (a*)* a (0,1)(1,1) BUG=repeat-null 44; BUG=repeat-null-UNKNOWN 45 46?E (aba|a*b)* ababa (0,5)(2,5) EXPECTED 47|E (aba|a*b)* ababa (0,5)(3,4) BUG=repeat-short 48|E (aba|a*b)* ababa (0,4)(3,4) # LENGTH=first 49; BUG=repeat-short-UNKNOWN 50 51?E (a(b)?)+ aba (0,3)(2,3) EXPECTED 52|E (a(b)?)+ aba (0,3)(2,3)(1,2) BUG=repeat-artifact 53; BUG=repeat-artifact-UNKNOWN 54 55?B \(a\(b\)*\)*\2 abab NOMATCH EXPECTED 56|B \(a\(b\)*\)*\2 abab (0,4)(2,3)(1,2) BUG=repeat-artifact-nomatch 57; BUG=repeat-artifact-nomatch-UNKNOWN 58 59?E (a?)((ab)?)(b?)a?(ab)?b? abab (0,4)(0,1)(1,1)(?,?)(1,2)(2,4) BUG=subexpression-first 60|E .*(.*) ab (0,2)(2,2) EXPECTED 61|E .*(.*) ab (0,2)(0,2) BUG=subexpression-first 62; BUG=subexpression-first-UNKNOWN 63