1: converted from the perl re_tests 2001-05-25
2
3E	abc		abc		(0,3)
4E	abc		xbc		NOMATCH
5E	abc		axc		NOMATCH
6E	abc		abx		NOMATCH
7E	abc		xabcy		(1,4)
8E	abc		ababc		(2,5)
9E	ab*c		abc		(0,3)
10E	ab*bc		abc		(0,3)
11E	ab*bc		abbc		(0,4)
12E	ab*bc		abbbbc		(0,6)
13E	ab{0,}bc	abbbbc		(0,6)
14E	ab+bc		abbc		(0,4)
15E	ab+bc		abc		NOMATCH
16E	ab+bc		abq		NOMATCH
17E	ab{1,}bc	abq		NOMATCH
18E	ab+bc		abbbbc		(0,6)
19E	ab{1,}bc	abbbbc		(0,6)
20E	ab{1,3}bc	abbbbc		(0,6)
21E	ab{3,4}bc	abbbbc		(0,6)
22E	ab{4,5}bc	abbbbc		NOMATCH
23E	ab?bc		abbc		(0,4)
24E	ab?bc		abc		(0,3)
25E	ab{0,1}bc	abc		(0,3)
26E	ab?bc		abbbbc		NOMATCH
27E	ab?c		abc		(0,3)
28E	ab{0,1}c	abc		(0,3)
29E	^abc$		abc		(0,3)
30E	^abc$		abcc		NOMATCH
31E	^abc		abcc		(0,3)
32E	^abc$		aabc		NOMATCH
33E	abc$		aabc		(1,4)
34E	^		abc		(0,0)
35E	$		abc		(3,3)
36E	a.c		abc		(0,3)
37E	a.c		axc		(0,3)
38E	a.*c		axyzc		(0,5)
39E	a.*c		axyzd		NOMATCH
40E	a[bc]d		abc		NOMATCH
41E	a[bc]d		abd		(0,3)
42E	a[b-d]e		abd		NOMATCH
43E	a[b-d]e		ace		(0,3)
44E	a[b-d]		aac		(1,3)
45E	a[-b]		a-		(0,2)
46E	a[b-]		a-		(0,2)
47E	a[b-a]		-		ERANGE
48E	a[]b		-		EBRACK
49E	a[		-		EBRACK
50E	a]		a]		(0,2)
51E	a[]]b		a]b		(0,3)
52E	a[^bc]d		aed		(0,3)
53E	a[^bc]d		abd		NOMATCH
54E	a[^-b]c		adc		(0,3)
55E	a[^-b]c		a-c		NOMATCH
56E	a[^]b]c		a]c		NOMATCH
57E	a[^]b]c		adc		(0,3)
58E	ab|cd		abc		(0,2)
59E	ab|cd		abcd		(0,2)
60E	()ef		def		ENULL
61Ez	()ef		def		(1,3)(1,1)
62E	*a		-		BADRPT
63E	(*)b		-		BADRPT
64E	$b		b		NOMATCH
65E	a\		-		EESCAPE
66E	a\(b		a(b		(0,3)
67E	a\(*b		ab		(0,2)
68E	a\(*b		a((b		(0,4)
69E	a\\b		a\b		(0,3)
70E	abc)		-		NOMATCH
71E	abc)		abc)		(0,4)
72E	(abc		-		EPAREN
73E	((a))		abc		(0,1)(0,1)(0,1)
74E	(a)b(c)		abc		(0,3)(0,1)(2,3)
75E	a+b+c		aabbabc		(4,7)
76E	a{1,}b{1,}c	aabbabc		(4,7)
77E	a**		-		(0,0)
78E	a.+?c		abcabc		(0,3)
79E	(a+|b)*		ab		(0,2)(1,2)
80E	(a+|b){0,}	ab		(0,2)(1,2)
81E	(a+|b)+		ab		(0,2)(1,2)
82E	(a+|b){1,}	ab		(0,2)(1,2)
83E	(a+|b)?		ab		(0,1)(0,1)
84E	(a+|b){0,1}	ab		(0,1)(0,1)
85E	)(		-		EPAREN
86E	[^ab]*		cde		(0,3)
87E	abc		n		NOMATCH
88E	a*		y		(0,0)
89E	([abc])*d	abbbcd		(0,6)(4,5)
90E	([abc])*bcd	abcd		(0,4)(0,1)
91E	a|b|c|d|e	e		(0,1)
92E	(a|b|c|d|e)f	ef		(0,2)(0,1)
93E	abcd*efg	abcdefg		(0,7)
94E	ab*		xabyabbbz	(1,3)
95E	ab*		xayabbbz	(1,2)
96E	(ab|cd)e	abcde		(2,5)(2,4)
97E	[abhgefdc]ij	hij		(0,3)
98E	^(ab|cd)e	abcde		NOMATCH
99E	(abc|)ef	abcdef		ENULL
100Ez	(abc|)ef	abcdef		(4,6)(4,4)
101E	(a|b)c*d	abcd		(1,4)(1,2)
102E	(ab|ab*)bc	abc		(0,3)(0,1)
103E	a([bc]*)c*	abc		(0,3)(1,3)
104E	a([bc]*)(c*d)	abcd		(0,4)(1,3)(3,4)
105E	a([bc]+)(c*d)	abcd		(0,4)(1,3)(3,4)
106E	a([bc]*)(c+d)	abcd		(0,4)(1,2)(2,4)
107E	a[bcd]*dcdcde	adcdcde		(0,7)
108E	a[bcd]+dcdcde	adcdcde		NOMATCH
109E	(ab|a)b*c	abc		(0,3)(0,2)
110E	((a)(b)c)(d)	abcd		(0,4)(0,3)(0,1)(1,2)(3,4)
111
112E	[a-zA-Z_][a-zA-Z0-9_]*		alpha		(0,5)
113E	^a(bc+|b[eh])g|.h$		abh		(1,3)
114E	(bc+d$|ef*g.|h?i(j|k))		effgz		(0,5)(0,5)
115E	(bc+d$|ef*g.|h?i(j|k))		ij		(0,2)(0,2)(1,2)
116E	(bc+d$|ef*g.|h?i(j|k))		effg		NOMATCH
117E	(bc+d$|ef*g.|h?i(j|k))		bcdd		NOMATCH
118E	(bc+d$|ef*g.|h?i(j|k))		reffgz		(1,6)(1,6)
119E	((((((((((a))))))))))		a		(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)
120E	((((((((((a))))))))))\10	aa		NOMATCH
121E	((((((((((a))))))))))\41	aa		NOMATCH
122E	((((((((((a))))))))))\41	a!		NOMATCH
123E	((((((((((a))))))))))\041	a!		(0,2)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)
124E	(((((((((a)))))))))		a		(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)
125E	multiple words of text		uh-uh		NOMATCH
126E	multiple words		multiple words, yeah		(0,14)
127E	(.*)c(.*)		abcde		(0,5)(0,2)(3,5)
128E	\((.*), (.*)\)		(a, b)		(0,6)(1,2)(4,5)
129E	[k]		ab		NOMATCH
130E	abcd		abcd		(0,4)
131E	a(bc)d		abcd		(0,4)(1,3)
132E	a[-]?c		ac		(0,2)
133E	(abc)\1		abcabc		(0,6)(0,3)
134E	([a-c]*)\1	abcabc		(0,6)(0,3)
135Ei	abc		ABC		(0,3)
136Ei	abc		XBC		NOMATCH
137Ei	abc		AXC		NOMATCH
138Ei	abc		ABX		NOMATCH
139Ei	abc		XABCY		(1,4)
140Ei	abc		ABABC		(2,5)
141Ei	ab*c		ABC		(0,3)
142Ei	ab*bc		ABC		(0,3)
143Ei	ab*bc		ABBC		(0,4)
144Ei	ab*?bc		ABBBBC		(0,6)
145Ei	ab{0,}?bc	ABBBBC		(0,6)
146Ei	ab+?bc		ABBC		(0,4)
147Ei	ab+bc		ABC		NOMATCH
148Ei	ab+bc		ABQ		NOMATCH
149Ei	ab{1,}bc	ABQ		NOMATCH
150Ei	ab+bc		ABBBBC		(0,6)
151Ei	ab{1,}?bc	ABBBBC		(0,6)
152Ei	ab{1,3}?bc	ABBBBC		(0,6)
153Ei	ab{3,4}?bc	ABBBBC		(0,6)
154Ei	ab{4,5}?bc	ABBBBC		NOMATCH
155Ei	ab??bc		ABBC		(0,4)
156Ei	ab??bc		ABC		(0,3)
157Ei	ab{0,1}?bc	ABC		(0,3)
158Ei	ab??bc		ABBBBC		NOMATCH
159Ei	ab??c		ABC		(0,3)
160Ei	ab{0,1}?c	ABC		(0,3)
161Ei	^abc$		ABC		(0,3)
162Ei	^abc$		ABCC		NOMATCH
163Ei	^abc		ABCC		(0,3)
164Ei	^abc$		AABC		NOMATCH
165Ei	abc$		AABC		(1,4)
166Ei	^		ABC		(0,0)
167Ei	$		ABC		(3,3)
168Ei	a.c		ABC		(0,3)
169Ei	a.c		AXC		(0,3)
170Ei	a.*?c		AXYZC		(0,5)
171Ei	a.*c		AXYZD		NOMATCH
172Ei	a[bc]d		ABC		NOMATCH
173Ei	a[bc]d		ABD		(0,3)
174Ei	a[b-d]e		ABD		NOMATCH
175Ei	a[b-d]e		ACE		(0,3)
176Ei	a[b-d]		AAC		(1,3)
177Ei	a[-b]		A-		(0,2)
178Ei	a[b-]		A-		(0,2)
179Ei	a[b-a]		-		ERANGE
180Ei	a[]b		-		EBRACK
181Ei	a[		-		EBRACK
182Ei	a]		A]		(0,2)
183Ei	a[]]b		A]B		(0,3)
184Ei	a[^bc]d		AED		(0,3)
185Ei	a[^bc]d		ABD		NOMATCH
186Ei	a[^-b]c		ADC		(0,3)
187Ei	a[^-b]c		A-C		NOMATCH
188Ei	a[^]b]c		A]C		NOMATCH
189Ei	a[^]b]c		ADC		(0,3)
190Ei	ab|cd		ABC		(0,2)
191Ei	ab|cd		ABCD		(0,2)
192Ei	()ef		DEF		ENULL
193Eiz	()ef		DEF		(1,3)(1,1)
194Ei	*a		-		BADRPT
195Ei	(*)b		-		BADRPT
196Ei	$b		B		NOMATCH
197Ei	a\		-		EESCAPE
198Ei	a\(b		A(B		(0,3)
199Ei	a\(*b		AB		(0,2)
200Ei	a\(*b		A((B		(0,4)
201Ei	a\\b		A\B		(0,3)
202Ei	abc)		ABC)		(0,4)
203Ei	(abc		-		EPAREN
204Ei	((a))		ABC		(0,1)(0,1)(0,1)
205Ei	(a)b(c)		ABC		(0,3)(0,1)(2,3)
206Ei	a+b+c		AABBABC		(4,7)
207Ei	a{1,}b{1,}c	AABBABC		(4,7)
208Ei	a**		-		(0,0)
209Ei	a.+?c		ABCABC		(0,3)
210Ei	a.*?c		ABCABC		(0,3)
211Ei	a.{0,5}?c	ABCABC		(0,3)
212Ei	(a+|b)*		AB		(0,2)(1,2)
213Ei	(a+|b){0,}	AB		(0,2)(1,2)
214Ei	(a+|b)+		AB		(0,2)(1,2)
215Ei	(a+|b){1,}	AB		(0,2)(1,2)
216Ei	(a+|b)?		AB		(0,1)(0,1)
217Ei	(a+|b){0,1}	AB		(0,1)(0,1)
218Ei	(a+|b){0,1}?	AB		(0,0)
219Ei	)(		-		EPAREN
220Ei	[^ab]*		CDE		(0,3)
221Ei	abc		n		NOMATCH
222Ei	a*		y		(0,0)
223Ei	([abc])*d	ABBBCD		(0,6)(4,5)
224Ei	([abc])*bcd	ABCD		(0,4)(0,1)
225Ei	a|b|c|d|e	E		(0,1)
226Ei	(a|b|c|d|e)f	EF		(0,2)(0,1)
227Ei	abcd*efg	ABCDEFG		(0,7)
228Ei	ab*		XABYABBBZ	(1,3)
229Ei	ab+		XABYABBBZ	(1,3)
230Ei	ab*		XAYABBBZ	(1,2)
231Ei	ab+		XAYABBBZ	(3,7)
232Ei	(ab|cd)e	ABCDE		(2,5)(2,4)
233Ei	[abhgefdc]ij	HIJ		(0,3)
234Ei	^(ab|cd)e	ABCDE		NOMATCH
235Ei	(abc|)ef	ABCDEF		ENULL
236Eiz	(abc|)ef	ABCDEF		(4,6)(4,4)
237Ei	(a|b)c*d	ABCD		(1,4)(1,2)
238Ei	(ab|ab*)bc	ABC		(0,3)(0,1)
239Ei	a([bc]*)c*	ABC		(0,3)(1,3)
240Ei	a([bc]*)(c*d)	ABCD		(0,4)(1,3)(3,4)
241Ei	a([bc]+)(c*d)	ABCD		(0,4)(1,3)(3,4)
242Ei	a([bc]*)(c+d)	ABCD		(0,4)(1,2)(2,4)
243Ei	a[bcd]*dcdcde	ADCDCDE		(0,7)
244Ei	a[bcd]+dcdcde	ADCDCDE		NOMATCH
245Ei	(ab|a)b*c	ABC		(0,3)(0,2)
246Ei	((a)(b)c)(d)	ABCD		(0,4)(0,3)(0,1)(1,2)(3,4)
247
248Ei	[a-zA-Z_][a-zA-Z0-9_]*		ALPHA		(0,5)
249Ei	^a(bc+|b[eh])g|.h$		ABH		(1,3)
250Ei	(bc+d$|ef*g.|h?i(j|k))		EFFGZ		(0,5)(0,5)
251Ei	(bc+d$|ef*g.|h?i(j|k))		IJ		(0,2)(0,2)(1,2)
252Ei	(bc+d$|ef*g.|h?i(j|k))		EFFG		NOMATCH
253Ei	(bc+d$|ef*g.|h?i(j|k))		BCDD		NOMATCH
254Ei	(bc+d$|ef*g.|h?i(j|k))		REFFGZ		(1,6)(1,6)
255Ei	((((((((((a))))))))))		A		(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)
256Ei	(((((((((a)))))))))\9		AA		(0,2)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)
257Ei	((((((((((a))))))))))\10	AA		NOMATCH
258Ei	((((((((((a))))))))))\41	AA		NOMATCH
259Ei	((((((((((a))))))))))\41	A!		NOMATCH
260Ei	((((((((((a))))))))))\041	A!		(0,2)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)
261Ei	(((((((((a)))))))))		A		(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)
262
263Ei	(?:(?:(?:(?:(?:(?:(?:(?:(?:(a))))))))))		A	(0,1)(0,1)
264Ei	(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))	C	(0,1)(0,1)
265
266Ei	multiple words of text	UH-UH			NOMATCH
267Ei	multiple words		MULTIPLE WORDS, YEAH	(0,14)
268
269Ei	(.*)c(.*)		ABCDE		(0,5)(0,2)(3,5)
270Ei	\((.*), (.*)\)		(A, B)		(0,6)(1,2)(4,5)
271Ei	[k]			AB		NOMATCH
272Ei	abcd			ABCD		(0,4)
273Ei	a(bc)d			ABCD		(0,4)(1,3)
274Ei	a[-]?c			AC		(0,2)
275Ei	(abc)\1			ABCABC		(0,6)(0,3)
276Ei	([a-c]*)\1		ABCABC		(0,6)(0,3)
277E	a(?!b).			abad		(2,4)
278E	a(?=d).			abad		(2,4)
279E	a(?=c|d).		abad		(2,4)
280E	a(?:b|c|d)(.)		ace		(0,3)(2,3)
281E	a(?:b|c|d)*(.)		ace		(0,3)(2,3)
282E	a(?:b|c|d)+?(.)		ace		(0,3)(2,3)
283E	a(?:b|(c|e){1,2}?|d)+?(.)	ace	(0,3)(1,2)(2,3)
284E	^(.+)?B			AB		(0,2)(0,1)
285