1# subexpressions
2a(b)(c)d  -         abcd      abcd      b,c
3a(((b)))c -         abc       abc       b,b,b
4a(b|(c))d -         abd       abd       b,-
5a(b*|c|e)d          -         abbd      abbd      bb
6a(b*|c|e)d          -         acd       acd       c
7a(b*|c|e)d          -         ad        ad        @d
8a(b?)c              -         abc       abc       b
9a(b?)c              -         ac        ac        @c
10a(b+)c              -         abc       abc       b
11a(b+)c              -         abbbc     abbbc     bbb
12a(b*)c              -         ac        ac        @c
13(a|ab)(bc([de]+)f|cde)        -         abcdef    abcdef    a,bcdef,de
14# the regression tester only asks for 9 subexpressions
15a(b)(c)(d)(e)(f)(g)(h)(i)(j)k -         abcdefghijk         abcdefghijk         b,c,d,e,f,g,h,i,j
16a(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)l        -         abcdefghijkl        abcdefghijkl        b,c,d,e,f,g,h,i,j,k
17a([bc]?)c -         abc       abc       b
18a([bc]?)c -         ac        ac        @c
19a([bc]+)c -         abc       abc       b
20a([bc]+)c -         abcc      abcc      bc
21a([bc]+)bc          -         abcbc     abcbc     bc
22a(bb+|b)b -         abb       abb       b
23a(bbb+|bb+|b)b      -         abb       abb       b
24a(bbb+|bb+|b)b      -         abbb      abbb      bb
25a(bbb+|bb+|b)bb     -         abbb      abbb      b
26(.*).*              -         abcdef    abcdef    abcdef
27(a*)*               -         bc        @b        @b
28
29# do we get the right subexpression when it is used more than once?
30a(b|c)*d  -         ad        ad        -
31a(b|c)*d  -         abcd      abcd      c
32a(b|c)+d  -         abd       abd       b
33a(b|c)+d  -         abcd      abcd      c
34a(b|c?)+d -         ad        ad        @d
35a(b|c?)+d -         abcd      abcd      @d
36a(b|c){0,0}d        -         ad        ad        -
37a(b|c){0,1}d        -         ad        ad        -
38a(b|c){0,1}d        -         abd       abd       b
39a(b|c){0,2}d        -         ad        ad        -
40a(b|c){0,2}d        -         abcd      abcd      c
41a(b|c){0,}d         -         ad        ad        -
42a(b|c){0,}d         -         abcd      abcd      c
43a(b|c){1,1}d        -         abd       abd       b
44a(b|c){1,1}d        -         acd       acd       c
45a(b|c){1,2}d        -         abd       abd       b
46a(b|c){1,2}d        -         abcd      abcd      c
47a(b|c){1,}d         -         abd       abd       b
48a(b|c){1,}d         -         abcd      abcd      c
49a(b|c){2,2}d        -         acbd      acbd      b
50a(b|c){2,2}d        -         abcd      abcd      c
51a(b|c){2,4}d        -         abcd      abcd      c
52a(b|c){2,4}d        -         abcbd     abcbd     b
53a(b|c){2,4}d        -         abcbcd    abcbcd    c
54a(b|c){2,}d         -         abcd      abcd      c
55a(b|c){2,}d         -         abcbd     abcbd     b
56a(b+|((c)*))+d      -         abd       abd       @d,@d,-
57a(b+|((c)*))+d      -         abcd      abcd      @d,@d,-
58