1E	(?<!bar)foo	foo	(0,3)
2E	SAME	catfood	(3,6)
3E	SAME	arfootle	(2,5)
4E	SAME	rfoosh	(1,4)
5E	SAME	barfoo	NOMATCH
6E	SAME	towbarfoo	NOMATCH
7E$	\\w{3}(?<!bar)foo	catfood	(0,6)
8E$	SAME	foo	NOMATCH
9E$	SAME	barfoo	NOMATCH
10E$	SAME	towbarfoo	NOMATCH
11E	(?<=(foo)a)bar	fooabar	(4,7)(0,3)
12E	SAME	bar	NOMATCH
13E	SAME	foobbar	NOMATCH
14E$n	\\Aabc\\z	abc	(0,3)
15E$n	SAME	abc\n	NOMATCH
16E$n	SAME	qqq\nabc	NOMATCH
17E$n	SAME	abc\nzzz	NOMATCH
18E$n	SAME	qqq\nabc\nzzz	NOMATCH
19E	(?>.*/)foo	/this/is/a/very/long/line/in/deed/with/very/many/slashes/in/it/you/see/	NOMATCH
20E	(?>.*/)foo	/this/is/a/very/long/line/in/deed/with/very/many/slashes/in/and/foo	(0,67)
21E$	(?>(\\.\\d\\d[1-9]?))\\d+	1.230003938	(1,11)(1,4)
22E$	SAME	1.875000282	(1,11)(1,5)
23E$	SAME	1.235	NOMATCH
24E$	^((?>\\w+)|(?>\\s+))*$	now is the time for all good men to come to the aid of the party	(0,64)(59,64)
25E$	SAME	this is not a line with only words and spaces!	NOMATCH
26E$	(\\d+)(\\w)	12345a	(0,6)(0,5)(5,6)
27E$	SAME	12345+	(0,5)(0,4)(4,5)
28E$	((?>\\d+))(\\w)	12345a	(0,6)(0,5)(5,6)
29E$	SAME	12345+	NOMATCH
30E	(?>a+)b	aaab	(0,4)
31E	((?>a+)b)	aaab	(0,4)(0,4)
32E	(?>(a+))b	aaab	(0,4)(0,3)
33E	(?>b)	aaabbbccc	(3,4)
34E	(?>b)*	aaabbbccc	(0,0)
35E	(?>b)+	aaabbbccc	(3,6)
36E	(?>(b))+	aaabbbccc	(3,6)(5,6)
37E	((?>b))+	aaabbbccc	(3,6)(5,6)
38E	((?>(b)))+	aaabbbccc	(3,6)(5,6)(5,6)
39E	(?>b)+.	aaabbbccc	(3,7)
40E	(?:b)	aaabbbccc	(3,4)
41E	(?:b)*	aaabbbccc	(0,0)
42E	(?:b)+	aaabbbccc	(3,6)
43E	(?:(b))+	aaabbbccc	(3,6)(5,6)
44E	((?:b))+	aaabbbccc	(3,6)(5,6)
45E	((?:(b)))+	aaabbbccc	(3,6)(5,6)(5,6)
46E	(?:b)+.	aaabbbccc	(3,7)
47E	(a+|b+|c+)*c	aaabbbbccccd	(0,11)(7,10)
48E	(?>a+|b+|c+)*c	aaabbbbccccd	(0,8)
49E$	((?>[^()]+)|\\([^()]*\\))+	((abc(ade)ufh()()x	(2,18)(17,18)
50E$	\\(((?>[^()]+)|\\([^()]+\\))+\\)	(abc)	(0,5)(1,4)
51E$	SAME	(abc(def)xyz)	(0,13)(9,12)
52E$	SAME	((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	NOMATCH
53Ei	(?-i)ab	ab	(0,2)
54Ei	SAME	Ab	NOMATCH
55Ei	SAME	aB	NOMATCH
56Ei	SAME	AB	NOMATCH
57E	(?i)ab	ab	(0,2)
58E	SAME	Ab	(0,2)
59E	SAME	aB	(0,2)
60E	SAME	AB	(0,2)
61Ei	a(?-i)b	ab	(0,2)
62Ei	SAME	Ab	(0,2)
63Ei	SAME	aB	NOMATCH
64Ei	SAME	AB	NOMATCH
65E	a(?i)b	ab	(0,2)
66E	SAME	Ab	NOMATCH
67E	SAME	aB	(0,2)
68E	SAME	AB	NOMATCH
69Ei	(?-i)AB	ab	NOMATCH
70Ei	SAME	Ab	NOMATCH
71Ei	SAME	aB	NOMATCH
72Ei	SAME	AB	(0,2)
73E	(?i)AB	ab	(0,2)
74E	SAME	Ab	(0,2)
75E	SAME	aB	(0,2)
76E	SAME	AB	(0,2)
77Ei	A(?-i)B	ab	NOMATCH
78Ei	SAME	Ab	NOMATCH
79Ei	SAME	aB	(0,2)
80Ei	SAME	AB	(0,2)
81E	A(?i)B	ab	NOMATCH
82E	SAME	Ab	(0,2)
83E	SAME	aB	NOMATCH
84E	SAME	AB	(0,2)
85Ei	^(?-i)ab	ab	(0,2)
86Ei	SAME	Ab	NOMATCH
87Ei	SAME	aB	NOMATCH
88Ei	SAME	AB	NOMATCH
89E	^(?i)ab	ab	(0,2)
90E	SAME	Ab	(0,2)
91E	SAME	aB	(0,2)
92E	SAME	AB	(0,2)
93Ei	^a(?-i)b	ab	(0,2)
94Ei	SAME	Ab	(0,2)
95Ei	SAME	aB	NOMATCH
96Ei	SAME	AB	NOMATCH
97E	^a(?i)b	ab	(0,2)
98E	SAME	Ab	NOMATCH
99E	SAME	aB	(0,2)
100E	SAME	AB	NOMATCH
101Ei	^(?-i)AB	ab	NOMATCH
102Ei	SAME	Ab	NOMATCH
103Ei	SAME	aB	NOMATCH
104Ei	SAME	AB	(0,2)
105E	^(?i)AB	ab	(0,2)
106E	SAME	Ab	(0,2)
107E	SAME	aB	(0,2)
108E	SAME	AB	(0,2)
109Ei	^A(?-i)B	ab	NOMATCH
110Ei	SAME	Ab	NOMATCH
111Ei	SAME	aB	(0,2)
112Ei	SAME	AB	(0,2)
113E	^A(?i)B	ab	NOMATCH
114E	SAME	Ab	(0,2)
115E	SAME	aB	NOMATCH
116E	SAME	AB	(0,2)
117E	(a (?x)b c)d e	a bcde	NOMATCH
118E	(a (?x)b c)d e	a bcd e	(0,7)(0,4)
119E	SAME	a b cd e	NOMATCH
120E	SAME	abcd e	NOMATCH
121E	SAME	a bcde	NOMATCH
122E	(a b(?x)c d (?-x)e f)	a bcde f	(0,8)(0,8)
123E	SAME	abcdef	NOMATCH
124E	(a(?i)b)c	abc	(0,3)(0,2)
125E	SAME	aBc	(0,3)(0,2)
126E	SAME	abC	NOMATCH
127E	SAME	aBC	NOMATCH
128E	SAME	Abc	NOMATCH
129E	SAME	ABc	NOMATCH
130E	SAME	ABC	NOMATCH
131E	SAME	AbC	NOMATCH
132E	a(?i:b)c	abc	(0,3)
133E	SAME	aBc	(0,3)
134E	SAME	ABC	NOMATCH
135E	SAME	abC	NOMATCH
136E	SAME	aBC	NOMATCH
137E	a(?i:b)*c	aBc	(0,3)
138E	SAME	aBBc	(0,4)
139E	SAME	aBC	NOMATCH
140E	SAME	aBBC	NOMATCH
141E$	a(?=b(?i)c)\\w\\wd	abcd	(0,4)
142E$	SAME	abCd	(0,4)
143E$	SAME	aBCd	NOMATCH
144E$	SAME	abcD	NOMATCH
145Ei	(?s-i:more.*than).*million	more than million	(0,17)
146Ei	SAME	more than MILLION	(0,17)
147Ei$	SAME	more \n than Million	(0,19)
148Ei$	SAME	MORE THAN MILLION	NOMATCH
149Ei$	SAME	more \n than \n million	(0,21)
150Ei	(?:(?s-i)more.*than).*million	more than million	(0,17)
151Ei	SAME	more than MILLION	(0,17)
152Ei$	SAME	more \n than Million	(0,19)
153Ei$	SAME	MORE THAN MILLION	NOMATCH
154Ei$	SAME	more \n than \n million	(0,21)
155E	(?>a(?i)b+)+c	abc	(0,3)
156E	SAME	aBbc	(0,4)
157E	SAME	aBBc	(0,4)
158E	SAME	Abc	NOMATCH
159E	SAME	abAb	NOMATCH
160E	SAME	abbC	NOMATCH
161E$	(?=a(?i)b)\\w\\wc	abc	(0,3)
162E$	SAME	aBc	(0,3)
163E$	SAME	Ab	NOMATCH
164E$	SAME	abC	NOMATCH
165E$	SAME	aBC	NOMATCH
166E$	(?<=a(?i)b)(\\w\\w)c	abxxc	(2,5)(2,4)
167E$	SAME	aBxxc	(2,5)(2,4)
168E$	SAME	Abxxc	NOMATCH
169E$	SAME	ABxxc	NOMATCH
170E$	SAME	abxxC	NOMATCH
171E	(?:(a)|b)(?(1)A|B)	aA	(0,2)(0,1)
172E	SAME	bB	(0,2)
173E	SAME	aB	NOMATCH
174E	SAME	bA	NOMATCH
175E	(a)?(?(1)a|b)	aa	(0,2)(0,1)
176E	(a)?(?(1)a|b)+	aa	(0,2)(0,1)
177E	^(a)?(?(1)a|b)+$	aa	(0,2)(0,1)
178E	SAME	b	(0,1)
179E	SAME	bb	(0,2)
180E	SAME	ab	NOMATCH
181E$	\\w\\w\\w:		abc:	(0,4)
182E$	\\d\\d			12	(0,2)
183E$	(?(?=abc)\\w\\w\\w:|\\d\\d)	abc:	(0,4)
184E$	^(?(?=abc)\\w\\w\\w:|\\d\\d)$	abc:	(0,4)
185E$	^(?(?=abc)\\w{3}:|\\d\\d)$	abc:	(0,4)
186E$	SAME	12	(0,2)
187E$	SAME	123	NOMATCH
188E$	SAME	xyz	NOMATCH
189E$	^(?(?!abc)\\d\\d|\\w{3}:)$	abc:	(0,4)
190E$	^(?(?!abc)\\d\\d|\\w\\w\\w:)$	abc:	(0,4)
191E$	SAME	12	(0,2)
192E$	SAME	123	NOMATCH
193E$	SAME	xyz	NOMATCH
194E	(?(?<=foo)bar|cat)	foobar	(3,6)
195E	SAME	cat	(0,3)
196E	SAME	fcat	(1,4)
197E	SAME	focat	(2,5)
198E	SAME	foocat	NOMATCH
199E	(?(?<!foo)cat|bar)	foobar	(3,6)
200E	SAME	cat	(0,3)
201E	SAME	fcat	(1,4)
202E	SAME	focat	(2,5)
203E	SAME	foocat	NOMATCH
204E$cz	( \\( )? [^()]+ (?(1) \\) |)	abcd	(0,4)
205E$cz	SAME	(abcd)	(0,6)(0,1)
206E$cz	SAME	the quick (abcd) fox	(0,10)
207E$cz	SAME	(abcd	(1,5)
208E$cz	( \\( )? [^()]+ (?(1) \\) )	abcd	(0,4)
209E$cz	SAME	(abcd)	(0,6)(0,1)
210E$cz	SAME	the quick (abcd) fox	(0,10)
211E$cz	SAME	(abcd	(1,5)
212E$	((?i)blah)\\s+\\1	blah blah	(0,9)(0,4)
213E$	SAME	BLAH BLAH	(0,9)(0,4)
214E$	SAME	Blah Blah	(0,9)(0,4)
215E$	SAME	blaH blaH	(0,9)(0,4)
216E$	SAME	blah BLAH	NOMATCH
217E$	SAME	Blah blah	NOMATCH
218E$	SAME	blaH blah	NOMATCH
219E$	((?i)blah)\\s+(?i:\\1)	blah blah	(0,9)(0,4)
220E$	SAME	BLAH BLAH	(0,9)(0,4)
221E$	SAME	Blah Blah	(0,9)(0,4)
222E$	SAME	blaH blaH	(0,9)(0,4)
223E$	SAME	blah BLAH	(0,9)(0,4)
224E$	SAME	Blah blah	(0,9)(0,4)
225E$	SAME	blaH blah	(0,9)(0,4)
226E	(?>a*)*	a	(0,1)
227E	SAME	aa	(0,2)
228E	SAME	aaaa	(0,4)
229Ez	(abc|)+	abc	(0,3)(0,3)
230Ez	SAME	abcabc	(0,6)(3,6)
231Ez	SAME	abcabcabc	(0,9)(6,9)
232Ez	SAME	xyz	(0,0)(0,0)
233E	([a]*)*	a	(0,1)(0,1)
234E	SAME	aaaaa	(0,5)(0,5)
235E	([ab]*)*	a	(0,1)(0,1)
236E	SAME	b	(0,1)(0,1)
237E	SAME	ababab	(0,6)(0,6)
238E	SAME	aaaabcde	(0,5)(0,5)
239E	SAME	bbbb	(0,4)(0,4)
240E	([^a]*)*	b	(0,1)(0,1)
241E	SAME	bbbb	(0,4)(0,4)
242E	SAME	aaa	(0,0)(0,0)
243E	([^ab]*)*	cccc	(0,4)(0,4)
244E	SAME	abab	(0,0)(0,0)
245E	([a]*?)*	a	(0,0)(0,0)
246E	SAME	aaaa	(0,0)(0,0)
247E	([ab]*?)*	a	(0,0)(0,0)
248E	SAME	b	(0,0)(0,0)
249E	SAME	abab	(0,0)(0,0)
250E	SAME	baba	(0,0)(0,0)
251E	([^a]*?)*	b	(0,0)(0,0)
252E	SAME	bbbb	(0,0)(0,0)
253E	SAME	aaa	(0,0)(0,0)
254E	([^ab]*?)*	c	(0,0)(0,0)
255E	SAME	cccc	(0,0)(0,0)
256E	SAME	baba	(0,0)(0,0)
257E	(?>a*)*	a	(0,1)
258E	SAME	aaabcde	(0,3)
259E	((?>a*))*	aaaaa	(0,5)(0,5)
260E	SAME	aabbaa	(0,2)(0,2)
261E	((?>a*)*)	aaaaa	(0,5)(0,5)
262E	SAME	aabbaa	(0,2)(0,2)
263E	((?>a*?))*	aaaaa	(0,0)(0,0)
264E	SAME	aabbaa	(0,0)(0,0)
265E	((?>a*?)*)	aaaaa	(0,0)(0,0)
266E	SAME	aabbaa	(0,0)(0,0)
267E$c	(?(?=[^a-z]+[a-z])  \\d{2}-[a-z]{3}-\\d{2}  |  \\d{2}-\\d{2}-\\d{2} )	12-sep-98	(0,9)
268E$c	SAME	12-09-98	(0,8)
269E$c	SAME	sep-12-98	NOMATCH
270E$	(?<=(foo))bar\\1	foobarfoo	(3,9)(0,3)
271E$	SAME	foobarfootling	(3,9)(0,3)
272E$	SAME	foobar	NOMATCH
273E$	SAME	barfoo	NOMATCH
274E	(?i:saturday|sunday)	saturday	(0,8)
275E	SAME	sunday	(0,6)
276E	SAME	Saturday	(0,8)
277E	SAME	Sunday	(0,6)
278E	SAME	SATURDAY	(0,8)
279E	SAME	SUNDAY	(0,6)
280E	SAME	SunDay	(0,6)
281E	(a(?i)bc|BB)x	abcx	(0,4)(0,3)
282E	SAME	aBCx	(0,4)(0,3)
283E	SAME	bbx	(0,3)(0,2)
284E	SAME	BBx	(0,3)(0,2)
285E	SAME	abcX	NOMATCH
286E	SAME	aBCX	NOMATCH
287E	SAME	bbX	NOMATCH
288E	SAME	BBX	NOMATCH
289E	^([ab](?i)[cd]|[ef])	ac	(0,2)(0,2)
290E	SAME	aC	(0,2)(0,2)
291E	SAME	bD	(0,2)(0,2)
292E	SAME	elephant	(0,1)(0,1)
293E	SAME	Europe	(0,1)(0,1)
294E	SAME	frog	(0,1)(0,1)
295E	SAME	France	(0,1)(0,1)
296E	SAME	Africa	NOMATCH
297E	^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)	ab	(0,2)(0,2)
298E	SAME	aBd	(0,3)(0,3)
299E	SAME	xy	(0,2)(0,2)
300E	SAME	xY	(0,2)(0,2)
301E	SAME	zebra	(0,1)(0,1)
302E	SAME	Zambesi	(0,1)(0,1)
303E	SAME	aCD	NOMATCH
304E	SAME	XY	NOMATCH
305E$n	(?<=foo\\n)^bar	foo\nbar	(4,7)
306E$n	SAME	bar	NOMATCH
307E$n	SAME	baz\nbar	NOMATCH
308E	(?<=(?<!foo)bar)baz	barbaz	(3,6)
309E	SAME	barbarbaz	(6,9)
310E	SAME	koobarbaz	(6,9)
311E	SAME	baz	NOMATCH
312E	SAME	foobarbaz	NOMATCH
313E	The case of aaaaaa is missed out below because I think Perl 5.005_02 gets	/it wrong; it sets $1 to aaa rather than aa. Compare the following test,/	NOMATCH
314E	SAME	/where it does set $1 to aa when matching aaaaaa./	NOMATCH
315E$	^(a\\1?){4}$	a	ESUBREG
316E$	^((a)\\2?){4}$	a	NOMATCH
317E$	SAME	aa	NOMATCH
318E$	SAME	aaa	NOMATCH
319E$	SAME	aaaa	(0,4)(3,4)(3,4)
320E$	SAME	aaaaa	(0,5)(4,5)(4,5)
321E$	SAME	aaaaaaa	(0,7)(6,7)(6,7)
322E$	SAME	aaaaaaaa	(0,8)(6,8)(6,7)
323E$	SAME	aaaaaaaaa	NOMATCH
324E$	SAME	aaaaaaaaaa	NOMATCH
325E$	SAME	aaaaaaaaaaa	NOMATCH
326E$	SAME	aaaaaaaaaaaa	NOMATCH
327E$	SAME	aaaaaaaaaaaaa	NOMATCH
328E$	SAME	aaaaaaaaaaaaaa	NOMATCH
329E$	SAME	aaaaaaaaaaaaaaa	NOMATCH
330E$	SAME	aaaaaaaaaaaaaaaa	NOMATCH
331E$	^(aa?)(a\\1?)(a\\2?)(a\\3?)$	a	NOMATCH
332E$	SAME	aa	NOMATCH
333E$	SAME	aaa	NOMATCH
334E$	SAME	aaaa	(0,4)(0,1)(1,2)(2,3)(3,4)
335E$	SAME	aaaaa	(0,5)(0,2)(2,3)(3,4)(4,5)
336E$	SAME	aaaaaa	(0,6)(0,2)(2,3)(3,5)(5,6)
337E$	SAME	aaaaaaa	(0,7)(0,2)(2,5)(5,6)(6,7)
338E$	SAME	aaaaaaaa	(0,8)(0,2)(2,5)(5,6)(6,8)
339E$	SAME	aaaaaaaaa	NOMATCH
340E$	SAME	aaaaaaaaaa	(0,10)(0,2)(2,5)(5,9)(9,10)
341E$	SAME	aaaaaaaaaaa	NOMATCH
342E$	SAME	aaaaaaaaaaaa	NOMATCH
343E$	SAME	aaaaaaaaaaaaa	NOMATCH
344E$	SAME	aaaaaaaaaaaaaa	(0,14)(0,2)(2,5)(5,9)(9,14)
345E$	SAME	aaaaaaaaaaaaaaa	NOMATCH
346E$	SAME	aaaaaaaaaaaaaaaa	NOMATCH
347# The following tests are taken from the Perl 5.005 test suite
348# some of them	are compatible with 5.004
349# but I'd rather not have to sort them out.
350E	abc	abc	(0,3)
351E	SAME	xabcy	(1,4)
352E	SAME	ababc	(2,5)
353E	SAME	xbc	NOMATCH
354E	SAME	axc	NOMATCH
355E	SAME	abx	NOMATCH
356E	ab*c	abc	(0,3)
357E	ab*bc	abc	(0,3)
358E	SAME	abbc	(0,4)
359E	SAME	abbbbc	(0,6)
360E	.{1}	abbbbc	(0,1)
361E	.{3,4}	abbbbc	(0,4)
362E	ab{0,}bc	abbbbc	(0,6)
363E	ab+bc	abbc	(0,4)
364E	SAME	abc	NOMATCH
365E	SAME	abq	NOMATCH
366E	ab+bc	abbbbc	(0,6)
367E	ab{1,}bc	abbbbc	(0,6)
368E	ab{1,3}bc	abbbbc	(0,6)
369E	ab{3,4}bc	abbbbc	(0,6)
370E	ab{4,5}bc	abq	NOMATCH
371E	SAME	abbbbc	NOMATCH
372E	ab?bc	abbc	(0,4)
373E	SAME	abc	(0,3)
374E	ab{0,1}bc	abc	(0,3)
375E	ab?c	abc	(0,3)
376E	ab{0,1}c	abc	(0,3)
377E	^abc$	abc	(0,3)
378E	SAME	abbbbc	NOMATCH
379E	SAME	abcc	NOMATCH
380E	^abc	abcc	(0,3)
381E	abc$	aabc	(1,4)
382E	SAME	aabc	(1,4)
383E	SAME	aabcd	NOMATCH
384E	^	abc	(0,0)
385E	$	abc	(3,3)
386E	a.c	abc	(0,3)
387E	SAME	axc	(0,3)
388E	a.*c	axyzc	(0,5)
389E	a[bc]d	abd	(0,3)
390E	SAME	axyzd	NOMATCH
391E	SAME	abc	NOMATCH
392E	a[b-d]e	ace	(0,3)
393E	a[b-d]	aac	(1,3)
394E	a[-b]	a-	(0,2)
395E	a[b-]	a-	(0,2)
396E	a]	a]	(0,2)
397E	a[]]b	a]b	(0,3)
398E	a[^bc]d	aed	(0,3)
399E	SAME	abd	NOMATCH
400E	SAME	abd	NOMATCH
401E	a[^-b]c	adc	(0,3)
402E	a[^]b]c	adc	(0,3)
403E	SAME	a-c	(0,3)
404E	SAME	a]c	NOMATCH
405E$	\\ba\\b	a-	(0,1)
406E$	SAME	-a	(1,2)
407E$	SAME	-a-	(1,2)
408E$	\\by\\b	xy	NOMATCH
409E$	SAME	yz	NOMATCH
410E$	SAME	xyz	NOMATCH
411E$	\\Ba\\B	a-	NOMATCH
412E$	SAME	-a	NOMATCH
413E$	SAME	-a-	NOMATCH
414E$	\\By\\b	xy	(1,2)
415E$	\\by\\B	yz	(0,1)
416E$	\\By\\B	xyz	(1,2)
417E$	\\w	a	(0,1)
418E$	\\W	-	(0,1)
419E$	SAME	-	(0,1)
420E$	SAME	a	NOMATCH
421E$	a\\sb	a b	(0,3)
422E$	a\\Sb	a-b	(0,3)
423E$	SAME	a-b	(0,3)
424E$	SAME	a b	NOMATCH
425E$	\\d	1	(0,1)
426E$	\\D	-	(0,1)
427E$	SAME	-	(0,1)
428E$	SAME	1	NOMATCH
429E$v	[\\w]	a	(0,1)
430E$v	[\\W]	-	(0,1)
431E$v	SAME	-	(0,1)
432E$v	SAME	a	NOMATCH
433E$v	a[\\s]b	a b	(0,3)
434E$v	a[\\S]b	a-b	(0,3)
435E$v	SAME	a-b	(0,3)
436E$v	SAME	a b	NOMATCH
437E$v	[\\d]	1	(0,1)
438E$v	[\\D]	-	(0,1)
439E$v	SAME	-	(0,1)
440E$v	SAME	1	NOMATCH
441E	ab|cd	abc	(0,2)
442E	SAME	abcd	(0,2)
443Ez	()ef	def	(1,3)(1,1)
444E$	a\\(b	a(b	(0,3)
445E$	a\\(*b	ab	(0,2)
446E$	SAME	a((b	(0,4)
447E$	a\\\\b	a\b	NOMATCH
448E	((a))	abc	(0,1)(0,1)(0,1)
449E	(a)b(c)	abc	(0,3)(0,1)(2,3)
450E	a+b+c	aabbabc	(4,7)
451E	a{1,}b{1,}c	aabbabc	(4,7)
452E	a.+?c	abcabc	(0,3)
453E	(a+|b)*	ab	(0,2)(1,2)
454E	(a+|b){0,}	ab	(0,2)(1,2)
455E	(a+|b)+	ab	(0,2)(1,2)
456E	(a+|b){1,}	ab	(0,2)(1,2)
457E	(a+|b)?	ab	(0,1)(0,1)
458E	(a+|b){0,1}	ab	(0,1)(0,1)
459E	[^ab]*	cde	(0,3)
460E	abc	b	NOMATCH
461E	([abc])*d	abbbcd	(0,6)(4,5)
462E	([abc])*bcd	abcd	(0,4)(0,1)
463E	a|b|c|d|e	e	(0,1)
464E	(a|b|c|d|e)f	ef	(0,2)(0,1)
465E	abcd*efg	abcdefg	(0,7)
466E	ab*	xabyabbbz	(1,3)
467E	SAME	xayabbbz	(1,2)
468E	(ab|cd)e	abcde	(2,5)(2,4)
469E	[abhgefdc]ij	hij	(0,3)
470Ez	(abc|)ef	abcdef	(4,6)(4,4)
471E	(a|b)c*d	abcd	(1,4)(1,2)
472E	(ab|ab*)bc	abc	(0,3)(0,1)
473E	a([bc]*)c*	abc	(0,3)(1,3)
474E	a([bc]*)(c*d)	abcd	(0,4)(1,3)(3,4)
475E	a([bc]+)(c*d)	abcd	(0,4)(1,3)(3,4)
476E	a([bc]*)(c+d)	abcd	(0,4)(1,2)(2,4)
477E	a[bcd]*dcdcde	adcdcde	(0,7)
478E	a[bcd]+dcdcde	abcde	NOMATCH
479E	SAME	adcdcde	NOMATCH
480E	(ab|a)b*c	abc	(0,3)(0,2)
481E	((a)(b)c)(d)	abcd	(0,4)(0,3)(0,1)(1,2)(3,4)
482E	[a-zA-Z_][a-zA-Z0-9_]*	alpha	(0,5)
483E	^a(bc+|b[eh])g|.h$	abh	(1,3)
484E	(bc+d$|ef*g.|h?i(j|k))	effgz	(0,5)(0,5)
485E	SAME	ij	(0,2)(0,2)(1,2)
486E	SAME	reffgz	(1,6)(1,6)
487E	SAME	effg	NOMATCH
488E	SAME	bcdd	NOMATCH
489E	((((((((((a))))))))))	a	(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)
490E$	((((((((((a))))))))))\\10	aa	NOMATCH
491E$	((((((((((a))))))))))\\10	aa0	(0,3)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)
492E$	((((((((((a))))))))))(?10)	aa	(0,2)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)
493E	(((((((((a)))))))))	a	(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)
494E	multiple words of text	aa	NOMATCH
495E	SAME	uh-uh	NOMATCH
496E	multiple words	multiple words, yeah	(0,14)
497E	(.*)c(.*)	abcde	(0,5)(0,2)(3,5)
498E$	\\((.*), (.*)\\)	(a, b)	(0,6)(1,2)(4,5)
499E	abcd	abcd	(0,4)
500E	a(bc)d	abcd	(0,4)(1,3)
501E	a[-]?c	ac	(0,2)
502E$	(abc)\\1	abcabc	(0,6)(0,3)
503E$	([a-c]*)\\1	abcabc	(0,6)(0,3)
504E$	(a)|\\1	a	(0,1)(0,1)
505E$	SAME	ab	(0,1)(0,1)
506E$	SAME	x	NOMATCH
507E$	(([a-c])b*?\\2)*	ababbbcbc	(0,5)(3,5)(3,4)
508E$	(([a-c])b*?\\2){3}	ababbbcbc	(0,9)(6,9)(6,7)
509E	((a|b)\2(a)x)+		aaaxabaxbaaxbbax	(0,4)(0,4)(0,1)(2,3)
510E$	((\\3|b)\\2(a)x)+	aaaxabaxbaaxbbax	ESUBREG
511E$	((\\3|b)\\2(a)){2,}	bbaababbabaaaaabbaaaabba	ESUBREG
512Ei	abc	ABC	(0,3)
513Ei	SAME	XABCY	(1,4)
514Ei	SAME	ABABC	(2,5)
515Ei	SAME	aaxabxbaxbbx	NOMATCH
516Ei	SAME	XBC	NOMATCH
517Ei	SAME	AXC	NOMATCH
518Ei	SAME	ABX	NOMATCH
519Ei	ab*c	ABC	(0,3)
520Ei	ab*bc	ABC	(0,3)
521Ei	SAME	ABBC	(0,4)
522Ei	ab*?bc	ABBBBC	(0,6)
523Ei	ab{0,}?bc	ABBBBC	(0,6)
524Ei	ab+?bc	ABBC	(0,4)
525Ei	ab+bc	ABC	NOMATCH
526Ei	SAME	ABQ	NOMATCH
527Ei	ab+bc	ABBBBC	(0,6)
528Ei	ab{1,}?bc	ABBBBC	(0,6)
529Ei	ab{1,3}?bc	ABBBBC	(0,6)
530Ei	ab{3,4}?bc	ABBBBC	(0,6)
531Ei	ab{4,5}?bc	ABQ	NOMATCH
532Ei	SAME	ABBBBC	NOMATCH
533Ei	ab??bc	ABBC	(0,4)
534Ei	SAME	ABC	(0,3)
535Ei	ab{0,1}?bc	ABC	(0,3)
536Ei	ab??c	ABC	(0,3)
537Ei	ab{0,1}?c	ABC	(0,3)
538Ei	^abc$	ABC	(0,3)
539Ei	SAME	ABBBBC	NOMATCH
540Ei	SAME	ABCC	NOMATCH
541Ei	^abc	ABCC	(0,3)
542Ei	abc$	AABC	(1,4)
543Ei	^	ABC	(0,0)
544Ei	$	ABC	(3,3)
545Ei	a.c	ABC	(0,3)
546Ei	SAME	AXC	(0,3)
547Ei	a.*?c	AXYZC	(0,5)
548Ei	a.*c	AABC	(0,4)
549Ei	SAME	AXYZD	NOMATCH
550Ei	a[bc]d	ABD	(0,3)
551Ei	a[b-d]e	ACE	(0,3)
552Ei	SAME	ABC	NOMATCH
553Ei	SAME	ABD	NOMATCH
554Ei	a[b-d]	AAC	(1,3)
555Ei	a[-b]	A-	(0,2)
556Ei	a[b-]	A-	(0,2)
557Ei	a]	A]	(0,2)
558Ei	a[]]b	A]B	(0,3)
559Ei	a[^bc]d	AED	(0,3)
560Ei	a[^-b]c	ADC	(0,3)
561Ei	SAME	ABD	NOMATCH
562Ei	SAME	A-C	NOMATCH
563Ei	a[^]b]c	ADC	(0,3)
564Ei	ab|cd	ABC	(0,2)
565Ei	SAME	ABCD	(0,2)
566Ezi	()ef	DEF	(1,3)(1,1)
567Ei	$b	A]C	NOMATCH
568Ei	SAME	B	NOMATCH
569E$i	a\\(b	A(B	(0,3)
570E$i	a\\(*b	AB	(0,2)
571E$i	SAME	A((B	(0,4)
572E$i	a\\\\b	A\\B	(0,3)
573Ei	((a))	ABC	(0,1)(0,1)(0,1)
574Ei	(a)b(c)	ABC	(0,3)(0,1)(2,3)
575Ei	a+b+c	AABBABC	(4,7)
576Ei	a{1,}b{1,}c	AABBABC	(4,7)
577Ei	a.+?c	ABCABC	(0,3)
578Ei	a.*?c	ABCABC	(0,3)
579Ei	a.{0,5}?c	ABCABC	(0,3)
580Ei	(a+|b)*	AB	(0,2)(1,2)
581Ei	(a+|b){0,}	AB	(0,2)(1,2)
582Ei	(a+|b)+	AB	(0,2)(1,2)
583Ei	(a+|b){1,}	AB	(0,2)(1,2)
584Ei	(a+|b)?	AB	(0,1)(0,1)
585Ei	(a+|b){0,1}	AB	(0,1)(0,1)
586Ei	(a+|b){0,1}?	AB	(0,0)
587Ei	[^ab]*	CDE	(0,3)
588Ei	([abc])*d	ABBBCD	(0,6)(4,5)
589Ei	([abc])*bcd	ABCD	(0,4)(0,1)
590Ei	a|b|c|d|e	E	(0,1)
591Ei	(a|b|c|d|e)f	EF	(0,2)(0,1)
592Ei	abcd*efg	ABCDEFG	(0,7)
593Ei	ab*	XABYABBBZ	(1,3)
594Ei	SAME	XAYABBBZ	(1,2)
595Ei	(ab|cd)e	ABCDE	(2,5)(2,4)
596Ei	[abhgefdc]ij	HIJ	(0,3)
597Ei	^(ab|cd)e	ABCDE	NOMATCH
598Ezi	(abc|)ef	ABCDEF	(4,6)(4,4)
599Ei	(a|b)c*d	ABCD	(1,4)(1,2)
600Ei	(ab|ab*)bc	ABC	(0,3)(0,1)
601Ei	a([bc]*)c*	ABC	(0,3)(1,3)
602Ei	a([bc]*)(c*d)	ABCD	(0,4)(1,3)(3,4)
603Ei	a([bc]+)(c*d)	ABCD	(0,4)(1,3)(3,4)
604Ei	a([bc]*)(c+d)	ABCD	(0,4)(1,2)(2,4)
605Ei	a[bcd]*dcdcde	ADCDCDE	(0,7)
606Ei	(ab|a)b*c	ABC	(0,3)(0,2)
607Ei	((a)(b)c)(d)	ABCD	(0,4)(0,3)(0,1)(1,2)(3,4)
608Ei	[a-zA-Z_][a-zA-Z0-9_]*	ALPHA	(0,5)
609Ei	^a(bc+|b[eh])g|.h$	ABH	(1,3)
610Ei	(bc+d$|ef*g.|h?i(j|k))	EFFGZ	(0,5)(0,5)
611Ei	SAME	IJ	(0,2)(0,2)(1,2)
612Ei	SAME	REFFGZ	(1,6)(1,6)
613Ei	SAME	ADCDCDE	NOMATCH
614Ei	SAME	EFFG	NOMATCH
615Ei	SAME	BCDD	NOMATCH
616Ei	((((((((((a))))))))))	A	(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)
617E$i	((((((((((a))))))))))\\10	AA	NOMATCH
618E$i	((((((((((a))))))))))\\10	AA0	(0,3)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)
619E$i	((((((((((a))))))))))(?10)	AA	(0,2)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)
620Ei	(((((((((a)))))))))	A	(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)
621Ei	(?:(?:(?:(?:(?:(?:(?:(?:(?:(a))))))))))	A	(0,1)(0,1)
622Ei	(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))	C	(0,1)(0,1)
623Ei	multiple words of text	AA	NOMATCH
624Ei	SAME	UH-UH	NOMATCH
625Ei	multiple words	MULTIPLE WORDS, YEAH	(0,14)
626Ei	(.*)c(.*)	ABCDE	(0,5)(0,2)(3,5)
627E$i	\\((.*), (.*)\\)	(A, B)	(0,6)(1,2)(4,5)
628Ei	abcd	ABCD	(0,4)
629Ei	a(bc)d	ABCD	(0,4)(1,3)
630Ei	a[-]?c	AC	(0,2)
631E$i	(abc)\\1	ABCABC	(0,6)(0,3)
632E$i	([a-c]*)\\1	ABCABC	(0,6)(0,3)
633E	a(?!b).	abad	(2,4)
634E	a(?=d).	abad	(2,4)
635E	a(?=c|d).	abad	(2,4)
636E	a(?:b|c|d)(.)	ace	(0,3)(2,3)
637E	a(?:b|c|d)*(.)	ace	(0,3)(2,3)
638E	a(?:b|c|d)+?(.)	ace	(0,3)(2,3)
639E	SAME	acdbcdbe	(0,3)(2,3)
640E	a(?:b|c|d)+(.)	acdbcdbe	(0,8)(7,8)
641E	a(?:b|c|d){2}(.)	acdbcdbe	(0,4)(3,4)
642E	a(?:b|c|d){4,5}(.)	acdbcdbe	(0,7)(6,7)
643E	a(?:b|c|d){4,5}?(.)	acdbcdbe	(0,6)(5,6)
644E	((foo)|(bar))*	foobar	(0,6)(3,6)(?,?)(3,6)
645E	a(?:b|c|d){6,7}(.)	acdbcdbe	(0,8)(7,8)
646E	a(?:b|c|d){6,7}?(.)	acdbcdbe	(0,8)(7,8)
647E	a(?:b|c|d){5,6}(.)	acdbcdbe	(0,8)(7,8)
648E	a(?:b|c|d){5,6}?(.)	acdbcdbe	(0,7)(6,7)
649E	a(?:b|c|d){5,7}(.)	acdbcdbe	(0,8)(7,8)
650E	a(?:b|c|d){5,7}?(.)	acdbcdbe	(0,7)(6,7)
651E	a(?:b|(c|e){1,2}?|d)+?(.)	ace	(0,3)(1,2)(2,3)
652E	^(.+)?B	AB	(0,2)(0,1)
653E$	^([^a-z])|(\\^)$	.	(0,1)(0,1)
654E	^[<>]&	<&OUT	(0,2)
655E$	^(a\\1?){4}$	aaaaaaaaaa	ESUBREG
656E$	SAME	AB	ESUBREG
657E$	SAME	aaaaaaaaa	ESUBREG
658E$	SAME	aaaaaaaaaaa	ESUBREG
659E$	^(a(?(1)\\1)){4}$	aaaaaaaaaa	ESUBREG
660E$	SAME	aaaaaaaaa	ESUBREG
661E$	SAME	aaaaaaaaaaa	ESUBREG
662E	((f)(o)(o)|(b)(a)(r))*	foobar	(0,6)(3,6)(?,?)(?,?)(?,?)(3,4)(4,5)(5,6)
663E	(?:(f)(o)(o)|(b)(a)(r))*	foobar	(0,6)(?,?)(?,?)(?,?)(3,4)(4,5)(5,6)
664E	((f)(u)|(b)(a)(r))*	fubar	(0,5)(2,5)(?,?)(?,?)(2,3)(3,4)(4,5)
665E	(?:(f)(u)|(b)(a)(r))*	fubar	(0,5)(?,?)(?,?)(2,3)(3,4)(4,5)
666E	(?<=a)b	ab	(1,2)
667E	SAME	cb	NOMATCH
668E	SAME	b	NOMATCH
669E	(?<!c)b	ab	(1,2)
670E	SAME	b	(0,1)
671E	SAME	b	(0,1)
672E	(?:..)*a	aba	(0,3)
673E	(?:..)*?a	aba	(0,1)
674E$	^(?:b|a(?=(.)))*\\1	abc	(0,2)(1,2)
675Ez	^(){3,5}	abc	(0,0)(0,0)
676E	^(a+)*ax	aax	(0,3)(0,1)
677E	^((a|b)+)*ax	aax	(0,3)(0,1)(0,1)
678E	^((a|bc)+)*ax	aax	(0,3)(0,1)(0,1)
679E	(a|x)*ab	cab	(1,3)
680E	(a)*ab	cab	(1,3)
681E	(?:(?i)a)b	ab	(0,2)
682E	((?i)a)b	ab	(0,2)(0,1)
683E	(?:(?i)a)b	Ab	(0,2)
684E	((?i)a)b	Ab	(0,2)(0,1)
685E	(?:(?i)a)b	cb	NOMATCH
686E	SAME	aB	NOMATCH
687E	(?i:a)b	ab	(0,2)
688E	((?i:a))b	ab	(0,2)(0,1)
689E	(?i:a)b	Ab	(0,2)
690E	((?i:a))b	Ab	(0,2)(0,1)
691E	(?i:a)b	aB	NOMATCH
692E	SAME	aB	NOMATCH
693Ei	(?:(?-i)a)b	ab	(0,2)
694Ei	((?-i)a)b	ab	(0,2)(0,1)
695Ei	(?:(?-i)a)b	aB	(0,2)
696Ei	((?-i)a)b	aB	(0,2)(0,1)
697Ei	(?:(?-i)a)b	aB	(0,2)
698Ei	SAME	Ab	NOMATCH
699Ei	(?:(?-i)a)b	aB	(0,2)
700Ei	((?-i)a)b	aB	(0,2)(0,1)
701Ei	(?:(?-i)a)b	Ab	NOMATCH
702Ei	SAME	AB	NOMATCH
703Ei	(?-i:a)b	ab	(0,2)
704Ei	((?-i:a))b	ab	(0,2)(0,1)
705Ei	(?-i:a)b	aB	(0,2)
706Ei	((?-i:a))b	aB	(0,2)(0,1)
707Ei	(?-i:a)b	AB	NOMATCH
708Ei	SAME	Ab	NOMATCH
709Ei	(?-i:a)b	aB	(0,2)
710Ei	((?-i:a))b	aB	(0,2)(0,1)
711Ei	(?-i:a)b	Ab	NOMATCH
712Ei	SAME	AB	NOMATCH
713Ei	((?-i:a.))b	AB	NOMATCH
714Ei$	SAME	a\nB	(0,3)(0,2)
715Ei$	((?s-i:a.))b	a\nB	(0,3)(0,2)
716E	(?:c|d)(?:)(?:a(?:)(?:b)(?:b(?:))(?:b(?:)(?:b)))	cabbbb	(0,6)
717E	(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))	caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb	(0,41)
718E$i	(ab)\\d\\1	Ab4ab	(0,5)(0,2)
719E$i	SAME	ab4Ab	(0,5)(0,2)
720E$	foo\\w*\\d{4}baz	foobar1234baz	(0,13)
721E	x(~~)*(?:(?:F)?)?	x~~	(0,3)(1,3)
722E	^a{3}(?#xxx)c	aaac	(0,4)
723E	^a(?#xxx){3}c	aaac	(0,4)
724Ec	^a (?#xxx) (?#yyy) {3} c	aaac	(0,4)
725E$	(?<![cd])b	B\nB	NOMATCH
726E$	SAME	dbcb	NOMATCH
727E	(?<![cd])[ab]	dbaacb	(2,3)
728E	(?<!(c|d))[ab]	dbaacb	(2,3)
729E	(?<!cd)[ab]	cdaccb	(5,6)
730E	^(?:a?b?)*$	dbcb	NOMATCH
731E	SAME	a--	NOMATCH
732E$	(^a(.))(^b$)		a\nb\nc\n	NOMATCH
733E$n	(^a(.))(^b$)		a\nb\nc\n	NOMATCH
734E$j	(^a(.))(^b$)		a\nb\nc\n	NOMATCH
735E$nj	(^a(.))(^b$)		a\nb\nc\n	(0,3)(0,2)(1,2)(2,3)
736E$	(?ms)(^a(.))(^b$)	a\nb\nc\n	(0,3)(0,2)(1,2)(2,3)
737E$	(?ms:(^a(.))(^b$))	a\nb\nc\n	(0,3)(0,2)(1,2)(2,3)
738E$nj	(?:(^a(.))(^b$))	a\nb\nc\n	(0,3)(0,2)(1,2)(2,3)
739E$	(?ms)(?:(^a(.))(^b$))	a\nb\nc\n	(0,3)(0,2)(1,2)(2,3)
740E$	((?s)^a(.))((?m)^b$)	a\nb\nc\n	(0,3)(0,2)(1,2)(2,3)
741E$	((?m)^b$)	a\nb\nc\n	(2,3)(2,3)
742E$	(?m)^b	a\nb\n	(2,3)
743E$	(?m)^(b)	a\nb\n	(2,3)(2,3)
744E$	((?m)^b)	a\nb\n	(2,3)(2,3)
745E$	\\n((?m)^b)	a\nb\n	(1,3)(2,3)
746E$	.c		a\nb\nc\n	(3,5)
747E$n	.c		a\nb\nc\n	NOMATCH
748E$j	.c		a\nb\nc\n	(3,5)
749E$nj	.c		a\nb\nc\n	(3,5)
750E$	(?:.c)		a\nb\nc\n	(3,5)
751E$	(?m:.c)		a\nb\nc\n	NOMATCH
752E$	(?s:.c)		a\nb\nc\n	(3,5)
753E$	(?ms:.c)	a\nb\nc\n	(3,5)
754E$	(?m).c		a\nb\nc\n	NOMATCH
755E$	(?s).c		a\nb\nc\n	(3,5)
756E$	(?ms).c		a\nb\nc\n	(3,5)
757E$	((?s).c)	a\nb\nc\n	(3,5)(3,5)
758E$	((?s).)c	a\nb\nc\n	(3,5)(3,4)
759E$	.		\n		(0,1)
760E$n	.		\n		NOMATCH
761E$j	.		\n		(0,1)
762E$nj	.		\n		(0,1)
763E$	(?=.)		\n		(0,0)
764E$n	(?=.)		\n		NOMATCH
765E$j	(?=.)		\n		(0,0)
766E$nj	(?=.)		\n		(0,0)
767E$	(?!.)		\n		(1,1)
768E$n	(?!.)		\n		(0,0)
769E$j	(?!.)		\n		(1,1)
770E$nj	(?!.)		\n		(1,1)
771E$	(.)c(?!.)	a\nb\nc\n	NOMATCH
772E$	(?:(.)c)(?:(?!.))	a\nb\nc\n	NOMATCH
773E$	(?:(.)c)(?m:(?!.))	a\nb\nc\n	(3,5)(3,4)
774E$	((?s).)c(?!.)	a\nb\nc\n	NOMATCH
775E$	SAME	a\nb\nc\n	NOMATCH
776E$	((?s)b.)c(?!.)	a\nb\nc\n	NOMATCH
777E$	SAME	a\nb\nc\n	NOMATCH
778Ez$	()^b	a\nb\nc\n	NOMATCH
779Ez$	SAME	a\nb\nc\n	NOMATCH
780Ez$	((?m)^b)	a\nb\nc\n	(2,3)(2,3)
781Ez	(?(1)b|a)	a	ESUBREG
782E	(x)?(?(1)a|b)	a	NOMATCH
783E	SAME	a	NOMATCH
784E	(x)?(?(1)b|a)	a	(0,1)
785Ez	()?a		a	(0,1)(0,0)
786Ez	()?(?(1)a|b)	a	(0,1)(0,0)
787Ez	SAME		b	(0,1)
788Ez	()?(?(1)b|a)	a	(0,1)
789Ez	SAME		b	(0,1)(0,0)
790Ez	()?(?(1)b|a)	a	(0,1)
791E$	^(<)?blah(>)?$	<blah>	(0,6)(0,1)(5,6)
792E$	^(<)?blah(?(1)>)$	<blah>	(0,6)(0,1)
793E$	^(<)?blah(?(1)(>))$	<blah>	(0,6)(0,1)(5,6)
794E$	SAME	blah	(0,4)
795E$	SAME	a	NOMATCH
796E$	SAME	blah>	NOMATCH
797E$	SAME	<blah	NOMATCH
798Ez$	^(<)?blah(?(1)(>)|)$	<blah>	(0,6)(0,1)(5,6)
799Ez$	SAME	blah	(0,4)
800Ez$	SAME	a	NOMATCH
801Ez$	SAME	blah>	NOMATCH
802Ez$	SAME	<blah	NOMATCH
803E$	^(\\()?blah(?(1)(\\)))$	(blah)	(0,6)(0,1)(5,6)
804E$	SAME	blah	(0,4)
805E$	SAME	a	NOMATCH
806E$	SAME	blah)	NOMATCH
807E$	SAME	(blah	NOMATCH
808E$	^(\\(+)?blah(?(1)(\\)))$	(blah)	(0,6)(0,1)(5,6)
809E$	SAME	blah	(0,4)
810E$	SAME	blah)	NOMATCH
811E$	SAME	(blah	NOMATCH
812E	(?(?!a)b|a)	a	(0,1)
813E	(?(?=a)b|a)	a	NOMATCH
814E	SAME	a	NOMATCH
815E	(?(?=a)a|b)	a	(0,1)
816E$	(?=(a+))(\\1ab)		aaab	(0,4)(0,2)(0,4)
817Em$	SAME			aaab	(0,4)(0,2)(0,4)
818E$	(?=(a+?))(\\1ab)	aaab	(0,4)(0,2)(0,4)
819E$	(\\w+:)+	one:	(0,4)(0,4)
820E	$(?<=^(a))	a	(1,1)(0,1)
821E$	(?=(a+?))(\\1ab)	aaab	(0,4)(0,2)(0,4)
822E$	^(?=(a+?))\\1ab	aaab	(0,4)(0,2)
823E$	SAME	aaab	(0,4)(0,2)
824E$v	([\\w:]+::)?(\\w+)$	abcd	(0,4)(?,?)(0,4)
825E$v	SAME	xy:z:::abcd	(0,11)(0,7)(7,11)
826E	^[^bcd]*(c+)	aexycd	(0,5)(4,5)
827E	(a*)b+	caab	(1,4)(1,3)
828E$v	([\\w:]+::)?(\\w+)$	abcd	(0,4)(?,?)(0,4)
829E$v	SAME	xy:z:::abcd	(0,11)(0,7)(7,11)
830E$v	SAME	abcd:	NOMATCH
831E$v	SAME	abcd:	NOMATCH
832E	^[^bcd]*(c+)	aexycd	(0,5)(4,5)
833E	(?>a+)b	aaab	(0,4)
834E	([[:]+)	a:[b]:	ECTYPE
835E	([[=]+)	a=[b]=	ECOLLATE
836E	([[.]+)	a.[b].	ECOLLATE
837E	((?>a+)b)	aaab	(0,4)(0,4)
838E	(?>(a+))b	aaab	(0,4)(0,3)
839E$	((?>[^()]+)|\\([^()]*\\))+	((abc(ade)ufh()()x	(2,18)(17,18)
840E$	a\\Z	aaab	NOMATCH
841E$	SAME	a\nb\n	NOMATCH
842E$	b\\Z	a\nb\n	(2,3)
843E$	b\\Z	a\nb	(2,3)
844E$	b\\z	a\nb	(2,3)
845E$v	^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$	a	ESUBREG
846E$v	SAME	abc	ESUBREG
847E$v	SAME	a-b	ESUBREG
848E$v	SAME	0-9	ESUBREG
849E$v	SAME	a.b	ESUBREG
850E$v	SAME	5.6.7	ESUBREG
851E$v	SAME	the.quick.brown.fox	ESUBREG
852E$v	SAME	a100.b200.300c	ESUBREG
853E$v	SAME	12-ab.1245	ESUBREG
854E$v	SAME	NULL	ESUBREG
855E$v	SAME	.a	ESUBREG
856E$v	SAME	-a	ESUBREG
857E$v	SAME	a-	ESUBREG
858E$v	SAME	a.	ESUBREG
859E$v	SAME	a_b	ESUBREG
860E$v	SAME	a.-	ESUBREG
861E$v	SAME	a..	ESUBREG
862E$v	SAME	ab..bc	ESUBREG
863E$v	SAME	the.quick.brown.fox-	ESUBREG
864E$v	SAME	the.quick.brown.fox.	ESUBREG
865E$v	SAME	the.quick.brown.fox_	ESUBREG
866E$v	SAME	the.quick.brown.fox+	ESUBREG
867E	(?>.*)(?<=(abcd|wxyz))	alphabetabcd	(0,12)(8,12)
868E	SAME	endingwxyz	(0,10)(6,10)
869E	SAME	a rather long string that doesn't end with one of them	NOMATCH
870E	word (?>(?:(?!otherword)[a-zA-Z0-9]+ ){0,30})otherword	word cat dog elephant mussel cow horse canary baboon snake shark otherword	(0,74)
871E	SAME	word cat dog elephant mussel cow horse canary baboon snake shark	NOMATCH
872E	word (?>[a-zA-Z0-9]+ ){0,30}otherword	word cat dog elephant mussel cow horse canary baboon snake shark the quick brown fox and the lazy dog and several other words getting close to thirty by now I hope	NOMATCH
873E$	(?<=\\d{3}(?!999))foo	999foo	(3,6)
874E$	SAME	123999foo	(6,9)
875E$	SAME	123abcfoo	NOMATCH
876E$	(?<=(?!...999)\\d{3})foo	999foo	(3,6)
877E$	SAME	123999foo	(6,9)
878E$	SAME	123abcfoo	NOMATCH
879E$	(?<=\\d{3}(?!999)...)foo	123abcfoo	(6,9)
880E$	SAME	123456foo	(6,9)
881E$	SAME	123999foo	NOMATCH
882E$	(?<=\\d{3}...)(?<!999)foo	123abcfoo	(6,9)
883E$	SAME	123456foo	(6,9)
884E$	SAME	123999foo	NOMATCH
885Ei	<a +href *= *(["'])?		<a href=abcd xyz	(0,8)
886Ei	=(")?(?(1)(.*)"|([^ ]+))	=abcd xyz	(0,5)(?,?)(?,?)(1,5)
887Ei	=(")?(?(1)(.*)\1|([^ ]+))	="abcd" xyz	(0,7)(1,2)(2,6)
888Ei	<a +href *= *((["'])(.*?)\2|[^ ]+)	<a href=abcd xyz	(0,12)(8,12)
889Ei	<a +href *= *((["'])(.*?)\2|[^ ]+)	<a href="abcd" xyz	(0,14)(8,14)(8,9)(9,13)
890Ei	<a +href *= *(["'])?(?(1)(.*?)\1|([^ ]+))	<a href=abcd xyz	(0,12)(?,?)(?,?)(8,12)
891Ei	<a +href *= *(["'])?(?(1)(.*?)\1|([^ ]+))	<a href='abcd' xyz	(0,14)(8,9)(9,13)
892Eiv	<a[\s]+href[\s]*=[\s]*(["'])?(?(1)(.*?)\1|([^\s]+))	<a href=abcd xyz	(0,12)(?,?)(?,?)(8,12)
893E$ijcv	<a[\\s]+href[\\s]*=[\\s]*       # find <a href=\n (["\\'])?                              # find single or double quote\n (?(1) (.*?)\\1 | ([^\\s]+))            # if quote found, match up to\n                                        # next matching quote,\n                                        # otherwise match up to next\n                                        # space\n	<a href=abcd xyz	(0,12)(?,?)(?,?)(8,12)
894E$ijcv	SAME	<a href="abcd xyz pqr" cats	(0,22)(8,9)(9,21)
895E$ijcv	SAME	<a href='abcd xyz pqr' cats	(0,22)(8,9)(9,21)
896E$ijc	<a\\s+href\\s*=\\s* # find <a href=\n (["'])?                    # find single or double quote\n (?(1) (.*?)\\1 | (\\S+))   # if quote found, match to next matching\n                            # quote, otherwise match up to next space\n	<a href=abcd xyz	(0,12)(?,?)(?,?)(8,12)
897E$ijc	SAME	<a href="abcd xyz pqr" cats	(0,22)(8,9)(9,21)
898E$ijc	SAME	<a href       =       'abcd xyz pqr' cats	(0,36)(22,23)(23,35)
899E$ijc	<a\\s+href(?>\\s*)=(?>\\s*)        # find <a href=\n (["'])?                         # find single or double quote\n (?(1) (.*?)\\1 | (\\S+))          # if quote found, match up to next matching\n                                 # quote, otherwise match up to next space\n	<a href=abcd xyz	(0,12)(?,?)(?,?)(8,12)
900E$ijc	SAME	<a href="abcd xyz pqr" cats	(0,22)(8,9)(9,21)
901E$ijc	SAME	<a href       =       'abcd xyz pqr' cats	(0,36)(22,23)(23,35)
902E	((Z)+|A)*	ZABCDEFG	(0,2)(1,2)
903E	(Z()|A)*	ZABCDEFG	ENULL
904Ez	(Z()|A)*	ZABCDEFG	(0,2)(1,2)
905E	(Z(())|A)*	ZABCDEFG	ENULL
906Ez	(Z(())|A)*	ZABCDEFG	(0,2)(1,2)
907E	((?>Z)+|A)*	ZABCDEFG	(0,2)(1,2)
908E	((?>)+|A)*	ZABCDEFG	(0,0)(0,0)
909E	a*	abbab	(0,1)
910E$v	^[a-\\d]*	abcde	ERANGE
911E$v	^[a-\\d]	abcde	ERANGE
912E$v	SAME	-things	ERANGE
913E$v	SAME	0digit	ERANGE
914E$v	SAME	bcdef	ERANGE
915E$v	^[\\d-a]	abcde	ERANGE
916E$v	SAME	-things	ERANGE
917E$v	SAME	0digit	ERANGE
918E$v	SAME	bcdef	ERANGE
919