1 NOTE regex implementation categorization
2004-05-31
3 ?E aa
* xaxaax
(1,2) POSITION
=leftmost
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
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
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
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
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
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
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
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
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
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
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
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
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