8d8f2ceafd09d93d829b058e3f5c80f63c7cc480
[mono.git] / mcs / class / System / Test / System.Text.RegularExpressions / PerlTrials.cs
1 //
2 // assembly:    System_test
3 // namespace:   MonoTests.System.Text.RegularExpressions
4 // file:        PerlTrials.cs
5 //
6 // author:      Dan Lewis (dlewis@gmx.co.uk)
7 //              (c) 2002
8
9 using System.Text.RegularExpressions;
10
11 namespace MonoTests.System.Text.RegularExpressions {
12
13 class PerlTrials {
14     // ported from perl-5.6.1/t/op/re_tests
15
16     public static RegexTrial[] trials = new RegexTrial[] {
17         new RegexTrial (@"abc", RegexOptions.None, "abc", "Pass. Group[0]=(0,3)"),
18         new RegexTrial (@"abc", RegexOptions.None, "xbc", "Fail."),
19         new RegexTrial (@"abc", RegexOptions.None, "axc", "Fail."),
20         new RegexTrial (@"abc", RegexOptions.None, "abx", "Fail."),
21         new RegexTrial (@"abc", RegexOptions.None, "xabcy", "Pass. Group[0]=(1,3)"),
22         new RegexTrial (@"abc", RegexOptions.None, "ababc", "Pass. Group[0]=(2,3)"),
23         new RegexTrial (@"ab*c", RegexOptions.None, "abc", "Pass. Group[0]=(0,3)"),
24         new RegexTrial (@"ab*bc", RegexOptions.None, "abc", "Pass. Group[0]=(0,3)"),
25         new RegexTrial (@"ab*bc", RegexOptions.None, "abbc", "Pass. Group[0]=(0,4)"),
26         new RegexTrial (@"ab*bc", RegexOptions.None, "abbbbc", "Pass. Group[0]=(0,6)"),
27         new RegexTrial (@".{1}", RegexOptions.None, "abbbbc", "Pass. Group[0]=(0,1)"),
28         new RegexTrial (@".{3,4}", RegexOptions.None, "abbbbc", "Pass. Group[0]=(0,4)"),
29         new RegexTrial (@"ab{0,}bc", RegexOptions.None, "abbbbc", "Pass. Group[0]=(0,6)"),
30         new RegexTrial (@"ab+bc", RegexOptions.None, "abbc", "Pass. Group[0]=(0,4)"),
31         new RegexTrial (@"ab+bc", RegexOptions.None, "abc", "Fail."),
32         new RegexTrial (@"ab+bc", RegexOptions.None, "abq", "Fail."),
33         new RegexTrial (@"ab{1,}bc", RegexOptions.None, "abq", "Fail."),
34         new RegexTrial (@"ab+bc", RegexOptions.None, "abbbbc", "Pass. Group[0]=(0,6)"),
35         new RegexTrial (@"ab{1,}bc", RegexOptions.None, "abbbbc", "Pass. Group[0]=(0,6)"),
36         new RegexTrial (@"ab{1,3}bc", RegexOptions.None, "abbbbc", "Pass. Group[0]=(0,6)"),
37         new RegexTrial (@"ab{3,4}bc", RegexOptions.None, "abbbbc", "Pass. Group[0]=(0,6)"),
38         new RegexTrial (@"ab{4,5}bc", RegexOptions.None, "abbbbc", "Fail."),
39         new RegexTrial (@"ab?bc", RegexOptions.None, "abbc", "Pass. Group[0]=(0,4)"),
40         new RegexTrial (@"ab?bc", RegexOptions.None, "abc", "Pass. Group[0]=(0,3)"),
41         new RegexTrial (@"ab{0,1}bc", RegexOptions.None, "abc", "Pass. Group[0]=(0,3)"),
42         new RegexTrial (@"ab?bc", RegexOptions.None, "abbbbc", "Fail."),
43         new RegexTrial (@"ab?c", RegexOptions.None, "abc", "Pass. Group[0]=(0,3)"),
44         new RegexTrial (@"ab{0,1}c", RegexOptions.None, "abc", "Pass. Group[0]=(0,3)"),
45         new RegexTrial (@"^abc$", RegexOptions.None, "abc", "Pass. Group[0]=(0,3)"),
46         new RegexTrial (@"^abc$", RegexOptions.None, "abcc", "Fail."),
47         new RegexTrial (@"^abc", RegexOptions.None, "abcc", "Pass. Group[0]=(0,3)"),
48         new RegexTrial (@"^abc$", RegexOptions.None, "aabc", "Fail."),
49         new RegexTrial (@"abc$", RegexOptions.None, "aabc", "Pass. Group[0]=(1,3)"),
50         new RegexTrial (@"abc$", RegexOptions.None, "aabcd", "Fail."),
51         new RegexTrial (@"^", RegexOptions.None, "abc", "Pass. Group[0]=(0,0)"),
52         new RegexTrial (@"$", RegexOptions.None, "abc", "Pass. Group[0]=(3,0)"),
53         new RegexTrial (@"a.c", RegexOptions.None, "abc", "Pass. Group[0]=(0,3)"),
54         new RegexTrial (@"a.c", RegexOptions.None, "axc", "Pass. Group[0]=(0,3)"),
55         new RegexTrial (@"a.*c", RegexOptions.None, "axyzc", "Pass. Group[0]=(0,5)"),
56         new RegexTrial (@"a.*c", RegexOptions.None, "axyzd", "Fail."),
57         new RegexTrial (@"a[bc]d", RegexOptions.None, "abc", "Fail."),
58         new RegexTrial (@"a[bc]d", RegexOptions.None, "abd", "Pass. Group[0]=(0,3)"),
59         new RegexTrial (@"a[b-d]e", RegexOptions.None, "abd", "Fail."),
60         new RegexTrial (@"a[b-d]e", RegexOptions.None, "ace", "Pass. Group[0]=(0,3)"),
61         new RegexTrial (@"a[b-d]", RegexOptions.None, "aac", "Pass. Group[0]=(1,2)"),
62         new RegexTrial (@"a[-b]", RegexOptions.None, "a-", "Pass. Group[0]=(0,2)"),
63         new RegexTrial (@"a[b-]", RegexOptions.None, "a-", "Pass. Group[0]=(0,2)"),
64         new RegexTrial (@"a[b-a]", RegexOptions.None, "-", "Error."),
65         new RegexTrial (@"a[]b", RegexOptions.None, "-", "Error."),
66         new RegexTrial (@"a[", RegexOptions.None, "-", "Error."),
67         new RegexTrial (@"a]", RegexOptions.None, "a]", "Pass. Group[0]=(0,2)"),
68         new RegexTrial (@"a[]]b", RegexOptions.None, "a]b", "Pass. Group[0]=(0,3)"),
69         new RegexTrial (@"a[^bc]d", RegexOptions.None, "aed", "Pass. Group[0]=(0,3)"),
70         new RegexTrial (@"a[^bc]d", RegexOptions.None, "abd", "Fail."),
71         new RegexTrial (@"a[^-b]c", RegexOptions.None, "adc", "Pass. Group[0]=(0,3)"),
72         new RegexTrial (@"a[^-b]c", RegexOptions.None, "a-c", "Fail."),
73         new RegexTrial (@"a[^]b]c", RegexOptions.None, "a]c", "Fail."),
74         new RegexTrial (@"a[^]b]c", RegexOptions.None, "adc", "Pass. Group[0]=(0,3)"),
75         new RegexTrial (@"\ba\b", RegexOptions.None, "a-", "Pass. Group[0]=(0,1)"),
76         new RegexTrial (@"\ba\b", RegexOptions.None, "-a", "Pass. Group[0]=(1,1)"),
77         new RegexTrial (@"\ba\b", RegexOptions.None, "-a-", "Pass. Group[0]=(1,1)"),
78         new RegexTrial (@"\by\b", RegexOptions.None, "xy", "Fail."),
79         new RegexTrial (@"\by\b", RegexOptions.None, "yz", "Fail."),
80         new RegexTrial (@"\by\b", RegexOptions.None, "xyz", "Fail."),
81         new RegexTrial (@"\Ba\B", RegexOptions.None, "a-", "Fail."),
82         new RegexTrial (@"\Ba\B", RegexOptions.None, "-a", "Fail."),
83         new RegexTrial (@"\Ba\B", RegexOptions.None, "-a-", "Fail."),
84         new RegexTrial (@"\By\b", RegexOptions.None, "xy", "Pass. Group[0]=(1,1)"),
85         new RegexTrial (@"\by\B", RegexOptions.None, "yz", "Pass. Group[0]=(0,1)"),
86         new RegexTrial (@"\By\B", RegexOptions.None, "xyz", "Pass. Group[0]=(1,1)"),
87         new RegexTrial (@"\w", RegexOptions.None, "a", "Pass. Group[0]=(0,1)"),
88         new RegexTrial (@"\w", RegexOptions.None, "-", "Fail."),
89         new RegexTrial (@"\W", RegexOptions.None, "a", "Fail."),
90         new RegexTrial (@"\W", RegexOptions.None, "-", "Pass. Group[0]=(0,1)"),
91         new RegexTrial (@"a\sb", RegexOptions.None, "a b", "Pass. Group[0]=(0,3)"),
92         new RegexTrial (@"a\sb", RegexOptions.None, "a-b", "Fail."),
93         new RegexTrial (@"a\Sb", RegexOptions.None, "a b", "Fail."),
94         new RegexTrial (@"a\Sb", RegexOptions.None, "a-b", "Pass. Group[0]=(0,3)"),
95         new RegexTrial (@"\d", RegexOptions.None, "1", "Pass. Group[0]=(0,1)"),
96         new RegexTrial (@"\d", RegexOptions.None, "-", "Fail."),
97         new RegexTrial (@"\D", RegexOptions.None, "1", "Fail."),
98         new RegexTrial (@"\D", RegexOptions.None, "-", "Pass. Group[0]=(0,1)"),
99         new RegexTrial (@"[\w]", RegexOptions.None, "a", "Pass. Group[0]=(0,1)"),
100         new RegexTrial (@"[\w]", RegexOptions.None, "-", "Fail."),
101         new RegexTrial (@"[\W]", RegexOptions.None, "a", "Fail."),
102         new RegexTrial (@"[\W]", RegexOptions.None, "-", "Pass. Group[0]=(0,1)"),
103         new RegexTrial (@"a[\s]b", RegexOptions.None, "a b", "Pass. Group[0]=(0,3)"),
104         new RegexTrial (@"a[\s]b", RegexOptions.None, "a-b", "Fail."),
105         new RegexTrial (@"a[\S]b", RegexOptions.None, "a b", "Fail."),
106         new RegexTrial (@"a[\S]b", RegexOptions.None, "a-b", "Pass. Group[0]=(0,3)"),
107         new RegexTrial (@"[\d]", RegexOptions.None, "1", "Pass. Group[0]=(0,1)"),
108         new RegexTrial (@"[\d]", RegexOptions.None, "-", "Fail."),
109         new RegexTrial (@"[\D]", RegexOptions.None, "1", "Fail."),
110         new RegexTrial (@"[\D]", RegexOptions.None, "-", "Pass. Group[0]=(0,1)"),
111         new RegexTrial (@"ab|cd", RegexOptions.None, "abc", "Pass. Group[0]=(0,2)"),
112         new RegexTrial (@"ab|cd", RegexOptions.None, "abcd", "Pass. Group[0]=(0,2)"),
113         new RegexTrial (@"()ef", RegexOptions.None, "def", "Pass. Group[0]=(1,2) Group[1]=(1,0)"),
114         new RegexTrial (@"*a", RegexOptions.None, "-", "Error."),
115         new RegexTrial (@"(*)b", RegexOptions.None, "-", "Error."),
116         new RegexTrial (@"$b", RegexOptions.None, "b", "Fail."),
117         new RegexTrial (@"a\", RegexOptions.None, "-", "Error."),
118         new RegexTrial (@"a\(b", RegexOptions.None, "a(b", "Pass. Group[0]=(0,3)"),
119         new RegexTrial (@"a\(*b", RegexOptions.None, "ab", "Pass. Group[0]=(0,2)"),
120         new RegexTrial (@"a\(*b", RegexOptions.None, "a((b", "Pass. Group[0]=(0,4)"),
121         new RegexTrial (@"a\\b", RegexOptions.None, "a\\b", "Pass. Group[0]=(0,3)"),
122         new RegexTrial (@"abc)", RegexOptions.None, "-", "Error."),
123         new RegexTrial (@"(abc", RegexOptions.None, "-", "Error."),
124         new RegexTrial (@"((a))", RegexOptions.None, "abc", "Pass. Group[0]=(0,1) Group[1]=(0,1) Group[2]=(0,1)"),
125         new RegexTrial (@"(a)b(c)", RegexOptions.None, "abc", "Pass. Group[0]=(0,3) Group[1]=(0,1) Group[2]=(2,1)"),
126         new RegexTrial (@"a+b+c", RegexOptions.None, "aabbabc", "Pass. Group[0]=(4,3)"),
127         new RegexTrial (@"a{1,}b{1,}c", RegexOptions.None, "aabbabc", "Pass. Group[0]=(4,3)"),
128         new RegexTrial (@"a**", RegexOptions.None, "-", "Error."),
129         new RegexTrial (@"a.+?c", RegexOptions.None, "abcabc", "Pass. Group[0]=(0,3)"),
130         new RegexTrial (@"(a+|b)*", RegexOptions.None, "ab", "Pass. Group[0]=(0,2) Group[1]=(0,1)(1,1)"),
131         new RegexTrial (@"(a+|b){0,}", RegexOptions.None, "ab", "Pass. Group[0]=(0,2) Group[1]=(0,1)(1,1)"),
132         new RegexTrial (@"(a+|b)+", RegexOptions.None, "ab", "Pass. Group[0]=(0,2) Group[1]=(0,1)(1,1)"),
133         new RegexTrial (@"(a+|b){1,}", RegexOptions.None, "ab", "Pass. Group[0]=(0,2) Group[1]=(0,1)(1,1)"),
134         new RegexTrial (@"(a+|b)?", RegexOptions.None, "ab", "Pass. Group[0]=(0,1) Group[1]=(0,1)"),
135         new RegexTrial (@"(a+|b){0,1}", RegexOptions.None, "ab", "Pass. Group[0]=(0,1) Group[1]=(0,1)"),
136         new RegexTrial (@")(", RegexOptions.None, "-", "Error."),
137         new RegexTrial (@"[^ab]*", RegexOptions.None, "cde", "Pass. Group[0]=(0,3)"),
138         new RegexTrial (@"abc", RegexOptions.None, "", "Fail."),
139         new RegexTrial (@"a*", RegexOptions.None, "", "Pass. Group[0]=(0,0)"),
140         new RegexTrial (@"([abc])*d", RegexOptions.None, "abbbcd", "Pass. Group[0]=(0,6) Group[1]=(0,1)(1,1)(2,1)(3,1)(4,1)"),
141         new RegexTrial (@"([abc])*bcd", RegexOptions.None, "abcd", "Pass. Group[0]=(0,4) Group[1]=(0,1)"),
142         new RegexTrial (@"a|b|c|d|e", RegexOptions.None, "e", "Pass. Group[0]=(0,1)"),
143         new RegexTrial (@"(a|b|c|d|e)f", RegexOptions.None, "ef", "Pass. Group[0]=(0,2) Group[1]=(0,1)"),
144         new RegexTrial (@"abcd*efg", RegexOptions.None, "abcdefg", "Pass. Group[0]=(0,7)"),
145         new RegexTrial (@"ab*", RegexOptions.None, "xabyabbbz", "Pass. Group[0]=(1,2)"),
146         new RegexTrial (@"ab*", RegexOptions.None, "xayabbbz", "Pass. Group[0]=(1,1)"),
147         new RegexTrial (@"(ab|cd)e", RegexOptions.None, "abcde", "Pass. Group[0]=(2,3) Group[1]=(2,2)"),
148         new RegexTrial (@"[abhgefdc]ij", RegexOptions.None, "hij", "Pass. Group[0]=(0,3)"),
149         new RegexTrial (@"^(ab|cd)e", RegexOptions.None, "abcde", "Fail."),
150         new RegexTrial (@"(abc|)ef", RegexOptions.None, "abcdef", "Pass. Group[0]=(4,2) Group[1]=(4,0)"),
151         new RegexTrial (@"(a|b)c*d", RegexOptions.None, "abcd", "Pass. Group[0]=(1,3) Group[1]=(1,1)"),
152         new RegexTrial (@"(ab|ab*)bc", RegexOptions.None, "abc", "Pass. Group[0]=(0,3) Group[1]=(0,1)"),
153         new RegexTrial (@"a([bc]*)c*", RegexOptions.None, "abc", "Pass. Group[0]=(0,3) Group[1]=(1,2)"),
154         new RegexTrial (@"a([bc]*)(c*d)", RegexOptions.None, "abcd", "Pass. Group[0]=(0,4) Group[1]=(1,2) Group[2]=(3,1)"),
155         new RegexTrial (@"a([bc]+)(c*d)", RegexOptions.None, "abcd", "Pass. Group[0]=(0,4) Group[1]=(1,2) Group[2]=(3,1)"),
156         new RegexTrial (@"a([bc]*)(c+d)", RegexOptions.None, "abcd", "Pass. Group[0]=(0,4) Group[1]=(1,1) Group[2]=(2,2)"),
157         new RegexTrial (@"a[bcd]*dcdcde", RegexOptions.None, "adcdcde", "Pass. Group[0]=(0,7)"),
158         new RegexTrial (@"a[bcd]+dcdcde", RegexOptions.None, "adcdcde", "Fail."),
159         new RegexTrial (@"(ab|a)b*c", RegexOptions.None, "abc", "Pass. Group[0]=(0,3) Group[1]=(0,2)"),
160         new RegexTrial (@"((a)(b)c)(d)", RegexOptions.None, "abcd", "Pass. Group[0]=(0,4) Group[1]=(0,3) Group[2]=(0,1) Group[3]=(1,1) Group[4]=(3,1)"),
161         new RegexTrial (@"[a-zA-Z_][a-zA-Z0-9_]*", RegexOptions.None, "alpha", "Pass. Group[0]=(0,5)"),
162         new RegexTrial (@"^a(bc+|b[eh])g|.h$", RegexOptions.None, "abh", "Pass. Group[0]=(1,2) Group[1]="),
163         new RegexTrial (@"(bc+d$|ef*g.|h?i(j|k))", RegexOptions.None, "effgz", "Pass. Group[0]=(0,5) Group[1]=(0,5) Group[2]="),
164         new RegexTrial (@"(bc+d$|ef*g.|h?i(j|k))", RegexOptions.None, "ij", "Pass. Group[0]=(0,2) Group[1]=(0,2) Group[2]=(1,1)"),
165         new RegexTrial (@"(bc+d$|ef*g.|h?i(j|k))", RegexOptions.None, "effg", "Fail."),
166         new RegexTrial (@"(bc+d$|ef*g.|h?i(j|k))", RegexOptions.None, "bcdd", "Fail."),
167         new RegexTrial (@"(bc+d$|ef*g.|h?i(j|k))", RegexOptions.None, "reffgz", "Pass. Group[0]=(1,5) Group[1]=(1,5) Group[2]="),
168         new RegexTrial (@"((((((((((a))))))))))", RegexOptions.None, "a", "Pass. Group[0]=(0,1) Group[1]=(0,1) Group[2]=(0,1) Group[3]=(0,1) Group[4]=(0,1) Group[5]=(0,1) Group[6]=(0,1) Group[7]=(0,1) Group[8]=(0,1) Group[9]=(0,1) Group[10]=(0,1)"),
169         new RegexTrial (@"((((((((((a))))))))))\10", RegexOptions.None, "aa", "Pass. Group[0]=(0,2) Group[1]=(0,1) Group[2]=(0,1) Group[3]=(0,1) Group[4]=(0,1) Group[5]=(0,1) Group[6]=(0,1) Group[7]=(0,1) Group[8]=(0,1) Group[9]=(0,1) Group[10]=(0,1)"),
170         new RegexTrial (@"((((((((((a))))))))))!", RegexOptions.None, "aa", "Fail."),
171         new RegexTrial (@"((((((((((a))))))))))!", RegexOptions.None, "a!", "Pass. Group[0]=(0,2) Group[1]=(0,1) Group[2]=(0,1) Group[3]=(0,1) Group[4]=(0,1) Group[5]=(0,1) Group[6]=(0,1) Group[7]=(0,1) Group[8]=(0,1) Group[9]=(0,1) Group[10]=(0,1)"),
172         new RegexTrial (@"(((((((((a)))))))))", RegexOptions.None, "a", "Pass. Group[0]=(0,1) Group[1]=(0,1) Group[2]=(0,1) Group[3]=(0,1) Group[4]=(0,1) Group[5]=(0,1) Group[6]=(0,1) Group[7]=(0,1) Group[8]=(0,1) Group[9]=(0,1)"),
173         new RegexTrial (@"multiple words of text", RegexOptions.None, "uh-uh", "Fail."),
174         new RegexTrial (@"multiple words", RegexOptions.None, "multiple words, yeah", "Pass. Group[0]=(0,14)"),
175         new RegexTrial (@"(.*)c(.*)", RegexOptions.None, "abcde", "Pass. Group[0]=(0,5) Group[1]=(0,2) Group[2]=(3,2)"),
176         new RegexTrial (@"\((.*), (.*)\)", RegexOptions.None, "(a, b)", "Pass. Group[0]=(0,6) Group[1]=(1,1) Group[2]=(4,1)"),
177         new RegexTrial (@"[k]", RegexOptions.None, "ab", "Fail."),
178         new RegexTrial (@"abcd", RegexOptions.None, "abcd", "Pass. Group[0]=(0,4)"),
179         new RegexTrial (@"a(bc)d", RegexOptions.None, "abcd", "Pass. Group[0]=(0,4) Group[1]=(1,2)"),
180         new RegexTrial (@"a[-]?c", RegexOptions.None, "ac", "Pass. Group[0]=(0,2)"),
181         new RegexTrial (@"(abc)\1", RegexOptions.None, "abcabc", "Pass. Group[0]=(0,6) Group[1]=(0,3)"),
182         new RegexTrial (@"([a-c]*)\1", RegexOptions.None, "abcabc", "Pass. Group[0]=(0,6) Group[1]=(0,3)"),
183         new RegexTrial (@"\1", RegexOptions.None, "-", "Error."),
184         new RegexTrial (@"\2", RegexOptions.None, "-", "Error."),
185         new RegexTrial (@"(a)|\1", RegexOptions.None, "a", "Pass. Group[0]=(0,1) Group[1]=(0,1)"),
186         new RegexTrial (@"(a)|\1", RegexOptions.None, "x", "Fail."),
187         new RegexTrial (@"(a)|\2", RegexOptions.None, "-", "Error."),
188         new RegexTrial (@"(([a-c])b*?\2)*", RegexOptions.None, "ababbbcbc", "Pass. Group[0]=(0,5) Group[1]=(0,3)(3,2) Group[2]=(0,1)(3,1)"),
189         new RegexTrial (@"(([a-c])b*?\2){3}", RegexOptions.None, "ababbbcbc", "Pass. Group[0]=(0,9) Group[1]=(0,3)(3,3)(6,3) Group[2]=(0,1)(3,1)(6,1)"),
190         new RegexTrial (@"((\3|b)\2(a)x)+", RegexOptions.None, "aaxabxbaxbbx", "Fail."),
191         new RegexTrial (@"((\3|b)\2(a)x)+", RegexOptions.None, "aaaxabaxbaaxbbax", "Pass. Group[0]=(12,4) Group[1]=(12,4) Group[2]=(12,1) Group[3]=(14,1)"),
192         new RegexTrial (@"((\3|b)\2(a)){2,}", RegexOptions.None, "bbaababbabaaaaabbaaaabba", "Pass. Group[0]=(15,9) Group[1]=(15,3)(18,3)(21,3) Group[2]=(15,1)(18,1)(21,1) Group[3]=(17,1)(20,1)(23,1)"),
193         new RegexTrial (@"abc", RegexOptions.IgnoreCase, "ABC", "Pass. Group[0]=(0,3)"),
194         new RegexTrial (@"abc", RegexOptions.IgnoreCase, "XBC", "Fail."),
195         new RegexTrial (@"abc", RegexOptions.IgnoreCase, "AXC", "Fail."),
196         new RegexTrial (@"abc", RegexOptions.IgnoreCase, "ABX", "Fail."),
197         new RegexTrial (@"abc", RegexOptions.IgnoreCase, "XABCY", "Pass. Group[0]=(1,3)"),
198         new RegexTrial (@"abc", RegexOptions.IgnoreCase, "ABABC", "Pass. Group[0]=(2,3)"),
199         new RegexTrial (@"ab*c", RegexOptions.IgnoreCase, "ABC", "Pass. Group[0]=(0,3)"),
200         new RegexTrial (@"ab*bc", RegexOptions.IgnoreCase, "ABC", "Pass. Group[0]=(0,3)"),
201         new RegexTrial (@"ab*bc", RegexOptions.IgnoreCase, "ABBC", "Pass. Group[0]=(0,4)"),
202         new RegexTrial (@"ab*?bc", RegexOptions.IgnoreCase, "ABBBBC", "Pass. Group[0]=(0,6)"),
203         new RegexTrial (@"ab{0,}?bc", RegexOptions.IgnoreCase, "ABBBBC", "Pass. Group[0]=(0,6)"),
204         new RegexTrial (@"ab+?bc", RegexOptions.IgnoreCase, "ABBC", "Pass. Group[0]=(0,4)"),
205         new RegexTrial (@"ab+bc", RegexOptions.IgnoreCase, "ABC", "Fail."),
206         new RegexTrial (@"ab+bc", RegexOptions.IgnoreCase, "ABQ", "Fail."),
207         new RegexTrial (@"ab{1,}bc", RegexOptions.IgnoreCase, "ABQ", "Fail."),
208         new RegexTrial (@"ab+bc", RegexOptions.IgnoreCase, "ABBBBC", "Pass. Group[0]=(0,6)"),
209         new RegexTrial (@"ab{1,}?bc", RegexOptions.IgnoreCase, "ABBBBC", "Pass. Group[0]=(0,6)"),
210         new RegexTrial (@"ab{1,3}?bc", RegexOptions.IgnoreCase, "ABBBBC", "Pass. Group[0]=(0,6)"),
211         new RegexTrial (@"ab{3,4}?bc", RegexOptions.IgnoreCase, "ABBBBC", "Pass. Group[0]=(0,6)"),
212         new RegexTrial (@"ab{4,5}?bc", RegexOptions.IgnoreCase, "ABBBBC", "Fail."),
213         new RegexTrial (@"ab??bc", RegexOptions.IgnoreCase, "ABBC", "Pass. Group[0]=(0,4)"),
214         new RegexTrial (@"ab??bc", RegexOptions.IgnoreCase, "ABC", "Pass. Group[0]=(0,3)"),
215         new RegexTrial (@"ab{0,1}?bc", RegexOptions.IgnoreCase, "ABC", "Pass. Group[0]=(0,3)"),
216         new RegexTrial (@"ab??bc", RegexOptions.IgnoreCase, "ABBBBC", "Fail."),
217         new RegexTrial (@"ab??c", RegexOptions.IgnoreCase, "ABC", "Pass. Group[0]=(0,3)"),
218         new RegexTrial (@"ab{0,1}?c", RegexOptions.IgnoreCase, "ABC", "Pass. Group[0]=(0,3)"),
219         new RegexTrial (@"^abc$", RegexOptions.IgnoreCase, "ABC", "Pass. Group[0]=(0,3)"),
220         new RegexTrial (@"^abc$", RegexOptions.IgnoreCase, "ABCC", "Fail."),
221         new RegexTrial (@"^abc", RegexOptions.IgnoreCase, "ABCC", "Pass. Group[0]=(0,3)"),
222         new RegexTrial (@"^abc$", RegexOptions.IgnoreCase, "AABC", "Fail."),
223         new RegexTrial (@"abc$", RegexOptions.IgnoreCase, "AABC", "Pass. Group[0]=(1,3)"),
224         new RegexTrial (@"^", RegexOptions.IgnoreCase, "ABC", "Pass. Group[0]=(0,0)"),
225         new RegexTrial (@"$", RegexOptions.IgnoreCase, "ABC", "Pass. Group[0]=(3,0)"),
226         new RegexTrial (@"a.c", RegexOptions.IgnoreCase, "ABC", "Pass. Group[0]=(0,3)"),
227         new RegexTrial (@"a.c", RegexOptions.IgnoreCase, "AXC", "Pass. Group[0]=(0,3)"),
228         new RegexTrial (@"a.*?c", RegexOptions.IgnoreCase, "AXYZC", "Pass. Group[0]=(0,5)"),
229         new RegexTrial (@"a.*c", RegexOptions.IgnoreCase, "AXYZD", "Fail."),
230         new RegexTrial (@"a[bc]d", RegexOptions.IgnoreCase, "ABC", "Fail."),
231         new RegexTrial (@"a[bc]d", RegexOptions.IgnoreCase, "ABD", "Pass. Group[0]=(0,3)"),
232         new RegexTrial (@"a[b-d]e", RegexOptions.IgnoreCase, "ABD", "Fail."),
233         new RegexTrial (@"a[b-d]e", RegexOptions.IgnoreCase, "ACE", "Pass. Group[0]=(0,3)"),
234         new RegexTrial (@"a[b-d]", RegexOptions.IgnoreCase, "AAC", "Pass. Group[0]=(1,2)"),
235         new RegexTrial (@"a[-b]", RegexOptions.IgnoreCase, "A-", "Pass. Group[0]=(0,2)"),
236         new RegexTrial (@"a[b-]", RegexOptions.IgnoreCase, "A-", "Pass. Group[0]=(0,2)"),
237         new RegexTrial (@"a[b-a]", RegexOptions.IgnoreCase, "-", "Error."),
238         new RegexTrial (@"a[]b", RegexOptions.IgnoreCase, "-", "Error."),
239         new RegexTrial (@"a[", RegexOptions.IgnoreCase, "-", "Error."),
240         new RegexTrial (@"a]", RegexOptions.IgnoreCase, "A]", "Pass. Group[0]=(0,2)"),
241         new RegexTrial (@"a[]]b", RegexOptions.IgnoreCase, "A]B", "Pass. Group[0]=(0,3)"),
242         new RegexTrial (@"a[^bc]d", RegexOptions.IgnoreCase, "AED", "Pass. Group[0]=(0,3)"),
243         new RegexTrial (@"a[^bc]d", RegexOptions.IgnoreCase, "ABD", "Fail."),
244         new RegexTrial (@"a[^-b]c", RegexOptions.IgnoreCase, "ADC", "Pass. Group[0]=(0,3)"),
245         new RegexTrial (@"a[^-b]c", RegexOptions.IgnoreCase, "A-C", "Fail."),
246         new RegexTrial (@"a[^]b]c", RegexOptions.IgnoreCase, "A]C", "Fail."),
247         new RegexTrial (@"a[^]b]c", RegexOptions.IgnoreCase, "ADC", "Pass. Group[0]=(0,3)"),
248         new RegexTrial (@"ab|cd", RegexOptions.IgnoreCase, "ABC", "Pass. Group[0]=(0,2)"),
249         new RegexTrial (@"ab|cd", RegexOptions.IgnoreCase, "ABCD", "Pass. Group[0]=(0,2)"),
250         new RegexTrial (@"()ef", RegexOptions.IgnoreCase, "DEF", "Pass. Group[0]=(1,2) Group[1]=(1,0)"),
251         new RegexTrial (@"*a", RegexOptions.IgnoreCase, "-", "Error."),
252         new RegexTrial (@"(*)b", RegexOptions.IgnoreCase, "-", "Error."),
253         new RegexTrial (@"$b", RegexOptions.IgnoreCase, "B", "Fail."),
254         new RegexTrial (@"a\", RegexOptions.IgnoreCase, "-", "Error."),
255         new RegexTrial (@"a\(b", RegexOptions.IgnoreCase, "A(B", "Pass. Group[0]=(0,3)"),
256         new RegexTrial (@"a\(*b", RegexOptions.IgnoreCase, "AB", "Pass. Group[0]=(0,2)"),
257         new RegexTrial (@"a\(*b", RegexOptions.IgnoreCase, "A((B", "Pass. Group[0]=(0,4)"),
258         new RegexTrial (@"a\\b", RegexOptions.IgnoreCase, "A\\B", "Pass. Group[0]=(0,3)"),
259         new RegexTrial (@"abc)", RegexOptions.IgnoreCase, "-", "Error."),
260         new RegexTrial (@"(abc", RegexOptions.IgnoreCase, "-", "Error."),
261         new RegexTrial (@"((a))", RegexOptions.IgnoreCase, "ABC", "Pass. Group[0]=(0,1) Group[1]=(0,1) Group[2]=(0,1)"),
262         new RegexTrial (@"(a)b(c)", RegexOptions.IgnoreCase, "ABC", "Pass. Group[0]=(0,3) Group[1]=(0,1) Group[2]=(2,1)"),
263         new RegexTrial (@"a+b+c", RegexOptions.IgnoreCase, "AABBABC", "Pass. Group[0]=(4,3)"),
264         new RegexTrial (@"a{1,}b{1,}c", RegexOptions.IgnoreCase, "AABBABC", "Pass. Group[0]=(4,3)"),
265         new RegexTrial (@"a**", RegexOptions.IgnoreCase, "-", "Error."),
266         new RegexTrial (@"a.+?c", RegexOptions.IgnoreCase, "ABCABC", "Pass. Group[0]=(0,3)"),
267         new RegexTrial (@"a.*?c", RegexOptions.IgnoreCase, "ABCABC", "Pass. Group[0]=(0,3)"),
268         new RegexTrial (@"a.{0,5}?c", RegexOptions.IgnoreCase, "ABCABC", "Pass. Group[0]=(0,3)"),
269         new RegexTrial (@"(a+|b)*", RegexOptions.IgnoreCase, "AB", "Pass. Group[0]=(0,2) Group[1]=(0,1)(1,1)"),
270         new RegexTrial (@"(a+|b){0,}", RegexOptions.IgnoreCase, "AB", "Pass. Group[0]=(0,2) Group[1]=(0,1)(1,1)"),
271         new RegexTrial (@"(a+|b)+", RegexOptions.IgnoreCase, "AB", "Pass. Group[0]=(0,2) Group[1]=(0,1)(1,1)"),
272         new RegexTrial (@"(a+|b){1,}", RegexOptions.IgnoreCase, "AB", "Pass. Group[0]=(0,2) Group[1]=(0,1)(1,1)"),
273         new RegexTrial (@"(a+|b)?", RegexOptions.IgnoreCase, "AB", "Pass. Group[0]=(0,1) Group[1]=(0,1)"),
274         new RegexTrial (@"(a+|b){0,1}", RegexOptions.IgnoreCase, "AB", "Pass. Group[0]=(0,1) Group[1]=(0,1)"),
275         new RegexTrial (@"(a+|b){0,1}?", RegexOptions.IgnoreCase, "AB", "Pass. Group[0]=(0,0) Group[1]="),
276         new RegexTrial (@")(", RegexOptions.IgnoreCase, "-", "Error."),
277         new RegexTrial (@"[^ab]*", RegexOptions.IgnoreCase, "CDE", "Pass. Group[0]=(0,3)"),
278         new RegexTrial (@"abc", RegexOptions.IgnoreCase, "", "Fail."),
279         new RegexTrial (@"a*", RegexOptions.IgnoreCase, "", "Pass. Group[0]=(0,0)"),
280         new RegexTrial (@"([abc])*d", RegexOptions.IgnoreCase, "ABBBCD", "Pass. Group[0]=(0,6) Group[1]=(0,1)(1,1)(2,1)(3,1)(4,1)"),
281         new RegexTrial (@"([abc])*bcd", RegexOptions.IgnoreCase, "ABCD", "Pass. Group[0]=(0,4) Group[1]=(0,1)"),
282         new RegexTrial (@"a|b|c|d|e", RegexOptions.IgnoreCase, "E", "Pass. Group[0]=(0,1)"),
283         new RegexTrial (@"(a|b|c|d|e)f", RegexOptions.IgnoreCase, "EF", "Pass. Group[0]=(0,2) Group[1]=(0,1)"),
284         new RegexTrial (@"abcd*efg", RegexOptions.IgnoreCase, "ABCDEFG", "Pass. Group[0]=(0,7)"),
285         new RegexTrial (@"ab*", RegexOptions.IgnoreCase, "XABYABBBZ", "Pass. Group[0]=(1,2)"),
286         new RegexTrial (@"ab*", RegexOptions.IgnoreCase, "XAYABBBZ", "Pass. Group[0]=(1,1)"),
287         new RegexTrial (@"(ab|cd)e", RegexOptions.IgnoreCase, "ABCDE", "Pass. Group[0]=(2,3) Group[1]=(2,2)"),
288         new RegexTrial (@"[abhgefdc]ij", RegexOptions.IgnoreCase, "HIJ", "Pass. Group[0]=(0,3)"),
289         new RegexTrial (@"^(ab|cd)e", RegexOptions.IgnoreCase, "ABCDE", "Fail."),
290         new RegexTrial (@"(abc|)ef", RegexOptions.IgnoreCase, "ABCDEF", "Pass. Group[0]=(4,2) Group[1]=(4,0)"),
291         new RegexTrial (@"(a|b)c*d", RegexOptions.IgnoreCase, "ABCD", "Pass. Group[0]=(1,3) Group[1]=(1,1)"),
292         new RegexTrial (@"(ab|ab*)bc", RegexOptions.IgnoreCase, "ABC", "Pass. Group[0]=(0,3) Group[1]=(0,1)"),
293         new RegexTrial (@"a([bc]*)c*", RegexOptions.IgnoreCase, "ABC", "Pass. Group[0]=(0,3) Group[1]=(1,2)"),
294         new RegexTrial (@"a([bc]*)(c*d)", RegexOptions.IgnoreCase, "ABCD", "Pass. Group[0]=(0,4) Group[1]=(1,2) Group[2]=(3,1)"),
295         new RegexTrial (@"a([bc]+)(c*d)", RegexOptions.IgnoreCase, "ABCD", "Pass. Group[0]=(0,4) Group[1]=(1,2) Group[2]=(3,1)"),
296         new RegexTrial (@"a([bc]*)(c+d)", RegexOptions.IgnoreCase, "ABCD", "Pass. Group[0]=(0,4) Group[1]=(1,1) Group[2]=(2,2)"),
297         new RegexTrial (@"a[bcd]*dcdcde", RegexOptions.IgnoreCase, "ADCDCDE", "Pass. Group[0]=(0,7)"),
298         new RegexTrial (@"a[bcd]+dcdcde", RegexOptions.IgnoreCase, "ADCDCDE", "Fail."),
299         new RegexTrial (@"(ab|a)b*c", RegexOptions.IgnoreCase, "ABC", "Pass. Group[0]=(0,3) Group[1]=(0,2)"),
300         new RegexTrial (@"((a)(b)c)(d)", RegexOptions.IgnoreCase, "ABCD", "Pass. Group[0]=(0,4) Group[1]=(0,3) Group[2]=(0,1) Group[3]=(1,1) Group[4]=(3,1)"),
301         new RegexTrial (@"[a-zA-Z_][a-zA-Z0-9_]*", RegexOptions.IgnoreCase, "ALPHA", "Pass. Group[0]=(0,5)"),
302         new RegexTrial (@"^a(bc+|b[eh])g|.h$", RegexOptions.IgnoreCase, "ABH", "Pass. Group[0]=(1,2) Group[1]="),
303         new RegexTrial (@"(bc+d$|ef*g.|h?i(j|k))", RegexOptions.IgnoreCase, "EFFGZ", "Pass. Group[0]=(0,5) Group[1]=(0,5) Group[2]="),
304         new RegexTrial (@"(bc+d$|ef*g.|h?i(j|k))", RegexOptions.IgnoreCase, "IJ", "Pass. Group[0]=(0,2) Group[1]=(0,2) Group[2]=(1,1)"),
305         new RegexTrial (@"(bc+d$|ef*g.|h?i(j|k))", RegexOptions.IgnoreCase, "EFFG", "Fail."),
306         new RegexTrial (@"(bc+d$|ef*g.|h?i(j|k))", RegexOptions.IgnoreCase, "BCDD", "Fail."),
307         new RegexTrial (@"(bc+d$|ef*g.|h?i(j|k))", RegexOptions.IgnoreCase, "REFFGZ", "Pass. Group[0]=(1,5) Group[1]=(1,5) Group[2]="),
308         new RegexTrial (@"((((((((((a))))))))))", RegexOptions.IgnoreCase, "A", "Pass. Group[0]=(0,1) Group[1]=(0,1) Group[2]=(0,1) Group[3]=(0,1) Group[4]=(0,1) Group[5]=(0,1) Group[6]=(0,1) Group[7]=(0,1) Group[8]=(0,1) Group[9]=(0,1) Group[10]=(0,1)"),
309         new RegexTrial (@"((((((((((a))))))))))\10", RegexOptions.IgnoreCase, "AA", "Pass. Group[0]=(0,2) Group[1]=(0,1) Group[2]=(0,1) Group[3]=(0,1) Group[4]=(0,1) Group[5]=(0,1) Group[6]=(0,1) Group[7]=(0,1) Group[8]=(0,1) Group[9]=(0,1) Group[10]=(0,1)"),
310         new RegexTrial (@"((((((((((a))))))))))!", RegexOptions.IgnoreCase, "AA", "Fail."),
311         new RegexTrial (@"((((((((((a))))))))))!", RegexOptions.IgnoreCase, "A!", "Pass. Group[0]=(0,2) Group[1]=(0,1) Group[2]=(0,1) Group[3]=(0,1) Group[4]=(0,1) Group[5]=(0,1) Group[6]=(0,1) Group[7]=(0,1) Group[8]=(0,1) Group[9]=(0,1) Group[10]=(0,1)"),
312         new RegexTrial (@"(((((((((a)))))))))", RegexOptions.IgnoreCase, "A", "Pass. Group[0]=(0,1) Group[1]=(0,1) Group[2]=(0,1) Group[3]=(0,1) Group[4]=(0,1) Group[5]=(0,1) Group[6]=(0,1) Group[7]=(0,1) Group[8]=(0,1) Group[9]=(0,1)"),
313         new RegexTrial (@"(?:(?:(?:(?:(?:(?:(?:(?:(?:(a))))))))))", RegexOptions.IgnoreCase, "A", "Pass. Group[0]=(0,1) Group[1]=(0,1)"),
314         new RegexTrial (@"(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))", RegexOptions.IgnoreCase, "C", "Pass. Group[0]=(0,1) Group[1]=(0,1)"),
315         new RegexTrial (@"multiple words of text", RegexOptions.IgnoreCase, "UH-UH", "Fail."),
316         new RegexTrial (@"multiple words", RegexOptions.IgnoreCase, "MULTIPLE WORDS, YEAH", "Pass. Group[0]=(0,14)"),
317         new RegexTrial (@"(.*)c(.*)", RegexOptions.IgnoreCase, "ABCDE", "Pass. Group[0]=(0,5) Group[1]=(0,2) Group[2]=(3,2)"),
318         new RegexTrial (@"\((.*), (.*)\)", RegexOptions.IgnoreCase, "(A, B)", "Pass. Group[0]=(0,6) Group[1]=(1,1) Group[2]=(4,1)"),
319         new RegexTrial (@"[k]", RegexOptions.IgnoreCase, "AB", "Fail."),
320         new RegexTrial (@"abcd", RegexOptions.IgnoreCase, "ABCD", "Pass. Group[0]=(0,4)"),
321         new RegexTrial (@"a(bc)d", RegexOptions.IgnoreCase, "ABCD", "Pass. Group[0]=(0,4) Group[1]=(1,2)"),
322         new RegexTrial (@"a[-]?c", RegexOptions.IgnoreCase, "AC", "Pass. Group[0]=(0,2)"),
323         new RegexTrial (@"(abc)\1", RegexOptions.IgnoreCase, "ABCABC", "Pass. Group[0]=(0,6) Group[1]=(0,3)"),
324         new RegexTrial (@"([a-c]*)\1", RegexOptions.IgnoreCase, "ABCABC", "Pass. Group[0]=(0,6) Group[1]=(0,3)"),
325         new RegexTrial (@"a(?!b).", RegexOptions.None, "abad", "Pass. Group[0]=(2,2)"),
326         new RegexTrial (@"a(?=d).", RegexOptions.None, "abad", "Pass. Group[0]=(2,2)"),
327         new RegexTrial (@"a(?=c|d).", RegexOptions.None, "abad", "Pass. Group[0]=(2,2)"),
328         new RegexTrial (@"a(?:b|c|d)(.)", RegexOptions.None, "ace", "Pass. Group[0]=(0,3) Group[1]=(2,1)"),
329         new RegexTrial (@"a(?:b|c|d)*(.)", RegexOptions.None, "ace", "Pass. Group[0]=(0,3) Group[1]=(2,1)"),
330         new RegexTrial (@"a(?:b|c|d)+?(.)", RegexOptions.None, "ace", "Pass. Group[0]=(0,3) Group[1]=(2,1)"),
331         new RegexTrial (@"a(?:b|c|d)+?(.)", RegexOptions.None, "acdbcdbe", "Pass. Group[0]=(0,3) Group[1]=(2,1)"),
332         new RegexTrial (@"a(?:b|c|d)+(.)", RegexOptions.None, "acdbcdbe", "Pass. Group[0]=(0,8) Group[1]=(7,1)"),
333         new RegexTrial (@"a(?:b|c|d){2}(.)", RegexOptions.None, "acdbcdbe", "Pass. Group[0]=(0,4) Group[1]=(3,1)"),
334         new RegexTrial (@"a(?:b|c|d){4,5}(.)", RegexOptions.None, "acdbcdbe", "Pass. Group[0]=(0,7) Group[1]=(6,1)"),
335         new RegexTrial (@"a(?:b|c|d){4,5}?(.)", RegexOptions.None, "acdbcdbe", "Pass. Group[0]=(0,6) Group[1]=(5,1)"),
336         new RegexTrial (@"((foo)|(bar))*", RegexOptions.None, "foobar", "Pass. Group[0]=(0,6) Group[1]=(0,3)(3,3) Group[2]=(0,3) Group[3]=(3,3)"),
337         new RegexTrial (@":(?:", RegexOptions.None, "-", "Error."),
338         new RegexTrial (@"a(?:b|c|d){6,7}(.)", RegexOptions.None, "acdbcdbe", "Pass. Group[0]=(0,8) Group[1]=(7,1)"),
339         new RegexTrial (@"a(?:b|c|d){6,7}?(.)", RegexOptions.None, "acdbcdbe", "Pass. Group[0]=(0,8) Group[1]=(7,1)"),
340         new RegexTrial (@"a(?:b|c|d){5,6}(.)", RegexOptions.None, "acdbcdbe", "Pass. Group[0]=(0,8) Group[1]=(7,1)"),
341         new RegexTrial (@"a(?:b|c|d){5,6}?(.)", RegexOptions.None, "acdbcdbe", "Pass. Group[0]=(0,7) Group[1]=(6,1)"),
342         new RegexTrial (@"a(?:b|c|d){5,7}(.)", RegexOptions.None, "acdbcdbe", "Pass. Group[0]=(0,8) Group[1]=(7,1)"),
343         new RegexTrial (@"a(?:b|c|d){5,7}?(.)", RegexOptions.None, "acdbcdbe", "Pass. Group[0]=(0,7) Group[1]=(6,1)"),
344         new RegexTrial (@"a(?:b|(c|e){1,2}?|d)+?(.)", RegexOptions.None, "ace", "Pass. Group[0]=(0,3) Group[1]=(1,1) Group[2]=(2,1)"),
345         new RegexTrial (@"^(.+)?B", RegexOptions.None, "AB", "Pass. Group[0]=(0,2) Group[1]=(0,1)"),
346         new RegexTrial (@"^([^a-z])|(\^)$", RegexOptions.None, ".", "Pass. Group[0]=(0,1) Group[1]=(0,1) Group[2]="),
347         new RegexTrial (@"^[<>]&", RegexOptions.None, "<&OUT", "Pass. Group[0]=(0,2)"),
348         new RegexTrial (@"^(a\1?){4}$", RegexOptions.None, "aaaaaaaaaa", "Pass. Group[0]=(0,10) Group[1]=(0,1)(1,2)(3,3)(6,4)"),
349         new RegexTrial (@"^(a\1?){4}$", RegexOptions.None, "aaaaaaaaa", "Fail."),
350         new RegexTrial (@"^(a\1?){4}$", RegexOptions.None, "aaaaaaaaaaa", "Fail."),
351         new RegexTrial (@"^(a(?(1)\1)){4}$", RegexOptions.None, "aaaaaaaaaa", "Pass. Group[0]=(0,10) Group[1]=(0,1)(1,2)(3,3)(6,4)"),
352         new RegexTrial (@"^(a(?(1)\1)){4}$", RegexOptions.None, "aaaaaaaaa", "Fail."),
353         new RegexTrial (@"^(a(?(1)\1)){4}$", RegexOptions.None, "aaaaaaaaaaa", "Fail."),
354         new RegexTrial (@"((a{4})+)", RegexOptions.None, "aaaaaaaaa", "Pass. Group[0]=(0,8) Group[1]=(0,8) Group[2]=(0,4)(4,4)"),
355         new RegexTrial (@"(((aa){2})+)", RegexOptions.None, "aaaaaaaaaa", "Pass. Group[0]=(0,8) Group[1]=(0,8) Group[2]=(0,4)(4,4) Group[3]=(0,2)(2,2)(4,2)(6,2)"),
356         new RegexTrial (@"(((a{2}){2})+)", RegexOptions.None, "aaaaaaaaaa", "Pass. Group[0]=(0,8) Group[1]=(0,8) Group[2]=(0,4)(4,4) Group[3]=(0,2)(2,2)(4,2)(6,2)"),
357         new RegexTrial (@"(?:(f)(o)(o)|(b)(a)(r))*", RegexOptions.None, "foobar", "Pass. Group[0]=(0,6) Group[1]=(0,1) Group[2]=(1,1) Group[3]=(2,1) Group[4]=(3,1) Group[5]=(4,1) Group[6]=(5,1)"),
358         new RegexTrial (@"(?<=a)b", RegexOptions.None, "ab", "Pass. Group[0]=(1,1)"),
359         new RegexTrial (@"(?<=a)b", RegexOptions.None, "cb", "Fail."),
360         new RegexTrial (@"(?<=a)b", RegexOptions.None, "b", "Fail."),
361         new RegexTrial (@"(?<!c)b", RegexOptions.None, "ab", "Pass. Group[0]=(1,1)"),
362         new RegexTrial (@"(?<!c)b", RegexOptions.None, "cb", "Fail."),
363         new RegexTrial (@"(?<!c)b", RegexOptions.None, "b", "Pass. Group[0]=(0,1)"),
364         new RegexTrial (@"(?<!c)b", RegexOptions.None, "b", "Pass. Group[0]=(0,1)"),
365         new RegexTrial (@"(?<%)b", RegexOptions.None, "-", "Error."),
366         new RegexTrial (@"(?:..)*a", RegexOptions.None, "aba", "Pass. Group[0]=(0,3)"),
367         new RegexTrial (@"(?:..)*?a", RegexOptions.None, "aba", "Pass. Group[0]=(0,1)"),
368         new RegexTrial (@"^(?:b|a(?=(.)))*\1", RegexOptions.None, "abc", "Pass. Group[0]=(0,2) Group[1]=(1,1)"),
369         new RegexTrial (@"^(){3,5}", RegexOptions.None, "abc", "Pass. Group[0]=(0,0) Group[1]=(0,0)(0,0)(0,0)"),
370         new RegexTrial (@"^(a+)*ax", RegexOptions.None, "aax", "Pass. Group[0]=(0,3) Group[1]=(0,1)"),
371         new RegexTrial (@"^((a|b)+)*ax", RegexOptions.None, "aax", "Pass. Group[0]=(0,3) Group[1]=(0,1) Group[2]=(0,1)"),
372         new RegexTrial (@"^((a|bc)+)*ax", RegexOptions.None, "aax", "Pass. Group[0]=(0,3) Group[1]=(0,1) Group[2]=(0,1)"),
373         new RegexTrial (@"(a|x)*ab", RegexOptions.None, "cab", "Pass. Group[0]=(1,2) Group[1]="),
374         new RegexTrial (@"(a)*ab", RegexOptions.None, "cab", "Pass. Group[0]=(1,2) Group[1]="),
375         new RegexTrial (@"(?:(?i)a)b", RegexOptions.None, "ab", "Pass. Group[0]=(0,2)"),
376         new RegexTrial (@"((?i)a)b", RegexOptions.None, "ab", "Pass. Group[0]=(0,2) Group[1]=(0,1)"),
377         new RegexTrial (@"(?:(?i)a)b", RegexOptions.None, "Ab", "Pass. Group[0]=(0,2)"),
378         new RegexTrial (@"((?i)a)b", RegexOptions.None, "Ab", "Pass. Group[0]=(0,2) Group[1]=(0,1)"),
379         new RegexTrial (@"(?:(?i)a)b", RegexOptions.None, "aB", "Fail."),
380         new RegexTrial (@"((?i)a)b", RegexOptions.None, "aB", "Fail."),
381         new RegexTrial (@"(?i:a)b", RegexOptions.None, "ab", "Pass. Group[0]=(0,2)"),
382         new RegexTrial (@"((?i:a))b", RegexOptions.None, "ab", "Pass. Group[0]=(0,2) Group[1]=(0,1)"),
383         new RegexTrial (@"(?i:a)b", RegexOptions.None, "Ab", "Pass. Group[0]=(0,2)"),
384         new RegexTrial (@"((?i:a))b", RegexOptions.None, "Ab", "Pass. Group[0]=(0,2) Group[1]=(0,1)"),
385         new RegexTrial (@"(?i:a)b", RegexOptions.None, "aB", "Fail."),
386         new RegexTrial (@"((?i:a))b", RegexOptions.None, "aB", "Fail."),
387         new RegexTrial (@"(?:(?-i)a)b", RegexOptions.IgnoreCase, "ab", "Pass. Group[0]=(0,2)"),
388         new RegexTrial (@"((?-i)a)b", RegexOptions.IgnoreCase, "ab", "Pass. Group[0]=(0,2) Group[1]=(0,1)"),
389         new RegexTrial (@"(?:(?-i)a)b", RegexOptions.IgnoreCase, "aB", "Pass. Group[0]=(0,2)"),
390         new RegexTrial (@"((?-i)a)b", RegexOptions.IgnoreCase, "aB", "Pass. Group[0]=(0,2) Group[1]=(0,1)"),
391         new RegexTrial (@"(?:(?-i)a)b", RegexOptions.IgnoreCase, "Ab", "Fail."),
392         new RegexTrial (@"((?-i)a)b", RegexOptions.IgnoreCase, "Ab", "Fail."),
393         new RegexTrial (@"(?:(?-i)a)b", RegexOptions.IgnoreCase, "aB", "Pass. Group[0]=(0,2)"),
394         new RegexTrial (@"((?-i)a)b", RegexOptions.IgnoreCase, "aB", "Pass. Group[0]=(0,2) Group[1]=(0,1)"),
395         new RegexTrial (@"(?:(?-i)a)b", RegexOptions.IgnoreCase, "AB", "Fail."),
396         new RegexTrial (@"((?-i)a)b", RegexOptions.IgnoreCase, "AB", "Fail."),
397         new RegexTrial (@"(?-i:a)b", RegexOptions.IgnoreCase, "ab", "Pass. Group[0]=(0,2)"),
398         new RegexTrial (@"((?-i:a))b", RegexOptions.IgnoreCase, "ab", "Pass. Group[0]=(0,2) Group[1]=(0,1)"),
399         new RegexTrial (@"(?-i:a)b", RegexOptions.IgnoreCase, "aB", "Pass. Group[0]=(0,2)"),
400         new RegexTrial (@"((?-i:a))b", RegexOptions.IgnoreCase, "aB", "Pass. Group[0]=(0,2) Group[1]=(0,1)"),
401         new RegexTrial (@"(?-i:a)b", RegexOptions.IgnoreCase, "Ab", "Fail."),
402         new RegexTrial (@"((?-i:a))b", RegexOptions.IgnoreCase, "Ab", "Fail."),
403         new RegexTrial (@"(?-i:a)b", RegexOptions.IgnoreCase, "aB", "Pass. Group[0]=(0,2)"),
404         new RegexTrial (@"((?-i:a))b", RegexOptions.IgnoreCase, "aB", "Pass. Group[0]=(0,2) Group[1]=(0,1)"),
405         new RegexTrial (@"(?-i:a)b", RegexOptions.IgnoreCase, "AB", "Fail."),
406         new RegexTrial (@"((?-i:a))b", RegexOptions.IgnoreCase, "AB", "Fail."),
407         new RegexTrial (@"((?-i:a.))b", RegexOptions.IgnoreCase, "a\nB", "Fail."),
408         new RegexTrial (@"((?s-i:a.))b", RegexOptions.IgnoreCase, "a\nB", "Pass. Group[0]=(0,3) Group[1]=(0,2)"),
409         new RegexTrial (@"((?s-i:a.))b", RegexOptions.IgnoreCase, "B\nB", "Fail."),
410         new RegexTrial (@"(?:c|d)(?:)(?:a(?:)(?:b)(?:b(?:))(?:b(?:)(?:b)))", RegexOptions.None, "cabbbb", "Pass. Group[0]=(0,6)"),
411         new RegexTrial (@"(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))", RegexOptions.None, "caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", "Pass. Group[0]=(0,41)"),
412         new RegexTrial (@"(ab)\d\1", RegexOptions.IgnoreCase, "Ab4ab", "Pass. Group[0]=(0,5) Group[1]=(0,2)"),
413         new RegexTrial (@"(ab)\d\1", RegexOptions.IgnoreCase, "ab4Ab", "Pass. Group[0]=(0,5) Group[1]=(0,2)"),
414         new RegexTrial (@"foo\w*\d{4}baz", RegexOptions.None, "foobar1234baz", "Pass. Group[0]=(0,13)"),
415         new RegexTrial (@"x(~~)*(?:(?:F)?)?", RegexOptions.None, "x~~", "Pass. Group[0]=(0,3) Group[1]=(1,2)"),
416         new RegexTrial (@"^a(?#xxx){3}c", RegexOptions.None, "aaac", "Pass. Group[0]=(0,4)"),
417         new RegexTrial (@"(?<![cd])b", RegexOptions.None, "dbcb", "Fail."),
418         new RegexTrial (@"(?<![cd])[ab]", RegexOptions.None, "dbaacb", "Pass. Group[0]=(2,1)"),
419         new RegexTrial (@"(?<!(c|d))b", RegexOptions.None, "dbcb", "Fail."),
420         new RegexTrial (@"(?<!(c|d))[ab]", RegexOptions.None, "dbaacb", "Pass. Group[0]=(2,1) Group[1]="),
421         new RegexTrial (@"(?<!cd)[ab]", RegexOptions.None, "cdaccb", "Pass. Group[0]=(5,1)"),
422         new RegexTrial (@"^(?:a?b?)*$", RegexOptions.None, "a--", "Fail."),
423         new RegexTrial (@"((?s)^a(.))((?m)^b$)", RegexOptions.None, "a\nb\nc\n", "Pass. Group[0]=(0,3) Group[1]=(0,2) Group[2]=(1,1) Group[3]=(2,1)"),
424         new RegexTrial (@"((?m)^b$)", RegexOptions.None, "a\nb\nc\n", "Pass. Group[0]=(2,1) Group[1]=(2,1)"),
425         new RegexTrial (@"(?m)^b", RegexOptions.None, "a\nb\n", "Pass. Group[0]=(2,1)"),
426         new RegexTrial (@"(?m)^(b)", RegexOptions.None, "a\nb\n", "Pass. Group[0]=(2,1) Group[1]=(2,1)"),
427         new RegexTrial (@"((?m)^b)", RegexOptions.None, "a\nb\n", "Pass. Group[0]=(2,1) Group[1]=(2,1)"),
428         new RegexTrial (@"\n((?m)^b)", RegexOptions.None, "a\nb\n", "Pass. Group[0]=(1,2) Group[1]=(2,1)"),
429         new RegexTrial (@"((?s).)c(?!.)", RegexOptions.None, "a\nb\nc\n", "Pass. Group[0]=(3,2) Group[1]=(3,1)"),
430         new RegexTrial (@"((?s).)c(?!.)", RegexOptions.None, "a\nb\nc\n", "Pass. Group[0]=(3,2) Group[1]=(3,1)"),
431         new RegexTrial (@"((?s)b.)c(?!.)", RegexOptions.None, "a\nb\nc\n", "Pass. Group[0]=(2,3) Group[1]=(2,2)"),
432         new RegexTrial (@"((?s)b.)c(?!.)", RegexOptions.None, "a\nb\nc\n", "Pass. Group[0]=(2,3) Group[1]=(2,2)"),
433         new RegexTrial (@"^b", RegexOptions.None, "a\nb\nc\n", "Fail."),
434         new RegexTrial (@"()^b", RegexOptions.None, "a\nb\nc\n", "Fail."),
435         new RegexTrial (@"((?m)^b)", RegexOptions.None, "a\nb\nc\n", "Pass. Group[0]=(2,1) Group[1]=(2,1)"),
436         new RegexTrial (@"(x)?(?(1)a|b)", RegexOptions.None, "a", "Fail."),
437         new RegexTrial (@"(x)?(?(1)b|a)", RegexOptions.None, "a", "Pass. Group[0]=(0,1) Group[1]="),
438         new RegexTrial (@"()?(?(1)b|a)", RegexOptions.None, "a", "Pass. Group[0]=(0,1) Group[1]="),
439         new RegexTrial (@"()(?(1)b|a)", RegexOptions.None, "a", "Fail."),
440         new RegexTrial (@"()?(?(1)a|b)", RegexOptions.None, "a", "Pass. Group[0]=(0,1) Group[1]=(0,0)"),
441         new RegexTrial (@"^(\()?blah(?(1)(\)))$", RegexOptions.None, "(blah)", "Pass. Group[0]=(0,6) Group[1]=(0,1) Group[2]=(5,1)"),
442         new RegexTrial (@"^(\()?blah(?(1)(\)))$", RegexOptions.None, "blah", "Pass. Group[0]=(0,4) Group[1]= Group[2]="),
443         new RegexTrial (@"^(\()?blah(?(1)(\)))$", RegexOptions.None, "blah)", "Fail."),
444         new RegexTrial (@"^(\()?blah(?(1)(\)))$", RegexOptions.None, "(blah", "Fail."),
445         new RegexTrial (@"^(\(+)?blah(?(1)(\)))$", RegexOptions.None, "(blah)", "Pass. Group[0]=(0,6) Group[1]=(0,1) Group[2]=(5,1)"),
446         new RegexTrial (@"^(\(+)?blah(?(1)(\)))$", RegexOptions.None, "blah", "Pass. Group[0]=(0,4) Group[1]= Group[2]="),
447         new RegexTrial (@"^(\(+)?blah(?(1)(\)))$", RegexOptions.None, "blah)", "Fail."),
448         new RegexTrial (@"^(\(+)?blah(?(1)(\)))$", RegexOptions.None, "(blah", "Fail."),
449         new RegexTrial (@"(?(1)a|b|c)", RegexOptions.None, "a", "Error."),
450         new RegexTrial (@"(?(?!a)a|b)", RegexOptions.None, "a", "Fail."),
451         new RegexTrial (@"(?(?!a)b|a)", RegexOptions.None, "a", "Pass. Group[0]=(0,1)"),
452         new RegexTrial (@"(?(?=a)b|a)", RegexOptions.None, "a", "Fail."),
453         new RegexTrial (@"(?(?=a)a|b)", RegexOptions.None, "a", "Pass. Group[0]=(0,1)"),
454         new RegexTrial (@"(?=(a+?))(\1ab)", RegexOptions.None, "aaab", "Pass. Group[0]=(1,3) Group[1]=(1,1) Group[2]=(1,3)"),
455         new RegexTrial (@"^(?=(a+?))\1ab", RegexOptions.None, "aaab", "Fail."),
456         new RegexTrial (@"(\w+:)+", RegexOptions.None, "one:", "Pass. Group[0]=(0,4) Group[1]=(0,4)"),
457         new RegexTrial (@"$(?<=^(a))", RegexOptions.None, "a", "Pass. Group[0]=(1,0) Group[1]=(0,1)"),
458         new RegexTrial (@"(?=(a+?))(\1ab)", RegexOptions.None, "aaab", "Pass. Group[0]=(1,3) Group[1]=(1,1) Group[2]=(1,3)"),
459         new RegexTrial (@"^(?=(a+?))\1ab", RegexOptions.None, "aaab", "Fail."),
460         new RegexTrial (@"([\w:]+::)?(\w+)$", RegexOptions.None, "abcd:", "Fail."),
461         new RegexTrial (@"([\w:]+::)?(\w+)$", RegexOptions.None, "abcd", "Pass. Group[0]=(0,4) Group[1]= Group[2]=(0,4)"),
462         new RegexTrial (@"([\w:]+::)?(\w+)$", RegexOptions.None, "xy:z:::abcd", "Pass. Group[0]=(0,11) Group[1]=(0,7) Group[2]=(7,4)"),
463         new RegexTrial (@"^[^bcd]*(c+)", RegexOptions.None, "aexycd", "Pass. Group[0]=(0,5) Group[1]=(4,1)"),
464         new RegexTrial (@"(a*)b+", RegexOptions.None, "caab", "Pass. Group[0]=(1,3) Group[1]=(1,2)"),
465         new RegexTrial (@"([\w:]+::)?(\w+)$", RegexOptions.None, "abcd:", "Fail."),
466         new RegexTrial (@"([\w:]+::)?(\w+)$", RegexOptions.None, "abcd", "Pass. Group[0]=(0,4) Group[1]= Group[2]=(0,4)"),
467         new RegexTrial (@"([\w:]+::)?(\w+)$", RegexOptions.None, "xy:z:::abcd", "Pass. Group[0]=(0,11) Group[1]=(0,7) Group[2]=(7,4)"),
468         new RegexTrial (@"^[^bcd]*(c+)", RegexOptions.None, "aexycd", "Pass. Group[0]=(0,5) Group[1]=(4,1)"),
469         new RegexTrial (@"(>a+)ab", RegexOptions.None, "aaab", "Fail."),
470         new RegexTrial (@"(?>a+)b", RegexOptions.None, "aaab", "Pass. Group[0]=(0,4)"),
471         new RegexTrial (@"([[:]+)", RegexOptions.None, "a:[b]:", "Pass. Group[0]=(1,2) Group[1]=(1,2)"),
472         new RegexTrial (@"([[=]+)", RegexOptions.None, "a=[b]=", "Pass. Group[0]=(1,2) Group[1]=(1,2)"),
473         new RegexTrial (@"([[.]+)", RegexOptions.None, "a.[b].", "Pass. Group[0]=(1,2) Group[1]=(1,2)"),
474         new RegexTrial (@"[a[:]b[:c]", RegexOptions.None, "abc", "Pass. Group[0]=(0,3)"),
475         new RegexTrial (@"[a[:]b[:c]", RegexOptions.None, "abc", "Pass. Group[0]=(0,3)"),
476         new RegexTrial (@"((?>a+)b)", RegexOptions.None, "aaab", "Pass. Group[0]=(0,4) Group[1]=(0,4)"),
477         new RegexTrial (@"(?>(a+))b", RegexOptions.None, "aaab", "Pass. Group[0]=(0,4) Group[1]=(0,3)"),
478         new RegexTrial (@"((?>[^()]+)|\([^()]*\))+", RegexOptions.None, "((abc(ade)ufh()()x", "Pass. Group[0]=(2,16) Group[1]=(2,3)(5,5)(10,3)(13,2)(15,2)(17,1)"),
479         new RegexTrial (@"(?<=x+)", RegexOptions.None, "xxxxy", "Pass. Group[0]=(1,0)"),
480         new RegexTrial (@"a{37,17}", RegexOptions.None, "-", "Error."),
481         new RegexTrial (@"\Z", RegexOptions.None, "a\nb\n", "Pass. Group[0]=(3,0)"),
482         new RegexTrial (@"\z", RegexOptions.None, "a\nb\n", "Pass. Group[0]=(4,0)"),
483         new RegexTrial (@"$", RegexOptions.None, "a\nb\n", "Pass. Group[0]=(3,0)"),
484         new RegexTrial (@"\Z", RegexOptions.None, "b\na\n", "Pass. Group[0]=(3,0)"),
485         new RegexTrial (@"\z", RegexOptions.None, "b\na\n", "Pass. Group[0]=(4,0)"),
486         new RegexTrial (@"$", RegexOptions.None, "b\na\n", "Pass. Group[0]=(3,0)"),
487         new RegexTrial (@"\Z", RegexOptions.None, "b\na", "Pass. Group[0]=(3,0)"),
488         new RegexTrial (@"\z", RegexOptions.None, "b\na", "Pass. Group[0]=(3,0)"),
489         new RegexTrial (@"$", RegexOptions.None, "b\na", "Pass. Group[0]=(3,0)"),
490         new RegexTrial (@"\Z", RegexOptions.Multiline, "a\nb\n", "Pass. Group[0]=(3,0)"),
491         new RegexTrial (@"\z", RegexOptions.Multiline, "a\nb\n", "Pass. Group[0]=(4,0)"),
492         new RegexTrial (@"$", RegexOptions.Multiline, "a\nb\n", "Pass. Group[0]=(1,0)"),
493         new RegexTrial (@"\Z", RegexOptions.Multiline, "b\na\n", "Pass. Group[0]=(3,0)"),
494         new RegexTrial (@"\z", RegexOptions.Multiline, "b\na\n", "Pass. Group[0]=(4,0)"),
495         new RegexTrial (@"$", RegexOptions.Multiline, "b\na\n", "Pass. Group[0]=(1,0)"),
496         new RegexTrial (@"\Z", RegexOptions.Multiline, "b\na", "Pass. Group[0]=(3,0)"),
497         new RegexTrial (@"\z", RegexOptions.Multiline, "b\na", "Pass. Group[0]=(3,0)"),
498         new RegexTrial (@"$", RegexOptions.Multiline, "b\na", "Pass. Group[0]=(1,0)"),
499         new RegexTrial (@"a\Z", RegexOptions.None, "a\nb\n", "Fail."),
500         new RegexTrial (@"a\z", RegexOptions.None, "a\nb\n", "Fail."),
501         new RegexTrial (@"a$", RegexOptions.None, "a\nb\n", "Fail."),
502         new RegexTrial (@"a\Z", RegexOptions.None, "b\na\n", "Pass. Group[0]=(2,1)"),
503         new RegexTrial (@"a\z", RegexOptions.None, "b\na\n", "Fail."),
504         new RegexTrial (@"a$", RegexOptions.None, "b\na\n", "Pass. Group[0]=(2,1)"),
505         new RegexTrial (@"a\Z", RegexOptions.None, "b\na", "Pass. Group[0]=(2,1)"),
506         new RegexTrial (@"a\z", RegexOptions.None, "b\na", "Pass. Group[0]=(2,1)"),
507         new RegexTrial (@"a$", RegexOptions.None, "b\na", "Pass. Group[0]=(2,1)"),
508         new RegexTrial (@"a\z", RegexOptions.Multiline, "a\nb\n", "Fail."),
509         new RegexTrial (@"a$", RegexOptions.Multiline, "a\nb\n", "Pass. Group[0]=(0,1)"),
510         new RegexTrial (@"a\Z", RegexOptions.Multiline, "b\na\n", "Pass. Group[0]=(2,1)"),
511         new RegexTrial (@"a\z", RegexOptions.Multiline, "b\na\n", "Fail."),
512         new RegexTrial (@"a$", RegexOptions.Multiline, "b\na\n", "Pass. Group[0]=(2,1)"),
513         new RegexTrial (@"a\Z", RegexOptions.Multiline, "b\na", "Pass. Group[0]=(2,1)"),
514         new RegexTrial (@"a\z", RegexOptions.Multiline, "b\na", "Pass. Group[0]=(2,1)"),
515         new RegexTrial (@"a$", RegexOptions.Multiline, "b\na", "Pass. Group[0]=(2,1)"),
516         new RegexTrial (@"aa\Z", RegexOptions.None, "aa\nb\n", "Fail."),
517         new RegexTrial (@"aa\z", RegexOptions.None, "aa\nb\n", "Fail."),
518         new RegexTrial (@"aa$", RegexOptions.None, "aa\nb\n", "Fail."),
519         new RegexTrial (@"aa\Z", RegexOptions.None, "b\naa\n", "Pass. Group[0]=(2,2)"),
520         new RegexTrial (@"aa\z", RegexOptions.None, "b\naa\n", "Fail."),
521         new RegexTrial (@"aa$", RegexOptions.None, "b\naa\n", "Pass. Group[0]=(2,2)"),
522         new RegexTrial (@"aa\Z", RegexOptions.None, "b\naa", "Pass. Group[0]=(2,2)"),
523         new RegexTrial (@"aa\z", RegexOptions.None, "b\naa", "Pass. Group[0]=(2,2)"),
524         new RegexTrial (@"aa$", RegexOptions.None, "b\naa", "Pass. Group[0]=(2,2)"),
525         new RegexTrial (@"aa\z", RegexOptions.Multiline, "aa\nb\n", "Fail."),
526         new RegexTrial (@"aa$", RegexOptions.Multiline, "aa\nb\n", "Pass. Group[0]=(0,2)"),
527         new RegexTrial (@"aa\Z", RegexOptions.Multiline, "b\naa\n", "Pass. Group[0]=(2,2)"),
528         new RegexTrial (@"aa\z", RegexOptions.Multiline, "b\naa\n", "Fail."),
529         new RegexTrial (@"aa$", RegexOptions.Multiline, "b\naa\n", "Pass. Group[0]=(2,2)"),
530         new RegexTrial (@"aa\Z", RegexOptions.Multiline, "b\naa", "Pass. Group[0]=(2,2)"),
531         new RegexTrial (@"aa\z", RegexOptions.Multiline, "b\naa", "Pass. Group[0]=(2,2)"),
532         new RegexTrial (@"aa$", RegexOptions.Multiline, "b\naa", "Pass. Group[0]=(2,2)"),
533         new RegexTrial (@"aa\Z", RegexOptions.None, "ac\nb\n", "Fail."),
534         new RegexTrial (@"aa\z", RegexOptions.None, "ac\nb\n", "Fail."),
535         new RegexTrial (@"aa$", RegexOptions.None, "ac\nb\n", "Fail."),
536         new RegexTrial (@"aa\Z", RegexOptions.None, "b\nac\n", "Fail."),
537         new RegexTrial (@"aa\z", RegexOptions.None, "b\nac\n", "Fail."),
538         new RegexTrial (@"aa$", RegexOptions.None, "b\nac\n", "Fail."),
539         new RegexTrial (@"aa\Z", RegexOptions.None, "b\nac", "Fail."),
540         new RegexTrial (@"aa\z", RegexOptions.None, "b\nac", "Fail."),
541         new RegexTrial (@"aa$", RegexOptions.None, "b\nac", "Fail."),
542         new RegexTrial (@"aa\Z", RegexOptions.Multiline, "ac\nb\n", "Fail."),
543         new RegexTrial (@"aa\z", RegexOptions.Multiline, "ac\nb\n", "Fail."),
544         new RegexTrial (@"aa$", RegexOptions.Multiline, "ac\nb\n", "Fail."),
545         new RegexTrial (@"aa\Z", RegexOptions.Multiline, "b\nac\n", "Fail."),
546         new RegexTrial (@"aa\z", RegexOptions.Multiline, "b\nac\n", "Fail."),
547         new RegexTrial (@"aa$", RegexOptions.Multiline, "b\nac\n", "Fail."),
548         new RegexTrial (@"aa\Z", RegexOptions.Multiline, "b\nac", "Fail."),
549         new RegexTrial (@"aa\z", RegexOptions.Multiline, "b\nac", "Fail."),
550         new RegexTrial (@"aa$", RegexOptions.Multiline, "b\nac", "Fail."),
551         new RegexTrial (@"aa\Z", RegexOptions.None, "ca\nb\n", "Fail."),
552         new RegexTrial (@"aa\z", RegexOptions.None, "ca\nb\n", "Fail."),
553         new RegexTrial (@"aa$", RegexOptions.None, "ca\nb\n", "Fail."),
554         new RegexTrial (@"aa\Z", RegexOptions.None, "b\nca\n", "Fail."),
555         new RegexTrial (@"aa\z", RegexOptions.None, "b\nca\n", "Fail."),
556         new RegexTrial (@"aa$", RegexOptions.None, "b\nca\n", "Fail."),
557         new RegexTrial (@"aa\Z", RegexOptions.None, "b\nca", "Fail."),
558         new RegexTrial (@"aa\z", RegexOptions.None, "b\nca", "Fail."),
559         new RegexTrial (@"aa$", RegexOptions.None, "b\nca", "Fail."),
560         new RegexTrial (@"aa\Z", RegexOptions.Multiline, "ca\nb\n", "Fail."),
561         new RegexTrial (@"aa\z", RegexOptions.Multiline, "ca\nb\n", "Fail."),
562         new RegexTrial (@"aa$", RegexOptions.Multiline, "ca\nb\n", "Fail."),
563         new RegexTrial (@"aa\Z", RegexOptions.Multiline, "b\nca\n", "Fail."),
564         new RegexTrial (@"aa\z", RegexOptions.Multiline, "b\nca\n", "Fail."),
565         new RegexTrial (@"aa$", RegexOptions.Multiline, "b\nca\n", "Fail."),
566         new RegexTrial (@"aa\Z", RegexOptions.Multiline, "b\nca", "Fail."),
567         new RegexTrial (@"aa\z", RegexOptions.Multiline, "b\nca", "Fail."),
568         new RegexTrial (@"aa$", RegexOptions.Multiline, "b\nca", "Fail."),
569         new RegexTrial (@"ab\Z", RegexOptions.None, "ab\nb\n", "Fail."),
570         new RegexTrial (@"ab\z", RegexOptions.None, "ab\nb\n", "Fail."),
571         new RegexTrial (@"ab$", RegexOptions.None, "ab\nb\n", "Fail."),
572         new RegexTrial (@"ab\Z", RegexOptions.None, "b\nab\n", "Pass. Group[0]=(2,2)"),
573         new RegexTrial (@"ab\z", RegexOptions.None, "b\nab\n", "Fail."),
574         new RegexTrial (@"ab$", RegexOptions.None, "b\nab\n", "Pass. Group[0]=(2,2)"),
575         new RegexTrial (@"ab\Z", RegexOptions.None, "b\nab", "Pass. Group[0]=(2,2)"),
576         new RegexTrial (@"ab\z", RegexOptions.None, "b\nab", "Pass. Group[0]=(2,2)"),
577         new RegexTrial (@"ab$", RegexOptions.None, "b\nab", "Pass. Group[0]=(2,2)"),
578         new RegexTrial (@"ab\z", RegexOptions.Multiline, "ab\nb\n", "Fail."),
579         new RegexTrial (@"ab$", RegexOptions.Multiline, "ab\nb\n", "Pass. Group[0]=(0,2)"),
580         new RegexTrial (@"ab\Z", RegexOptions.Multiline, "b\nab\n", "Pass. Group[0]=(2,2)"),
581         new RegexTrial (@"ab\z", RegexOptions.Multiline, "b\nab\n", "Fail."),
582         new RegexTrial (@"ab$", RegexOptions.Multiline, "b\nab\n", "Pass. Group[0]=(2,2)"),
583         new RegexTrial (@"ab\Z", RegexOptions.Multiline, "b\nab", "Pass. Group[0]=(2,2)"),
584         new RegexTrial (@"ab\z", RegexOptions.Multiline, "b\nab", "Pass. Group[0]=(2,2)"),
585         new RegexTrial (@"ab$", RegexOptions.Multiline, "b\nab", "Pass. Group[0]=(2,2)"),
586         new RegexTrial (@"ab\Z", RegexOptions.None, "ac\nb\n", "Fail."),
587         new RegexTrial (@"ab\z", RegexOptions.None, "ac\nb\n", "Fail."),
588         new RegexTrial (@"ab$", RegexOptions.None, "ac\nb\n", "Fail."),
589         new RegexTrial (@"ab\Z", RegexOptions.None, "b\nac\n", "Fail."),
590         new RegexTrial (@"ab\z", RegexOptions.None, "b\nac\n", "Fail."),
591         new RegexTrial (@"ab$", RegexOptions.None, "b\nac\n", "Fail."),
592         new RegexTrial (@"ab\Z", RegexOptions.None, "b\nac", "Fail."),
593         new RegexTrial (@"ab\z", RegexOptions.None, "b\nac", "Fail."),
594         new RegexTrial (@"ab$", RegexOptions.None, "b\nac", "Fail."),
595         new RegexTrial (@"ab\Z", RegexOptions.Multiline, "ac\nb\n", "Fail."),
596         new RegexTrial (@"ab\z", RegexOptions.Multiline, "ac\nb\n", "Fail."),
597         new RegexTrial (@"ab$", RegexOptions.Multiline, "ac\nb\n", "Fail."),
598         new RegexTrial (@"ab\Z", RegexOptions.Multiline, "b\nac\n", "Fail."),
599         new RegexTrial (@"ab\z", RegexOptions.Multiline, "b\nac\n", "Fail."),
600         new RegexTrial (@"ab$", RegexOptions.Multiline, "b\nac\n", "Fail."),
601         new RegexTrial (@"ab\Z", RegexOptions.Multiline, "b\nac", "Fail."),
602         new RegexTrial (@"ab\z", RegexOptions.Multiline, "b\nac", "Fail."),
603         new RegexTrial (@"ab$", RegexOptions.Multiline, "b\nac", "Fail."),
604         new RegexTrial (@"ab\Z", RegexOptions.None, "ca\nb\n", "Fail."),
605         new RegexTrial (@"ab\z", RegexOptions.None, "ca\nb\n", "Fail."),
606         new RegexTrial (@"ab$", RegexOptions.None, "ca\nb\n", "Fail."),
607         new RegexTrial (@"ab\Z", RegexOptions.None, "b\nca\n", "Fail."),
608         new RegexTrial (@"ab\z", RegexOptions.None, "b\nca\n", "Fail."),
609         new RegexTrial (@"ab$", RegexOptions.None, "b\nca\n", "Fail."),
610         new RegexTrial (@"ab\Z", RegexOptions.None, "b\nca", "Fail."),
611         new RegexTrial (@"ab\z", RegexOptions.None, "b\nca", "Fail."),
612         new RegexTrial (@"ab$", RegexOptions.None, "b\nca", "Fail."),
613         new RegexTrial (@"ab\Z", RegexOptions.Multiline, "ca\nb\n", "Fail."),
614         new RegexTrial (@"ab\z", RegexOptions.Multiline, "ca\nb\n", "Fail."),
615         new RegexTrial (@"ab$", RegexOptions.Multiline, "ca\nb\n", "Fail."),
616         new RegexTrial (@"ab\Z", RegexOptions.Multiline, "b\nca\n", "Fail."),
617         new RegexTrial (@"ab\z", RegexOptions.Multiline, "b\nca\n", "Fail."),
618         new RegexTrial (@"ab$", RegexOptions.Multiline, "b\nca\n", "Fail."),
619         new RegexTrial (@"ab\Z", RegexOptions.Multiline, "b\nca", "Fail."),
620         new RegexTrial (@"ab\z", RegexOptions.Multiline, "b\nca", "Fail."),
621         new RegexTrial (@"ab$", RegexOptions.Multiline, "b\nca", "Fail."),
622         new RegexTrial (@"abb\Z", RegexOptions.None, "abb\nb\n", "Fail."),
623         new RegexTrial (@"abb\z", RegexOptions.None, "abb\nb\n", "Fail."),
624         new RegexTrial (@"abb$", RegexOptions.None, "abb\nb\n", "Fail."),
625         new RegexTrial (@"abb\Z", RegexOptions.None, "b\nabb\n", "Pass. Group[0]=(2,3)"),
626         new RegexTrial (@"abb\z", RegexOptions.None, "b\nabb\n", "Fail."),
627         new RegexTrial (@"abb$", RegexOptions.None, "b\nabb\n", "Pass. Group[0]=(2,3)"),
628         new RegexTrial (@"abb\Z", RegexOptions.None, "b\nabb", "Pass. Group[0]=(2,3)"),
629         new RegexTrial (@"abb\z", RegexOptions.None, "b\nabb", "Pass. Group[0]=(2,3)"),
630         new RegexTrial (@"abb$", RegexOptions.None, "b\nabb", "Pass. Group[0]=(2,3)"),
631         new RegexTrial (@"abb\z", RegexOptions.Multiline, "abb\nb\n", "Fail."),
632         new RegexTrial (@"abb$", RegexOptions.Multiline, "abb\nb\n", "Pass. Group[0]=(0,3)"),
633         new RegexTrial (@"abb\Z", RegexOptions.Multiline, "b\nabb\n", "Pass. Group[0]=(2,3)"),
634         new RegexTrial (@"abb\z", RegexOptions.Multiline, "b\nabb\n", "Fail."),
635         new RegexTrial (@"abb$", RegexOptions.Multiline, "b\nabb\n", "Pass. Group[0]=(2,3)"),
636         new RegexTrial (@"abb\Z", RegexOptions.Multiline, "b\nabb", "Pass. Group[0]=(2,3)"),
637         new RegexTrial (@"abb\z", RegexOptions.Multiline, "b\nabb", "Pass. Group[0]=(2,3)"),
638         new RegexTrial (@"abb$", RegexOptions.Multiline, "b\nabb", "Pass. Group[0]=(2,3)"),
639         new RegexTrial (@"abb\Z", RegexOptions.None, "ac\nb\n", "Fail."),
640         new RegexTrial (@"abb\z", RegexOptions.None, "ac\nb\n", "Fail."),
641         new RegexTrial (@"abb$", RegexOptions.None, "ac\nb\n", "Fail."),
642         new RegexTrial (@"abb\Z", RegexOptions.None, "b\nac\n", "Fail."),
643         new RegexTrial (@"abb\z", RegexOptions.None, "b\nac\n", "Fail."),
644         new RegexTrial (@"abb$", RegexOptions.None, "b\nac\n", "Fail."),
645         new RegexTrial (@"abb\Z", RegexOptions.None, "b\nac", "Fail."),
646         new RegexTrial (@"abb\z", RegexOptions.None, "b\nac", "Fail."),
647         new RegexTrial (@"abb$", RegexOptions.None, "b\nac", "Fail."),
648         new RegexTrial (@"abb\Z", RegexOptions.Multiline, "ac\nb\n", "Fail."),
649         new RegexTrial (@"abb\z", RegexOptions.Multiline, "ac\nb\n", "Fail."),
650         new RegexTrial (@"abb$", RegexOptions.Multiline, "ac\nb\n", "Fail."),
651         new RegexTrial (@"abb\Z", RegexOptions.Multiline, "b\nac\n", "Fail."),
652         new RegexTrial (@"abb\z", RegexOptions.Multiline, "b\nac\n", "Fail."),
653         new RegexTrial (@"abb$", RegexOptions.Multiline, "b\nac\n", "Fail."),
654         new RegexTrial (@"abb\Z", RegexOptions.Multiline, "b\nac", "Fail."),
655         new RegexTrial (@"abb\z", RegexOptions.Multiline, "b\nac", "Fail."),
656         new RegexTrial (@"abb$", RegexOptions.Multiline, "b\nac", "Fail."),
657         new RegexTrial (@"abb\Z", RegexOptions.None, "ca\nb\n", "Fail."),
658         new RegexTrial (@"abb\z", RegexOptions.None, "ca\nb\n", "Fail."),
659         new RegexTrial (@"abb$", RegexOptions.None, "ca\nb\n", "Fail."),
660         new RegexTrial (@"abb\Z", RegexOptions.None, "b\nca\n", "Fail."),
661         new RegexTrial (@"abb\z", RegexOptions.None, "b\nca\n", "Fail."),
662         new RegexTrial (@"abb$", RegexOptions.None, "b\nca\n", "Fail."),
663         new RegexTrial (@"abb\Z", RegexOptions.None, "b\nca", "Fail."),
664         new RegexTrial (@"abb\z", RegexOptions.None, "b\nca", "Fail."),
665         new RegexTrial (@"abb$", RegexOptions.None, "b\nca", "Fail."),
666         new RegexTrial (@"abb\Z", RegexOptions.Multiline, "ca\nb\n", "Fail."),
667         new RegexTrial (@"abb\z", RegexOptions.Multiline, "ca\nb\n", "Fail."),
668         new RegexTrial (@"abb$", RegexOptions.Multiline, "ca\nb\n", "Fail."),
669         new RegexTrial (@"abb\Z", RegexOptions.Multiline, "b\nca\n", "Fail."),
670         new RegexTrial (@"abb\z", RegexOptions.Multiline, "b\nca\n", "Fail."),
671         new RegexTrial (@"abb$", RegexOptions.Multiline, "b\nca\n", "Fail."),
672         new RegexTrial (@"abb\Z", RegexOptions.Multiline, "b\nca", "Fail."),
673         new RegexTrial (@"abb\z", RegexOptions.Multiline, "b\nca", "Fail."),
674         new RegexTrial (@"abb$", RegexOptions.Multiline, "b\nca", "Fail."),
675         new RegexTrial (@"(^|x)(c)", RegexOptions.None, "ca", "Pass. Group[0]=(0,1) Group[1]=(0,0) Group[2]=(0,1)"),
676         new RegexTrial (@"a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz", RegexOptions.None, "x", "Fail."),
677         new RegexTrial (@"round\(((?>[^()]+))\)", RegexOptions.None, "_I(round(xs * sz),1)", "Pass. Group[0]=(3,14) Group[1]=(9,7)"),
678         new RegexTrial (@"foo.bart", RegexOptions.None, "foo.bart", "Pass. Group[0]=(0,8)"),
679         new RegexTrial (@"^d[x][x][x]", RegexOptions.Multiline, "abcd\ndxxx", "Pass. Group[0]=(5,4)"),
680         new RegexTrial (@".X(.+)+X", RegexOptions.None, "bbbbXcXaaaaaaaa", "Pass. Group[0]=(3,4) Group[1]=(5,1)"),
681         new RegexTrial (@".X(.+)+XX", RegexOptions.None, "bbbbXcXXaaaaaaaa", "Pass. Group[0]=(3,5) Group[1]=(5,1)"),
682         new RegexTrial (@".XX(.+)+X", RegexOptions.None, "bbbbXXcXaaaaaaaa", "Pass. Group[0]=(3,5) Group[1]=(6,1)"),
683         new RegexTrial (@".X(.+)+X", RegexOptions.None, "bbbbXXaaaaaaaaa", "Fail."),
684         new RegexTrial (@".X(.+)+XX", RegexOptions.None, "bbbbXXXaaaaaaaaa", "Fail."),
685         new RegexTrial (@".XX(.+)+X", RegexOptions.None, "bbbbXXXaaaaaaaaa", "Fail."),
686         new RegexTrial (@".X(.+)+[X]", RegexOptions.None, "bbbbXcXaaaaaaaa", "Pass. Group[0]=(3,4) Group[1]=(5,1)"),
687         new RegexTrial (@".X(.+)+[X][X]", RegexOptions.None, "bbbbXcXXaaaaaaaa", "Pass. Group[0]=(3,5) Group[1]=(5,1)"),
688         new RegexTrial (@".XX(.+)+[X]", RegexOptions.None, "bbbbXXcXaaaaaaaa", "Pass. Group[0]=(3,5) Group[1]=(6,1)"),
689         new RegexTrial (@".X(.+)+[X]", RegexOptions.None, "bbbbXXaaaaaaaaa", "Fail."),
690         new RegexTrial (@".X(.+)+[X][X]", RegexOptions.None, "bbbbXXXaaaaaaaaa", "Fail."),
691         new RegexTrial (@".XX(.+)+[X]", RegexOptions.None, "bbbbXXXaaaaaaaaa", "Fail."),
692         new RegexTrial (@".[X](.+)+[X]", RegexOptions.None, "bbbbXcXaaaaaaaa", "Pass. Group[0]=(3,4) Group[1]=(5,1)"),
693         new RegexTrial (@".[X](.+)+[X][X]", RegexOptions.None, "bbbbXcXXaaaaaaaa", "Pass. Group[0]=(3,5) Group[1]=(5,1)"),
694         new RegexTrial (@".[X][X](.+)+[X]", RegexOptions.None, "bbbbXXcXaaaaaaaa", "Pass. Group[0]=(3,5) Group[1]=(6,1)"),
695         new RegexTrial (@".[X](.+)+[X]", RegexOptions.None, "bbbbXXaaaaaaaaa", "Fail."),
696         new RegexTrial (@".[X](.+)+[X][X]", RegexOptions.None, "bbbbXXXaaaaaaaaa", "Fail."),
697         new RegexTrial (@".[X][X](.+)+[X]", RegexOptions.None, "bbbbXXXaaaaaaaaa", "Fail."),
698         new RegexTrial (@"tt+$", RegexOptions.None, "xxxtt", "Pass. Group[0]=(3,2)"),
699         new RegexTrial (@"([\d-z]+)", RegexOptions.None, "a0-za", "Pass. Group[0]=(1,3) Group[1]=(1,3)"),
700         new RegexTrial (@"([\d-\s]+)", RegexOptions.None, "a0- z", "Pass. Group[0]=(1,3) Group[1]=(1,3)"),
701         new RegexTrial (@"\GX.*X", RegexOptions.None, "aaaXbX", "Fail."),
702         new RegexTrial (@"(\d+\.\d+)", RegexOptions.None, "3.1415926", "Pass. Group[0]=(0,9) Group[1]=(0,9)"),
703         new RegexTrial (@"(\ba.{0,10}br)", RegexOptions.None, "have a web browser", "Pass. Group[0]=(5,8) Group[1]=(5,8)"),
704         new RegexTrial (@"\.c(pp|xx|c)?$", RegexOptions.IgnoreCase, "Changes", "Fail."),
705         new RegexTrial (@"\.c(pp|xx|c)?$", RegexOptions.IgnoreCase, "IO.c", "Pass. Group[0]=(2,2) Group[1]="),
706         new RegexTrial (@"(\.c(pp|xx|c)?$)", RegexOptions.IgnoreCase, "IO.c", "Pass. Group[0]=(2,2) Group[1]=(2,2) Group[2]="),
707         new RegexTrial (@"^([a-z]:)", RegexOptions.None, "C:/", "Fail."),
708         new RegexTrial (@"^\S\s+aa$", RegexOptions.Multiline, "\nx aa", "Pass. Group[0]=(1,4)"),
709         new RegexTrial (@"(^|a)b", RegexOptions.None, "ab", "Pass. Group[0]=(0,2) Group[1]=(0,1)"),
710         new RegexTrial (@"^([ab]*?)(b)?(c)$", RegexOptions.None, "abac", "Pass. Group[0]=(0,4) Group[1]=(0,3) Group[2]= Group[3]=(3,1)"),
711         new RegexTrial (@"(\w)?(abc)\1b", RegexOptions.None, "abcab", "Fail."),
712         new RegexTrial (@"^(?:.,){2}c", RegexOptions.None, "a,b,c", "Pass. Group[0]=(0,5)"),
713         new RegexTrial (@"^(.,){2}c", RegexOptions.None, "a,b,c", "Pass. Group[0]=(0,5) Group[1]=(0,2)(2,2)"),
714         new RegexTrial (@"^(?:[^,]*,){2}c", RegexOptions.None, "a,b,c", "Pass. Group[0]=(0,5)"),
715         new RegexTrial (@"^([^,]*,){2}c", RegexOptions.None, "a,b,c", "Pass. Group[0]=(0,5) Group[1]=(0,2)(2,2)"),
716         new RegexTrial (@"^([^,]*,){3}d", RegexOptions.None, "aaa,b,c,d", "Pass. Group[0]=(0,9) Group[1]=(0,4)(4,2)(6,2)"),
717         new RegexTrial (@"^([^,]*,){3,}d", RegexOptions.None, "aaa,b,c,d", "Pass. Group[0]=(0,9) Group[1]=(0,4)(4,2)(6,2)"),
718         new RegexTrial (@"^([^,]*,){0,3}d", RegexOptions.None, "aaa,b,c,d", "Pass. Group[0]=(0,9) Group[1]=(0,4)(4,2)(6,2)"),
719         new RegexTrial (@"^([^,]{1,3},){3}d", RegexOptions.None, "aaa,b,c,d", "Pass. Group[0]=(0,9) Group[1]=(0,4)(4,2)(6,2)"),
720         new RegexTrial (@"^([^,]{1,3},){3,}d", RegexOptions.None, "aaa,b,c,d", "Pass. Group[0]=(0,9) Group[1]=(0,4)(4,2)(6,2)"),
721         new RegexTrial (@"^([^,]{1,3},){0,3}d", RegexOptions.None, "aaa,b,c,d", "Pass. Group[0]=(0,9) Group[1]=(0,4)(4,2)(6,2)"),
722         new RegexTrial (@"^([^,]{1,},){3}d", RegexOptions.None, "aaa,b,c,d", "Pass. Group[0]=(0,9) Group[1]=(0,4)(4,2)(6,2)"),
723         new RegexTrial (@"^([^,]{1,},){3,}d", RegexOptions.None, "aaa,b,c,d", "Pass. Group[0]=(0,9) Group[1]=(0,4)(4,2)(6,2)"),
724         new RegexTrial (@"^([^,]{1,},){0,3}d", RegexOptions.None, "aaa,b,c,d", "Pass. Group[0]=(0,9) Group[1]=(0,4)(4,2)(6,2)"),
725         new RegexTrial (@"^([^,]{0,3},){3}d", RegexOptions.None, "aaa,b,c,d", "Pass. Group[0]=(0,9) Group[1]=(0,4)(4,2)(6,2)"),
726         new RegexTrial (@"^([^,]{0,3},){3,}d", RegexOptions.None, "aaa,b,c,d", "Pass. Group[0]=(0,9) Group[1]=(0,4)(4,2)(6,2)"),
727         new RegexTrial (@"^([^,]{0,3},){0,3}d", RegexOptions.None, "aaa,b,c,d", "Pass. Group[0]=(0,9) Group[1]=(0,4)(4,2)(6,2)"),
728         new RegexTrial (@"(?i)", RegexOptions.None, "", "Pass. Group[0]=(0,0)"),
729         new RegexTrial (@"(?!\A)x", RegexOptions.Multiline, "a\nxb\n", "Pass. Group[0]=(2,1)"),
730         new RegexTrial (@"^(a(b)?)+$", RegexOptions.None, "aba", "Pass. Group[0]=(0,3) Group[1]=(0,2)(2,1) Group[2]=(1,1)"),
731         new RegexTrial (@"^(aa(bb)?)+$", RegexOptions.None, "aabbaa", "Pass. Group[0]=(0,6) Group[1]=(0,4)(4,2) Group[2]=(2,2)"),
732         new RegexTrial (@"^.{9}abc.*\n", RegexOptions.Multiline, "123\nabcabcabcabc\n", "Pass. Group[0]=(4,13)"),
733         new RegexTrial (@"^(a)?a$", RegexOptions.None, "a", "Pass. Group[0]=(0,1) Group[1]="),
734         new RegexTrial (@"^(a)?(?(1)a|b)+$", RegexOptions.None, "a", "Fail."),
735         new RegexTrial (@"^(a\1?)(a\1?)(a\2?)(a\3?)$", RegexOptions.None, "aaaaaa", "Pass. Group[0]=(0,6) Group[1]=(0,1) Group[2]=(1,2) Group[3]=(3,1) Group[4]=(4,2)"),
736         new RegexTrial (@"^(a\1?){4}$", RegexOptions.None, "aaaaaa", "Pass. Group[0]=(0,6) Group[1]=(0,1)(1,2)(3,1)(4,2)"),
737         new RegexTrial (@"^(0+)?(?:x(1))?", RegexOptions.None, "x1", "Pass. Group[0]=(0,2) Group[1]= Group[2]=(1,1)"),
738         new RegexTrial (@"^([0-9a-fA-F]+)(?:x([0-9a-fA-F]+)?)(?:x([0-9a-fA-F]+))?", RegexOptions.None, "012cxx0190", "Pass. Group[0]=(0,10) Group[1]=(0,4) Group[2]= Group[3]=(6,4)"),
739         new RegexTrial (@"^(b+?|a){1,2}c", RegexOptions.None, "bbbac", "Pass. Group[0]=(0,5) Group[1]=(0,3)(3,1)"),
740         new RegexTrial (@"^(b+?|a){1,2}c", RegexOptions.None, "bbbbac", "Pass. Group[0]=(0,6) Group[1]=(0,4)(4,1)"),
741         new RegexTrial (@"\((\w\. \w+)\)", RegexOptions.None, "cd. (A. Tw)", "Pass. Group[0]=(4,7) Group[1]=(5,5)"),
742         new RegexTrial (@"((?:aaaa|bbbb)cccc)?", RegexOptions.None, "aaaacccc", "Pass. Group[0]=(0,8) Group[1]=(0,8)"),
743         new RegexTrial (@"((?:aaaa|bbbb)cccc)?", RegexOptions.None, "bbbbcccc", "Pass. Group[0]=(0,8) Group[1]=(0,8)"),
744
745         new RegexTrial (@"^(foo)|(bar)$", RegexOptions.None, "foobar", "Pass. Group[0]=(0,3) Group[1]=(0,3) Group[2]="),
746         new RegexTrial (@"^(foo)|(bar)$", RegexOptions.RightToLeft, "foobar", "Pass. Group[0]=(3,3) Group[1]= Group[2]=(3,3)"),
747
748         new RegexTrial (@"b", RegexOptions.RightToLeft, "babaaa", "Pass. Group[0]=(2,1)"),
749         new RegexTrial (@"bab", RegexOptions.RightToLeft, "babababaa", "Pass. Group[0]=(4,3)"),
750         new RegexTrial (@"abb", RegexOptions.RightToLeft , "abb", "Pass. Group[0]=(0,3)"),
751
752         new RegexTrial (@"b$", RegexOptions.RightToLeft | RegexOptions.Multiline, "aab\naab", "Pass. Group[0]=(6,1)"),
753         new RegexTrial (@"^a", RegexOptions.RightToLeft | RegexOptions.Multiline, "aab\naab", "Pass. Group[0]=(4,1)"),
754         new RegexTrial (@"^aaab", RegexOptions.RightToLeft | RegexOptions.Multiline, "aaab\naab", "Pass. Group[0]=(0,4)"),
755         new RegexTrial (@"abb{2}", RegexOptions.RightToLeft , "abbb", "Pass. Group[0]=(0,4)"),
756         new RegexTrial (@"abb{1,2}", RegexOptions.RightToLeft , "abbb", "Pass. Group[0]=(0,4)"),
757
758         new RegexTrial (@"abb{1,2}", RegexOptions.RightToLeft , "abbbbbaaaa", "Pass. Group[0]=(0,4)"),
759         new RegexTrial (@"\Ab", RegexOptions.RightToLeft, "bab\naaa", "Pass. Group[0]=(0,1)"),
760         new RegexTrial (@"\Abab$", RegexOptions.RightToLeft, "bab", "Pass. Group[0]=(0,3)"),
761         new RegexTrial (@"b\Z", RegexOptions.RightToLeft, "bab\naaa", "Fail."),
762         new RegexTrial (@"b\Z", RegexOptions.RightToLeft, "babaaab", "Pass. Group[0]=(6,1)"),
763         new RegexTrial (@"b\z", RegexOptions.RightToLeft, "babaaa", "Fail."),
764         new RegexTrial (@"b\z", RegexOptions.RightToLeft, "babaaab", "Pass. Group[0]=(6,1)"),
765         new RegexTrial (@"a\G", RegexOptions.RightToLeft, "babaaa", "Pass. Group[0]=(5,1)"),
766         new RegexTrial (@"\Abaaa\G", RegexOptions.RightToLeft, "baaa", "Pass. Group[0]=(0,4)"),
767 //                      new RegexTrial (@"b", RegexOptions.RightToLeft, "babaaa", "Pass. Group[0]=(2,1)"),
768 //                      new RegexTrial (@"b", RegexOptions.RightToLeft, "babaaa", "Pass. Group[0]=(2,1)"),
769 //                      new RegexTrial (@"b", RegexOptions.RightToLeft, "babaaa", "Pass. Group[0]=(2,1)"),
770 //                      new RegexTrial (@"b", RegexOptions.RightToLeft, "babaaa", "Pass. Group[0]=(2,1)"),
771
772         new RegexTrial (@"\bc", RegexOptions.RightToLeft, "aaa c aaa c a", "Pass. Group[0]=(10,1)"),
773         new RegexTrial (@"\bc", RegexOptions.RightToLeft, "c aaa c", "Pass. Group[0]=(6,1)"),
774         new RegexTrial (@"\bc", RegexOptions.RightToLeft, "aaa ac", "Fail."),
775         new RegexTrial (@"\bc", RegexOptions.RightToLeft, "c aaa", "Pass. Group[0]=(0,1)"),
776         new RegexTrial (@"\bc", RegexOptions.RightToLeft, "aaacaaa", "Fail."),
777         new RegexTrial (@"\bc", RegexOptions.RightToLeft, "aaac aaa", "Fail."),
778         new RegexTrial (@"\bc", RegexOptions.RightToLeft, "aaa ca caaa", "Pass. Group[0]=(7,1)"),
779
780         new RegexTrial (@"\Bc", RegexOptions.RightToLeft, "ac aaa ac", "Pass. Group[0]=(8,1)"),
781         new RegexTrial (@"\Bc", RegexOptions.RightToLeft, "aaa c", "Fail."),
782         new RegexTrial (@"\Bc", RegexOptions.RightToLeft, "ca aaa", "Fail."),
783         new RegexTrial (@"\Bc", RegexOptions.RightToLeft, "aaa c aaa", "Fail."),
784         new RegexTrial (@"\Bc", RegexOptions.RightToLeft, " acaca ", "Pass. Group[0]=(4,1)"),
785         new RegexTrial (@"\Bc", RegexOptions.RightToLeft, "aaac aaac", "Pass. Group[0]=(8,1)"),
786         new RegexTrial (@"\Bc", RegexOptions.RightToLeft, "aaa caaa", "Fail."),
787
788         new RegexTrial (@"b(a?)b", RegexOptions.RightToLeft, "aabababbaaababa", "Pass. Group[0]=(11,3) Group[1]=(12,1)"),
789         new RegexTrial (@"b{4}", RegexOptions.RightToLeft, "abbbbaabbbbaabbb", "Pass. Group[0]=(7,4)"),
790         new RegexTrial (@"b\1aa(.)", RegexOptions.RightToLeft, "bBaaB", "Pass. Group[0]=(0,5) Group[1]=(4,1)"),
791         new RegexTrial (@"b(.)aa\1", RegexOptions.RightToLeft, "bBaaB", "Fail."),
792
793         new RegexTrial (@"^(a\1?){4}$", RegexOptions.RightToLeft, "aaaaaa", "Pass. Group[0]=(0,6) Group[1]=(5,1)(3,2)(2,1)(0,2)"),
794         new RegexTrial (@"^([0-9a-fA-F]+)(?:x([0-9a-fA-F]+)?)(?:x([0-9a-fA-F]+))?", RegexOptions.RightToLeft, "012cxx0190", "Pass. Group[0]=(0,10) Group[1]=(0,4) Group[2]= Group[3]=(6,4)"),
795         new RegexTrial (@"^(b+?|a){1,2}c", RegexOptions.RightToLeft, "bbbac", "Pass. Group[0]=(0,5) Group[1]=(3,1)(0,3)"),
796         new RegexTrial (@"\((\w\. \w+)\)", RegexOptions.RightToLeft, "cd. (A. Tw)", "Pass. Group[0]=(4,7) Group[1]=(5,5)"),
797         new RegexTrial (@"((?:aaaa|bbbb)cccc)?", RegexOptions.RightToLeft, "aaaacccc", "Pass. Group[0]=(0,8) Group[1]=(0,8)"),
798         new RegexTrial (@"((?:aaaa|bbbb)cccc)?", RegexOptions.RightToLeft, "bbbbcccc", "Pass. Group[0]=(0,8) Group[1]=(0,8)"),
799
800         new RegexTrial (@"(?<=a)b", RegexOptions.RightToLeft, "ab", "Pass. Group[0]=(1,1)"),
801         new RegexTrial (@"(?<=a)b", RegexOptions.RightToLeft, "cb", "Fail."),
802         new RegexTrial (@"(?<=a)b", RegexOptions.RightToLeft, "b", "Fail."),
803         new RegexTrial (@"(?<!c)b", RegexOptions.RightToLeft, "ab", "Pass. Group[0]=(1,1)"),
804         new RegexTrial (@"(?<!c)b", RegexOptions.RightToLeft, "cb", "Fail."),
805         new RegexTrial (@"(?<!c)b", RegexOptions.RightToLeft, "b", "Pass. Group[0]=(0,1)"),
806         new RegexTrial (@"(?<!c)b", RegexOptions.RightToLeft, "b", "Pass. Group[0]=(0,1)"),
807         new RegexTrial (@"a(?=d).", RegexOptions.RightToLeft, "adabad", "Pass. Group[0]=(4,2)"),
808         new RegexTrial (@"a(?=c|d).", RegexOptions.RightToLeft, "adabad", "Pass. Group[0]=(4,2)"),
809
810         new RegexTrial (@"ab*c", RegexOptions.RightToLeft, "abc", "Pass. Group[0]=(0,3)"),
811         new RegexTrial (@"ab*bc", RegexOptions.RightToLeft, "abc", "Pass. Group[0]=(0,3)"),
812         new RegexTrial (@"ab*bc", RegexOptions.RightToLeft, "abbc", "Pass. Group[0]=(0,4)"),
813         new RegexTrial (@"ab*bc", RegexOptions.RightToLeft, "abbbbc", "Pass. Group[0]=(0,6)"),
814         new RegexTrial (@".{1}", RegexOptions.RightToLeft, "abbbbc", "Pass. Group[0]=(5,1)"),
815         new RegexTrial (@".{3,4}", RegexOptions.RightToLeft, "abbbbc", "Pass. Group[0]=(2,4)"),
816         new RegexTrial (@"ab{0,}bc", RegexOptions.RightToLeft, "abbbbc", "Pass. Group[0]=(0,6)"),
817         new RegexTrial (@"ab+bc", RegexOptions.RightToLeft, "abbc", "Pass. Group[0]=(0,4)"),
818         new RegexTrial (@"ab+bc", RegexOptions.RightToLeft, "abc", "Fail."),
819         new RegexTrial (@"ab+bc", RegexOptions.RightToLeft, "abq", "Fail."),
820         new RegexTrial (@"ab{1,}bc", RegexOptions.RightToLeft, "abq", "Fail."),
821         new RegexTrial (@"ab+bc", RegexOptions.RightToLeft, "abbbbc", "Pass. Group[0]=(0,6)"),
822         new RegexTrial (@"ab{1,}bc", RegexOptions.RightToLeft, "abbbbc", "Pass. Group[0]=(0,6)"),
823         new RegexTrial (@"ab{1,3}bc", RegexOptions.RightToLeft, "abbbbc", "Pass. Group[0]=(0,6)"),
824         new RegexTrial (@"ab{3,4}bc", RegexOptions.RightToLeft, "abbbbc", "Pass. Group[0]=(0,6)"),
825         new RegexTrial (@"ab{4,5}bc", RegexOptions.RightToLeft, "abbbbc", "Fail."),
826         new RegexTrial (@"ab?bc", RegexOptions.RightToLeft, "abbc", "Pass. Group[0]=(0,4)"),
827         new RegexTrial (@"ab?bc", RegexOptions.RightToLeft, "abc", "Pass. Group[0]=(0,3)"),
828         new RegexTrial (@"ab{0,1}bc", RegexOptions.RightToLeft, "abc", "Pass. Group[0]=(0,3)"),
829         new RegexTrial (@"ab?bc", RegexOptions.RightToLeft, "abbbbc", "Fail."),
830         new RegexTrial (@"ab?c", RegexOptions.RightToLeft, "abc", "Pass. Group[0]=(0,3)"),
831         new RegexTrial (@"ab{0,1}c", RegexOptions.RightToLeft, "abc", "Pass. Group[0]=(0,3)"),
832         new RegexTrial (@"^abc$", RegexOptions.RightToLeft, "abc", "Pass. Group[0]=(0,3)"),
833         new RegexTrial (@"^abc$", RegexOptions.RightToLeft, "abcc", "Fail."),
834         new RegexTrial (@"^abc", RegexOptions.RightToLeft, "abcc", "Pass. Group[0]=(0,3)"),
835         new RegexTrial (@"^abc$", RegexOptions.RightToLeft, "aabc", "Fail."),
836         new RegexTrial (@"abc$", RegexOptions.RightToLeft, "aabc", "Pass. Group[0]=(1,3)"),
837         new RegexTrial (@"abc$", RegexOptions.RightToLeft, "aabcd", "Fail."),
838         new RegexTrial (@"^", RegexOptions.RightToLeft, "abc", "Pass. Group[0]=(0,0)"),
839         new RegexTrial (@"$", RegexOptions.RightToLeft, "abc", "Pass. Group[0]=(3,0)"),
840         new RegexTrial (@"a.c", RegexOptions.RightToLeft, "abc", "Pass. Group[0]=(0,3)"),
841         new RegexTrial (@"a.c", RegexOptions.RightToLeft, "axc", "Pass. Group[0]=(0,3)"),
842         new RegexTrial (@"a.*c", RegexOptions.RightToLeft, "axyzc", "Pass. Group[0]=(0,5)"),
843         new RegexTrial (@"a.*c", RegexOptions.RightToLeft, "axyzd", "Fail."),
844         new RegexTrial (@"a[bc]d", RegexOptions.RightToLeft, "abc", "Fail."),
845         new RegexTrial (@"a[bc]d", RegexOptions.RightToLeft, "abd", "Pass. Group[0]=(0,3)"),
846         new RegexTrial (@"a[b-d]e", RegexOptions.RightToLeft, "abd", "Fail."),
847         new RegexTrial (@"a[b-d]e", RegexOptions.RightToLeft, "ace", "Pass. Group[0]=(0,3)"),
848         new RegexTrial (@"a[b-d]", RegexOptions.RightToLeft, "aac", "Pass. Group[0]=(1,2)"),
849         new RegexTrial (@"a[-b]", RegexOptions.RightToLeft, "a-", "Pass. Group[0]=(0,2)"),
850         new RegexTrial (@"a[b-]", RegexOptions.RightToLeft, "a-", "Pass. Group[0]=(0,2)"),
851         new RegexTrial (@"a[b-a]", RegexOptions.RightToLeft, "-", "Error."),
852         new RegexTrial (@"a[]b", RegexOptions.RightToLeft, "-", "Error."),
853         new RegexTrial (@"a[", RegexOptions.RightToLeft, "-", "Error."),
854         new RegexTrial (@"a]", RegexOptions.RightToLeft, "a]", "Pass. Group[0]=(0,2)"),
855         new RegexTrial (@"a[]]b", RegexOptions.RightToLeft, "a]b", "Pass. Group[0]=(0,3)"),
856         new RegexTrial (@"a[^bc]d", RegexOptions.RightToLeft, "aed", "Pass. Group[0]=(0,3)"),
857         new RegexTrial (@"a[^bc]d", RegexOptions.RightToLeft, "abd", "Fail."),
858         new RegexTrial (@"a[^-b]c", RegexOptions.RightToLeft, "adc", "Pass. Group[0]=(0,3)"),
859         new RegexTrial (@"a[^-b]c", RegexOptions.RightToLeft, "a-c", "Fail."),
860         new RegexTrial (@"a[^]b]c", RegexOptions.RightToLeft, "a]c", "Fail."),
861         new RegexTrial (@"a[^]b]c", RegexOptions.RightToLeft, "adc", "Pass. Group[0]=(0,3)"),
862         new RegexTrial (@"\ba\b", RegexOptions.RightToLeft, "a-", "Pass. Group[0]=(0,1)"),
863         new RegexTrial (@"\ba\b", RegexOptions.RightToLeft, "-a", "Pass. Group[0]=(1,1)"),
864         new RegexTrial (@"\ba\b", RegexOptions.RightToLeft, "-a-", "Pass. Group[0]=(1,1)"),
865         new RegexTrial (@"\by\b", RegexOptions.RightToLeft, "xy", "Fail."),
866         new RegexTrial (@"\by\b", RegexOptions.RightToLeft, "yz", "Fail."),
867         new RegexTrial (@"\by\b", RegexOptions.RightToLeft, "xyz", "Fail."),
868         new RegexTrial (@"\Ba\B", RegexOptions.RightToLeft, "a-", "Fail."),
869         new RegexTrial (@"\Ba\B", RegexOptions.RightToLeft, "-a", "Fail."),
870         new RegexTrial (@"\Ba\B", RegexOptions.RightToLeft, "-a-", "Fail."),
871         new RegexTrial (@"\By\b", RegexOptions.RightToLeft, "xy", "Pass. Group[0]=(1,1)"),
872         new RegexTrial (@"\by\B", RegexOptions.RightToLeft, "yz", "Pass. Group[0]=(0,1)"),
873         new RegexTrial (@"\By\B", RegexOptions.RightToLeft, "xyz", "Pass. Group[0]=(1,1)"),
874         new RegexTrial (@"\w", RegexOptions.RightToLeft, "a", "Pass. Group[0]=(0,1)"),
875         new RegexTrial (@"\w", RegexOptions.RightToLeft, "-", "Fail."),
876         new RegexTrial (@"\W", RegexOptions.RightToLeft, "a", "Fail."),
877         new RegexTrial (@"\W", RegexOptions.RightToLeft, "-", "Pass. Group[0]=(0,1)"),
878         new RegexTrial (@"a\sb", RegexOptions.RightToLeft, "a b", "Pass. Group[0]=(0,3)"),
879         new RegexTrial (@"a\sb", RegexOptions.RightToLeft, "a-b", "Fail."),
880         new RegexTrial (@"a\Sb", RegexOptions.RightToLeft, "a b", "Fail."),
881         new RegexTrial (@"a\Sb", RegexOptions.RightToLeft, "a-b", "Pass. Group[0]=(0,3)"),
882         new RegexTrial (@"\d", RegexOptions.RightToLeft, "1", "Pass. Group[0]=(0,1)"),
883         new RegexTrial (@"\d", RegexOptions.RightToLeft, "-", "Fail."),
884         new RegexTrial (@"\D", RegexOptions.RightToLeft, "1", "Fail."),
885         new RegexTrial (@"\D", RegexOptions.RightToLeft, "-", "Pass. Group[0]=(0,1)"),
886         new RegexTrial (@"[\w]", RegexOptions.RightToLeft, "a", "Pass. Group[0]=(0,1)"),
887         new RegexTrial (@"[\w]", RegexOptions.RightToLeft, "-", "Fail."),
888         new RegexTrial (@"[\W]", RegexOptions.RightToLeft, "a", "Fail."),
889         new RegexTrial (@"[\W]", RegexOptions.RightToLeft, "-", "Pass. Group[0]=(0,1)"),
890         new RegexTrial (@"a[\s]b", RegexOptions.RightToLeft, "a b", "Pass. Group[0]=(0,3)"),
891         new RegexTrial (@"a[\s]b", RegexOptions.RightToLeft, "a-b", "Fail."),
892         new RegexTrial (@"a[\S]b", RegexOptions.RightToLeft, "a b", "Fail."),
893         new RegexTrial (@"a[\S]b", RegexOptions.RightToLeft, "a-b", "Pass. Group[0]=(0,3)"),
894         new RegexTrial (@"[\d]", RegexOptions.RightToLeft, "1", "Pass. Group[0]=(0,1)"),
895         new RegexTrial (@"[\d]", RegexOptions.RightToLeft, "-", "Fail."),
896         new RegexTrial (@"[\D]", RegexOptions.RightToLeft, "1", "Fail."),
897         new RegexTrial (@"[\D]", RegexOptions.RightToLeft, "-", "Pass. Group[0]=(0,1)"),
898         new RegexTrial (@"ab|cd", RegexOptions.RightToLeft, "abc", "Pass. Group[0]=(0,2)"),
899         new RegexTrial (@"ab|cd", RegexOptions.RightToLeft, "abcd", "Pass. Group[0]=(2,2)"),
900         new RegexTrial (@"()ef", RegexOptions.RightToLeft, "def", "Pass. Group[0]=(1,2) Group[1]=(1,0)"),
901         new RegexTrial (@"*a", RegexOptions.RightToLeft, "-", "Error."),
902         new RegexTrial (@"(*)b", RegexOptions.RightToLeft, "-", "Error."),
903         new RegexTrial (@"$b", RegexOptions.RightToLeft, "b", "Fail."),
904         new RegexTrial (@"a\", RegexOptions.RightToLeft, "-", "Error."),
905         new RegexTrial (@"a\(b", RegexOptions.RightToLeft, "a(b", "Pass. Group[0]=(0,3)"),
906         new RegexTrial (@"a\(*b", RegexOptions.RightToLeft, "ab", "Pass. Group[0]=(0,2)"),
907         new RegexTrial (@"a\(*b", RegexOptions.RightToLeft, "a((b", "Pass. Group[0]=(0,4)"),
908         new RegexTrial (@"a\\b", RegexOptions.RightToLeft, "a\\b", "Pass. Group[0]=(0,3)"),
909         new RegexTrial (@"abc)", RegexOptions.RightToLeft, "-", "Error."),
910         new RegexTrial (@"(abc", RegexOptions.RightToLeft, "-", "Error."),
911         new RegexTrial (@"((a))", RegexOptions.RightToLeft, "abc", "Pass. Group[0]=(0,1) Group[1]=(0,1) Group[2]=(0,1)"),
912         new RegexTrial (@"(a)b(c)", RegexOptions.RightToLeft, "abc", "Pass. Group[0]=(0,3) Group[1]=(0,1) Group[2]=(2,1)"),
913         new RegexTrial (@"a+b+c", RegexOptions.RightToLeft, "aabbabc", "Pass. Group[0]=(4,3)"),
914         new RegexTrial (@"a{1,}b{1,}c", RegexOptions.RightToLeft, "aabbabc", "Pass. Group[0]=(4,3)"),
915         new RegexTrial (@"a**", RegexOptions.RightToLeft, "-", "Error."),
916         new RegexTrial (@"a.+?c", RegexOptions.RightToLeft, "abcabc", "Pass. Group[0]=(3,3)"),
917         new RegexTrial (@"(a+|b)*", RegexOptions.RightToLeft, "ab", "Pass. Group[0]=(0,2) Group[1]=(1,1)(0,1)"),
918         new RegexTrial (@"(a+|b){0,}", RegexOptions.RightToLeft, "ab", "Pass. Group[0]=(0,2) Group[1]=(1,1)(0,1)"),
919         new RegexTrial (@"(a+|b)+", RegexOptions.RightToLeft, "ab", "Pass. Group[0]=(0,2) Group[1]=(1,1)(0,1)"),
920         new RegexTrial (@"(a+|b){1,}", RegexOptions.RightToLeft, "ab", "Pass. Group[0]=(0,2) Group[1]=(1,1)(0,1)"),
921         new RegexTrial (@"(a+|b)?", RegexOptions.RightToLeft, "ab", "Pass. Group[0]=(1,1) Group[1]=(1,1)"),
922         new RegexTrial (@"(a+|b){0,1}", RegexOptions.RightToLeft, "ab", "Pass. Group[0]=(1,1) Group[1]=(1,1)"),
923         new RegexTrial (@")(", RegexOptions.RightToLeft, "-", "Error."),
924         new RegexTrial (@"[^ab]*", RegexOptions.RightToLeft, "cde", "Pass. Group[0]=(0,3)"),
925         new RegexTrial (@"abc", RegexOptions.RightToLeft, "", "Fail."),
926         new RegexTrial (@"a*", RegexOptions.RightToLeft, "", "Pass. Group[0]=(0,0)"),
927         new RegexTrial (@"([abc])*d", RegexOptions.RightToLeft, "abbbcd", "Pass. Group[0]=(0,6) Group[1]=(4,1)(3,1)(2,1)(1,1)(0,1)"),
928         new RegexTrial (@"([abc])*bcd", RegexOptions.RightToLeft, "abcd", "Pass. Group[0]=(0,4) Group[1]=(0,1)"),
929         new RegexTrial (@"a|b|c|d|e", RegexOptions.RightToLeft, "e", "Pass. Group[0]=(0,1)"),
930         new RegexTrial (@"(a|b|c|d|e)f", RegexOptions.RightToLeft, "ef", "Pass. Group[0]=(0,2) Group[1]=(0,1)"),
931         new RegexTrial (@"abcd*efg", RegexOptions.RightToLeft, "abcdefg", "Pass. Group[0]=(0,7)"),
932         new RegexTrial (@"ab*", RegexOptions.RightToLeft, "xabyabbbz", "Pass. Group[0]=(4,4)"),
933         new RegexTrial (@"ab*", RegexOptions.RightToLeft, "xayabbbz", "Pass. Group[0]=(3,4)"),
934         new RegexTrial (@"(ab|cd)e", RegexOptions.RightToLeft, "abcde", "Pass. Group[0]=(2,3) Group[1]=(2,2)"),
935         new RegexTrial (@"[abhgefdc]ij", RegexOptions.RightToLeft, "hij", "Pass. Group[0]=(0,3)"),
936         new RegexTrial (@"^(ab|cd)e", RegexOptions.RightToLeft, "abcde", "Fail."),
937         new RegexTrial (@"(abc|)ef", RegexOptions.RightToLeft, "abcdef", "Pass. Group[0]=(4,2) Group[1]=(4,0)"),
938         new RegexTrial (@"(a|b)c*d", RegexOptions.RightToLeft, "abcd", "Pass. Group[0]=(1,3) Group[1]=(1,1)"),
939         new RegexTrial (@"(ab|ab*)bc", RegexOptions.RightToLeft, "abc", "Pass. Group[0]=(0,3) Group[1]=(0,1)"),
940         new RegexTrial (@"a([bc]*)c*", RegexOptions.RightToLeft, "abc", "Pass. Group[0]=(0,3) Group[1]=(1,1)"),
941         new RegexTrial (@"a([bc]*)(c*d)", RegexOptions.RightToLeft, "abcd", "Pass. Group[0]=(0,4) Group[1]=(1,1) Group[2]=(2,2)"),
942         new RegexTrial (@"a([bc]+)(c*d)", RegexOptions.RightToLeft, "abcd", "Pass. Group[0]=(0,4) Group[1]=(1,1) Group[2]=(2,2)"),
943         new RegexTrial (@"a([bc]*)(c+d)", RegexOptions.RightToLeft, "abcd", "Pass. Group[0]=(0,4) Group[1]=(1,1) Group[2]=(2,2)"),
944         new RegexTrial (@"a[bcd]*dcdcde", RegexOptions.RightToLeft, "adcdcde", "Pass. Group[0]=(0,7)"),
945         new RegexTrial (@"a[bcd]+dcdcde", RegexOptions.RightToLeft, "adcdcde", "Fail."),
946         new RegexTrial (@"(ab|a)b*c", RegexOptions.RightToLeft, "abc", "Pass. Group[0]=(0,3) Group[1]=(0,1)"),
947         new RegexTrial (@"((a)(b)c)(d)", RegexOptions.RightToLeft, "abcd", "Pass. Group[0]=(0,4) Group[1]=(0,3) Group[2]=(0,1) Group[3]=(1,1) Group[4]=(3,1)"),
948         new RegexTrial (@"[a-zA-Z_][a-zA-Z0-9_]*", RegexOptions.RightToLeft, "alpha", "Pass. Group[0]=(0,5)"),
949         new RegexTrial (@"^a(bc+|b[eh])g|.h$", RegexOptions.RightToLeft, "abh", "Pass. Group[0]=(1,2) Group[1]="),
950         new RegexTrial (@"(bc+d$|ef*g.|h?i(j|k))", RegexOptions.RightToLeft, "effgz", "Pass. Group[0]=(0,5) Group[1]=(0,5) Group[2]="),
951         new RegexTrial (@"(bc+d$|ef*g.|h?i(j|k))", RegexOptions.RightToLeft, "ij", "Pass. Group[0]=(0,2) Group[1]=(0,2) Group[2]=(1,1)"),
952         new RegexTrial (@"(bc+d$|ef*g.|h?i(j|k))", RegexOptions.RightToLeft, "effg", "Fail."),
953         new RegexTrial (@"(bc+d$|ef*g.|h?i(j|k))", RegexOptions.RightToLeft, "bcdd", "Fail."),
954         new RegexTrial (@"(bc+d$|ef*g.|h?i(j|k))", RegexOptions.RightToLeft, "reffgz", "Pass. Group[0]=(1,5) Group[1]=(1,5) Group[2]="),
955         new RegexTrial (@"((((((((((a))))))))))", RegexOptions.RightToLeft, "a", "Pass. Group[0]=(0,1) Group[1]=(0,1) Group[2]=(0,1) Group[3]=(0,1) Group[4]=(0,1) Group[5]=(0,1) Group[6]=(0,1) Group[7]=(0,1) Group[8]=(0,1) Group[9]=(0,1) Group[10]=(0,1)"),
956         new RegexTrial (@"((((((((((a))))))))))\10", RegexOptions.RightToLeft, "aa", "Fail."),
957         new RegexTrial (@"\10((((((((((a))))))))))", RegexOptions.RightToLeft, "aa", "Pass. Group[0]=(0,2) Group[1]=(1,1) Group[2]=(1,1) Group[3]=(1,1) Group[4]=(1,1) Group[5]=(1,1) Group[6]=(1,1) Group[7]=(1,1) Group[8]=(1,1) Group[9]=(1,1) Group[10]=(1,1)"),
958         new RegexTrial (@"((((((((((a))))))))))!", RegexOptions.RightToLeft, "aa", "Fail."),
959         new RegexTrial (@"((((((((((a))))))))))!", RegexOptions.RightToLeft, "a!", "Pass. Group[0]=(0,2) Group[1]=(0,1) Group[2]=(0,1) Group[3]=(0,1) Group[4]=(0,1) Group[5]=(0,1) Group[6]=(0,1) Group[7]=(0,1) Group[8]=(0,1) Group[9]=(0,1) Group[10]=(0,1)"),
960         new RegexTrial (@"(((((((((a)))))))))", RegexOptions.RightToLeft, "a", "Pass. Group[0]=(0,1) Group[1]=(0,1) Group[2]=(0,1) Group[3]=(0,1) Group[4]=(0,1) Group[5]=(0,1) Group[6]=(0,1) Group[7]=(0,1) Group[8]=(0,1) Group[9]=(0,1)"),
961         new RegexTrial (@"multiple words of text", RegexOptions.RightToLeft, "uh-uh", "Fail."),
962         new RegexTrial (@"multiple words", RegexOptions.RightToLeft, "multiple words, yeah", "Pass. Group[0]=(0,14)"),
963         new RegexTrial (@"(.*)c(.*)", RegexOptions.RightToLeft, "abcde", "Pass. Group[0]=(0,5) Group[1]=(0,2) Group[2]=(3,2)"),
964         new RegexTrial (@"\((.*), (.*)\)", RegexOptions.RightToLeft, "(a, b)", "Pass. Group[0]=(0,6) Group[1]=(1,1) Group[2]=(4,1)"),
965         new RegexTrial (@"[k]", RegexOptions.RightToLeft, "ab", "Fail."),
966         new RegexTrial (@"abcd", RegexOptions.RightToLeft, "abcd", "Pass. Group[0]=(0,4)"),
967         new RegexTrial (@"a(bc)d", RegexOptions.RightToLeft, "abcd", "Pass. Group[0]=(0,4) Group[1]=(1,2)"),
968         new RegexTrial (@"a[-]?c", RegexOptions.RightToLeft, "ac", "Pass. Group[0]=(0,2)"),
969         new RegexTrial (@"(abc)\1", RegexOptions.RightToLeft, "abcabc", "Fail."),
970         new RegexTrial (@"\1(abc)", RegexOptions.RightToLeft, "abcabc", "Pass. Group[0]=(0,6) Group[1]=(3,3)"),
971         new RegexTrial (@"([a-c]*)\1", RegexOptions.RightToLeft, "abcabc", "Fail."),
972         new RegexTrial (@"\1([a-c]*)", RegexOptions.RightToLeft, "abcabc", "Pass. Group[0]=(0,6) Group[1]=(3,3)"),
973         new RegexTrial (@"\1", RegexOptions.RightToLeft, "-", "Error."),
974         new RegexTrial (@"\2", RegexOptions.RightToLeft, "-", "Error."),
975         new RegexTrial (@"(a)|\1", RegexOptions.RightToLeft, "a", "Pass. Group[0]=(0,1) Group[1]=(0,1)"),
976         new RegexTrial (@"(a)|\1", RegexOptions.RightToLeft, "x", "Fail."),
977         new RegexTrial (@"(a)|\2", RegexOptions.RightToLeft, "-", "Error."),
978         new RegexTrial (@"(([a-c])b*?\2)*", RegexOptions.RightToLeft, "ababbbcbc", "Pass. Group[0]=(9,0) Group[1]= Group[2]="),
979         new RegexTrial (@"(([a-c])b*?\2){3}", RegexOptions.RightToLeft, "ababbbcbc", "Fail."),
980         new RegexTrial (@"((\3|b)\2(a)x)+", RegexOptions.RightToLeft, "aaxabxbaxbbx", "Fail."),
981         new RegexTrial (@"((\3|b)\2(a)x)+", RegexOptions.RightToLeft, "aaaxabaxbaaxbbax", "Fail."),
982         new RegexTrial (@"((\3|b)\2(a)){2,}", RegexOptions.RightToLeft, "bbaababbabaaaaabbaaaabba", "Fail."),
983
984
985         new RegexTrial (@"\((?>[^()]+|\((?<depth>)|\)(?<-depth>))*(?(depth)(?!))\)", RegexOptions.None, "((a(b))c)",
986         "Pass. Group[0]=(0,9) Group[1]="),
987         new RegexTrial (@"^\((?>[^()]+|\((?<depth>)|\)(?<-depth>))*(?(depth)(?!))\)$", RegexOptions.None, "((a(b))c)",
988         "Pass. Group[0]=(0,9) Group[1]="),
989         new RegexTrial (@"^\((?>[^()]+|\((?<depth>)|\)(?<-depth>))*(?(depth)(?!))\)$", RegexOptions.None, "((a(b))c", "Fail."),
990
991         new RegexTrial (@"^\((?>[^()]+|\((?<depth>)|\)(?<-depth>))*(?(depth)(?!))\)$", RegexOptions.None, "())", "Fail."),
992
993
994         new RegexTrial (@"(((?<foo>\()[^()]*)+((?<bar-foo>\))[^()]*)+)+(?(foo)(?!))", RegexOptions.None, "((a(b))c)",
995         "Pass. Group[0]=(0,9) Group[1]=(0,9) Group[2]=(0,1)(1,2)(3,2) Group[3]=(5,1)(6,2)(8,1) Group[4]= Group[5]=(4,1)(2,4)(1,7)"),
996         new RegexTrial (@"^(((?<foo>\()[^()]*)+((?<bar-foo>\))[^()]*)+)+(?(foo)(?!))$", RegexOptions.None, "((a(b))c)",
997         "Pass. Group[0]=(0,9) Group[1]=(0,9) Group[2]=(0,1)(1,2)(3,2) Group[3]=(5,1)(6,2)(8,1) Group[4]= Group[5]=(4,1)(2,4)(1,7)"),
998         new RegexTrial (@"(((?<foo>\()[^()]*)+((?<bar-foo>\))[^()]*)+)+(?(foo)(?!))", RegexOptions.None, "x(a((b)))b)x",
999         "Pass. Group[0]=(1,9) Group[1]=(1,9) Group[2]=(1,2)(3,1)(4,2) Group[3]=(6,1)(7,1)(8,2) Group[4]= Group[5]=(5,1)(4,3)(2,6)"),
1000         new RegexTrial (@"(((?<foo>\()[^()]*)+((?<bar-foo>\))[^()]*)+)+(?(foo)(?!))", RegexOptions.None, "x((a((b)))x",
1001         "Pass. Group[0]=(2,9) Group[1]=(2,9) Group[2]=(2,2)(4,1)(5,2) Group[3]=(7,1)(8,1)(9,2) Group[4]= Group[5]=(6,1)(5,3)(3,6)"),
1002         new RegexTrial (@"^(((?<foo>\()[^()]*)+((?<bar-foo>\))[^()]*)+)+(?(foo)(?!))$", RegexOptions.None, "((a(b))c","Fail."),
1003         new RegexTrial (@"^(((?<foo>\()[^()]*)+((?<bar-foo>\))[^()]*)+)+(?(foo)(?!))$", RegexOptions.None, "((a(b))c))","Fail."),
1004         new RegexTrial (@"^(((?<foo>\()[^()]*)+((?<bar-foo>\))[^()]*)+)+(?(foo)(?!))$", RegexOptions.None, ")(","Fail."),
1005         new RegexTrial (@"^(((?<foo>\()[^()]*)+((?<bar-foo>\))[^()]*)+)+(?(foo)(?!))$", RegexOptions.None, "((a((b))c)","Fail."),
1006
1007         new RegexTrial (@"b", RegexOptions.RightToLeft, "babaaa", "Pass. Group[0]=(2,1)"),
1008
1009         new RegexTrial(@"^((\[(?<NAME>[^\]]+)\])|(?<NAME>[^\.\[\]]+))$", RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.ExplicitCapture, "[n]", "Pass. Group[0]=(0,3) Group[1]=(1,1)"),
1010         new RegexTrial(@"^((\[(?<NAME>[^\]]+)\])|(?<NAME>[^\.\[\]]+))$", RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.ExplicitCapture, "n", "Pass. Group[0]=(0,1) Group[1]=(0,1)"),
1011         new RegexTrial(@"^((\[(?<NAME>[^\]]+)\])|(?<NAME>[^\.\[\]]+))$", RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.ExplicitCapture, "n[i]e", "Fail."),
1012         new RegexTrial(@"^((\[(?<NAME>[^\]]+)\])|(?<NAME>[^\.\[\]]+))$", RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.ExplicitCapture, "[n", "Fail."),
1013         new RegexTrial(@"^((\[(?<NAME>[^\]]+)\])|(?<NAME>[^\.\[\]]+))$", RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.ExplicitCapture, "]n]", "Fail."),
1014         new RegexTrial(@"^((\[(?<NAME>[^\]]+)\])|(?<NAME>[^\.\[\]]+))$", RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.ExplicitCapture, @"\[n\]", "Fail."),
1015         new RegexTrial(@"^((\[(?<NAME>[^\]]+)\])|(?<NAME>[^\.\[\]]+))$", RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.ExplicitCapture, @"[n\]", "Pass. Group[0]=(0,4) Group[1]=(1,2)"),
1016         new RegexTrial(@"^((\[(?<NAME>[^\]]+)\])|(?<NAME>[^\.\[\]]+))$", RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.ExplicitCapture, @"[n\[]", "Pass. Group[0]=(0,5) Group[1]=(1,3)"),
1017         new RegexTrial(@"^((\[(?<NAME>[^\]]+)\])|(?<NAME>[^\.\[\]]+))$", RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.ExplicitCapture, @"[[n]", "Pass. Group[0]=(0,4) Group[1]=(1,2)"),
1018         new RegexTrial(@"^((\[(?<SCHEMA>[^\]]+)\])|(?<SCHEMA>[^\.\[\]]+))\s*\.\s*((\[(?<NAME>[^\]]+)\])|(?<NAME>[^\.\[\]]+))$", RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.ExplicitCapture, "[s] . [n]", "Pass. Group[0]=(0,9) Group[1]=(1,1) Group[2]=(7,1)"),
1019         new RegexTrial(@"^((\[(?<SCHEMA>[^\]]+)\])|(?<SCHEMA>[^\.\[\]]+))\s*\.\s*((\[(?<NAME>[^\]]+)\])|(?<NAME>[^\.\[\]]+))$", RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.ExplicitCapture, "[s] . n", "Pass. Group[0]=(0,7) Group[1]=(1,1) Group[2]=(6,1)"),
1020         new RegexTrial(@"^((\[(?<SCHEMA>[^\]]+)\])|(?<SCHEMA>[^\.\[\]]+))\s*\.\s*((\[(?<NAME>[^\]]+)\])|(?<NAME>[^\.\[\]]+))$", RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.ExplicitCapture, "s.[ n ]", "Pass. Group[0]=(0,7) Group[1]=(0,1) Group[2]=(3,3)"),
1021         new RegexTrial(@"^((\[(?<SCHEMA>[^\]]+)\])|(?<SCHEMA>[^\.\[\]]+))\s*\.\s*((\[(?<NAME>[^\]]+)\])|(?<NAME>[^\.\[\]]+))$", RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.ExplicitCapture, " . n", "Pass. Group[0]=(0,4) Group[1]=(0,1) Group[2]=(3,1)"),
1022         new RegexTrial(@"^((\[(?<SCHEMA>[^\]]+)\])|(?<SCHEMA>[^\.\[\]]+))\s*\.\s*((\[(?<NAME>[^\]]+)\])|(?<NAME>[^\.\[\]]+))$", RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.ExplicitCapture, "s. ", "Pass. Group[0]=(0,3) Group[1]=(0,1) Group[2]=(2,1)"),
1023         new RegexTrial(@"^((\[(?<SCHEMA>[^\]]+)\])|(?<SCHEMA>[^\.\[\]]+))\s*\.\s*((\[(?<NAME>[^\]]+)\])|(?<NAME>[^\.\[\]]+))$", RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.ExplicitCapture, "[.]. ", "Pass. Group[0]=(0,5) Group[1]=(1,1) Group[2]=(4,1)"),
1024         new RegexTrial(@"^((\[(?<CATALOG>[^\]]+)\])|(?<CATALOG>[^\.\[\]]+))\s*\.\s*((\[(?<SCHEMA>[^\]]+)\])|(?<SCHEMA>[^\.\[\]]+))\s*\.\s*((\[(?<NAME>[^\]]+)\])|(?<NAME>[^\.\[\]]+))$", RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.ExplicitCapture, "[c].[s].[n]", "Pass. Group[0]=(0,11) Group[1]=(1,1) Group[2]=(5,1) Group[3]=(9,1)"),
1025         new RegexTrial(@"^((\[(?<CATALOG>[^\]]+)\])|(?<CATALOG>[^\.\[\]]+))\s*\.\s*((\[(?<SCHEMA>[^\]]+)\])|(?<SCHEMA>[^\.\[\]]+))\s*\.\s*((\[(?<NAME>[^\]]+)\])|(?<NAME>[^\.\[\]]+))$", RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.ExplicitCapture, " c . s . n ", "Pass. Group[0]=(0,11) Group[1]=(0,3) Group[2]=(5,2) Group[3]=(9,2)"),
1026         new RegexTrial(@"^((\[(?<CATALOG>[^\]]+)\])|(?<CATALOG>[^\.\[\]]+))\s*\.\s*((\[(?<SCHEMA>[^\]]+)\])|(?<SCHEMA>[^\.\[\]]+))\s*\.\s*((\[(?<NAME>[^\]]+)\])|(?<NAME>[^\.\[\]]+))$", RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.ExplicitCapture, " . [.] . [ ]", "Pass. Group[0]=(0,12) Group[1]=(0,1) Group[2]=(4,1) Group[3]=(10,1)"),
1027         new RegexTrial(@"^((\[(?<CATALOG>[^\]]+)\])|(?<CATALOG>[^\.\[\]]+))\s*\.\s*((\[(?<NAME>[^\]]+)\])|(?<NAME>[^\.\[\]]+))$", RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.ExplicitCapture, "c.n", "Pass. Group[0]=(0,3) Group[1]=(0,1) Group[2]=(2,1)"),
1028         new RegexTrial(@"^((\[(?<CATALOG>[^\]]+)\])|(?<CATALOG>[^\.\[\]]+))\s*\.\s*((\[(?<NAME>[^\]]+)\])|(?<NAME>[^\.\[\]]+))$", RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.ExplicitCapture, "[c] .[n]", "Pass. Group[0]=(0,8) Group[1]=(1,1) Group[2]=(6,1)"),
1029         new RegexTrial(@"^((\[(?<CATALOG>[^\]]+)\])|(?<CATALOG>[^\.\[\]]+))\s*\.\s*((\[(?<NAME>[^\]]+)\])|(?<NAME>[^\.\[\]]+))$", RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.ExplicitCapture, "c.n.", "Fail."),
1030         new RegexTrial(@"^((\[(?<SCHEMA>[^\]]+)\])|(?<SCHEMA>[^\.\[\]]+))\s*\.\s*((\[(?<CATALOG>[^\]]+)\])|(?<CATALOG>[^\.\[\]]+))\s*\.\s*((\[(?<NAME>[^\]]+)\])|(?<NAME>[^\.\[\]]+))$", RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.ExplicitCapture, "s.c.n", "Pass. Group[0]=(0,5) Group[1]=(0,1) Group[2]=(2,1) Group[3]=(4,1)"),
1031         new RegexTrial(@"^((\[(?<SCHEMA>[^\]]+)\])|(?<SCHEMA>[^\.\[\]]+))\s*\.\s*((\[(?<CATALOG>[^\]]+)\])|(?<CATALOG>[^\.\[\]]+))\s*\.\s*((\[(?<NAME>[^\]]+)\])|(?<NAME>[^\.\[\]]+))$", RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.ExplicitCapture, "[s].[c].[n]", "Pass. Group[0]=(0,11) Group[1]=(1,1) Group[2]=(5,1) Group[3]=(9,1)"),
1032         new RegexTrial(@"^((\[(?<SCHEMA>[^\]]+)\])|(?<SCHEMA>[^\.\[\]]+))\s*\.\s*((\[(?<CATALOG>[^\]]+)\])|(?<CATALOG>[^\.\[\]]+))\s*\.\s*((\[(?<NAME>[^\]]+)\])|(?<NAME>[^\.\[\]]+))$", RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.ExplicitCapture, "[s].[c].", "Fail."),
1033         new RegexTrial(@"^((\[(?<ColName>.+)\])|(?<ColName>\S+))([ ]+(?<Order>ASC|DESC))?$", RegexOptions.IgnoreCase|RegexOptions.ExplicitCapture, "[id]]", "Pass. Group[0]=(0,5) Group[1]=(1,3) Group[2]="),
1034         new RegexTrial(@"a{1,2147483647}", RegexOptions.None, "a", "Pass. Group[0]=(0,1)"),
1035         new RegexTrial(@"^((\[(?<NAME>[^\]]+)\])|(?<NAME>[^\.\[\]]+))$", RegexOptions.None, "[a]", "Pass. Group[0]=(0,3) Group[1]=(0,3) Group[2]=(0,3) Group[3]=(1,1)"),
1036
1037     };
1038 }
1039 }