2002-05-05 Nick Drochak <ndrochak@gol.com>
[mono.git] / mcs / class / System / Test / System.Text.RegularExpressions / PerlTrials.cs
1 //\r
2 // assembly:    System_test\r
3 // namespace:   MonoTests.System.Text.RegularExpressions\r
4 // file:        PerlTrials.cs\r
5 //\r
6 // author:      Dan Lewis (dlewis@gmx.co.uk)\r
7 //              (c) 2002\r
8 \r
9 using System.Text.RegularExpressions;\r
10 \r
11 namespace MonoTests.System.Text.RegularExpressions {\r
12 \r
13         class PerlTrials {\r
14                 // ported from perl-5.6.1/t/op/re_tests\r
15 \r
16                 public static RegexTrial[] trials = new RegexTrial[] {\r
17                         new RegexTrial (@"abc", RegexOptions.None, "abc", "Pass. Group[0]=(0,3)"),\r
18                         new RegexTrial (@"abc", RegexOptions.None, "xbc", "Fail."),\r
19                         new RegexTrial (@"abc", RegexOptions.None, "axc", "Fail."),\r
20                         new RegexTrial (@"abc", RegexOptions.None, "abx", "Fail."),\r
21                         new RegexTrial (@"abc", RegexOptions.None, "xabcy", "Pass. Group[0]=(1,3)"),\r
22                         new RegexTrial (@"abc", RegexOptions.None, "ababc", "Pass. Group[0]=(2,3)"),\r
23                         new RegexTrial (@"ab*c", RegexOptions.None, "abc", "Pass. Group[0]=(0,3)"),\r
24                         new RegexTrial (@"ab*bc", RegexOptions.None, "abc", "Pass. Group[0]=(0,3)"),\r
25                         new RegexTrial (@"ab*bc", RegexOptions.None, "abbc", "Pass. Group[0]=(0,4)"),\r
26                         new RegexTrial (@"ab*bc", RegexOptions.None, "abbbbc", "Pass. Group[0]=(0,6)"),\r
27                         new RegexTrial (@".{1}", RegexOptions.None, "abbbbc", "Pass. Group[0]=(0,1)"),\r
28                         new RegexTrial (@".{3,4}", RegexOptions.None, "abbbbc", "Pass. Group[0]=(0,4)"),\r
29                         new RegexTrial (@"ab{0,}bc", RegexOptions.None, "abbbbc", "Pass. Group[0]=(0,6)"),\r
30                         new RegexTrial (@"ab+bc", RegexOptions.None, "abbc", "Pass. Group[0]=(0,4)"),\r
31                         new RegexTrial (@"ab+bc", RegexOptions.None, "abc", "Fail."),\r
32                         new RegexTrial (@"ab+bc", RegexOptions.None, "abq", "Fail."),\r
33                         new RegexTrial (@"ab{1,}bc", RegexOptions.None, "abq", "Fail."),\r
34                         new RegexTrial (@"ab+bc", RegexOptions.None, "abbbbc", "Pass. Group[0]=(0,6)"),\r
35                         new RegexTrial (@"ab{1,}bc", RegexOptions.None, "abbbbc", "Pass. Group[0]=(0,6)"),\r
36                         new RegexTrial (@"ab{1,3}bc", RegexOptions.None, "abbbbc", "Pass. Group[0]=(0,6)"),\r
37                         new RegexTrial (@"ab{3,4}bc", RegexOptions.None, "abbbbc", "Pass. Group[0]=(0,6)"),\r
38                         new RegexTrial (@"ab{4,5}bc", RegexOptions.None, "abbbbc", "Fail."),\r
39                         new RegexTrial (@"ab?bc", RegexOptions.None, "abbc", "Pass. Group[0]=(0,4)"),\r
40                         new RegexTrial (@"ab?bc", RegexOptions.None, "abc", "Pass. Group[0]=(0,3)"),\r
41                         new RegexTrial (@"ab{0,1}bc", RegexOptions.None, "abc", "Pass. Group[0]=(0,3)"),\r
42                         new RegexTrial (@"ab?bc", RegexOptions.None, "abbbbc", "Fail."),\r
43                         new RegexTrial (@"ab?c", RegexOptions.None, "abc", "Pass. Group[0]=(0,3)"),\r
44                         new RegexTrial (@"ab{0,1}c", RegexOptions.None, "abc", "Pass. Group[0]=(0,3)"),\r
45                         new RegexTrial (@"^abc$", RegexOptions.None, "abc", "Pass. Group[0]=(0,3)"),\r
46                         new RegexTrial (@"^abc$", RegexOptions.None, "abcc", "Fail."),\r
47                         new RegexTrial (@"^abc", RegexOptions.None, "abcc", "Pass. Group[0]=(0,3)"),\r
48                         new RegexTrial (@"^abc$", RegexOptions.None, "aabc", "Fail."),\r
49                         new RegexTrial (@"abc$", RegexOptions.None, "aabc", "Pass. Group[0]=(1,3)"),\r
50                         new RegexTrial (@"abc$", RegexOptions.None, "aabcd", "Fail."),\r
51                         new RegexTrial (@"^", RegexOptions.None, "abc", "Pass. Group[0]=(0,0)"),\r
52                         new RegexTrial (@"$", RegexOptions.None, "abc", "Pass. Group[0]=(3,0)"),\r
53                         new RegexTrial (@"a.c", RegexOptions.None, "abc", "Pass. Group[0]=(0,3)"),\r
54                         new RegexTrial (@"a.c", RegexOptions.None, "axc", "Pass. Group[0]=(0,3)"),\r
55                         new RegexTrial (@"a.*c", RegexOptions.None, "axyzc", "Pass. Group[0]=(0,5)"),\r
56                         new RegexTrial (@"a.*c", RegexOptions.None, "axyzd", "Fail."),\r
57                         new RegexTrial (@"a[bc]d", RegexOptions.None, "abc", "Fail."),\r
58                         new RegexTrial (@"a[bc]d", RegexOptions.None, "abd", "Pass. Group[0]=(0,3)"),\r
59                         new RegexTrial (@"a[b-d]e", RegexOptions.None, "abd", "Fail."),\r
60                         new RegexTrial (@"a[b-d]e", RegexOptions.None, "ace", "Pass. Group[0]=(0,3)"),\r
61                         new RegexTrial (@"a[b-d]", RegexOptions.None, "aac", "Pass. Group[0]=(1,2)"),\r
62                         new RegexTrial (@"a[-b]", RegexOptions.None, "a-", "Pass. Group[0]=(0,2)"),\r
63                         new RegexTrial (@"a[b-]", RegexOptions.None, "a-", "Pass. Group[0]=(0,2)"),\r
64                         new RegexTrial (@"a[b-a]", RegexOptions.None, "-", "Error."),\r
65                         new RegexTrial (@"a[]b", RegexOptions.None, "-", "Error."),\r
66                         new RegexTrial (@"a[", RegexOptions.None, "-", "Error."),\r
67                         new RegexTrial (@"a]", RegexOptions.None, "a]", "Pass. Group[0]=(0,2)"),\r
68                         new RegexTrial (@"a[]]b", RegexOptions.None, "a]b", "Pass. Group[0]=(0,3)"),\r
69                         new RegexTrial (@"a[^bc]d", RegexOptions.None, "aed", "Pass. Group[0]=(0,3)"),\r
70                         new RegexTrial (@"a[^bc]d", RegexOptions.None, "abd", "Fail."),\r
71                         new RegexTrial (@"a[^-b]c", RegexOptions.None, "adc", "Pass. Group[0]=(0,3)"),\r
72                         new RegexTrial (@"a[^-b]c", RegexOptions.None, "a-c", "Fail."),\r
73                         new RegexTrial (@"a[^]b]c", RegexOptions.None, "a]c", "Fail."),\r
74                         new RegexTrial (@"a[^]b]c", RegexOptions.None, "adc", "Pass. Group[0]=(0,3)"),\r
75                         new RegexTrial (@"\ba\b", RegexOptions.None, "a-", "Pass. Group[0]=(0,1)"),\r
76                         new RegexTrial (@"\ba\b", RegexOptions.None, "-a", "Pass. Group[0]=(1,1)"),\r
77                         new RegexTrial (@"\ba\b", RegexOptions.None, "-a-", "Pass. Group[0]=(1,1)"),\r
78                         new RegexTrial (@"\by\b", RegexOptions.None, "xy", "Fail."),\r
79                         new RegexTrial (@"\by\b", RegexOptions.None, "yz", "Fail."),\r
80                         new RegexTrial (@"\by\b", RegexOptions.None, "xyz", "Fail."),\r
81                         new RegexTrial (@"\Ba\B", RegexOptions.None, "a-", "Fail."),\r
82                         new RegexTrial (@"\Ba\B", RegexOptions.None, "-a", "Fail."),\r
83                         new RegexTrial (@"\Ba\B", RegexOptions.None, "-a-", "Fail."),\r
84                         new RegexTrial (@"\By\b", RegexOptions.None, "xy", "Pass. Group[0]=(1,1)"),\r
85                         new RegexTrial (@"\by\B", RegexOptions.None, "yz", "Pass. Group[0]=(0,1)"),\r
86                         new RegexTrial (@"\By\B", RegexOptions.None, "xyz", "Pass. Group[0]=(1,1)"),\r
87                         new RegexTrial (@"\w", RegexOptions.None, "a", "Pass. Group[0]=(0,1)"),\r
88                         new RegexTrial (@"\w", RegexOptions.None, "-", "Fail."),\r
89                         new RegexTrial (@"\W", RegexOptions.None, "a", "Fail."),\r
90                         new RegexTrial (@"\W", RegexOptions.None, "-", "Pass. Group[0]=(0,1)"),\r
91                         new RegexTrial (@"a\sb", RegexOptions.None, "a b", "Pass. Group[0]=(0,3)"),\r
92                         new RegexTrial (@"a\sb", RegexOptions.None, "a-b", "Fail."),\r
93                         new RegexTrial (@"a\Sb", RegexOptions.None, "a b", "Fail."),\r
94                         new RegexTrial (@"a\Sb", RegexOptions.None, "a-b", "Pass. Group[0]=(0,3)"),\r
95                         new RegexTrial (@"\d", RegexOptions.None, "1", "Pass. Group[0]=(0,1)"),\r
96                         new RegexTrial (@"\d", RegexOptions.None, "-", "Fail."),\r
97                         new RegexTrial (@"\D", RegexOptions.None, "1", "Fail."),\r
98                         new RegexTrial (@"\D", RegexOptions.None, "-", "Pass. Group[0]=(0,1)"),\r
99                         new RegexTrial (@"[\w]", RegexOptions.None, "a", "Pass. Group[0]=(0,1)"),\r
100                         new RegexTrial (@"[\w]", RegexOptions.None, "-", "Fail."),\r
101                         new RegexTrial (@"[\W]", RegexOptions.None, "a", "Fail."),\r
102                         new RegexTrial (@"[\W]", RegexOptions.None, "-", "Pass. Group[0]=(0,1)"),\r
103                         new RegexTrial (@"a[\s]b", RegexOptions.None, "a b", "Pass. Group[0]=(0,3)"),\r
104                         new RegexTrial (@"a[\s]b", RegexOptions.None, "a-b", "Fail."),\r
105                         new RegexTrial (@"a[\S]b", RegexOptions.None, "a b", "Fail."),\r
106                         new RegexTrial (@"a[\S]b", RegexOptions.None, "a-b", "Pass. Group[0]=(0,3)"),\r
107                         new RegexTrial (@"[\d]", RegexOptions.None, "1", "Pass. Group[0]=(0,1)"),\r
108                         new RegexTrial (@"[\d]", RegexOptions.None, "-", "Fail."),\r
109                         new RegexTrial (@"[\D]", RegexOptions.None, "1", "Fail."),\r
110                         new RegexTrial (@"[\D]", RegexOptions.None, "-", "Pass. Group[0]=(0,1)"),\r
111                         new RegexTrial (@"ab|cd", RegexOptions.None, "abc", "Pass. Group[0]=(0,2)"),\r
112                         new RegexTrial (@"ab|cd", RegexOptions.None, "abcd", "Pass. Group[0]=(0,2)"),\r
113                         new RegexTrial (@"()ef", RegexOptions.None, "def", "Pass. Group[0]=(1,2) Group[1]=(1,0)"),\r
114                         new RegexTrial (@"*a", RegexOptions.None, "-", "Error."),\r
115                         new RegexTrial (@"(*)b", RegexOptions.None, "-", "Error."),\r
116                         new RegexTrial (@"$b", RegexOptions.None, "b", "Fail."),\r
117                         new RegexTrial (@"a\", RegexOptions.None, "-", "Error."),\r
118                         new RegexTrial (@"a\(b", RegexOptions.None, "a(b", "Pass. Group[0]=(0,3)"),\r
119                         new RegexTrial (@"a\(*b", RegexOptions.None, "ab", "Pass. Group[0]=(0,2)"),\r
120                         new RegexTrial (@"a\(*b", RegexOptions.None, "a((b", "Pass. Group[0]=(0,4)"),\r
121                         new RegexTrial (@"a\\b", RegexOptions.None, "a\\b", "Pass. Group[0]=(0,3)"),\r
122                         new RegexTrial (@"abc)", RegexOptions.None, "-", "Error."),\r
123                         new RegexTrial (@"(abc", RegexOptions.None, "-", "Error."),\r
124                         new RegexTrial (@"((a))", RegexOptions.None, "abc", "Pass. Group[0]=(0,1) Group[1]=(0,1) Group[2]=(0,1)"),\r
125                         new RegexTrial (@"(a)b(c)", RegexOptions.None, "abc", "Pass. Group[0]=(0,3) Group[1]=(0,1) Group[2]=(2,1)"),\r
126                         new RegexTrial (@"a+b+c", RegexOptions.None, "aabbabc", "Pass. Group[0]=(4,3)"),\r
127                         new RegexTrial (@"a{1,}b{1,}c", RegexOptions.None, "aabbabc", "Pass. Group[0]=(4,3)"),\r
128                         new RegexTrial (@"a**", RegexOptions.None, "-", "Error."),\r
129                         new RegexTrial (@"a.+?c", RegexOptions.None, "abcabc", "Pass. Group[0]=(0,3)"),\r
130                         new RegexTrial (@"(a+|b)*", RegexOptions.None, "ab", "Pass. Group[0]=(0,2) Group[1]=(0,1)(1,1)"),\r
131                         new RegexTrial (@"(a+|b){0,}", RegexOptions.None, "ab", "Pass. Group[0]=(0,2) Group[1]=(0,1)(1,1)"),\r
132                         new RegexTrial (@"(a+|b)+", RegexOptions.None, "ab", "Pass. Group[0]=(0,2) Group[1]=(0,1)(1,1)"),\r
133                         new RegexTrial (@"(a+|b){1,}", RegexOptions.None, "ab", "Pass. Group[0]=(0,2) Group[1]=(0,1)(1,1)"),\r
134                         new RegexTrial (@"(a+|b)?", RegexOptions.None, "ab", "Pass. Group[0]=(0,1) Group[1]=(0,1)"),\r
135                         new RegexTrial (@"(a+|b){0,1}", RegexOptions.None, "ab", "Pass. Group[0]=(0,1) Group[1]=(0,1)"),\r
136                         new RegexTrial (@")(", RegexOptions.None, "-", "Error."),\r
137                         new RegexTrial (@"[^ab]*", RegexOptions.None, "cde", "Pass. Group[0]=(0,3)"),\r
138                         new RegexTrial (@"abc", RegexOptions.None, "", "Fail."),\r
139                         new RegexTrial (@"a*", RegexOptions.None, "", "Pass. Group[0]=(0,0)"),\r
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)"),\r
141                         new RegexTrial (@"([abc])*bcd", RegexOptions.None, "abcd", "Pass. Group[0]=(0,4) Group[1]=(0,1)"),\r
142                         new RegexTrial (@"a|b|c|d|e", RegexOptions.None, "e", "Pass. Group[0]=(0,1)"),\r
143                         new RegexTrial (@"(a|b|c|d|e)f", RegexOptions.None, "ef", "Pass. Group[0]=(0,2) Group[1]=(0,1)"),\r
144                         new RegexTrial (@"abcd*efg", RegexOptions.None, "abcdefg", "Pass. Group[0]=(0,7)"),\r
145                         new RegexTrial (@"ab*", RegexOptions.None, "xabyabbbz", "Pass. Group[0]=(1,2)"),\r
146                         new RegexTrial (@"ab*", RegexOptions.None, "xayabbbz", "Pass. Group[0]=(1,1)"),\r
147                         new RegexTrial (@"(ab|cd)e", RegexOptions.None, "abcde", "Pass. Group[0]=(2,3) Group[1]=(2,2)"),\r
148                         new RegexTrial (@"[abhgefdc]ij", RegexOptions.None, "hij", "Pass. Group[0]=(0,3)"),\r
149                         new RegexTrial (@"^(ab|cd)e", RegexOptions.None, "abcde", "Fail."),\r
150                         new RegexTrial (@"(abc|)ef", RegexOptions.None, "abcdef", "Pass. Group[0]=(4,2) Group[1]=(4,0)"),\r
151                         new RegexTrial (@"(a|b)c*d", RegexOptions.None, "abcd", "Pass. Group[0]=(1,3) Group[1]=(1,1)"),\r
152                         new RegexTrial (@"(ab|ab*)bc", RegexOptions.None, "abc", "Pass. Group[0]=(0,3) Group[1]=(0,1)"),\r
153                         new RegexTrial (@"a([bc]*)c*", RegexOptions.None, "abc", "Pass. Group[0]=(0,3) Group[1]=(1,2)"),\r
154                         new RegexTrial (@"a([bc]*)(c*d)", RegexOptions.None, "abcd", "Pass. Group[0]=(0,4) Group[1]=(1,2) Group[2]=(3,1)"),\r
155                         new RegexTrial (@"a([bc]+)(c*d)", RegexOptions.None, "abcd", "Pass. Group[0]=(0,4) Group[1]=(1,2) Group[2]=(3,1)"),\r
156                         new RegexTrial (@"a([bc]*)(c+d)", RegexOptions.None, "abcd", "Pass. Group[0]=(0,4) Group[1]=(1,1) Group[2]=(2,2)"),\r
157                         new RegexTrial (@"a[bcd]*dcdcde", RegexOptions.None, "adcdcde", "Pass. Group[0]=(0,7)"),\r
158                         new RegexTrial (@"a[bcd]+dcdcde", RegexOptions.None, "adcdcde", "Fail."),\r
159                         new RegexTrial (@"(ab|a)b*c", RegexOptions.None, "abc", "Pass. Group[0]=(0,3) Group[1]=(0,2)"),\r
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)"),\r
161                         new RegexTrial (@"[a-zA-Z_][a-zA-Z0-9_]*", RegexOptions.None, "alpha", "Pass. Group[0]=(0,5)"),\r
162                         new RegexTrial (@"^a(bc+|b[eh])g|.h$", RegexOptions.None, "abh", "Pass. Group[0]=(1,2) Group[1]="),\r
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]="),\r
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)"),\r
165                         new RegexTrial (@"(bc+d$|ef*g.|h?i(j|k))", RegexOptions.None, "effg", "Fail."),\r
166                         new RegexTrial (@"(bc+d$|ef*g.|h?i(j|k))", RegexOptions.None, "bcdd", "Fail."),\r
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]="),\r
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)"),\r
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)"),\r
170                         new RegexTrial (@"((((((((((a))))))))))!", RegexOptions.None, "aa", "Fail."),\r
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)"),\r
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)"),\r
173                         new RegexTrial (@"multiple words of text", RegexOptions.None, "uh-uh", "Fail."),\r
174                         new RegexTrial (@"multiple words", RegexOptions.None, "multiple words, yeah", "Pass. Group[0]=(0,14)"),\r
175                         new RegexTrial (@"(.*)c(.*)", RegexOptions.None, "abcde", "Pass. Group[0]=(0,5) Group[1]=(0,2) Group[2]=(3,2)"),\r
176                         new RegexTrial (@"\((.*), (.*)\)", RegexOptions.None, "(a, b)", "Pass. Group[0]=(0,6) Group[1]=(1,1) Group[2]=(4,1)"),\r
177                         new RegexTrial (@"[k]", RegexOptions.None, "ab", "Fail."),\r
178                         new RegexTrial (@"abcd", RegexOptions.None, "abcd", "Pass. Group[0]=(0,4)"),\r
179                         new RegexTrial (@"a(bc)d", RegexOptions.None, "abcd", "Pass. Group[0]=(0,4) Group[1]=(1,2)"),\r
180                         new RegexTrial (@"a[-]?c", RegexOptions.None, "ac", "Pass. Group[0]=(0,2)"),\r
181                         new RegexTrial (@"(abc)\1", RegexOptions.None, "abcabc", "Pass. Group[0]=(0,6) Group[1]=(0,3)"),\r
182                         new RegexTrial (@"([a-c]*)\1", RegexOptions.None, "abcabc", "Pass. Group[0]=(0,6) Group[1]=(0,3)"),\r
183                         new RegexTrial (@"\1", RegexOptions.None, "-", "Error."),\r
184                         new RegexTrial (@"\2", RegexOptions.None, "-", "Error."),\r
185                         new RegexTrial (@"(a)|\1", RegexOptions.None, "a", "Pass. Group[0]=(0,1) Group[1]=(0,1)"),\r
186                         new RegexTrial (@"(a)|\1", RegexOptions.None, "x", "Fail."),\r
187                         new RegexTrial (@"(a)|\2", RegexOptions.None, "-", "Error."),\r
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)"),\r
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)"),\r
190                         new RegexTrial (@"((\3|b)\2(a)x)+", RegexOptions.None, "aaxabxbaxbbx", "Fail."),\r
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)"),\r
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)"),\r
193                         new RegexTrial (@"abc", RegexOptions.IgnoreCase, "ABC", "Pass. Group[0]=(0,3)"),\r
194                         new RegexTrial (@"abc", RegexOptions.IgnoreCase, "XBC", "Fail."),\r
195                         new RegexTrial (@"abc", RegexOptions.IgnoreCase, "AXC", "Fail."),\r
196                         new RegexTrial (@"abc", RegexOptions.IgnoreCase, "ABX", "Fail."),\r
197                         new RegexTrial (@"abc", RegexOptions.IgnoreCase, "XABCY", "Pass. Group[0]=(1,3)"),\r
198                         new RegexTrial (@"abc", RegexOptions.IgnoreCase, "ABABC", "Pass. Group[0]=(2,3)"),\r
199                         new RegexTrial (@"ab*c", RegexOptions.IgnoreCase, "ABC", "Pass. Group[0]=(0,3)"),\r
200                         new RegexTrial (@"ab*bc", RegexOptions.IgnoreCase, "ABC", "Pass. Group[0]=(0,3)"),\r
201                         new RegexTrial (@"ab*bc", RegexOptions.IgnoreCase, "ABBC", "Pass. Group[0]=(0,4)"),\r
202                         new RegexTrial (@"ab*?bc", RegexOptions.IgnoreCase, "ABBBBC", "Pass. Group[0]=(0,6)"),\r
203                         new RegexTrial (@"ab{0,}?bc", RegexOptions.IgnoreCase, "ABBBBC", "Pass. Group[0]=(0,6)"),\r
204                         new RegexTrial (@"ab+?bc", RegexOptions.IgnoreCase, "ABBC", "Pass. Group[0]=(0,4)"),\r
205                         new RegexTrial (@"ab+bc", RegexOptions.IgnoreCase, "ABC", "Fail."),\r
206                         new RegexTrial (@"ab+bc", RegexOptions.IgnoreCase, "ABQ", "Fail."),\r
207                         new RegexTrial (@"ab{1,}bc", RegexOptions.IgnoreCase, "ABQ", "Fail."),\r
208                         new RegexTrial (@"ab+bc", RegexOptions.IgnoreCase, "ABBBBC", "Pass. Group[0]=(0,6)"),\r
209                         new RegexTrial (@"ab{1,}?bc", RegexOptions.IgnoreCase, "ABBBBC", "Pass. Group[0]=(0,6)"),\r
210                         new RegexTrial (@"ab{1,3}?bc", RegexOptions.IgnoreCase, "ABBBBC", "Pass. Group[0]=(0,6)"),\r
211                         new RegexTrial (@"ab{3,4}?bc", RegexOptions.IgnoreCase, "ABBBBC", "Pass. Group[0]=(0,6)"),\r
212                         new RegexTrial (@"ab{4,5}?bc", RegexOptions.IgnoreCase, "ABBBBC", "Fail."),\r
213                         new RegexTrial (@"ab??bc", RegexOptions.IgnoreCase, "ABBC", "Pass. Group[0]=(0,4)"),\r
214                         new RegexTrial (@"ab??bc", RegexOptions.IgnoreCase, "ABC", "Pass. Group[0]=(0,3)"),\r
215                         new RegexTrial (@"ab{0,1}?bc", RegexOptions.IgnoreCase, "ABC", "Pass. Group[0]=(0,3)"),\r
216                         new RegexTrial (@"ab??bc", RegexOptions.IgnoreCase, "ABBBBC", "Fail."),\r
217                         new RegexTrial (@"ab??c", RegexOptions.IgnoreCase, "ABC", "Pass. Group[0]=(0,3)"),\r
218                         new RegexTrial (@"ab{0,1}?c", RegexOptions.IgnoreCase, "ABC", "Pass. Group[0]=(0,3)"),\r
219                         new RegexTrial (@"^abc$", RegexOptions.IgnoreCase, "ABC", "Pass. Group[0]=(0,3)"),\r
220                         new RegexTrial (@"^abc$", RegexOptions.IgnoreCase, "ABCC", "Fail."),\r
221                         new RegexTrial (@"^abc", RegexOptions.IgnoreCase, "ABCC", "Pass. Group[0]=(0,3)"),\r
222                         new RegexTrial (@"^abc$", RegexOptions.IgnoreCase, "AABC", "Fail."),\r
223                         new RegexTrial (@"abc$", RegexOptions.IgnoreCase, "AABC", "Pass. Group[0]=(1,3)"),\r
224                         new RegexTrial (@"^", RegexOptions.IgnoreCase, "ABC", "Pass. Group[0]=(0,0)"),\r
225                         new RegexTrial (@"$", RegexOptions.IgnoreCase, "ABC", "Pass. Group[0]=(3,0)"),\r
226                         new RegexTrial (@"a.c", RegexOptions.IgnoreCase, "ABC", "Pass. Group[0]=(0,3)"),\r
227                         new RegexTrial (@"a.c", RegexOptions.IgnoreCase, "AXC", "Pass. Group[0]=(0,3)"),\r
228                         new RegexTrial (@"a.*?c", RegexOptions.IgnoreCase, "AXYZC", "Pass. Group[0]=(0,5)"),\r
229                         new RegexTrial (@"a.*c", RegexOptions.IgnoreCase, "AXYZD", "Fail."),\r
230                         new RegexTrial (@"a[bc]d", RegexOptions.IgnoreCase, "ABC", "Fail."),\r
231                         new RegexTrial (@"a[bc]d", RegexOptions.IgnoreCase, "ABD", "Pass. Group[0]=(0,3)"),\r
232                         new RegexTrial (@"a[b-d]e", RegexOptions.IgnoreCase, "ABD", "Fail."),\r
233                         new RegexTrial (@"a[b-d]e", RegexOptions.IgnoreCase, "ACE", "Pass. Group[0]=(0,3)"),\r
234                         new RegexTrial (@"a[b-d]", RegexOptions.IgnoreCase, "AAC", "Pass. Group[0]=(1,2)"),\r
235                         new RegexTrial (@"a[-b]", RegexOptions.IgnoreCase, "A-", "Pass. Group[0]=(0,2)"),\r
236                         new RegexTrial (@"a[b-]", RegexOptions.IgnoreCase, "A-", "Pass. Group[0]=(0,2)"),\r
237                         new RegexTrial (@"a[b-a]", RegexOptions.IgnoreCase, "-", "Error."),\r
238                         new RegexTrial (@"a[]b", RegexOptions.IgnoreCase, "-", "Error."),\r
239                         new RegexTrial (@"a[", RegexOptions.IgnoreCase, "-", "Error."),\r
240                         new RegexTrial (@"a]", RegexOptions.IgnoreCase, "A]", "Pass. Group[0]=(0,2)"),\r
241                         new RegexTrial (@"a[]]b", RegexOptions.IgnoreCase, "A]B", "Pass. Group[0]=(0,3)"),\r
242                         new RegexTrial (@"a[^bc]d", RegexOptions.IgnoreCase, "AED", "Pass. Group[0]=(0,3)"),\r
243                         new RegexTrial (@"a[^bc]d", RegexOptions.IgnoreCase, "ABD", "Fail."),\r
244                         new RegexTrial (@"a[^-b]c", RegexOptions.IgnoreCase, "ADC", "Pass. Group[0]=(0,3)"),\r
245                         new RegexTrial (@"a[^-b]c", RegexOptions.IgnoreCase, "A-C", "Fail."),\r
246                         new RegexTrial (@"a[^]b]c", RegexOptions.IgnoreCase, "A]C", "Fail."),\r
247                         new RegexTrial (@"a[^]b]c", RegexOptions.IgnoreCase, "ADC", "Pass. Group[0]=(0,3)"),\r
248                         new RegexTrial (@"ab|cd", RegexOptions.IgnoreCase, "ABC", "Pass. Group[0]=(0,2)"),\r
249                         new RegexTrial (@"ab|cd", RegexOptions.IgnoreCase, "ABCD", "Pass. Group[0]=(0,2)"),\r
250                         new RegexTrial (@"()ef", RegexOptions.IgnoreCase, "DEF", "Pass. Group[0]=(1,2) Group[1]=(1,0)"),\r
251                         new RegexTrial (@"*a", RegexOptions.IgnoreCase, "-", "Error."),\r
252                         new RegexTrial (@"(*)b", RegexOptions.IgnoreCase, "-", "Error."),\r
253                         new RegexTrial (@"$b", RegexOptions.IgnoreCase, "B", "Fail."),\r
254                         new RegexTrial (@"a\", RegexOptions.IgnoreCase, "-", "Error."),\r
255                         new RegexTrial (@"a\(b", RegexOptions.IgnoreCase, "A(B", "Pass. Group[0]=(0,3)"),\r
256                         new RegexTrial (@"a\(*b", RegexOptions.IgnoreCase, "AB", "Pass. Group[0]=(0,2)"),\r
257                         new RegexTrial (@"a\(*b", RegexOptions.IgnoreCase, "A((B", "Pass. Group[0]=(0,4)"),\r
258                         new RegexTrial (@"a\\b", RegexOptions.IgnoreCase, "A\\B", "Pass. Group[0]=(0,3)"),\r
259                         new RegexTrial (@"abc)", RegexOptions.IgnoreCase, "-", "Error."),\r
260                         new RegexTrial (@"(abc", RegexOptions.IgnoreCase, "-", "Error."),\r
261                         new RegexTrial (@"((a))", RegexOptions.IgnoreCase, "ABC", "Pass. Group[0]=(0,1) Group[1]=(0,1) Group[2]=(0,1)"),\r
262                         new RegexTrial (@"(a)b(c)", RegexOptions.IgnoreCase, "ABC", "Pass. Group[0]=(0,3) Group[1]=(0,1) Group[2]=(2,1)"),\r
263                         new RegexTrial (@"a+b+c", RegexOptions.IgnoreCase, "AABBABC", "Pass. Group[0]=(4,3)"),\r
264                         new RegexTrial (@"a{1,}b{1,}c", RegexOptions.IgnoreCase, "AABBABC", "Pass. Group[0]=(4,3)"),\r
265                         new RegexTrial (@"a**", RegexOptions.IgnoreCase, "-", "Error."),\r
266                         new RegexTrial (@"a.+?c", RegexOptions.IgnoreCase, "ABCABC", "Pass. Group[0]=(0,3)"),\r
267                         new RegexTrial (@"a.*?c", RegexOptions.IgnoreCase, "ABCABC", "Pass. Group[0]=(0,3)"),\r
268                         new RegexTrial (@"a.{0,5}?c", RegexOptions.IgnoreCase, "ABCABC", "Pass. Group[0]=(0,3)"),\r
269                         new RegexTrial (@"(a+|b)*", RegexOptions.IgnoreCase, "AB", "Pass. Group[0]=(0,2) Group[1]=(0,1)(1,1)"),\r
270                         new RegexTrial (@"(a+|b){0,}", RegexOptions.IgnoreCase, "AB", "Pass. Group[0]=(0,2) Group[1]=(0,1)(1,1)"),\r
271                         new RegexTrial (@"(a+|b)+", RegexOptions.IgnoreCase, "AB", "Pass. Group[0]=(0,2) Group[1]=(0,1)(1,1)"),\r
272                         new RegexTrial (@"(a+|b){1,}", RegexOptions.IgnoreCase, "AB", "Pass. Group[0]=(0,2) Group[1]=(0,1)(1,1)"),\r
273                         new RegexTrial (@"(a+|b)?", RegexOptions.IgnoreCase, "AB", "Pass. Group[0]=(0,1) Group[1]=(0,1)"),\r
274                         new RegexTrial (@"(a+|b){0,1}", RegexOptions.IgnoreCase, "AB", "Pass. Group[0]=(0,1) Group[1]=(0,1)"),\r
275                         new RegexTrial (@"(a+|b){0,1}?", RegexOptions.IgnoreCase, "AB", "Pass. Group[0]=(0,0) Group[1]="),\r
276                         new RegexTrial (@")(", RegexOptions.IgnoreCase, "-", "Error."),\r
277                         new RegexTrial (@"[^ab]*", RegexOptions.IgnoreCase, "CDE", "Pass. Group[0]=(0,3)"),\r
278                         new RegexTrial (@"abc", RegexOptions.IgnoreCase, "", "Fail."),\r
279                         new RegexTrial (@"a*", RegexOptions.IgnoreCase, "", "Pass. Group[0]=(0,0)"),\r
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)"),\r
281                         new RegexTrial (@"([abc])*bcd", RegexOptions.IgnoreCase, "ABCD", "Pass. Group[0]=(0,4) Group[1]=(0,1)"),\r
282                         new RegexTrial (@"a|b|c|d|e", RegexOptions.IgnoreCase, "E", "Pass. Group[0]=(0,1)"),\r
283                         new RegexTrial (@"(a|b|c|d|e)f", RegexOptions.IgnoreCase, "EF", "Pass. Group[0]=(0,2) Group[1]=(0,1)"),\r
284                         new RegexTrial (@"abcd*efg", RegexOptions.IgnoreCase, "ABCDEFG", "Pass. Group[0]=(0,7)"),\r
285                         new RegexTrial (@"ab*", RegexOptions.IgnoreCase, "XABYABBBZ", "Pass. Group[0]=(1,2)"),\r
286                         new RegexTrial (@"ab*", RegexOptions.IgnoreCase, "XAYABBBZ", "Pass. Group[0]=(1,1)"),\r
287                         new RegexTrial (@"(ab|cd)e", RegexOptions.IgnoreCase, "ABCDE", "Pass. Group[0]=(2,3) Group[1]=(2,2)"),\r
288                         new RegexTrial (@"[abhgefdc]ij", RegexOptions.IgnoreCase, "HIJ", "Pass. Group[0]=(0,3)"),\r
289                         new RegexTrial (@"^(ab|cd)e", RegexOptions.IgnoreCase, "ABCDE", "Fail."),\r
290                         new RegexTrial (@"(abc|)ef", RegexOptions.IgnoreCase, "ABCDEF", "Pass. Group[0]=(4,2) Group[1]=(4,0)"),\r
291                         new RegexTrial (@"(a|b)c*d", RegexOptions.IgnoreCase, "ABCD", "Pass. Group[0]=(1,3) Group[1]=(1,1)"),\r
292                         new RegexTrial (@"(ab|ab*)bc", RegexOptions.IgnoreCase, "ABC", "Pass. Group[0]=(0,3) Group[1]=(0,1)"),\r
293                         new RegexTrial (@"a([bc]*)c*", RegexOptions.IgnoreCase, "ABC", "Pass. Group[0]=(0,3) Group[1]=(1,2)"),\r
294                         new RegexTrial (@"a([bc]*)(c*d)", RegexOptions.IgnoreCase, "ABCD", "Pass. Group[0]=(0,4) Group[1]=(1,2) Group[2]=(3,1)"),\r
295                         new RegexTrial (@"a([bc]+)(c*d)", RegexOptions.IgnoreCase, "ABCD", "Pass. Group[0]=(0,4) Group[1]=(1,2) Group[2]=(3,1)"),\r
296                         new RegexTrial (@"a([bc]*)(c+d)", RegexOptions.IgnoreCase, "ABCD", "Pass. Group[0]=(0,4) Group[1]=(1,1) Group[2]=(2,2)"),\r
297                         new RegexTrial (@"a[bcd]*dcdcde", RegexOptions.IgnoreCase, "ADCDCDE", "Pass. Group[0]=(0,7)"),\r
298                         new RegexTrial (@"a[bcd]+dcdcde", RegexOptions.IgnoreCase, "ADCDCDE", "Fail."),\r
299                         new RegexTrial (@"(ab|a)b*c", RegexOptions.IgnoreCase, "ABC", "Pass. Group[0]=(0,3) Group[1]=(0,2)"),\r
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)"),\r
301                         new RegexTrial (@"[a-zA-Z_][a-zA-Z0-9_]*", RegexOptions.IgnoreCase, "ALPHA", "Pass. Group[0]=(0,5)"),\r
302                         new RegexTrial (@"^a(bc+|b[eh])g|.h$", RegexOptions.IgnoreCase, "ABH", "Pass. Group[0]=(1,2) Group[1]="),\r
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]="),\r
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)"),\r
305                         new RegexTrial (@"(bc+d$|ef*g.|h?i(j|k))", RegexOptions.IgnoreCase, "EFFG", "Fail."),\r
306                         new RegexTrial (@"(bc+d$|ef*g.|h?i(j|k))", RegexOptions.IgnoreCase, "BCDD", "Fail."),\r
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]="),\r
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)"),\r
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)"),\r
310                         new RegexTrial (@"((((((((((a))))))))))!", RegexOptions.IgnoreCase, "AA", "Fail."),\r
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)"),\r
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)"),\r
313                         new RegexTrial (@"(?:(?:(?:(?:(?:(?:(?:(?:(?:(a))))))))))", RegexOptions.IgnoreCase, "A", "Pass. Group[0]=(0,1) Group[1]=(0,1)"),\r
314                         new RegexTrial (@"(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))", RegexOptions.IgnoreCase, "C", "Pass. Group[0]=(0,1) Group[1]=(0,1)"),\r
315                         new RegexTrial (@"multiple words of text", RegexOptions.IgnoreCase, "UH-UH", "Fail."),\r
316                         new RegexTrial (@"multiple words", RegexOptions.IgnoreCase, "MULTIPLE WORDS, YEAH", "Pass. Group[0]=(0,14)"),\r
317                         new RegexTrial (@"(.*)c(.*)", RegexOptions.IgnoreCase, "ABCDE", "Pass. Group[0]=(0,5) Group[1]=(0,2) Group[2]=(3,2)"),\r
318                         new RegexTrial (@"\((.*), (.*)\)", RegexOptions.IgnoreCase, "(A, B)", "Pass. Group[0]=(0,6) Group[1]=(1,1) Group[2]=(4,1)"),\r
319                         new RegexTrial (@"[k]", RegexOptions.IgnoreCase, "AB", "Fail."),\r
320                         new RegexTrial (@"abcd", RegexOptions.IgnoreCase, "ABCD", "Pass. Group[0]=(0,4)"),\r
321                         new RegexTrial (@"a(bc)d", RegexOptions.IgnoreCase, "ABCD", "Pass. Group[0]=(0,4) Group[1]=(1,2)"),\r
322                         new RegexTrial (@"a[-]?c", RegexOptions.IgnoreCase, "AC", "Pass. Group[0]=(0,2)"),\r
323                         new RegexTrial (@"(abc)\1", RegexOptions.IgnoreCase, "ABCABC", "Pass. Group[0]=(0,6) Group[1]=(0,3)"),\r
324                         new RegexTrial (@"([a-c]*)\1", RegexOptions.IgnoreCase, "ABCABC", "Pass. Group[0]=(0,6) Group[1]=(0,3)"),\r
325                         new RegexTrial (@"a(?!b).", RegexOptions.None, "abad", "Pass. Group[0]=(2,2)"),\r
326                         new RegexTrial (@"a(?=d).", RegexOptions.None, "abad", "Pass. Group[0]=(2,2)"),\r
327                         new RegexTrial (@"a(?=c|d).", RegexOptions.None, "abad", "Pass. Group[0]=(2,2)"),\r
328                         new RegexTrial (@"a(?:b|c|d)(.)", RegexOptions.None, "ace", "Pass. Group[0]=(0,3) Group[1]=(2,1)"),\r
329                         new RegexTrial (@"a(?:b|c|d)*(.)", RegexOptions.None, "ace", "Pass. Group[0]=(0,3) Group[1]=(2,1)"),\r
330                         new RegexTrial (@"a(?:b|c|d)+?(.)", RegexOptions.None, "ace", "Pass. Group[0]=(0,3) Group[1]=(2,1)"),\r
331                         new RegexTrial (@"a(?:b|c|d)+?(.)", RegexOptions.None, "acdbcdbe", "Pass. Group[0]=(0,3) Group[1]=(2,1)"),\r
332                         new RegexTrial (@"a(?:b|c|d)+(.)", RegexOptions.None, "acdbcdbe", "Pass. Group[0]=(0,8) Group[1]=(7,1)"),\r
333                         new RegexTrial (@"a(?:b|c|d){2}(.)", RegexOptions.None, "acdbcdbe", "Pass. Group[0]=(0,4) Group[1]=(3,1)"),\r
334                         new RegexTrial (@"a(?:b|c|d){4,5}(.)", RegexOptions.None, "acdbcdbe", "Pass. Group[0]=(0,7) Group[1]=(6,1)"),\r
335                         new RegexTrial (@"a(?:b|c|d){4,5}?(.)", RegexOptions.None, "acdbcdbe", "Pass. Group[0]=(0,6) Group[1]=(5,1)"),\r
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)"),\r
337                         new RegexTrial (@":(?:", RegexOptions.None, "-", "Error."),\r
338                         new RegexTrial (@"a(?:b|c|d){6,7}(.)", RegexOptions.None, "acdbcdbe", "Pass. Group[0]=(0,8) Group[1]=(7,1)"),\r
339                         new RegexTrial (@"a(?:b|c|d){6,7}?(.)", RegexOptions.None, "acdbcdbe", "Pass. Group[0]=(0,8) Group[1]=(7,1)"),\r
340                         new RegexTrial (@"a(?:b|c|d){5,6}(.)", RegexOptions.None, "acdbcdbe", "Pass. Group[0]=(0,8) Group[1]=(7,1)"),\r
341                         new RegexTrial (@"a(?:b|c|d){5,6}?(.)", RegexOptions.None, "acdbcdbe", "Pass. Group[0]=(0,7) Group[1]=(6,1)"),\r
342                         new RegexTrial (@"a(?:b|c|d){5,7}(.)", RegexOptions.None, "acdbcdbe", "Pass. Group[0]=(0,8) Group[1]=(7,1)"),\r
343                         new RegexTrial (@"a(?:b|c|d){5,7}?(.)", RegexOptions.None, "acdbcdbe", "Pass. Group[0]=(0,7) Group[1]=(6,1)"),\r
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)"),\r
345                         new RegexTrial (@"^(.+)?B", RegexOptions.None, "AB", "Pass. Group[0]=(0,2) Group[1]=(0,1)"),\r
346                         new RegexTrial (@"^([^a-z])|(\^)$", RegexOptions.None, ".", "Pass. Group[0]=(0,1) Group[1]=(0,1) Group[2]="),\r
347                         new RegexTrial (@"^[<>]&", RegexOptions.None, "<&OUT", "Pass. Group[0]=(0,2)"),\r
348                         new RegexTrial (@"^(a\1?){4}$", RegexOptions.None, "aaaaaaaaaa", "Pass. Group[0]=(0,10) Group[1]=(0,1)(1,2)(3,3)(6,4)"),\r
349                         new RegexTrial (@"^(a\1?){4}$", RegexOptions.None, "aaaaaaaaa", "Fail."),\r
350                         new RegexTrial (@"^(a\1?){4}$", RegexOptions.None, "aaaaaaaaaaa", "Fail."),\r
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)"),\r
352                         new RegexTrial (@"^(a(?(1)\1)){4}$", RegexOptions.None, "aaaaaaaaa", "Fail."),\r
353                         new RegexTrial (@"^(a(?(1)\1)){4}$", RegexOptions.None, "aaaaaaaaaaa", "Fail."),\r
354                         new RegexTrial (@"((a{4})+)", RegexOptions.None, "aaaaaaaaa", "Pass. Group[0]=(0,8) Group[1]=(0,8) Group[2]=(0,4)(4,4)"),\r
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)"),\r
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)"),\r
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)"),\r
358                         new RegexTrial (@"(?<=a)b", RegexOptions.None, "ab", "Pass. Group[0]=(1,1)"),\r
359                         new RegexTrial (@"(?<=a)b", RegexOptions.None, "cb", "Fail."),\r
360                         new RegexTrial (@"(?<=a)b", RegexOptions.None, "b", "Fail."),\r
361                         new RegexTrial (@"(?<!c)b", RegexOptions.None, "ab", "Pass. Group[0]=(1,1)"),\r
362                         new RegexTrial (@"(?<!c)b", RegexOptions.None, "cb", "Fail."),\r
363                         new RegexTrial (@"(?<!c)b", RegexOptions.None, "b", "Pass. Group[0]=(0,1)"),\r
364                         new RegexTrial (@"(?<!c)b", RegexOptions.None, "b", "Pass. Group[0]=(0,1)"),\r
365                         new RegexTrial (@"(?<%)b", RegexOptions.None, "-", "Error."),\r
366                         new RegexTrial (@"(?:..)*a", RegexOptions.None, "aba", "Pass. Group[0]=(0,3)"),\r
367                         new RegexTrial (@"(?:..)*?a", RegexOptions.None, "aba", "Pass. Group[0]=(0,1)"),\r
368                         new RegexTrial (@"^(?:b|a(?=(.)))*\1", RegexOptions.None, "abc", "Pass. Group[0]=(0,2) Group[1]=(1,1)"),\r
369                         new RegexTrial (@"^(){3,5}", RegexOptions.None, "abc", "Pass. Group[0]=(0,0) Group[1]=(0,0)(0,0)(0,0)"),\r
370                         new RegexTrial (@"^(a+)*ax", RegexOptions.None, "aax", "Pass. Group[0]=(0,3) Group[1]=(0,1)"),\r
371                         new RegexTrial (@"^((a|b)+)*ax", RegexOptions.None, "aax", "Pass. Group[0]=(0,3) Group[1]=(0,1) Group[2]=(0,1)"),\r
372                         new RegexTrial (@"^((a|bc)+)*ax", RegexOptions.None, "aax", "Pass. Group[0]=(0,3) Group[1]=(0,1) Group[2]=(0,1)"),\r
373                         new RegexTrial (@"(a|x)*ab", RegexOptions.None, "cab", "Pass. Group[0]=(1,2) Group[1]="),\r
374                         new RegexTrial (@"(a)*ab", RegexOptions.None, "cab", "Pass. Group[0]=(1,2) Group[1]="),\r
375                         new RegexTrial (@"(?:(?i)a)b", RegexOptions.None, "ab", "Pass. Group[0]=(0,2)"),\r
376                         new RegexTrial (@"((?i)a)b", RegexOptions.None, "ab", "Pass. Group[0]=(0,2) Group[1]=(0,1)"),\r
377                         new RegexTrial (@"(?:(?i)a)b", RegexOptions.None, "Ab", "Pass. Group[0]=(0,2)"),\r
378                         new RegexTrial (@"((?i)a)b", RegexOptions.None, "Ab", "Pass. Group[0]=(0,2) Group[1]=(0,1)"),\r
379                         new RegexTrial (@"(?:(?i)a)b", RegexOptions.None, "aB", "Fail."),\r
380                         new RegexTrial (@"((?i)a)b", RegexOptions.None, "aB", "Fail."),\r
381                         new RegexTrial (@"(?i:a)b", RegexOptions.None, "ab", "Pass. Group[0]=(0,2)"),\r
382                         new RegexTrial (@"((?i:a))b", RegexOptions.None, "ab", "Pass. Group[0]=(0,2) Group[1]=(0,1)"),\r
383                         new RegexTrial (@"(?i:a)b", RegexOptions.None, "Ab", "Pass. Group[0]=(0,2)"),\r
384                         new RegexTrial (@"((?i:a))b", RegexOptions.None, "Ab", "Pass. Group[0]=(0,2) Group[1]=(0,1)"),\r
385                         new RegexTrial (@"(?i:a)b", RegexOptions.None, "aB", "Fail."),\r
386                         new RegexTrial (@"((?i:a))b", RegexOptions.None, "aB", "Fail."),\r
387                         new RegexTrial (@"(?:(?-i)a)b", RegexOptions.IgnoreCase, "ab", "Pass. Group[0]=(0,2)"),\r
388                         new RegexTrial (@"((?-i)a)b", RegexOptions.IgnoreCase, "ab", "Pass. Group[0]=(0,2) Group[1]=(0,1)"),\r
389                         new RegexTrial (@"(?:(?-i)a)b", RegexOptions.IgnoreCase, "aB", "Pass. Group[0]=(0,2)"),\r
390                         new RegexTrial (@"((?-i)a)b", RegexOptions.IgnoreCase, "aB", "Pass. Group[0]=(0,2) Group[1]=(0,1)"),\r
391                         new RegexTrial (@"(?:(?-i)a)b", RegexOptions.IgnoreCase, "Ab", "Fail."),\r
392                         new RegexTrial (@"((?-i)a)b", RegexOptions.IgnoreCase, "Ab", "Fail."),\r
393                         new RegexTrial (@"(?:(?-i)a)b", RegexOptions.IgnoreCase, "aB", "Pass. Group[0]=(0,2)"),\r
394                         new RegexTrial (@"((?-i)a)b", RegexOptions.IgnoreCase, "aB", "Pass. Group[0]=(0,2) Group[1]=(0,1)"),\r
395                         new RegexTrial (@"(?:(?-i)a)b", RegexOptions.IgnoreCase, "AB", "Fail."),\r
396                         new RegexTrial (@"((?-i)a)b", RegexOptions.IgnoreCase, "AB", "Fail."),\r
397                         new RegexTrial (@"(?-i:a)b", RegexOptions.IgnoreCase, "ab", "Pass. Group[0]=(0,2)"),\r
398                         new RegexTrial (@"((?-i:a))b", RegexOptions.IgnoreCase, "ab", "Pass. Group[0]=(0,2) Group[1]=(0,1)"),\r
399                         new RegexTrial (@"(?-i:a)b", RegexOptions.IgnoreCase, "aB", "Pass. Group[0]=(0,2)"),\r
400                         new RegexTrial (@"((?-i:a))b", RegexOptions.IgnoreCase, "aB", "Pass. Group[0]=(0,2) Group[1]=(0,1)"),\r
401                         new RegexTrial (@"(?-i:a)b", RegexOptions.IgnoreCase, "Ab", "Fail."),\r
402                         new RegexTrial (@"((?-i:a))b", RegexOptions.IgnoreCase, "Ab", "Fail."),\r
403                         new RegexTrial (@"(?-i:a)b", RegexOptions.IgnoreCase, "aB", "Pass. Group[0]=(0,2)"),\r
404                         new RegexTrial (@"((?-i:a))b", RegexOptions.IgnoreCase, "aB", "Pass. Group[0]=(0,2) Group[1]=(0,1)"),\r
405                         new RegexTrial (@"(?-i:a)b", RegexOptions.IgnoreCase, "AB", "Fail."),\r
406                         new RegexTrial (@"((?-i:a))b", RegexOptions.IgnoreCase, "AB", "Fail."),\r
407                         new RegexTrial (@"((?-i:a.))b", RegexOptions.IgnoreCase, "a\nB", "Fail."),\r
408                         new RegexTrial (@"((?s-i:a.))b", RegexOptions.IgnoreCase, "a\nB", "Pass. Group[0]=(0,3) Group[1]=(0,2)"),\r
409                         new RegexTrial (@"((?s-i:a.))b", RegexOptions.IgnoreCase, "B\nB", "Fail."),\r
410                         new RegexTrial (@"(?:c|d)(?:)(?:a(?:)(?:b)(?:b(?:))(?:b(?:)(?:b)))", RegexOptions.None, "cabbbb", "Pass. Group[0]=(0,6)"),\r
411                         new RegexTrial (@"(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))", RegexOptions.None, "caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", "Pass. Group[0]=(0,41)"),\r
412                         new RegexTrial (@"(ab)\d\1", RegexOptions.IgnoreCase, "Ab4ab", "Pass. Group[0]=(0,5) Group[1]=(0,2)"),\r
413                         new RegexTrial (@"(ab)\d\1", RegexOptions.IgnoreCase, "ab4Ab", "Pass. Group[0]=(0,5) Group[1]=(0,2)"),\r
414                         new RegexTrial (@"foo\w*\d{4}baz", RegexOptions.None, "foobar1234baz", "Pass. Group[0]=(0,13)"),\r
415                         new RegexTrial (@"x(~~)*(?:(?:F)?)?", RegexOptions.None, "x~~", "Pass. Group[0]=(0,3) Group[1]=(1,2)"),\r
416                         new RegexTrial (@"^a(?#xxx){3}c", RegexOptions.None, "aaac", "Pass. Group[0]=(0,4)"),\r
417                         new RegexTrial (@"(?<![cd])b", RegexOptions.None, "dbcb", "Fail."),\r
418                         new RegexTrial (@"(?<![cd])[ab]", RegexOptions.None, "dbaacb", "Pass. Group[0]=(2,1)"),\r
419                         new RegexTrial (@"(?<!(c|d))b", RegexOptions.None, "dbcb", "Fail."),\r
420                         new RegexTrial (@"(?<!(c|d))[ab]", RegexOptions.None, "dbaacb", "Pass. Group[0]=(2,1) Group[1]="),\r
421                         new RegexTrial (@"(?<!cd)[ab]", RegexOptions.None, "cdaccb", "Pass. Group[0]=(5,1)"),\r
422                         new RegexTrial (@"^(?:a?b?)*$", RegexOptions.None, "a--", "Fail."),\r
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)"),\r
424                         new RegexTrial (@"((?m)^b$)", RegexOptions.None, "a\nb\nc\n", "Pass. Group[0]=(2,1) Group[1]=(2,1)"),\r
425                         new RegexTrial (@"(?m)^b", RegexOptions.None, "a\nb\n", "Pass. Group[0]=(2,1)"),\r
426                         new RegexTrial (@"(?m)^(b)", RegexOptions.None, "a\nb\n", "Pass. Group[0]=(2,1) Group[1]=(2,1)"),\r
427                         new RegexTrial (@"((?m)^b)", RegexOptions.None, "a\nb\n", "Pass. Group[0]=(2,1) Group[1]=(2,1)"),\r
428                         new RegexTrial (@"\n((?m)^b)", RegexOptions.None, "a\nb\n", "Pass. Group[0]=(1,2) Group[1]=(2,1)"),\r
429                         new RegexTrial (@"((?s).)c(?!.)", RegexOptions.None, "a\nb\nc\n", "Pass. Group[0]=(3,2) Group[1]=(3,1)"),\r
430                         new RegexTrial (@"((?s).)c(?!.)", RegexOptions.None, "a\nb\nc\n", "Pass. Group[0]=(3,2) Group[1]=(3,1)"),\r
431                         new RegexTrial (@"((?s)b.)c(?!.)", RegexOptions.None, "a\nb\nc\n", "Pass. Group[0]=(2,3) Group[1]=(2,2)"),\r
432                         new RegexTrial (@"((?s)b.)c(?!.)", RegexOptions.None, "a\nb\nc\n", "Pass. Group[0]=(2,3) Group[1]=(2,2)"),\r
433                         new RegexTrial (@"^b", RegexOptions.None, "a\nb\nc\n", "Fail."),\r
434                         new RegexTrial (@"()^b", RegexOptions.None, "a\nb\nc\n", "Fail."),\r
435                         new RegexTrial (@"((?m)^b)", RegexOptions.None, "a\nb\nc\n", "Pass. Group[0]=(2,1) Group[1]=(2,1)"),\r
436                         new RegexTrial (@"(x)?(?(1)a|b)", RegexOptions.None, "a", "Fail."),\r
437                         new RegexTrial (@"(x)?(?(1)b|a)", RegexOptions.None, "a", "Pass. Group[0]=(0,1) Group[1]="),\r
438                         new RegexTrial (@"()?(?(1)b|a)", RegexOptions.None, "a", "Pass. Group[0]=(0,1) Group[1]="),\r
439                         new RegexTrial (@"()(?(1)b|a)", RegexOptions.None, "a", "Fail."),\r
440                         new RegexTrial (@"()?(?(1)a|b)", RegexOptions.None, "a", "Pass. Group[0]=(0,1) Group[1]=(0,0)"),\r
441                         new RegexTrial (@"^(\()?blah(?(1)(\)))$", RegexOptions.None, "(blah)", "Pass. Group[0]=(0,6) Group[1]=(0,1) Group[2]=(5,1)"),\r
442                         new RegexTrial (@"^(\()?blah(?(1)(\)))$", RegexOptions.None, "blah", "Pass. Group[0]=(0,4) Group[1]= Group[2]="),\r
443                         new RegexTrial (@"^(\()?blah(?(1)(\)))$", RegexOptions.None, "blah)", "Fail."),\r
444                         new RegexTrial (@"^(\()?blah(?(1)(\)))$", RegexOptions.None, "(blah", "Fail."),\r
445                         new RegexTrial (@"^(\(+)?blah(?(1)(\)))$", RegexOptions.None, "(blah)", "Pass. Group[0]=(0,6) Group[1]=(0,1) Group[2]=(5,1)"),\r
446                         new RegexTrial (@"^(\(+)?blah(?(1)(\)))$", RegexOptions.None, "blah", "Pass. Group[0]=(0,4) Group[1]= Group[2]="),\r
447                         new RegexTrial (@"^(\(+)?blah(?(1)(\)))$", RegexOptions.None, "blah)", "Fail."),\r
448                         new RegexTrial (@"^(\(+)?blah(?(1)(\)))$", RegexOptions.None, "(blah", "Fail."),\r
449                         new RegexTrial (@"(?(1)a|b|c)", RegexOptions.None, "a", "Error."),\r
450                         new RegexTrial (@"(?(?!a)a|b)", RegexOptions.None, "a", "Fail."),\r
451                         new RegexTrial (@"(?(?!a)b|a)", RegexOptions.None, "a", "Pass. Group[0]=(0,1)"),\r
452                         new RegexTrial (@"(?(?=a)b|a)", RegexOptions.None, "a", "Fail."),\r
453                         new RegexTrial (@"(?(?=a)a|b)", RegexOptions.None, "a", "Pass. Group[0]=(0,1)"),\r
454                         new RegexTrial (@"(?=(a+?))(\1ab)", RegexOptions.None, "aaab", "Pass. Group[0]=(1,3) Group[1]=(1,1) Group[2]=(1,3)"),\r
455                         new RegexTrial (@"^(?=(a+?))\1ab", RegexOptions.None, "aaab", "Fail."),\r
456                         new RegexTrial (@"(\w+:)+", RegexOptions.None, "one:", "Pass. Group[0]=(0,4) Group[1]=(0,4)"),\r
457                         new RegexTrial (@"$(?<=^(a))", RegexOptions.None, "a", "Pass. Group[0]=(1,0) Group[1]=(0,1)"),\r
458                         new RegexTrial (@"(?=(a+?))(\1ab)", RegexOptions.None, "aaab", "Pass. Group[0]=(1,3) Group[1]=(1,1) Group[2]=(1,3)"),\r
459                         new RegexTrial (@"^(?=(a+?))\1ab", RegexOptions.None, "aaab", "Fail."),\r
460                         new RegexTrial (@"([\w:]+::)?(\w+)$", RegexOptions.None, "abcd:", "Fail."),\r
461                         new RegexTrial (@"([\w:]+::)?(\w+)$", RegexOptions.None, "abcd", "Pass. Group[0]=(0,4) Group[1]= Group[2]=(0,4)"),\r
462                         new RegexTrial (@"([\w:]+::)?(\w+)$", RegexOptions.None, "xy:z:::abcd", "Pass. Group[0]=(0,11) Group[1]=(0,7) Group[2]=(7,4)"),\r
463                         new RegexTrial (@"^[^bcd]*(c+)", RegexOptions.None, "aexycd", "Pass. Group[0]=(0,5) Group[1]=(4,1)"),\r
464                         new RegexTrial (@"(a*)b+", RegexOptions.None, "caab", "Pass. Group[0]=(1,3) Group[1]=(1,2)"),\r
465                         new RegexTrial (@"([\w:]+::)?(\w+)$", RegexOptions.None, "abcd:", "Fail."),\r
466                         new RegexTrial (@"([\w:]+::)?(\w+)$", RegexOptions.None, "abcd", "Pass. Group[0]=(0,4) Group[1]= Group[2]=(0,4)"),\r
467                         new RegexTrial (@"([\w:]+::)?(\w+)$", RegexOptions.None, "xy:z:::abcd", "Pass. Group[0]=(0,11) Group[1]=(0,7) Group[2]=(7,4)"),\r
468                         new RegexTrial (@"^[^bcd]*(c+)", RegexOptions.None, "aexycd", "Pass. Group[0]=(0,5) Group[1]=(4,1)"),\r
469                         new RegexTrial (@"(>a+)ab", RegexOptions.None, "aaab", "Fail."),\r
470                         new RegexTrial (@"(?>a+)b", RegexOptions.None, "aaab", "Pass. Group[0]=(0,4)"),\r
471                         new RegexTrial (@"([[:]+)", RegexOptions.None, "a:[b]:", "Pass. Group[0]=(1,2) Group[1]=(1,2)"),\r
472                         new RegexTrial (@"([[=]+)", RegexOptions.None, "a=[b]=", "Pass. Group[0]=(1,2) Group[1]=(1,2)"),\r
473                         new RegexTrial (@"([[.]+)", RegexOptions.None, "a.[b].", "Pass. Group[0]=(1,2) Group[1]=(1,2)"),\r
474                         new RegexTrial (@"[a[:]b[:c]", RegexOptions.None, "abc", "Pass. Group[0]=(0,3)"),\r
475                         new RegexTrial (@"[a[:]b[:c]", RegexOptions.None, "abc", "Pass. Group[0]=(0,3)"),\r
476                         new RegexTrial (@"((?>a+)b)", RegexOptions.None, "aaab", "Pass. Group[0]=(0,4) Group[1]=(0,4)"),\r
477                         new RegexTrial (@"(?>(a+))b", RegexOptions.None, "aaab", "Pass. Group[0]=(0,4) Group[1]=(0,3)"),\r
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)"),\r
479                         new RegexTrial (@"(?<=x+)", RegexOptions.None, "xxxxy", "Pass. Group[0]=(1,0)"),\r
480                         new RegexTrial (@"a{37,17}", RegexOptions.None, "-", "Error."),\r
481                         new RegexTrial (@"\Z", RegexOptions.None, "a\nb\n", "Pass. Group[0]=(3,0)"),\r
482                         new RegexTrial (@"\z", RegexOptions.None, "a\nb\n", "Pass. Group[0]=(4,0)"),\r
483                         new RegexTrial (@"$", RegexOptions.None, "a\nb\n", "Pass. Group[0]=(3,0)"),\r
484                         new RegexTrial (@"\Z", RegexOptions.None, "b\na\n", "Pass. Group[0]=(3,0)"),\r
485                         new RegexTrial (@"\z", RegexOptions.None, "b\na\n", "Pass. Group[0]=(4,0)"),\r
486                         new RegexTrial (@"$", RegexOptions.None, "b\na\n", "Pass. Group[0]=(3,0)"),\r
487                         new RegexTrial (@"\Z", RegexOptions.None, "b\na", "Pass. Group[0]=(3,0)"),\r
488                         new RegexTrial (@"\z", RegexOptions.None, "b\na", "Pass. Group[0]=(3,0)"),\r
489                         new RegexTrial (@"$", RegexOptions.None, "b\na", "Pass. Group[0]=(3,0)"),\r
490                         new RegexTrial (@"\Z", RegexOptions.Multiline, "a\nb\n", "Pass. Group[0]=(3,0)"),\r
491                         new RegexTrial (@"\z", RegexOptions.Multiline, "a\nb\n", "Pass. Group[0]=(4,0)"),\r
492                         new RegexTrial (@"$", RegexOptions.Multiline, "a\nb\n", "Pass. Group[0]=(1,0)"),\r
493                         new RegexTrial (@"\Z", RegexOptions.Multiline, "b\na\n", "Pass. Group[0]=(3,0)"),\r
494                         new RegexTrial (@"\z", RegexOptions.Multiline, "b\na\n", "Pass. Group[0]=(4,0)"),\r
495                         new RegexTrial (@"$", RegexOptions.Multiline, "b\na\n", "Pass. Group[0]=(1,0)"),\r
496                         new RegexTrial (@"\Z", RegexOptions.Multiline, "b\na", "Pass. Group[0]=(3,0)"),\r
497                         new RegexTrial (@"\z", RegexOptions.Multiline, "b\na", "Pass. Group[0]=(3,0)"),\r
498                         new RegexTrial (@"$", RegexOptions.Multiline, "b\na", "Pass. Group[0]=(1,0)"),\r
499                         new RegexTrial (@"a\Z", RegexOptions.None, "a\nb\n", "Fail."),\r
500                         new RegexTrial (@"a\z", RegexOptions.None, "a\nb\n", "Fail."),\r
501                         new RegexTrial (@"a$", RegexOptions.None, "a\nb\n", "Fail."),\r
502                         new RegexTrial (@"a\Z", RegexOptions.None, "b\na\n", "Pass. Group[0]=(2,1)"),\r
503                         new RegexTrial (@"a\z", RegexOptions.None, "b\na\n", "Fail."),\r
504                         new RegexTrial (@"a$", RegexOptions.None, "b\na\n", "Pass. Group[0]=(2,1)"),\r
505                         new RegexTrial (@"a\Z", RegexOptions.None, "b\na", "Pass. Group[0]=(2,1)"),\r
506                         new RegexTrial (@"a\z", RegexOptions.None, "b\na", "Pass. Group[0]=(2,1)"),\r
507                         new RegexTrial (@"a$", RegexOptions.None, "b\na", "Pass. Group[0]=(2,1)"),\r
508                         new RegexTrial (@"a\z", RegexOptions.Multiline, "a\nb\n", "Fail."),\r
509                         new RegexTrial (@"a$", RegexOptions.Multiline, "a\nb\n", "Pass. Group[0]=(0,1)"),\r
510                         new RegexTrial (@"a\Z", RegexOptions.Multiline, "b\na\n", "Pass. Group[0]=(2,1)"),\r
511                         new RegexTrial (@"a\z", RegexOptions.Multiline, "b\na\n", "Fail."),\r
512                         new RegexTrial (@"a$", RegexOptions.Multiline, "b\na\n", "Pass. Group[0]=(2,1)"),\r
513                         new RegexTrial (@"a\Z", RegexOptions.Multiline, "b\na", "Pass. Group[0]=(2,1)"),\r
514                         new RegexTrial (@"a\z", RegexOptions.Multiline, "b\na", "Pass. Group[0]=(2,1)"),\r
515                         new RegexTrial (@"a$", RegexOptions.Multiline, "b\na", "Pass. Group[0]=(2,1)"),\r
516                         new RegexTrial (@"aa\Z", RegexOptions.None, "aa\nb\n", "Fail."),\r
517                         new RegexTrial (@"aa\z", RegexOptions.None, "aa\nb\n", "Fail."),\r
518                         new RegexTrial (@"aa$", RegexOptions.None, "aa\nb\n", "Fail."),\r
519                         new RegexTrial (@"aa\Z", RegexOptions.None, "b\naa\n", "Pass. Group[0]=(2,2)"),\r
520                         new RegexTrial (@"aa\z", RegexOptions.None, "b\naa\n", "Fail."),\r
521                         new RegexTrial (@"aa$", RegexOptions.None, "b\naa\n", "Pass. Group[0]=(2,2)"),\r
522                         new RegexTrial (@"aa\Z", RegexOptions.None, "b\naa", "Pass. Group[0]=(2,2)"),\r
523                         new RegexTrial (@"aa\z", RegexOptions.None, "b\naa", "Pass. Group[0]=(2,2)"),\r
524                         new RegexTrial (@"aa$", RegexOptions.None, "b\naa", "Pass. Group[0]=(2,2)"),\r
525                         new RegexTrial (@"aa\z", RegexOptions.Multiline, "aa\nb\n", "Fail."),\r
526                         new RegexTrial (@"aa$", RegexOptions.Multiline, "aa\nb\n", "Pass. Group[0]=(0,2)"),\r
527                         new RegexTrial (@"aa\Z", RegexOptions.Multiline, "b\naa\n", "Pass. Group[0]=(2,2)"),\r
528                         new RegexTrial (@"aa\z", RegexOptions.Multiline, "b\naa\n", "Fail."),\r
529                         new RegexTrial (@"aa$", RegexOptions.Multiline, "b\naa\n", "Pass. Group[0]=(2,2)"),\r
530                         new RegexTrial (@"aa\Z", RegexOptions.Multiline, "b\naa", "Pass. Group[0]=(2,2)"),\r
531                         new RegexTrial (@"aa\z", RegexOptions.Multiline, "b\naa", "Pass. Group[0]=(2,2)"),\r
532                         new RegexTrial (@"aa$", RegexOptions.Multiline, "b\naa", "Pass. Group[0]=(2,2)"),\r
533                         new RegexTrial (@"aa\Z", RegexOptions.None, "ac\nb\n", "Fail."),\r
534                         new RegexTrial (@"aa\z", RegexOptions.None, "ac\nb\n", "Fail."),\r
535                         new RegexTrial (@"aa$", RegexOptions.None, "ac\nb\n", "Fail."),\r
536                         new RegexTrial (@"aa\Z", RegexOptions.None, "b\nac\n", "Fail."),\r
537                         new RegexTrial (@"aa\z", RegexOptions.None, "b\nac\n", "Fail."),\r
538                         new RegexTrial (@"aa$", RegexOptions.None, "b\nac\n", "Fail."),\r
539                         new RegexTrial (@"aa\Z", RegexOptions.None, "b\nac", "Fail."),\r
540                         new RegexTrial (@"aa\z", RegexOptions.None, "b\nac", "Fail."),\r
541                         new RegexTrial (@"aa$", RegexOptions.None, "b\nac", "Fail."),\r
542                         new RegexTrial (@"aa\Z", RegexOptions.Multiline, "ac\nb\n", "Fail."),\r
543                         new RegexTrial (@"aa\z", RegexOptions.Multiline, "ac\nb\n", "Fail."),\r
544                         new RegexTrial (@"aa$", RegexOptions.Multiline, "ac\nb\n", "Fail."),\r
545                         new RegexTrial (@"aa\Z", RegexOptions.Multiline, "b\nac\n", "Fail."),\r
546                         new RegexTrial (@"aa\z", RegexOptions.Multiline, "b\nac\n", "Fail."),\r
547                         new RegexTrial (@"aa$", RegexOptions.Multiline, "b\nac\n", "Fail."),\r
548                         new RegexTrial (@"aa\Z", RegexOptions.Multiline, "b\nac", "Fail."),\r
549                         new RegexTrial (@"aa\z", RegexOptions.Multiline, "b\nac", "Fail."),\r
550                         new RegexTrial (@"aa$", RegexOptions.Multiline, "b\nac", "Fail."),\r
551                         new RegexTrial (@"aa\Z", RegexOptions.None, "ca\nb\n", "Fail."),\r
552                         new RegexTrial (@"aa\z", RegexOptions.None, "ca\nb\n", "Fail."),\r
553                         new RegexTrial (@"aa$", RegexOptions.None, "ca\nb\n", "Fail."),\r
554                         new RegexTrial (@"aa\Z", RegexOptions.None, "b\nca\n", "Fail."),\r
555                         new RegexTrial (@"aa\z", RegexOptions.None, "b\nca\n", "Fail."),\r
556                         new RegexTrial (@"aa$", RegexOptions.None, "b\nca\n", "Fail."),\r
557                         new RegexTrial (@"aa\Z", RegexOptions.None, "b\nca", "Fail."),\r
558                         new RegexTrial (@"aa\z", RegexOptions.None, "b\nca", "Fail."),\r
559                         new RegexTrial (@"aa$", RegexOptions.None, "b\nca", "Fail."),\r
560                         new RegexTrial (@"aa\Z", RegexOptions.Multiline, "ca\nb\n", "Fail."),\r
561                         new RegexTrial (@"aa\z", RegexOptions.Multiline, "ca\nb\n", "Fail."),\r
562                         new RegexTrial (@"aa$", RegexOptions.Multiline, "ca\nb\n", "Fail."),\r
563                         new RegexTrial (@"aa\Z", RegexOptions.Multiline, "b\nca\n", "Fail."),\r
564                         new RegexTrial (@"aa\z", RegexOptions.Multiline, "b\nca\n", "Fail."),\r
565                         new RegexTrial (@"aa$", RegexOptions.Multiline, "b\nca\n", "Fail."),\r
566                         new RegexTrial (@"aa\Z", RegexOptions.Multiline, "b\nca", "Fail."),\r
567                         new RegexTrial (@"aa\z", RegexOptions.Multiline, "b\nca", "Fail."),\r
568                         new RegexTrial (@"aa$", RegexOptions.Multiline, "b\nca", "Fail."),\r
569                         new RegexTrial (@"ab\Z", RegexOptions.None, "ab\nb\n", "Fail."),\r
570                         new RegexTrial (@"ab\z", RegexOptions.None, "ab\nb\n", "Fail."),\r
571                         new RegexTrial (@"ab$", RegexOptions.None, "ab\nb\n", "Fail."),\r
572                         new RegexTrial (@"ab\Z", RegexOptions.None, "b\nab\n", "Pass. Group[0]=(2,2)"),\r
573                         new RegexTrial (@"ab\z", RegexOptions.None, "b\nab\n", "Fail."),\r
574                         new RegexTrial (@"ab$", RegexOptions.None, "b\nab\n", "Pass. Group[0]=(2,2)"),\r
575                         new RegexTrial (@"ab\Z", RegexOptions.None, "b\nab", "Pass. Group[0]=(2,2)"),\r
576                         new RegexTrial (@"ab\z", RegexOptions.None, "b\nab", "Pass. Group[0]=(2,2)"),\r
577                         new RegexTrial (@"ab$", RegexOptions.None, "b\nab", "Pass. Group[0]=(2,2)"),\r
578                         new RegexTrial (@"ab\z", RegexOptions.Multiline, "ab\nb\n", "Fail."),\r
579                         new RegexTrial (@"ab$", RegexOptions.Multiline, "ab\nb\n", "Pass. Group[0]=(0,2)"),\r
580                         new RegexTrial (@"ab\Z", RegexOptions.Multiline, "b\nab\n", "Pass. Group[0]=(2,2)"),\r
581                         new RegexTrial (@"ab\z", RegexOptions.Multiline, "b\nab\n", "Fail."),\r
582                         new RegexTrial (@"ab$", RegexOptions.Multiline, "b\nab\n", "Pass. Group[0]=(2,2)"),\r
583                         new RegexTrial (@"ab\Z", RegexOptions.Multiline, "b\nab", "Pass. Group[0]=(2,2)"),\r
584                         new RegexTrial (@"ab\z", RegexOptions.Multiline, "b\nab", "Pass. Group[0]=(2,2)"),\r
585                         new RegexTrial (@"ab$", RegexOptions.Multiline, "b\nab", "Pass. Group[0]=(2,2)"),\r
586                         new RegexTrial (@"ab\Z", RegexOptions.None, "ac\nb\n", "Fail."),\r
587                         new RegexTrial (@"ab\z", RegexOptions.None, "ac\nb\n", "Fail."),\r
588                         new RegexTrial (@"ab$", RegexOptions.None, "ac\nb\n", "Fail."),\r
589                         new RegexTrial (@"ab\Z", RegexOptions.None, "b\nac\n", "Fail."),\r
590                         new RegexTrial (@"ab\z", RegexOptions.None, "b\nac\n", "Fail."),\r
591                         new RegexTrial (@"ab$", RegexOptions.None, "b\nac\n", "Fail."),\r
592                         new RegexTrial (@"ab\Z", RegexOptions.None, "b\nac", "Fail."),\r
593                         new RegexTrial (@"ab\z", RegexOptions.None, "b\nac", "Fail."),\r
594                         new RegexTrial (@"ab$", RegexOptions.None, "b\nac", "Fail."),\r
595                         new RegexTrial (@"ab\Z", RegexOptions.Multiline, "ac\nb\n", "Fail."),\r
596                         new RegexTrial (@"ab\z", RegexOptions.Multiline, "ac\nb\n", "Fail."),\r
597                         new RegexTrial (@"ab$", RegexOptions.Multiline, "ac\nb\n", "Fail."),\r
598                         new RegexTrial (@"ab\Z", RegexOptions.Multiline, "b\nac\n", "Fail."),\r
599                         new RegexTrial (@"ab\z", RegexOptions.Multiline, "b\nac\n", "Fail."),\r
600                         new RegexTrial (@"ab$", RegexOptions.Multiline, "b\nac\n", "Fail."),\r
601                         new RegexTrial (@"ab\Z", RegexOptions.Multiline, "b\nac", "Fail."),\r
602                         new RegexTrial (@"ab\z", RegexOptions.Multiline, "b\nac", "Fail."),\r
603                         new RegexTrial (@"ab$", RegexOptions.Multiline, "b\nac", "Fail."),\r
604                         new RegexTrial (@"ab\Z", RegexOptions.None, "ca\nb\n", "Fail."),\r
605                         new RegexTrial (@"ab\z", RegexOptions.None, "ca\nb\n", "Fail."),\r
606                         new RegexTrial (@"ab$", RegexOptions.None, "ca\nb\n", "Fail."),\r
607                         new RegexTrial (@"ab\Z", RegexOptions.None, "b\nca\n", "Fail."),\r
608                         new RegexTrial (@"ab\z", RegexOptions.None, "b\nca\n", "Fail."),\r
609                         new RegexTrial (@"ab$", RegexOptions.None, "b\nca\n", "Fail."),\r
610                         new RegexTrial (@"ab\Z", RegexOptions.None, "b\nca", "Fail."),\r
611                         new RegexTrial (@"ab\z", RegexOptions.None, "b\nca", "Fail."),\r
612                         new RegexTrial (@"ab$", RegexOptions.None, "b\nca", "Fail."),\r
613                         new RegexTrial (@"ab\Z", RegexOptions.Multiline, "ca\nb\n", "Fail."),\r
614                         new RegexTrial (@"ab\z", RegexOptions.Multiline, "ca\nb\n", "Fail."),\r
615                         new RegexTrial (@"ab$", RegexOptions.Multiline, "ca\nb\n", "Fail."),\r
616                         new RegexTrial (@"ab\Z", RegexOptions.Multiline, "b\nca\n", "Fail."),\r
617                         new RegexTrial (@"ab\z", RegexOptions.Multiline, "b\nca\n", "Fail."),\r
618                         new RegexTrial (@"ab$", RegexOptions.Multiline, "b\nca\n", "Fail."),\r
619                         new RegexTrial (@"ab\Z", RegexOptions.Multiline, "b\nca", "Fail."),\r
620                         new RegexTrial (@"ab\z", RegexOptions.Multiline, "b\nca", "Fail."),\r
621                         new RegexTrial (@"ab$", RegexOptions.Multiline, "b\nca", "Fail."),\r
622                         new RegexTrial (@"abb\Z", RegexOptions.None, "abb\nb\n", "Fail."),\r
623                         new RegexTrial (@"abb\z", RegexOptions.None, "abb\nb\n", "Fail."),\r
624                         new RegexTrial (@"abb$", RegexOptions.None, "abb\nb\n", "Fail."),\r
625                         new RegexTrial (@"abb\Z", RegexOptions.None, "b\nabb\n", "Pass. Group[0]=(2,3)"),\r
626                         new RegexTrial (@"abb\z", RegexOptions.None, "b\nabb\n", "Fail."),\r
627                         new RegexTrial (@"abb$", RegexOptions.None, "b\nabb\n", "Pass. Group[0]=(2,3)"),\r
628                         new RegexTrial (@"abb\Z", RegexOptions.None, "b\nabb", "Pass. Group[0]=(2,3)"),\r
629                         new RegexTrial (@"abb\z", RegexOptions.None, "b\nabb", "Pass. Group[0]=(2,3)"),\r
630                         new RegexTrial (@"abb$", RegexOptions.None, "b\nabb", "Pass. Group[0]=(2,3)"),\r
631                         new RegexTrial (@"abb\z", RegexOptions.Multiline, "abb\nb\n", "Fail."),\r
632                         new RegexTrial (@"abb$", RegexOptions.Multiline, "abb\nb\n", "Pass. Group[0]=(0,3)"),\r
633                         new RegexTrial (@"abb\Z", RegexOptions.Multiline, "b\nabb\n", "Pass. Group[0]=(2,3)"),\r
634                         new RegexTrial (@"abb\z", RegexOptions.Multiline, "b\nabb\n", "Fail."),\r
635                         new RegexTrial (@"abb$", RegexOptions.Multiline, "b\nabb\n", "Pass. Group[0]=(2,3)"),\r
636                         new RegexTrial (@"abb\Z", RegexOptions.Multiline, "b\nabb", "Pass. Group[0]=(2,3)"),\r
637                         new RegexTrial (@"abb\z", RegexOptions.Multiline, "b\nabb", "Pass. Group[0]=(2,3)"),\r
638                         new RegexTrial (@"abb$", RegexOptions.Multiline, "b\nabb", "Pass. Group[0]=(2,3)"),\r
639                         new RegexTrial (@"abb\Z", RegexOptions.None, "ac\nb\n", "Fail."),\r
640                         new RegexTrial (@"abb\z", RegexOptions.None, "ac\nb\n", "Fail."),\r
641                         new RegexTrial (@"abb$", RegexOptions.None, "ac\nb\n", "Fail."),\r
642                         new RegexTrial (@"abb\Z", RegexOptions.None, "b\nac\n", "Fail."),\r
643                         new RegexTrial (@"abb\z", RegexOptions.None, "b\nac\n", "Fail."),\r
644                         new RegexTrial (@"abb$", RegexOptions.None, "b\nac\n", "Fail."),\r
645                         new RegexTrial (@"abb\Z", RegexOptions.None, "b\nac", "Fail."),\r
646                         new RegexTrial (@"abb\z", RegexOptions.None, "b\nac", "Fail."),\r
647                         new RegexTrial (@"abb$", RegexOptions.None, "b\nac", "Fail."),\r
648                         new RegexTrial (@"abb\Z", RegexOptions.Multiline, "ac\nb\n", "Fail."),\r
649                         new RegexTrial (@"abb\z", RegexOptions.Multiline, "ac\nb\n", "Fail."),\r
650                         new RegexTrial (@"abb$", RegexOptions.Multiline, "ac\nb\n", "Fail."),\r
651                         new RegexTrial (@"abb\Z", RegexOptions.Multiline, "b\nac\n", "Fail."),\r
652                         new RegexTrial (@"abb\z", RegexOptions.Multiline, "b\nac\n", "Fail."),\r
653                         new RegexTrial (@"abb$", RegexOptions.Multiline, "b\nac\n", "Fail."),\r
654                         new RegexTrial (@"abb\Z", RegexOptions.Multiline, "b\nac", "Fail."),\r
655                         new RegexTrial (@"abb\z", RegexOptions.Multiline, "b\nac", "Fail."),\r
656                         new RegexTrial (@"abb$", RegexOptions.Multiline, "b\nac", "Fail."),\r
657                         new RegexTrial (@"abb\Z", RegexOptions.None, "ca\nb\n", "Fail."),\r
658                         new RegexTrial (@"abb\z", RegexOptions.None, "ca\nb\n", "Fail."),\r
659                         new RegexTrial (@"abb$", RegexOptions.None, "ca\nb\n", "Fail."),\r
660                         new RegexTrial (@"abb\Z", RegexOptions.None, "b\nca\n", "Fail."),\r
661                         new RegexTrial (@"abb\z", RegexOptions.None, "b\nca\n", "Fail."),\r
662                         new RegexTrial (@"abb$", RegexOptions.None, "b\nca\n", "Fail."),\r
663                         new RegexTrial (@"abb\Z", RegexOptions.None, "b\nca", "Fail."),\r
664                         new RegexTrial (@"abb\z", RegexOptions.None, "b\nca", "Fail."),\r
665                         new RegexTrial (@"abb$", RegexOptions.None, "b\nca", "Fail."),\r
666                         new RegexTrial (@"abb\Z", RegexOptions.Multiline, "ca\nb\n", "Fail."),\r
667                         new RegexTrial (@"abb\z", RegexOptions.Multiline, "ca\nb\n", "Fail."),\r
668                         new RegexTrial (@"abb$", RegexOptions.Multiline, "ca\nb\n", "Fail."),\r
669                         new RegexTrial (@"abb\Z", RegexOptions.Multiline, "b\nca\n", "Fail."),\r
670                         new RegexTrial (@"abb\z", RegexOptions.Multiline, "b\nca\n", "Fail."),\r
671                         new RegexTrial (@"abb$", RegexOptions.Multiline, "b\nca\n", "Fail."),\r
672                         new RegexTrial (@"abb\Z", RegexOptions.Multiline, "b\nca", "Fail."),\r
673                         new RegexTrial (@"abb\z", RegexOptions.Multiline, "b\nca", "Fail."),\r
674                         new RegexTrial (@"abb$", RegexOptions.Multiline, "b\nca", "Fail."),\r
675                         new RegexTrial (@"(^|x)(c)", RegexOptions.None, "ca", "Pass. Group[0]=(0,1) Group[1]=(0,0) Group[2]=(0,1)"),\r
676                         new RegexTrial (@"a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz", RegexOptions.None, "x", "Fail."),\r
677                         new RegexTrial (@"round\(((?>[^()]+))\)", RegexOptions.None, "_I(round(xs * sz),1)", "Pass. Group[0]=(3,14) Group[1]=(9,7)"),\r
678                         new RegexTrial (@"foo.bart", RegexOptions.None, "foo.bart", "Pass. Group[0]=(0,8)"),\r
679                         new RegexTrial (@"^d[x][x][x]", RegexOptions.Multiline, "abcd\ndxxx", "Pass. Group[0]=(5,4)"),\r
680                         new RegexTrial (@".X(.+)+X", RegexOptions.None, "bbbbXcXaaaaaaaa", "Pass. Group[0]=(3,4) Group[1]=(5,1)"),\r
681                         new RegexTrial (@".X(.+)+XX", RegexOptions.None, "bbbbXcXXaaaaaaaa", "Pass. Group[0]=(3,5) Group[1]=(5,1)"),\r
682                         new RegexTrial (@".XX(.+)+X", RegexOptions.None, "bbbbXXcXaaaaaaaa", "Pass. Group[0]=(3,5) Group[1]=(6,1)"),\r
683                         new RegexTrial (@".X(.+)+X", RegexOptions.None, "bbbbXXaaaaaaaaa", "Fail."),\r
684                         new RegexTrial (@".X(.+)+XX", RegexOptions.None, "bbbbXXXaaaaaaaaa", "Fail."),\r
685                         new RegexTrial (@".XX(.+)+X", RegexOptions.None, "bbbbXXXaaaaaaaaa", "Fail."),\r
686                         new RegexTrial (@".X(.+)+[X]", RegexOptions.None, "bbbbXcXaaaaaaaa", "Pass. Group[0]=(3,4) Group[1]=(5,1)"),\r
687                         new RegexTrial (@".X(.+)+[X][X]", RegexOptions.None, "bbbbXcXXaaaaaaaa", "Pass. Group[0]=(3,5) Group[1]=(5,1)"),\r
688                         new RegexTrial (@".XX(.+)+[X]", RegexOptions.None, "bbbbXXcXaaaaaaaa", "Pass. Group[0]=(3,5) Group[1]=(6,1)"),\r
689                         new RegexTrial (@".X(.+)+[X]", RegexOptions.None, "bbbbXXaaaaaaaaa", "Fail."),\r
690                         new RegexTrial (@".X(.+)+[X][X]", RegexOptions.None, "bbbbXXXaaaaaaaaa", "Fail."),\r
691                         new RegexTrial (@".XX(.+)+[X]", RegexOptions.None, "bbbbXXXaaaaaaaaa", "Fail."),\r
692                         new RegexTrial (@".[X](.+)+[X]", RegexOptions.None, "bbbbXcXaaaaaaaa", "Pass. Group[0]=(3,4) Group[1]=(5,1)"),\r
693                         new RegexTrial (@".[X](.+)+[X][X]", RegexOptions.None, "bbbbXcXXaaaaaaaa", "Pass. Group[0]=(3,5) Group[1]=(5,1)"),\r
694                         new RegexTrial (@".[X][X](.+)+[X]", RegexOptions.None, "bbbbXXcXaaaaaaaa", "Pass. Group[0]=(3,5) Group[1]=(6,1)"),\r
695                         new RegexTrial (@".[X](.+)+[X]", RegexOptions.None, "bbbbXXaaaaaaaaa", "Fail."),\r
696                         new RegexTrial (@".[X](.+)+[X][X]", RegexOptions.None, "bbbbXXXaaaaaaaaa", "Fail."),\r
697                         new RegexTrial (@".[X][X](.+)+[X]", RegexOptions.None, "bbbbXXXaaaaaaaaa", "Fail."),\r
698                         new RegexTrial (@"tt+$", RegexOptions.None, "xxxtt", "Pass. Group[0]=(3,2)"),\r
699                         new RegexTrial (@"([\d-z]+)", RegexOptions.None, "a0-za", "Pass. Group[0]=(1,3) Group[1]=(1,3)"),\r
700                         new RegexTrial (@"([\d-\s]+)", RegexOptions.None, "a0- z", "Pass. Group[0]=(1,3) Group[1]=(1,3)"),\r
701                         new RegexTrial (@"\GX.*X", RegexOptions.None, "aaaXbX", "Fail."),\r
702                         new RegexTrial (@"(\d+\.\d+)", RegexOptions.None, "3.1415926", "Pass. Group[0]=(0,9) Group[1]=(0,9)"),\r
703                         new RegexTrial (@"(\ba.{0,10}br)", RegexOptions.None, "have a web browser", "Pass. Group[0]=(5,8) Group[1]=(5,8)"),\r
704                         new RegexTrial (@"\.c(pp|xx|c)?$", RegexOptions.IgnoreCase, "Changes", "Fail."),\r
705                         new RegexTrial (@"\.c(pp|xx|c)?$", RegexOptions.IgnoreCase, "IO.c", "Pass. Group[0]=(2,2) Group[1]="),\r
706                         new RegexTrial (@"(\.c(pp|xx|c)?$)", RegexOptions.IgnoreCase, "IO.c", "Pass. Group[0]=(2,2) Group[1]=(2,2) Group[2]="),\r
707                         new RegexTrial (@"^([a-z]:)", RegexOptions.None, "C:/", "Fail."),\r
708                         new RegexTrial (@"^\S\s+aa$", RegexOptions.Multiline, "\nx aa", "Pass. Group[0]=(1,4)"),\r
709                         new RegexTrial (@"(^|a)b", RegexOptions.None, "ab", "Pass. Group[0]=(0,2) Group[1]=(0,1)"),\r
710                         new RegexTrial (@"^([ab]*?)(b)?(c)$", RegexOptions.None, "abac", "Pass. Group[0]=(0,4) Group[1]=(0,3) Group[2]= Group[3]=(3,1)"),\r
711                         new RegexTrial (@"(\w)?(abc)\1b", RegexOptions.None, "abcab", "Fail."),\r
712                         new RegexTrial (@"^(?:.,){2}c", RegexOptions.None, "a,b,c", "Pass. Group[0]=(0,5)"),\r
713                         new RegexTrial (@"^(.,){2}c", RegexOptions.None, "a,b,c", "Pass. Group[0]=(0,5) Group[1]=(0,2)(2,2)"),\r
714                         new RegexTrial (@"^(?:[^,]*,){2}c", RegexOptions.None, "a,b,c", "Pass. Group[0]=(0,5)"),\r
715                         new RegexTrial (@"^([^,]*,){2}c", RegexOptions.None, "a,b,c", "Pass. Group[0]=(0,5) Group[1]=(0,2)(2,2)"),\r
716                         new RegexTrial (@"^([^,]*,){3}d", RegexOptions.None, "aaa,b,c,d", "Pass. Group[0]=(0,9) Group[1]=(0,4)(4,2)(6,2)"),\r
717                         new RegexTrial (@"^([^,]*,){3,}d", RegexOptions.None, "aaa,b,c,d", "Pass. Group[0]=(0,9) Group[1]=(0,4)(4,2)(6,2)"),\r
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)"),\r
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)"),\r
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)"),\r
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)"),\r
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)"),\r
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)"),\r
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)"),\r
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)"),\r
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)"),\r
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)"),\r
728                         new RegexTrial (@"(?i)", RegexOptions.None, "", "Pass. Group[0]=(0,0)"),\r
729                         new RegexTrial (@"(?!\A)x", RegexOptions.Multiline, "a\nxb\n", "Pass. Group[0]=(2,1)"),\r
730                         new RegexTrial (@"^(a(b)?)+$", RegexOptions.None, "aba", "Pass. Group[0]=(0,3) Group[1]=(0,2)(2,1) Group[2]=(1,1)"),\r
731                         new RegexTrial (@"^(aa(bb)?)+$", RegexOptions.None, "aabbaa", "Pass. Group[0]=(0,6) Group[1]=(0,4)(4,2) Group[2]=(2,2)"),\r
732                         new RegexTrial (@"^.{9}abc.*\n", RegexOptions.Multiline, "123\nabcabcabcabc\n", "Pass. Group[0]=(4,13)"),\r
733                         new RegexTrial (@"^(a)?a$", RegexOptions.None, "a", "Pass. Group[0]=(0,1) Group[1]="),\r
734                         new RegexTrial (@"^(a)?(?(1)a|b)+$", RegexOptions.None, "a", "Fail."),\r
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)"),\r
736                         new RegexTrial (@"^(a\1?){4}$", RegexOptions.None, "aaaaaa", "Pass. Group[0]=(0,6) Group[1]=(0,1)(1,2)(3,1)(4,2)"),\r
737                         new RegexTrial (@"^(0+)?(?:x(1))?", RegexOptions.None, "x1", "Pass. Group[0]=(0,2) Group[1]= Group[2]=(1,1)"),\r
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)"),\r
739                         new RegexTrial (@"^(b+?|a){1,2}c", RegexOptions.None, "bbbac", "Pass. Group[0]=(0,5) Group[1]=(0,3)(3,1)"),\r
740                         new RegexTrial (@"^(b+?|a){1,2}c", RegexOptions.None, "bbbbac", "Pass. Group[0]=(0,6) Group[1]=(0,4)(4,1)"),\r
741                         new RegexTrial (@"\((\w\. \w+)\)", RegexOptions.None, "cd. (A. Tw)", "Pass. Group[0]=(4,7) Group[1]=(5,5)"),\r
742                         new RegexTrial (@"((?:aaaa|bbbb)cccc)?", RegexOptions.None, "aaaacccc", "Pass. Group[0]=(0,8) Group[1]=(0,8)"),\r
743                         new RegexTrial (@"((?:aaaa|bbbb)cccc)?", RegexOptions.None, "bbbbcccc", "Pass. Group[0]=(0,8) Group[1]=(0,8)")\r
744                 };\r
745         }\r
746 }\r