1 NOTE 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