xref: /openbsd-src/gnu/usr.bin/perl/t/re/re_tests (revision fc405d53b73a2d73393cb97f684863d17b583e38)
1# This stops me getting screenfulls of syntax errors every time I accidentally
2# run this file via a shell glob.  The full format of this file is given
3# in regexp.t
4# Prior to the implementation of autoloading of \N{}, tests that used \N{name}
5# could not go in this file, and were farmed out to other .t's, where they
6# remain
7#
8# pat	string	y/n/etc	expr	expected-expr	skip-reason	comment
9__END__
10abc	abc	y	$&	abc
11abc	abc	y	$-[0]	0
12abc	abc	y	$+[0]	3
13abc	xbc	n	-	-
14abc	axc	n	-	-
15abc	abx	n	-	-
16abc	xabcy	y	$&	abc
17abc	xabcy	y	$-[0]	1
18abc	xabcy	y	$+[0]	4
19abc	ababc	y	$&	abc
20abc	ababc	y	$-[0]	2
21abc	ababc	y	$+[0]	5
22ab*c	abc	y	$&	abc
23ab*c	abc	y	$-[0]	0
24ab*c	abc	y	$+[0]	3
25ab*bc	abc	y	$&	abc
26ab*bc	abc	y	$-[0]	0
27ab*bc	abc	y	$+[0]	3
28ab*bc	abbc	y	$&	abbc
29ab*bc	abbc	y	$-[0]	0
30ab*bc	abbc	y	$+[0]	4
31ab*bc	abbbbc	y	$&	abbbbc
32ab*bc	abbbbc	y	$-[0]	0
33ab*bc	abbbbc	y	$+[0]	6
34.{1}	abbbbc	y	$&	a
35.{1}	abbbbc	y	$-[0]	0
36.{1}	abbbbc	y	$+[0]	1
37.{3,4}	abbbbc	y	$&	abbb
38.{3,4}	abbbbc	y	$-[0]	0
39.{3,4}	abbbbc	y	$+[0]	4
40\N{1}	abbbbc	y	$&	a
41\N{1}	abbbbc	y	$-[0]	0
42\N{1}	abbbbc	y	$+[0]	1
43/\N {1}/x	abbbbc	y	$&	a
44/\N {1}/x	abbbbc	y	$-[0]	0
45/\N {1}/x	abbbbc	y	$+[0]	1
46\N{3,4}	abbbbc	y	$&	abbb
47\N{3,4}	abbbbc	y	$-[0]	0
48\N{3,4}	abbbbc	y	$+[0]	4
49\N{ 3 , 4 }	abbbbc	y	$+[0]	4
50/\N {3,4}/x	abbbbc	y	$&	abbb
51/\N {3,4}/x	abbbbc	y	$-[0]	0
52/\N {3,4}/x	abbbbc	y	$+[0]	4
53ab{0,}bc	abbbbc	y	$&	abbbbc
54ab{0,}bc	abbbbc	y	$-[0]	0
55ab{0,}bc	abbbbc	y	$+[0]	6
56ab+bc	abbc	y	$&	abbc
57ab+bc	abbc	y	$-[0]	0
58ab+bc	abbc	y	$+[0]	4
59ab+bc	abc	n	-	-
60ab+bc	abq	n	-	-
61ab{1,}bc	abq	n	-	-
62ab+bc	abbbbc	y	$&	abbbbc
63ab+bc	abbbbc	y	$-[0]	0
64ab+bc	abbbbc	y	$+[0]	6
65ab{1,}bc	abbbbc	y	$&	abbbbc
66ab{1,}bc	abbbbc	y	$-[0]	0
67ab{1,}bc	abbbbc	y	$+[0]	6
68ab{1,3}bc	abbbbc	y	$&	abbbbc
69ab{1,3}bc	abbbbc	y	$-[0]	0
70ab{1,3}bc	abbbbc	y	$+[0]	6
71ab{3,4}bc	abbbbc	y	$&	abbbbc
72ab{3,4}bc	abbbbc	y	$-[0]	0
73ab{3,4}bc	abbbbc	y	$+[0]	6
74ab{4,5}bc	abbbbc	n	-	-
75ab?bc	abbc	y	$&	abbc
76ab?bc	abc	y	$&	abc
77ab{0,1}bc	abc	y	$&	abc
78ab?bc	abbbbc	n	-	-
79ab?c	abc	y	$&	abc
80ab{0,1}c	abc	y	$&	abc
81^abc$	abc	y	$&	abc
82^abc$	abcc	n	-	-
83^abc	abcc	y	$&	abc
84^abc$	aabc	n	-	-
85abc$	aabc	y	$&	abc
86abc$	aabcd	n	-	-
87^	abc	y	$&
88$	abc	y	$&
89a.c	abc	y	$&	abc
90a.c	axc	y	$&	axc
91a\Nc	abc	y	$&	abc
92/a\N c/x	abc	y	$&	abc
93a.*c	axyzc	y	$&	axyzc
94a\N*c	axyzc	y	$&	axyzc
95/a\N *c/x	axyzc	y	$&	axyzc
96a.*c	axyzd	n	-	-
97a\N*c	axyzd	n	-	-
98/a\N *c/x	axyzd	n	-	-
99a[bc]d	abc	n	-	-
100a[bc]d	abd	y	$&	abd
101a[b]d	abd	y	$&	abd
102[a][b][d]	abd	y	$&	abd
103.[b].	abd	y	$&	abd
104.[b].	aBd	n	-	-
105(?i:.[b].)	abd	y	$&	abd
106(?i:\N[b]\N)	abd	y	$&	abd
107a[b-d]e	abd	n	-	-
108a[b-d]e	ace	y	$&	ace
109a[b-d]	aac	y	$&	ac
110a[-b]	a-	y	$&	a-
111a[b-]	a-	y	$&	a-
112a[b-a]	-	c	-	Invalid [] range
113a[]b	-	c	-	Unmatched [
114a[	-	c	-	Unmatched [
115a]	a]	y	$&	a]
116a[]]b	a]b	y	$&	a]b
117a[^bc]d	aed	y	$&	aed
118a[^bc]d	abd	n	-	-
119a[^-b]c	adc	y	$&	adc
120a[^-b]c	a-c	n	-	-
121a[^]b]c	a]c	n	-	-
122a[^]b]c	adc	y	$&	adc
123\ba\b	a-	y	-	-
124\ba\b	-a	y	-	-
125\ba\b	-a-	y	-	-
126\by\b	xy	n	-	-
127\by\b	yz	n	-	-
128\by\b	xyz	n	-	-
129\Ba\B	a-	n	-	-
130\Ba\B	-a	n	-	-
131\Ba\B	-a-	n	-	-
132\By\b	xy	y	-	-
133\By\b	xy	y	$-[0]	1
134\By\b	xy	y	$+[0]	2
135\By\b	xy	y	-	-
136\by\B	yz	y	-	-
137\By\B	xyz	y	-	-
138\b		n	-	-
139\b{gcb}		n	-	-
140\b{ gcb }		n	-	-
141\b{lb}		n	-	-
142\b{ lb }		n	-	-
143\b{sb}		n	-	-
144\b{ sb }		n	-	-
145\b{ wb }		n	-	-
146\b{wb}		n	-	-
147\B		y	-	-
148\B{gcb}		y	-	-
149\B{ gcb }		y	-	-
150\B{lb}		y	-	-
151\B{ lb }		y	-	-
152\B{sb}		y	-	-
153\B{ sb }		y	-	-
154\B{wb}		y	-	-
155\B{ wb }		y	-	-
156\w	a	y	-	-
157\w	-	n	-	-
158\W	a	n	-	-
159\W	-	y	-	-
160a\sb	a b	y	-	-
161a\sb	a-b	n	-	-
162a\Sb	a b	n	-	-
163a\Sb	a-b	y	-	-
164\d	1	y	-	-
165\d	-	n	-	-
166\D	1	n	-	-
167\D	-	y	-	-
168[\w]	a	y	-	-
169[\w]	-	n	-	-
170[\W]	a	n	-	-
171[\W]	-	y	-	-
172a[\s]b	a b	y	-	-
173a[\s]b	a-b	n	-	-
174a[\S]b	a b	n	-	-
175a[\S]b	a-b	y	-	-
176[\d]	1	y	-	-
177[\d]	-	n	-	-
178[\D]	1	n	-	-
179[\D]	-	y	-	-
180ab|cd	abc	y	$&	ab
181ab|cd	abcd	y	$&	ab
182()ef	def	y	$&-$1	ef-
183()ef	def	y	$-[0]	1
184()ef	def	y	$+[0]	3
185()\x{100}\x{1000}	d\x{100}\x{1000}	y	$+[0]	3
186()ef	def	y	$-[1]	1
187()ef	def	y	$+[1]	1
188*a	-	c	-	Quantifier follows nothing
189(|*)b	-	c	-	Quantifier follows nothing
190(*)b	-	c	-	Unknown verb
191$b	b	n	-	-
192a\	-	c	-	Search pattern not terminated
193a\(b	a(b	y	$&-$1	a(b-
194a\(*b	ab	y	$&	ab
195a\(*b	a((b	y	$&	a((b
196a\\b	a\\b	y	$&	a\\b
197abc)	-	c	-	Unmatched )
198(abc	-	c	-	Unmatched (
199((a))	abc	y	$&-$1-$2	a-a-a
200((a))	abc	y	$-[0]-$-[1]-$-[2]	0-0-0
201((a))	abc	y	$+[0]-$+[1]-$+[2]	1-1-1
202((a))	abc	b	@-	0 0 0
203((a))	abc	b	@+	1 1 1
204(a)b(c)	abc	y	$&-$1-$2	abc-a-c
205(a)b(c)	abc	y	$-[0]-$-[1]-$-[2]	0-0-2
206(a)b(c)	abc	y	$+[0]-$+[1]-$+[2]	3-1-3
207a+b+c	aabbabc	y	$&	abc
208a{1,}b{1,}c	aabbabc	y	$&	abc
209a**	-	c	-	Nested quantifiers
210a.+?c	abcabc	y	$&	abc
211(a+|b)*	ab	y	$&-$1	ab-b
212(a+|b)*	ab	y	$-[0]	0
213(a+|b)*	ab	y	$+[0]	2
214(a+|b)*	ab	y	$-[1]	1
215(a+|b)*	ab	y	$+[1]	2
216(a+|b){0,}	ab	y	$&-$1	ab-b
217(a+|b)+	ab	y	$&-$1	ab-b
218(a+|b){1,}	ab	y	$&-$1	ab-b
219(a+|b)?	ab	y	$&-$1	a-a
220(a+|b){0,1}	ab	y	$&-$1	a-a
221)(	-	c	-	Unmatched )
222[^ab]*	cde	y	$&	cde
223abc		n	-	-
224a*		y	$&
225([abc])*d	abbbcd	y	$&-$1	abbbcd-c
226([abc])*bcd	abcd	y	$&-$1	abcd-a
227a|b|c|d|e	e	y	$&	e
228(a|b|c|d|e)f	ef	y	$&-$1	ef-e
229(a|b|c|d|e)f	ef	y	$-[0]	0
230(a|b|c|d|e)f	ef	y	$+[0]	2
231(a|b|c|d|e)f	ef	y	$-[1]	0
232(a|b|c|d|e)f	ef	y	$+[1]	1
233abcd*efg	abcdefg	y	$&	abcdefg
234ab*	xabyabbbz	y	$&	ab
235ab*	xayabbbz	y	$&	a
236(ab|cd)e	abcde	y	$&-$1	cde-cd
237[abhgefdc]ij	hij	y	$&	hij
238^(ab|cd)e	abcde	n	x$1y	xy
239(abc|)ef	abcdef	y	$&-$1	ef-
240(a|b)c*d	abcd	y	$&-$1	bcd-b
241(ab|ab*)bc	abc	y	$&-$1	abc-a
242a([bc]*)c*	abc	y	$&-$1	abc-bc
243a([bc]*)(c*d)	abcd	y	$&-$1-$2	abcd-bc-d
244a([bc]*)(c*d)	abcd	y	$-[0]	0
245a([bc]*)(c*d)	abcd	y	$+[0]	4
246a([bc]*)(c*d)	abcd	y	$-[1]	1
247a([bc]*)(c*d)	abcd	y	$+[1]	3
248a([bc]*)(c*d)	abcd	y	$-[2]	3
249a([bc]*)(c*d)	abcd	y	$+[2]	4
250a([bc]+)(c*d)	abcd	y	$&-$1-$2	abcd-bc-d
251a([bc]*)(c+d)	abcd	y	$&-$1-$2	abcd-b-cd
252a([bc]*)(c+d)	abcd	y	$-[0]	0
253a([bc]*)(c+d)	abcd	y	$+[0]	4
254a([bc]*)(c+d)	abcd	y	$-[1]	1
255a([bc]*)(c+d)	abcd	y	$+[1]	2
256a([bc]*)(c+d)	abcd	y	$-[2]	2
257a([bc]*)(c+d)	abcd	y	$+[2]	4
258a[bcd]*dcdcde	adcdcde	y	$&	adcdcde
259a[bcd]+dcdcde	adcdcde	n	-	-
260(ab|a)b*c	abc	y	$&-$1	abc-ab
261(ab|a)b*c	abc	y	$-[0]	0
262(ab|a)b*c	abc	y	$+[0]	3
263(ab|a)b*c	abc	y	$-[1]	0
264(ab|a)b*c	abc	y	$+[1]	2
265((a)(b)c)(d)	abcd	y	$1-$2-$3-$4	abc-a-b-d
266((a)(b)c)(d)	abcd	y	$-[0]	0
267((a)(b)c)(d)	abcd	y	$+[0]	4
268((a)(b)c)(d)	abcd	y	$-[1]	0
269((a)(b)c)(d)	abcd	y	$+[1]	3
270((a)(b)c)(d)	abcd	y	$-[2]	0
271((a)(b)c)(d)	abcd	y	$+[2]	1
272((a)(b)c)(d)	abcd	y	$-[3]	1
273((a)(b)c)(d)	abcd	y	$+[3]	2
274((a)(b)c)(d)	abcd	y	$-[4]	3
275((a)(b)c)(d)	abcd	y	$+[4]	4
276[a-zA-Z_][a-zA-Z0-9_]*	alpha	y	$&	alpha
277[_A-Z]	}	n	-	-		# This could match on EBCDIC if A-Z not excluding things in middle
278^a(bc+|b[eh])g|.h$	abh	y	$&-$1	bh-
279(bc+d$|ef*g.|h?i(j|k))	effgz	y	$&-$1-$2	effgz-effgz-
280(bc+d$|ef*g.|h?i(j|k))	ij	y	$&-$1-$2	ij-ij-j
281(bc+d$|ef*g.|h?i(j|k))	effg	n	-	-
282(bc+d$|ef*g.|h?i(j|k))	bcdd	n	-	-
283(bc+d$|ef*g.|h?i(j|k))	reffgz	y	$&-$1-$2	effgz-effgz-
284((((((((((a))))))))))	a	y	$10	a
285((((((((((a))))))))))	a	y	$-[0]	0
286((((((((((a))))))))))	a	y	$+[0]	1
287((((((((((a))))))))))	a	y	$-[10]	0
288((((((((((a))))))))))	a	y	$+[10]	1
289((((((((((a))))))))))\10	aa	y	$&	aa
290((((((((((a))))))))))${bang}	aa	n	-	-
291((((((((((a))))))))))${bang}	a!	y	$&	a!
292(((((((((a)))))))))	a	y	$&	a
293[89]+	1((((((7(9))))))	y	-	-
294multiple words of text	uh-uh	n	-	-
295multiple words	multiple words, yeah	y	$&	multiple words
296(.*)c(.*)	abcde	y	$&-$1-$2	abcde-ab-de
297\((.*), (.*)\)	(a, b)	y	($2, $1)	(b, a)
298[k]	ab	n	-	-
299abcd	abcd	y	$&-\$&-\\$&	abcd-\$&-\\abcd
300a(bc)d	abcd	y	$1-\$1-\\$1	bc-\$1-\\bc
301a[-]?c	ac	y	$&	ac
302(abc)\1	abcabc	y	$1	abc
303([a-c]*)\1	abcabc	y	$1	abc
304\1	-	c	-	Reference to nonexistent group
305\2	-	c	-	Reference to nonexistent group
306\g1	-	c	-	Reference to nonexistent group
307\g-1	-	c	-	Reference to nonexistent or unclosed group
308\g{1}	-	c	-	Reference to nonexistent group
309\g{ 1 }	-	c	-	Reference to nonexistent group
310\g{-1}	-	c	-	Reference to nonexistent or unclosed group
311\g{ -1 }	-	c	-	Reference to nonexistent or unclosed group
312\g0	-	c	-	Reference to invalid group 0
313\g-0	-	c	-	Reference to invalid group 0
314\g{0}	-	c	-	Reference to invalid group 0
315\g{ 0 }	-	c	-	Reference to invalid group 0
316\g{-0}	-	c	-	Reference to invalid group 0
317\g{ -0 }	-	c	-	Reference to invalid group 0
318(a)|\1	a	y	-	-
319(a)|\1	x	n	-	Reference to group in different branch
320(?:(b)?a)\1	a	n	-	Reference to group that did not match
321(a)|\2	-	c	-	Reference to nonexistent group
322(([a-c])b*?\2)*	ababbbcbc	y	$&-$1-$2	ababb-bb-b
323(([a-c])b*?\2){3}	ababbbcbc	y	$&-$1-$2	ababbbcbc-cbc-c
324((\3|b)\2(a)x)+	aaxabxbaxbbx	n	-	-
325((\3|b)\2(a)x)+	aaaxabaxbaaxbbax	y	$&-$1-$2-$3	bbax-bbax-b-a
326((\3|b)\2(a)){2,}	bbaababbabaaaaabbaaaabba	y	$&-$1-$2-$3	bbaaaabba-bba-b-a
327#Bug #3589 - up to perl-5.6.0 matches incorrectly, from 5.6.1 not anymore
328^((.)?a\2)+$	babadad	n	-	-
329(a)|(b)	b	y	$-[0]	0
330(a)|(b)	b	y	$+[0]	1
331(a)|(b)	b	y	x$-[1]	x
332(a)|(b)	b	y	x$+[1]	x
333(a)|(b)	b	y	$-[2]	0
334(a)|(b)	b	y	$+[2]	1
335'abc'i	ABC	y	$&	ABC
336'abc'i	XBC	n	-	-
337'abc'i	AXC	n	-	-
338'abc'i	ABX	n	-	-
339'abc'i	XABCY	y	$&	ABC
340'abc'i	ABABC	y	$&	ABC
341'ab*c'i	ABC	y	$&	ABC
342'ab*bc'i	ABC	y	$&	ABC
343'ab*bc'i	ABBC	y	$&	ABBC
344'ab*?bc'i	ABBBBC	y	$&	ABBBBC
345'ab{0,}?bc'i	ABBBBC	y	$&	ABBBBC
346'ab+?bc'i	ABBC	y	$&	ABBC
347'ab+bc'i	ABC	n	-	-
348'ab+bc'i	ABQ	n	-	-
349'ab{1,}bc'i	ABQ	n	-	-
350'ab+bc'i	ABBBBC	y	$&	ABBBBC
351'ab{1,}?bc'i	ABBBBC	y	$&	ABBBBC
352'ab{1,3}?bc'i	ABBBBC	y	$&	ABBBBC
353'ab{3,4}?bc'i	ABBBBC	y	$&	ABBBBC
354'ab{4,5}?bc'i	ABBBBC	n	-	-
355'ab??bc'i	ABBC	y	$&	ABBC
356'ab??bc'i	ABC	y	$&	ABC
357'ab{0,1}?bc'i	ABC	y	$&	ABC
358'ab??bc'i	ABBBBC	n	-	-
359'ab??c'i	ABC	y	$&	ABC
360'ab{0,1}?c'i	ABC	y	$&	ABC
361'^abc$'i	ABC	y	$&	ABC
362'^abc$'i	ABCC	n	-	-
363'^abc'i	ABCC	y	$&	ABC
364'^abc$'i	AABC	n	-	-
365'abc$'i	AABC	y	$&	ABC
366'^'i	ABC	y	$&
367'$'i	ABC	y	$&
368'a.c'i	ABC	y	$&	ABC
369'a.c'i	AXC	y	$&	AXC
370'a\Nc'i	ABC	y	$&	ABC
371'a.*?c'i	AXYZC	y	$&	AXYZC
372'a.*c'i	AXYZD	n	-	-
373'a[bc]d'i	ABC	n	-	-
374'a[bc]d'i	ABD	y	$&	ABD
375'a[b-d]e'i	ABD	n	-	-
376'a[b-d]e'i	ACE	y	$&	ACE
377'a[b-d]'i	AAC	y	$&	AC
378'a[-b]'i	A-	y	$&	A-
379'a[b-]'i	A-	y	$&	A-
380'a[b-a]'i	-	c	-	Invalid [] range
381'a[]b'i	-	c	-	Unmatched [
382'a['i	-	c	-	Unmatched [
383'a]'i	A]	y	$&	A]
384'a[]]b'i	A]B	y	$&	A]B
385'a[^bc]d'i	AED	y	$&	AED
386'a[^bc]d'i	ABD	n	-	-
387'a[^-b]c'i	ADC	y	$&	ADC
388'a[^-b]c'i	A-C	n	-	-
389'a[^]b]c'i	A]C	n	-	-
390'a[^]b]c'i	ADC	y	$&	ADC
391'ab|cd'i	ABC	y	$&	AB
392'ab|cd'i	ABCD	y	$&	AB
393'()ef'i	DEF	y	$&-$1	EF-
394'*a'i	-	c	-	Quantifier follows nothing
395'(|*)b'i	-	c	-	Quantifier follows nothing
396'(*)b'i	-	c	-	Unknown verb
397'$b'i	B	n	-	-
398'a\'i	-	c	-	Search pattern not terminated
399'a\(b'i	A(B	y	$&-$1	A(B-
400'a\(*b'i	AB	y	$&	AB
401'a\(*b'i	A((B	y	$&	A((B
402'a\\b'i	A\\B	y	$&	A\\B
403'abc)'i	-	c	-	Unmatched )
404'(abc'i	-	c	-	Unmatched (
405'((a))'i	ABC	y	$&-$1-$2	A-A-A
406'(a)b(c)'i	ABC	y	$&-$1-$2	ABC-A-C
407'a+b+c'i	AABBABC	y	$&	ABC
408'a{1,}b{1,}c'i	AABBABC	y	$&	ABC
409'a**'i	-	c	-	Nested quantifiers
410'a.+?c'i	ABCABC	y	$&	ABC
411'a.*?c'i	ABCABC	y	$&	ABC
412'a.{0,5}?c'i	ABCABC	y	$&	ABC
413'(a+|b)*'i	AB	y	$&-$1	AB-B
414'(a+|b){0,}'i	AB	y	$&-$1	AB-B
415'(a+|b)+'i	AB	y	$&-$1	AB-B
416'(a+|b){1,}'i	AB	y	$&-$1	AB-B
417'(a+|b)?'i	AB	y	$&-$1	A-A
418'(a+|b){0,1}'i	AB	y	$&-$1	A-A
419'(a+|b){0,1}?'i	AB	y	$&-$1	-
420')('i	-	c	-	Unmatched )
421'[^ab]*'i	CDE	y	$&	CDE
422'abc'i		n	-	-
423'a*'i		y	$&
424'([abc])*d'i	ABBBCD	y	$&-$1	ABBBCD-C
425'([abc])*bcd'i	ABCD	y	$&-$1	ABCD-A
426'a|b|c|d|e'i	E	y	$&	E
427'(a|b|c|d|e)f'i	EF	y	$&-$1	EF-E
428'abcd*efg'i	ABCDEFG	y	$&	ABCDEFG
429'ab*'i	XABYABBBZ	y	$&	AB
430'ab*'i	XAYABBBZ	y	$&	A
431'(ab|cd)e'i	ABCDE	y	$&-$1	CDE-CD
432'[abhgefdc]ij'i	HIJ	y	$&	HIJ
433'^(ab|cd)e'i	ABCDE	n	x$1y	XY
434'(abc|)ef'i	ABCDEF	y	$&-$1	EF-
435'(a|b)c*d'i	ABCD	y	$&-$1	BCD-B
436'(ab|ab*)bc'i	ABC	y	$&-$1	ABC-A
437'a([bc]*)c*'i	ABC	y	$&-$1	ABC-BC
438'a([bc]*)(c*d)'i	ABCD	y	$&-$1-$2	ABCD-BC-D
439'a([bc]+)(c*d)'i	ABCD	y	$&-$1-$2	ABCD-BC-D
440'a([bc]*)(c+d)'i	ABCD	y	$&-$1-$2	ABCD-B-CD
441'a[bcd]*dcdcde'i	ADCDCDE	y	$&	ADCDCDE
442'a[bcd]+dcdcde'i	ADCDCDE	n	-	-
443'(ab|a)b*c'i	ABC	y	$&-$1	ABC-AB
444'((a)(b)c)(d)'i	ABCD	y	$1-$2-$3-$4	ABC-A-B-D
445'[a-zA-Z_][a-zA-Z0-9_]*'i	ALPHA	y	$&	ALPHA
446'^a(bc+|b[eh])g|.h$'i	ABH	y	$&-$1	BH-
447'(bc+d$|ef*g.|h?i(j|k))'i	EFFGZ	y	$&-$1-$2	EFFGZ-EFFGZ-
448'(bc+d$|ef*g.|h?i(j|k))'i	IJ	y	$&-$1-$2	IJ-IJ-J
449'(bc+d$|ef*g.|h?i(j|k))'i	EFFG	n	-	-
450'(bc+d$|ef*g.|h?i(j|k))'i	BCDD	n	-	-
451'(bc+d$|ef*g.|h?i(j|k))'i	REFFGZ	y	$&-$1-$2	EFFGZ-EFFGZ-
452'((((((((((a))))))))))'i	A	y	$10	A
453'((((((((((a))))))))))\10'i	AA	y	$&	AA
454'((((((((((a))))))))))${bang}'i	AA	n	-	-
455'((((((((((a))))))))))${bang}'i	A!	y	$&	A!
456'(((((((((a)))))))))'i	A	y	$&	A
457'(?:(?:(?:(?:(?:(?:(?:(?:(?:(a))))))))))'i	A	y	$1	A
458'(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))'i	C	y	$1	C
459'multiple words of text'i	UH-UH	n	-	-
460'multiple words'i	MULTIPLE WORDS, YEAH	y	$&	MULTIPLE WORDS
461'(.*)c(.*)'i	ABCDE	y	$&-$1-$2	ABCDE-AB-DE
462'\((.*), (.*)\)'i	(A, B)	y	($2, $1)	(B, A)
463'[k]'i	AB	n	-	-
464'abcd'i	ABCD	y	$&-\$&-\\$&	ABCD-\$&-\\ABCD
465'a(bc)d'i	ABCD	y	$1-\$1-\\$1	BC-\$1-\\BC
466'a[-]?c'i	AC	y	$&	AC
467'(abc)\1'i	ABCABC	y	$1	ABC
468'([a-c]*)\1'i	ABCABC	y	$1	ABC
469a(?!b).	abad	y	$&	ad
470(?=)a	a	y	$&	a
471a(?=d).	abad	y	$&	ad
472a(?=c|d).	abad	y	$&	ad
473a(?:b|c|d)(.)	ace	y	$1	e
474a(?:b|c|d)*(.)	ace	y	$1	e
475a(?:b|c|d)+?(.)	ace	y	$1	e
476a(?:b|c|d)+?(.)	acdbcdbe	y	$1	d
477a(?:b|c|d)+(.)	acdbcdbe	y	$1	e
478a(?:b|c|d){2}(.)	acdbcdbe	y	$1	b
479a(?:b|c|d){4,5}(.)	acdbcdbe	y	$1	b
480a(?:b|c|d){4,5}?(.)	acdbcdbe	y	$1	d
481((foo)|(bar))*	foobar	y	$1-$2-$3	bar-foo-bar
482:(?:	-	c	-	Sequence (? incomplete
483a(?:b|c|d){6,7}(.)	acdbcdbe	y	$1	e
484a(?:b|c|d){6,7}?(.)	acdbcdbe	y	$1	e
485a(?:b|c|d){5,6}(.)	acdbcdbe	y	$1	e
486a(?:b|c|d){5,6}?(.)	acdbcdbe	y	$1	b
487a(?:b|c|d){5,7}(.)	acdbcdbe	y	$1	e
488a(?:b|c|d){5,7}?(.)	acdbcdbe	y	$1	b
489a(?:b|(c|e){1,2}?|d)+?(.)	ace	y	$1$2	ce
490^(.+)?B	AB	y	$1	A
491^([^a-z])|(\^)$	.	y	$1	.
492^[<>]&	<&OUT	y	$&	<&
493^(a\1?){4}$	aaaaaaaaaa	y	$1	aaaa
494^(a\1?){4}$	aaaaaaaaa	n	-	-
495^(a\1?){4}$	aaaaaaaaaaa	n	-	-
496^(a(?(1)\1)){4}$	aaaaaaaaaa	y	$1	aaaa
497^(a(?(1)\1)){4}$	aaaaaaaaa	n	-	-
498^(a(?(1)\1)){4}$	aaaaaaaaaaa	n	-	-
499((a{4})+)	aaaaaaaaa	y	$1	aaaaaaaa
500(((aa){2})+)	aaaaaaaaaa	y	$1	aaaaaaaa
501(((a{2}){2})+)	aaaaaaaaaa	y	$1	aaaaaaaa
502(?:(f)(o)(o)|(b)(a)(r))*	foobar	y	$1:$2:$3:$4:$5:$6	f:o:o:b:a:r
503(?<=a)b	ab	y	$&	b
504(?<=af?)b	ab	y	$&	b
505(?<=a)b	cb	n	-	-
506(?<=a(?:fo)?)b	cb	n	-	-
507(?<=a)b	b	n	-	-
508(?<=a(?:foo)?)b	b	n	-	-
509(?<!c)b	ab	y	$&	b
510(?<!c(?:foob)?)b	ab	y	$&	b
511(?<!c)b	cb	n	-	-
512(?<!c(?:fooba)?)b	cb	n	-	-
513(?<!c)b	b	y	-	-
514(?<!c(?:foobar)?)b	b	y	-	-
515(?<!c)b	b	y	$&	b
516(?<!c(?:foobarb)?)b	b	y	$&	b
517(?<%)b	-	c	-	Group name must start with a non-digit word character
518(?:..)*a	aba	y	$&	aba
519(?:..)*?a	aba	y	$&	a
520^(?:b|a(?=(.)))*\1	abc	y	$&	ab
521^(){3,5}	abc	y	a$1	a
522^(a+)*ax	aax	y	$1	a
523^((a|b)+)*ax	aax	y	$1	a
524^((a|bc)+)*ax	aax	y	$1	a
525(a|x)*ab	cab	y	y$1	y
526(a)*ab	cab	y	y$1	y
527(?:(?i)a)b	ab	y	$&	ab
528((?i)a)b	ab	y	$&:$1	ab:a
529(?:(?i)a)b	Ab	y	$&	Ab
530((?i)a)b	Ab	y	$&:$1	Ab:A
531(?:(?i)a)b	aB	n	-	-
532((?i)a)b	aB	n	-	-
533(?i:a)b	ab	y	$&	ab
534((?i:a))b	ab	y	$&:$1	ab:a
535(?i:a)b	Ab	y	$&	Ab
536((?i:a))b	Ab	y	$&:$1	Ab:A
537(?i:a)b	aB	n	-	-
538((?i:a))b	aB	n	-	-
539'(?:(?-i)a)b'i	ab	y	$&	ab
540'((?-i)a)b'i	ab	y	$&:$1	ab:a
541'(?:(?-i)a)b'i	aB	y	$&	aB
542'((?-i)a)b'i	aB	y	$&:$1	aB:a
543'(?:(?-i)a)b'i	Ab	n	-	-
544'((?-i)a)b'i	Ab	n	-	-
545'(?:(?-i)a)b'i	aB	y	$&	aB
546'((?-i)a)b'i	aB	y	$1	a
547'(?:(?-i)a)b'i	AB	n	-	-
548'((?-i)a)b'i	AB	n	-	-
549'(?-i:a)b'i	ab	y	$&	ab
550'((?-i:a))b'i	ab	y	$&:$1	ab:a
551'(?-i:a)b'i	aB	y	$&	aB
552'((?-i:a))b'i	aB	y	$&:$1	aB:a
553'(?-i:a)b'i	Ab	n	-	-
554'((?-i:a))b'i	Ab	n	-	-
555'(?-i:a)b'i	aB	y	$&	aB
556'((?-i:a))b'i	aB	y	$1	a
557'(?-i:a)b'i	AB	n	-	-
558'((?-i:a))b'i	AB	n	-	-
559'((?-i:a.))b'i	a\nB	n	-	-
560'((?-i:a\N))b'i	a\nB	n	-	-
561'((?s-i:a.))b'i	a\nB	y	$1	a\n
562'((?s-i:a\N))b'i	a\nB	n	-	-
563'((?s-i:a.))b'i	B\nB	n	-	-
564'((?s-i:a\N))b'i	B\nB	n	-	-
565(?:c|d)(?:)(?:a(?:)(?:b)(?:b(?:))(?:b(?:)(?:b)))	cabbbb	y	$&	cabbbb
566(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))	caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb	y	$&	caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
567'(ab)\d\1'i	Ab4ab	y	$1	Ab
568'(ab)\d\1'i	ab4Ab	y	$1	ab
569foo\w*\d{4}baz	foobar1234baz	y	$&	foobar1234baz
570a(?{})b	cabd	y	$&	ab
571a(?{f()+	-	c	-	Missing right curly or square bracket
572a(?{{1}+	-	c	-	Missing right curly or square bracket
573 (?{(^{})	-	c	-	syntax error
574a(?{}})b	-	c	-
575a(?{"{"})b	ab	y	-	-
576a(?{"\{"})b	cabd	y	$&	ab
577a(?{"{"}})b	-	c	-	Sequence (?{...}) not terminated with ')'
578a(?{$::bl="\{"}).b	caxbd	y	$::bl	{
579x(~~)*(?:(?:F)?)?	x~~	y	-	-
580^a(?#xxx){3}c	aaac	y	$&	aaac
581'^a (?#xxx) (?#yyy) {3}c'x	aaac	y	$&	aaac
582(?<![cd])b	dbcb	n	-	-
583(?<![cd]e{0,254})b	dbcb	n	-	-
584(?<![cd])[ab]	dbaacb	y	$&	a
585(?<![cd]{1,2})[ab]	dbaacb	y	$&	a
586#Why does this fail.  I think it's confusing (?<![cd]{1,3})[ab]	dbaacb	y	$&	a
587(?<!(c|d))b	dbcb	n	-	-
588(?<!(c|d))[ab]	dbaacb	y	$&	a
589(?<!cd)[ab]	cdaccb	y	$&	b
590^(?:a?b?)*$	a--	n	-	-
591((?s)^a(.))((?m)^b$)	a\nb\nc\n	y	$1;$2;$3	a\n;\n;b
592((?m)^b$)	a\nb\nc\n	y	$1	b
593(?m)^b	a\nb\n	y	$&	b
594(?m)^(b)	a\nb\n	y	$1	b
595((?m)^b)	a\nb\n	y	$1	b
596\n((?m)^b)	a\nb\n	y	$1	b
597((?s).)c(?!.)	a\nb\nc\n	y	$1	\n
598((?s).)c(?!.)	a\nb\nc\n	y	$1:$&	\n:\nc
599((?s)b.)c(?!.)	a\nb\nc\n	y	$1	b\n
600((?s)b.)c(?!.)	a\nb\nc\n	y	$1:$&	b\n:b\nc
601((?s)b.)c(?!\N)	a\nb\nc\n	y	$1:$&	b\n:b\nc
602'(b.)c(?!\N)'s	a\nb\nc\n	y	$1:$&	b\n:b\nc
603^b	a\nb\nc\n	n	-	-
604()^b	a\nb\nc\n	n	-	-
605((?m)^b)	a\nb\nc\n	y	$1	b
606(?(1)a|b)	a	n	-	-
607(?(1)b|a)	a	y	$&	a
608(x)?(?(1)a|b)	a	n	-	-
609(x)?(?(1)b|a)	a	y	$&	a
610()?(?(1)b|a)	a	y	$&	a
611()(?(1)b|a)	a	n	-	-
612()?(?(1)a|b)	a	y	$&	a
613^(\()?blah(?(1)(\)))$	(blah)	y	$2	)
614^(\()?blah(?(1)(\)))$	blah	y	($2)	()
615^(\()?blah(?(1)(\)))$	blah)	n	-	-
616^(\()?blah(?(1)(\)))$	(blah	n	-	-
617^(\(+)?blah(?(1)(\)))$	(blah)	y	$2	)
618^(\(+)?blah(?(1)(\)))$	blah	y	($2)	()
619^(\(+)?blah(?(1)(\)))$	blah)	n	-	-
620^(\(+)?blah(?(1)(\)))$	(blah	n	-	-
621(?(1?)a|b)	-	c	-	Switch condition not recognized
622(?(1)a|b|c)	-	c	-	Switch (?(condition)... contains too many branches
623(?(?{0})a|b)	a	n	-	-
624(?(?{0})b|a)	a	y	$&	a
625(?(?{1})b|a)	a	n	-	-
626(?(?{1})a|b)	a	y	$&	a
627(?(?!a)a|b)	a	n	-	-
628(?(?!a)b|a)	a	y	$&	a
629(?(?=a)b|a)	a	n	-	-
630(?(?=a)a|b)	a	y	$&	a
631(?(?!\x{100})\x{100}|b)	\x{100}	n	-	-
632(?(?!\x{100})b|\x{100})	\x{100}	y	$&	\x{100}
633(?(?=\x{100})b|\x{100})	\x{100}	n	-	-
634(?(?=\x{100})\x{100}|b)	\x{100}	y	$&	\x{100}
635(?=(a+?))(\1ab)	aaab	y	$2	aab
636^(?=(a+?))\1ab	aaab	n	-	-
637(\w+:)+	one:	y	$1	one:
638$(?<=^(a))	a	y	$1	a
639(?=(a+?))(\1ab)	aaab	y	$2	aab
640^(?=(a+?))\1ab	aaab	n	-	-
641([\w:]+::)?(\w+)$	abcd:	n	-	-
642([\w:]+::)?(\w+)$	abcd	y	$1-$2	-abcd
643([\w:]+::)?(\w+)$	xy:z:::abcd	y	$1-$2	xy:z:::-abcd
644^[^bcd]*(c+)	aexycd	y	$1	c
645(a*)b+	caab	y	$1	aa
646([\w:]+::)?(\w+)$	abcd:	n	-	-
647([\w:]+::)?(\w+)$	abcd	y	$1-$2	-abcd
648([\w:]+::)?(\w+)$	xy:z:::abcd	y	$1-$2	xy:z:::-abcd
649^[^bcd]*(c+)	aexycd	y	$1	c
650(?{$a=2})a*aa(?{local$a=$a+1})k*c(?{$b=$a})	yaaxxaaaacd	y	$b	3
651(?{$a=2})(a(?{local$a=$a+1}))*aak*c(?{$b=$a})	yaaxxaaaacd	y	$b	4
652# [perl #117917]
653^(a(?{ "x" =~ m{x}})b)(??{ $1 })	abab	y	$&	abab
654(>a+)ab	aaab	n	-	-
655(?>a+)b	aaab	y	-	-
656([[:]+)	a:[b]:	y	$1	:[
657([[=]+)	a=[b]=	y	$1	=[
658([[.]+)	a.[b].	y	$1	.[
659[a[:xyz:	-	c	-	Unmatched [
660[a[:xyz:]	-	c	-	POSIX class [:xyz:] unknown
661[a[:]b[:c]	abc	y	$&	abc
662([a[:xyz:]b]+)	-	c	-	POSIX class [:xyz:] unknown
663([[:alpha:]]+)	ABcd01Xy__--  ${nulnul}${ffff}	y	$1	ABcd
664([[:alnum:]]+)	ABcd01Xy__--  ${nulnul}${ffff}	y	$1	ABcd01Xy
665([[:ascii:]]+)	ABcd01Xy__--  ${nulnul}${ffff}	y	$1	ABcd01Xy__--  ${nulnul}
666([[:cntrl:]]+)	ABcd01Xy__--  ${nulnul}${ffff}	ya	$1	${nulnul}	ff is a control on EBCDIC (non-POSIX-BC), so this fails under /u rules
667([[:digit:]]+)	ABcd01Xy__--  ${nulnul}${ffff}	y	$1	01
668([[:graph:]]+)	ABcd01Xy__--  ${nulnul}${ffff}	y	$1	ABcd01Xy__--
669([[:lower:]]+)	ABcd01Xy__--  ${nulnul}${ffff}	y	$1	cd
670([[:print:]]+)	ABcd01Xy__--  ${nulnul}${ffff}	y	$1	ABcd01Xy__--
671([[:punct:]]+)	ABcd01Xy__--  ${nulnul}${ffff}	y	$1	__--
672([[:space:]]+)	ABcd01Xy__--  ${nulnul}${ffff}	y	$1
673([[:word:]]+)	ABcd01Xy__--  ${nulnul}${ffff}	y	$1	ABcd01Xy__
674([[:upper:]]+)	ABcd01Xy__--  ${nulnul}${ffff}	y	$1	AB
675([[:xdigit:]]+)	ABcd01Xy__--  ${nulnul}${ffff}	y	$1	ABcd01
676([[:^alpha:]]+)	ABcd01Xy__--  ${nulnul}${ffff}	y	$1	01
677((?a)[[:^alnum:]]+)	ABcd01Xy__--  ${nulnul}${ffff}	y	$1	__--  ${nulnul}${ffff}
678([[:^ascii:]]+)	ABcd01Xy__--  ${nulnul}${ffff}	y	$1	${ffff}
679([:[:^ascii:]]+)	ABcd01Xy__--  ${nulnul}${ffff}	y	$1	${ffff}	RT #120799
680([[:^cntrl:]]+)	ABcd01Xy__--  ${nulnul}${ffff}	y	$1	ABcd01Xy__--
681([[:^digit:]]+)	ABcd01Xy__--  ${nulnul}${ffff}	y	$1	ABcd
682([[:^lower:]]+)	ABcd01Xy__--  ${nulnul}${ffff}	y	$1	AB
683((?a)[[:^print:]]+)	ABcd01Xy__--  ${nulnul}${ffff}	y	$1	${nulnul}${ffff}
684([[:^punct:]]+)	ABcd01Xy__--  ${nulnul}${ffff}	y	$1	ABcd01Xy
685([[:^space:]]+)	ABcd01Xy__--  ${nulnul}${ffff}	y	$1	ABcd01Xy__--
686((?a)[[:^word:]]+)	ABcd01Xy__--  ${nulnul}${ffff}	y	$1	--  ${nulnul}${ffff}
687([[:^upper:]]+)	ABcd01Xy__--  ${nulnul}${ffff}	y	$1	cd01
688([[:^xdigit:]]+)	ABcd01Xy__--  ${nulnul}${ffff}	y	$1	Xy__--  ${nulnul}${ffff}
689[[:foo:]]	-	c	-	POSIX class [:foo:] unknown
690[[:^foo:]]	-	c	-	POSIX class [:^foo:] unknown
691'[[:^cntrl:]]+'u	a\x80	y	$&	a	\x80 was matching on EBCDIC platforms
692((?>a+)b)	aaab	y	$1	aaab
693(?>(a+))b	aaab	y	$1	aaa
694((?>[^()]+)|\([^()]*\))+	((abc(ade)ufh()()x	y	$&	abc(ade)ufh()()x
695(?<=x+)y	-	c	-	Lookbehind longer than 255 not implemented
696((def){37,17})?ABC	ABC	y	$&	ABC
697\Z	a\nb\n	y	$-[0]	3
698\z	a\nb\n	y	$-[0]	4
699$	a\nb\n	y	$-[0]	3
700\Z	b\na\n	y	$-[0]	3
701\z	b\na\n	y	$-[0]	4
702$	b\na\n	y	$-[0]	3
703\Z	b\na	y	$-[0]	3
704\z	b\na	y	$-[0]	3
705$	b\na	y	$-[0]	3
706'\Z'm	a\nb\n	y	$-[0]	3
707'\z'm	a\nb\n	y	$-[0]	4
708'$'m	a\nb\n	y	$-[0]	1
709'\Z'm	b\na\n	y	$-[0]	3
710'\z'm	b\na\n	y	$-[0]	4
711'$'m	b\na\n	y	$-[0]	1
712'\Z'm	b\na	y	$-[0]	3
713'\z'm	b\na	y	$-[0]	3
714'$'m	b\na	y	$-[0]	1
715a\Z	a\nb\n	n	-	-
716a\z	a\nb\n	n	-	-
717a$	a\nb\n	n	-	-
718a\Z	b\na\n	y	$-[0]	2
719a\z	b\na\n	n	-	-
720a$	b\na\n	y	$-[0]	2
721a\Z	b\na	y	$-[0]	2
722a\z	b\na	y	$-[0]	2
723a$	b\na	y	$-[0]	2
724'a\Z'm	a\nb\n	n	-	-
725'a\z'm	a\nb\n	n	-	-
726'a$'m	a\nb\n	y	$-[0]	0
727'a\Z'm	b\na\n	y	$-[0]	2
728'a\z'm	b\na\n	n	-	-
729'a$'m	b\na\n	y	$-[0]	2
730'a\Z'm	b\na	y	$-[0]	2
731'a\z'm	b\na	y	$-[0]	2
732'a$'m	b\na	y	$-[0]	2
733aa\Z	aa\nb\n	n	-	-
734aa\z	aa\nb\n	n	-	-
735aa$	aa\nb\n	n	-	-
736aa\Z	b\naa\n	y	$-[0]	2
737aa\z	b\naa\n	n	-	-
738aa$	b\naa\n	y	$-[0]	2
739aa\Z	b\naa	y	$-[0]	2
740aa\z	b\naa	y	$-[0]	2
741aa$	b\naa	y	$-[0]	2
742'aa\Z'm	aa\nb\n	n	-	-
743'aa\z'm	aa\nb\n	n	-	-
744'aa$'m	aa\nb\n	y	$-[0]	0
745'aa\Z'm	b\naa\n	y	$-[0]	2
746'aa\z'm	b\naa\n	n	-	-
747'aa$'m	b\naa\n	y	$-[0]	2
748'aa\Z'm	b\naa	y	$-[0]	2
749'aa\z'm	b\naa	y	$-[0]	2
750'aa$'m	b\naa	y	$-[0]	2
751aa\Z	ac\nb\n	n	-	-
752aa\z	ac\nb\n	n	-	-
753aa$	ac\nb\n	n	-	-
754aa\Z	b\nac\n	n	-	-
755aa\z	b\nac\n	n	-	-
756aa$	b\nac\n	n	-	-
757aa\Z	b\nac	n	-	-
758aa\z	b\nac	n	-	-
759aa$	b\nac	n	-	-
760'aa\Z'm	ac\nb\n	n	-	-
761'aa\z'm	ac\nb\n	n	-	-
762'aa$'m	ac\nb\n	n	-	-
763'aa\Z'm	b\nac\n	n	-	-
764'aa\z'm	b\nac\n	n	-	-
765'aa$'m	b\nac\n	n	-	-
766'aa\Z'm	b\nac	n	-	-
767'aa\z'm	b\nac	n	-	-
768'aa$'m	b\nac	n	-	-
769aa\Z	ca\nb\n	n	-	-
770aa\z	ca\nb\n	n	-	-
771aa$	ca\nb\n	n	-	-
772aa\Z	b\nca\n	n	-	-
773aa\z	b\nca\n	n	-	-
774aa$	b\nca\n	n	-	-
775aa\Z	b\nca	n	-	-
776aa\z	b\nca	n	-	-
777aa$	b\nca	n	-	-
778'aa\Z'm	ca\nb\n	n	-	-
779'aa\z'm	ca\nb\n	n	-	-
780'aa$'m	ca\nb\n	n	-	-
781'aa\Z'm	b\nca\n	n	-	-
782'aa\z'm	b\nca\n	n	-	-
783'aa$'m	b\nca\n	n	-	-
784'aa\Z'm	b\nca	n	-	-
785'aa\z'm	b\nca	n	-	-
786'aa$'m	b\nca	n	-	-
787ab\Z	ab\nb\n	n	-	-
788ab\z	ab\nb\n	n	-	-
789ab$	ab\nb\n	n	-	-
790ab\Z	b\nab\n	y	$-[0]	2
791ab\z	b\nab\n	n	-	-
792ab$	b\nab\n	y	$-[0]	2
793ab\Z	b\nab	y	$-[0]	2
794ab\z	b\nab	y	$-[0]	2
795ab$	b\nab	y	$-[0]	2
796'ab\Z'm	ab\nb\n	n	-	-
797'ab\z'm	ab\nb\n	n	-	-
798'ab$'m	ab\nb\n	y	$-[0]	0
799'ab\Z'm	b\nab\n	y	$-[0]	2
800'ab\z'm	b\nab\n	n	-	-
801'ab$'m	b\nab\n	y	$-[0]	2
802'ab\Z'm	b\nab	y	$-[0]	2
803'ab\z'm	b\nab	y	$-[0]	2
804'ab$'m	b\nab	y	$-[0]	2
805ab\Z	ac\nb\n	n	-	-
806ab\z	ac\nb\n	n	-	-
807ab$	ac\nb\n	n	-	-
808ab\Z	b\nac\n	n	-	-
809ab\z	b\nac\n	n	-	-
810ab$	b\nac\n	n	-	-
811ab\Z	b\nac	n	-	-
812ab\z	b\nac	n	-	-
813ab$	b\nac	n	-	-
814'ab\Z'm	ac\nb\n	n	-	-
815'ab\z'm	ac\nb\n	n	-	-
816'ab$'m	ac\nb\n	n	-	-
817'ab\Z'm	b\nac\n	n	-	-
818'ab\z'm	b\nac\n	n	-	-
819'ab$'m	b\nac\n	n	-	-
820'ab\Z'm	b\nac	n	-	-
821'ab\z'm	b\nac	n	-	-
822'ab$'m	b\nac	n	-	-
823ab\Z	ca\nb\n	n	-	-
824ab\z	ca\nb\n	n	-	-
825ab$	ca\nb\n	n	-	-
826ab\Z	b\nca\n	n	-	-
827ab\z	b\nca\n	n	-	-
828ab$	b\nca\n	n	-	-
829ab\Z	b\nca	n	-	-
830ab\z	b\nca	n	-	-
831ab$	b\nca	n	-	-
832'ab\Z'm	ca\nb\n	n	-	-
833'ab\z'm	ca\nb\n	n	-	-
834'ab$'m	ca\nb\n	n	-	-
835'ab\Z'm	b\nca\n	n	-	-
836'ab\z'm	b\nca\n	n	-	-
837'ab$'m	b\nca\n	n	-	-
838'ab\Z'm	b\nca	n	-	-
839'ab\z'm	b\nca	n	-	-
840'ab$'m	b\nca	n	-	-
841abb\Z	abb\nb\n	n	-	-
842abb\z	abb\nb\n	n	-	-
843abb$	abb\nb\n	n	-	-
844abb\Z	b\nabb\n	y	$-[0]	2
845abb\z	b\nabb\n	n	-	-
846abb$	b\nabb\n	y	$-[0]	2
847abb\Z	b\nabb	y	$-[0]	2
848abb\z	b\nabb	y	$-[0]	2
849abb$	b\nabb	y	$-[0]	2
850'abb\Z'm	abb\nb\n	n	-	-
851'abb\z'm	abb\nb\n	n	-	-
852'abb$'m	abb\nb\n	y	$-[0]	0
853'abb\Z'm	b\nabb\n	y	$-[0]	2
854'abb\z'm	b\nabb\n	n	-	-
855'abb$'m	b\nabb\n	y	$-[0]	2
856'abb\Z'm	b\nabb	y	$-[0]	2
857'abb\z'm	b\nabb	y	$-[0]	2
858'abb$'m	b\nabb	y	$-[0]	2
859abb\Z	ac\nb\n	n	-	-
860abb\z	ac\nb\n	n	-	-
861abb$	ac\nb\n	n	-	-
862abb\Z	b\nac\n	n	-	-
863abb\z	b\nac\n	n	-	-
864abb$	b\nac\n	n	-	-
865abb\Z	b\nac	n	-	-
866abb\z	b\nac	n	-	-
867abb$	b\nac	n	-	-
868'abb\Z'm	ac\nb\n	n	-	-
869'abb\z'm	ac\nb\n	n	-	-
870'abb$'m	ac\nb\n	n	-	-
871'abb\Z'm	b\nac\n	n	-	-
872'abb\z'm	b\nac\n	n	-	-
873'abb$'m	b\nac\n	n	-	-
874'abb\Z'm	b\nac	n	-	-
875'abb\z'm	b\nac	n	-	-
876'abb$'m	b\nac	n	-	-
877abb\Z	ca\nb\n	n	-	-
878abb\z	ca\nb\n	n	-	-
879abb$	ca\nb\n	n	-	-
880abb\Z	b\nca\n	n	-	-
881abb\z	b\nca\n	n	-	-
882abb$	b\nca\n	n	-	-
883abb\Z	b\nca	n	-	-
884abb\z	b\nca	n	-	-
885abb$	b\nca	n	-	-
886'abb\Z'm	ca\nb\n	n	-	-
887'abb\z'm	ca\nb\n	n	-	-
888'abb$'m	ca\nb\n	n	-	-
889'abb\Z'm	b\nca\n	n	-	-
890'abb\z'm	b\nca\n	n	-	-
891'abb$'m	b\nca\n	n	-	-
892'abb\Z'm	b\nca	n	-	-
893'abb\z'm	b\nca	n	-	-
894'abb$'m	b\nca	n	-	-
895'\Aa$'m	a\n\n	y	$&	a
896(^|x)(c)	ca	y	$2	c
897a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz	x	n	-	-
898a(?{$a=2;$b=3;($b)=$a})b	yabz	y	$b	2
899round\(((?>[^()]+))\)	_I(round(xs * sz),1)	y	$1	xs * sz
900'((?x:.) )'	x 	y	$1-	x -
901'((?-x:.) )'x	x 	y	$1-	x-
902foo.bart	foo.bart	y	-	-
903'^d[x][x][x]'m	abcd\ndxxx	y	-	-
904.X(.+)+X	bbbbXcXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	y	-	-
905.X(.+)+XX	bbbbXcXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	y	-	-
906.XX(.+)+X	bbbbXXcXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	y	-	-
907.X(.+)+X	bbbbXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	n	-	-
908.X(.+)+XX	bbbbXXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	n	-	-
909.XX(.+)+X	bbbbXXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	n	-	-
910.X(.+)+[X]	bbbbXcXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	y	-	-
911.X(.+)+[X][X]	bbbbXcXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	y	-	-
912.XX(.+)+[X]	bbbbXXcXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	y	-	-
913.X(.+)+[X]	bbbbXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	n	-	-
914.X(.+)+[X][X]	bbbbXXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	n	-	-
915.XX(.+)+[X]	bbbbXXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	n	-	-
916.[X](.+)+[X]	bbbbXcXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	y	-	-
917.[X](.+)+[X][X]	bbbbXcXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	y	-	-
918.[X][X](.+)+[X]	bbbbXXcXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	y	-	-
919.[X](.+)+[X]	bbbbXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	n	-	-
920.[X](.+)+[X][X]	bbbbXXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	n	-	-
921.[X][X](.+)+[X]	bbbbXXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	n	-	-
922tt+$	xxxtt	y	-	-
923([a-\d]+)	za-9z	Sy	$1	a-9
924([a-\d]+)	-	sc	-	False [] range
925([\d-z]+)	a0-za	Sy	$1	0-z
926([\d-z]+)	-	sc	$1	False [] range
927([\d-\s]+)	a0- z	Sy	$1	0-
928([\d-\s]+)	-	sc	$1	False [] range
929([a-[:digit:]]+)	za-9z	Sy	$1	a-9
930([a-[:digit:]]+)	-	sc	-	False [] range
931([[:digit:]-z]+)	=0-z=	Sy	$1	0-z
932([[:digit:]-z]+)	-	sc	c	False [] range
933([[:digit:]-[:alpha:]]+)	=0-z=	Sy	$1	0-z
934([[:digit:]-[:alpha:]]+)	-	sc	-	False [] range
935\GX.*X	aaaXbX	n	-	-
936(\d+\.\d+)	3.1415926	y	$1	3.1415926
937(\ba.{0,10}br)	have a web browser	y	$1	a web br
938'\.c(pp|xx|c)?$'i	Changes	n	-	-
939'\.c(pp|xx|c)?$'i	IO.c	y	-	-
940'(\.c(pp|xx|c)?$)'i	IO.c	y	$1	.c
941^([a-z]:)	C:/	n	-	-
942'^\S\s+aa$'m	\nx aa	y	-	-
943(^|a)b	ab	y	-	-
944^([ab]*?)(b)?(c)$	abac	y	-$2-	--
945(\w)?(abc)\1b	abcab	n	-	-
946^(?:.,){2}c	a,b,c	y	-	-
947^(.,){2}c	a,b,c	y	$1	b,
948^(?:[^,]*,){2}c	a,b,c	y	-	-
949^([^,]*,){2}c	a,b,c	y	$1	b,
950^([^,]*,){3}d	aaa,b,c,d	y	$1	c,
951^([^,]*,){3,}d	aaa,b,c,d	y	$1	c,
952^([^,]*,){0,3}d	aaa,b,c,d	y	$1	c,
953^([^,]{1,3},){3}d	aaa,b,c,d	y	$1	c,
954^([^,]{1,3},){3,}d	aaa,b,c,d	y	$1	c,
955^([^,]{1,3},){0,3}d	aaa,b,c,d	y	$1	c,
956^([^,]{1,},){3}d	aaa,b,c,d	y	$1	c,
957^([^,]{1,},){3,}d	aaa,b,c,d	y	$1	c,
958^([^,]{1,},){0,3}d	aaa,b,c,d	y	$1	c,
959^([^,]{0,3},){3}d	aaa,b,c,d	y	$1	c,
960^([^,]{0,3},){3,}d	aaa,b,c,d	y	$1	c,
961^([^,]{0,3},){0,3}d	aaa,b,c,d	y	$1	c,
962(?i)		y	-	-
963(?a:((?u)\w)\W)	\xC0\xC0	y	$&	\xC0\xC0
964'(?!\A)x'm	a\nxb\n	y	-	-
965^(a(b)?)+$	aba	y	-$1-$2-	-a--
966^(aa(bb)?)+$	aabbaa	y	-$1-$2-	-aa--
967'^.{9}abc.*\n'm	123\nabcabcabcabc\n	y	-	-
968^(a)?a$	a	y	-$1-	--
969^(a)?(?(1)a|b)+$	a	n	-	-
970^(a\1?)(a\1?)(a\2?)(a\3?)$	aaaaaa	y	$1,$2,$3,$4	a,aa,a,aa
971^(a\1?){4}$	aaaaaa	y	$1	aa
972^(0+)?(?:x(1))?	x1	y	-	-
973^([0-9a-fA-F]+)(?:x([0-9a-fA-F]+)?)(?:x([0-9a-fA-F]+))?	012cxx0190	y	-	-
974^(b+?|a){1,2}c	bbbac	y	$1	a
975^(b+?|a){1,2}c	bbbbac	y	$1	a
976\((\w\. \w+)\)	cd. (A. Tw)	y	-$1-	-A. Tw-
977((?:aaaa|bbbb)cccc)?	aaaacccc	y	-	-
978((?:aaaa|bbbb)cccc)?	bbbbcccc	y	-	-
979(a)?(a)+	a	y	$1:$2	:a	-
980(ab)?(ab)+	ab	y	$1:$2	:ab	-
981(abc)?(abc)+	abc	y	$1:$2	:abc	-
982'b\s^'m	a\nb\n	n	-	-
983\ba	a	y	-	-
984^(a(??{"(?!)"})|(a)(?{1}))b	ab	y	$2	a	# [ID 20010811.006 (#7512)]
985ab(?i)cd	AbCd	n	-	-	# [ID 20010809.023 (#7503)]
986ab(?i)cd	abCd	y	-	-
987(A|B)*(?(1)(CD)|(CD))	CD	y	$2-$3	-CD
988(A|B)*(?(1)(CD)|(CD))	ABCD	y	$2-$3	CD-
989(A|B)*?(?(1)(CD)|(CD))	CD	y	$2-$3	-CD	# [ID 20010803.016 (#7438)]
990(A|B)*?(?(1)(CD)|(CD))	ABCD	y	$2-$3	CD-
991'^(o)(?!.*\1)'i	Oo	n	-	-
992(.*)\d+\1	abc12bc	y	$1	bc
993(?m:(foo\s*$))	foo\n bar	y	$1	foo
994(.*)c	abcd	y	$1	ab
995(.*)(?=c)	abcd	y	$1	ab
996(.*)(?=c)c	abcd	yB	$1	ab
997(.*)(?=b|c)	abcd	y	$1	ab
998(.*)(?=b|c)c	abcd	y	$1	ab
999(.*)(?=c|b)	abcd	y	$1	ab
1000(.*)(?=c|b)c	abcd	y	$1	ab
1001(.*)(?=[bc])	abcd	y	$1	ab
1002(.*)(?=[bc])c	abcd	yB	$1	ab
1003(.*)(?<=b)	abcd	y	$1	ab
1004(.*)(?<=b)c	abcd	y	$1	ab
1005(.*)(?<=b|c)	abcd	y	$1	abc
1006(.*)(?<=b|c)c	abcd	y	$1	ab
1007(.*)(?<=c|b)	abcd	y	$1	abc
1008(.*)(?<=c|b)c	abcd	y	$1	ab
1009(.*)(?<=[bc])	abcd	y	$1	abc
1010(.*)(?<=[bc])c	abcd	y	$1	ab
1011(.*?)c	abcd	y	$1	ab
1012(.*?)(?=c)	abcd	y	$1	ab
1013(.*?)(?=c)c	abcd	yB	$1	ab
1014(.*?)(?=b|c)	abcd	y	$1	a
1015(.*?)(?=b|c)c	abcd	y	$1	ab
1016(.*?)(?=c|b)	abcd	y	$1	a
1017(.*?)(?=c|b)c	abcd	y	$1	ab
1018(.*?)(?=[bc])	abcd	y	$1	a
1019(.*?)(?=[bc])c	abcd	yB	$1	ab
1020(.*?)(?<=b)	abcd	y	$1	ab
1021(.*?)(?<=b)c	abcd	y	$1	ab
1022(.*?)(?<=b|c)	abcd	y	$1	ab
1023(.*?)(?<=b|c)c	abcd	y	$1	ab
1024(.*?)(?<=c|b)	abcd	y	$1	ab
1025(.*?)(?<=c|b)c	abcd	y	$1	ab
1026(.*?)(?<=[bc])	abcd	y	$1	ab
1027(.*?)(?<=[bc])c	abcd	y	$1	ab
10282(]*)?$\1	2	y	$&	2
1029(??{})	x	y	-	-
1030a(b)??	abc	y	<$1>	<>	# undef [perl #16773]
1031(\d{1,3}\.){3,}	128.134.142.8	y	<$1>	<142.>	# [perl #18019]
1032^.{3,4}(.+)\1\z	foobarbar	y	$1	bar	# 16 tests for [perl #23171]
1033^(?:f|o|b){3,4}(.+)\1\z	foobarbar	y	$1	bar
1034^.{3,4}((?:b|a|r)+)\1\z	foobarbar	y	$1	bar
1035^(?:f|o|b){3,4}((?:b|a|r)+)\1\z	foobarbar	y	$1	bar
1036^.{3,4}(.+?)\1\z	foobarbar	y	$1	bar
1037^(?:f|o|b){3,4}(.+?)\1\z	foobarbar	y	$1	bar
1038^.{3,4}((?:b|a|r)+?)\1\z	foobarbar	y	$1	bar
1039^(?:f|o|b){3,4}((?:b|a|r)+?)\1\z	foobarbar	y	$1	bar
1040^.{2,3}?(.+)\1\z	foobarbar	y	$1	bar
1041^(?:f|o|b){2,3}?(.+)\1\z	foobarbar	y	$1	bar
1042^.{2,3}?((?:b|a|r)+)\1\z	foobarbar	y	$1	bar
1043^(?:f|o|b){2,3}?((?:b|a|r)+)\1\z	foobarbar	y	$1	bar
1044^.{2,3}?(.+?)\1\z	foobarbar	y	$1	bar
1045^(?:f|o|b){2,3}?(.+?)\1\z	foobarbar	y	$1	bar
1046^.{2,3}?((?:b|a|r)+?)\1\z	foobarbar	y	$1	bar
1047^(?:f|o|b){2,3}?((?:b|a|r)+?)\1\z	foobarbar	y	$1	bar
1048.*a(?!(b|cd)*e).*f	......abef	n	-	-	# [perl #23030]
1049x(?#	-	c	-	Sequence (?#... not terminated
1050:x(?#:	-	c	-	Sequence (?#... not terminated
1051(WORDS|WORD)S	WORDS	y	$1	WORD
1052(X.|WORDS|X.|WORD)S	WORDS	y	$1	WORD
1053(WORDS|WORLD|WORD)S	WORDS	y	$1	WORD
1054(X.|WORDS|WORD|Y.)S	WORDS	y	$1	WORD
1055(foo|fool|x.|money|parted)$	fool	y	$1	fool
1056(x.|foo|fool|x.|money|parted|y.)$	fool	y	$1	fool
1057(foo|fool|money|parted)$	fool	y	$1	fool
1058(foo|fool|x.|money|parted)$	fools	n	-	-
1059(x.|foo|fool|x.|money|parted|y.)$	fools	n	-	-
1060(foo|fool|money|parted)$	fools	n	-	-
1061(a|aa|aaa||aaaa|aaaaa|aaaaaa)(b|c)	aaaaaaaaaaaaaaab	y	$1$2	aaaaaab
1062(a|aa|aaa||aaaa|aaaaa|aaaaaa)(??{$1&&""})(b|c)	aaaaaaaaaaaaaaab	y	$1$2	aaaaaab
1063(a|aa|aaa|aaaa|aaaaa|aaaaaa)(??{$1&&"foo"})(b|c)	aaaaaaaaaaaaaaab	n	-	-
1064^(a*?)(?!(aa|aaaa)*$)	aaaaaaaaaaaaaaaaaaaa	y	$1	a	# [perl #34195]
1065^(a*?)(?!(aa|aaaa)*$)(?=a\z)	aaaaaaaa	y	$1	aaaaaaa
1066^(.)\s+.$(?(1))	A B	y	$1	A	# [perl #37688]
1067(?:r?)*?r|(.{2,4})	abcde	y	$1	abcd
1068(?!)+?|(.{2,4})	abcde	y	$1	abcd
1069^(a*?)(?!(a{6}|a{5})*$)	aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	y	$+[1]	12	# super-linear cache bug may return 18
1070^((?>(?:aa)?b)?)	aab	y	$1	aab
1071^((?:aa)*)(?:X+((?:\d+|-)(?:X+(.+))?))?$	aaaaX5	y	$1	aaaa
1072X(A|B||C|D)Y	XXXYYY	y	$&	XY	# Trie w/ NOTHING
1073(?i:X([A]|[B]|y[Y]y|[D]|)Y)	XXXYYYB	y	$&	XY	# Trie w/ NOTHING
1074^([a]{1})*$	aa	y	$1	a
1075a(?!b(?!c))(..)	abababc	y	$1	bc	# test nested negatives
1076a(?!b(?=a))(..)	abababc	y	$1	bc	# test nested lookaheads
1077a(?!b(?!c(?!d(?!e))))...(.)	abxabcdxabcde	y	$1	e
1078X(?!b+(?!(c+)*(?!(c+)*d))).*X	aXbbbbbbbcccccccccccccaaaX	y	-	-
1079^(XXXXXXXXXX|YYYYYYYYYY|Z.Q*X|Z[TE]Q*P):	ZEQQQQQQQQQQQQQQQQQQP:	y	$1	ZEQQQQQQQQQQQQQQQQQQP
1080^(XXXXXXXXXX|YYYYYYYYYY|Z.Q*X|Z[TE]Q*P):	ZEQQQX:	y	$1	ZEQQQX
1081^([TUV]+|XXXXXXXXXX|YYYYYYYYYY|Z.Q*X|Z[TE]Q*P):	ZEQQQQQQQQQQQQQQQQQQP:	y	$1	ZEQQQQQQQQQQQQQQQQQQP
1082^([TUV]+|XXXXXXXXXX|YYYYYYYYYY|Z.Q*X|Z[TE]Q*P):	ZEQQQX:	y	$1	ZEQQQX
1083^([TUV]+|XXXXXXXXXX|YYYYYYYYYY|Z.Q*X|Z[TE]Q*P|[MKJ]):	ZEQQQQQQQQQQQQQQQQQQP:	y	$1	ZEQQQQQQQQQQQQQQQQQQP
1084^([TUV]+|XXXXXXXXXX|YYYYYYYYYY|Z.Q*X|Z[TE]Q*P|[MKJ]):	ZEQQQX:	y	$1	ZEQQQX
1085^(XXX|YYY|Z.Q*X|Z[TE]Q*P):	ZEQQQQQQQQQQQQQQQQQQP:	y	$1	ZEQQQQQQQQQQQQQQQQQQP
1086^(XXX|YYY|Z.Q*X|Z[TE]Q*P):	ZEQQQX:	y	$1	ZEQQQX
1087^([TUV]+|XXX|YYY|Z.Q*X|Z[TE]Q*P):	ZEQQQQQQQQQQQQQQQQQQP:	y	$1	ZEQQQQQQQQQQQQQQQQQQP
1088^([TUV]+|XXX|YYY|Z.Q*X|Z[TE]Q*P):	ZEQQQX:	y	$1	ZEQQQX
1089^([TUV]+|XXX|YYY|Z.Q*X|Z[TE]Q*P|[MKJ]):	ZEQQQQQQQQQQQQQQQQQQP:	y	$1	ZEQQQQQQQQQQQQQQQQQQP
1090^([TUV]+|XXX|YYY|Z.Q*X|Z[TE]Q*P|[MKJ]):	ZEQQQX:	y	$1	ZEQQQX
1091X(?:ABCF[cC]x*|ABCD|ABCF):(?:DIT|DID|DIM)	XABCFCxxxxxxxxxx:DIM	y	$&	XABCFCxxxxxxxxxx:DIM
1092(((ABCD|ABCE|ABCF)))(A|B|C[xy]*):	ABCFCxxxxxxxxxx:DIM	y	$&	ABCFCxxxxxxxxxx:
1093(?=foo)	foo	y	pos	0
1094(?=foo)	XfooY	y	pos	1
1095.*(?=foo)	XfooY	y	pos	1
1096(?=.*P)P	aP	y	pos	2
1097(?<=foo)	foo	y	pos	3
1098(?<=foo)	XfooY	y	pos	4
1099.*(?<=foo)	foo	y	pos	3
1100.*(?<=foo)	XfooY	y	pos	4
1101(?<=foo)Y	XfooY	y	pos	5
1102o(?<=foo)Y	..XfooY..	y	pos	7
1103X(?=foo)f	..XfooY..	y	pos	4
1104X(?=foo)	..XfooY..	y	pos	3
1105X(?<=foo.)[YZ]	..XfooXY..	y	pos	8
1106(?=XY*foo)	Xfoo	y	pos	0
1107^(?=XY*foo)	Xfoo	y	pos	0
1108^(??{"a+"})a	aa	y	$&	aa
1109^(?:(??{"a+"})|b)a	aa	y	$&	aa
1110^(??{chr 0x100}).$	\x{100}\x{100}	y	$&	\x{100}\x{100}
1111^(??{q(\x{100})}).	\x{100}\x{100}	y	$&	\x{100}\x{100}
1112^(??{q(.+)})\x{100}	\x{100}\x{100}	y	$&	\x{100}\x{100}
1113^(??{q(.)})\x{100}	\x{100}\x{100}	y	$&	\x{100}\x{100}
1114^(??{chr 0x100})\xbb	\x{100}\x{bb}	y	$&	\x{100}\x{bb}
1115^(.)(??{"(.)(.)"})(.)$	abcd	y	$1-$2	a-d
1116^(.)(??{"(bz+|.)(.)"})(.)$	abcd	y	$1-$2	a-d
1117^(.)((??{"(.)(cz+)"})|.)	abcd	y	$1-$2	a-b
1118^a(?>(??{q(b)}))(??{q(c)})d	abcd	y	-	-
1119^x(??{""})+$	x	y	$&	x
1120^(<(?:[^<>]+|(?3)|(?1))*>)()(!>!>!>)$	<<!>!>!>><>>!>!>!>	y	$1	<<!>!>!>><>>
1121^(<(?:[^<>]+|(?1))*>)$	<<><<<><>>>>	y	$1	<<><<<><>>>>
1122((?2)*)([fF]o+)	fooFoFoo	y	$1-$2	fooFo-Foo
1123(<(?:[^<>]+|(?R))*>)	<<><<<><>>>>	y	$1	<<><<<><>>>>
1124(?<n>foo|bar|baz)	snofooewa	y	$1	foo
1125(?<n>foo|bar|baz)	snofooewa	yM	$+{n}	foo	miniperl cannot load Tie::Hash::NamedCapture
1126(?<n>foo|bar|baz)(?<m>[ew]+)	snofooewa	yM	$+{n}	foo	miniperl cannot load Tie::Hash::NamedCapture
1127(?<n>foo|bar|baz)(?<m>[ew]+)	snofooewa	yM	$+{m}	ew	miniperl cannot load Tie::Hash::NamedCapture
1128(?<n>foo)|(?<n>bar)|(?<n>baz)	snofooewa	yM	$+{n}	foo	miniperl cannot load Tie::Hash::NamedCapture
1129(?<n>foo)(??{ $+{n} })	snofooefoofoowaa	yM	$+{n}	foo	miniperl cannot load Tie::Hash::NamedCapture
1130(?P<n>foo|bar|baz)	snofooewa	y	$1	foo
1131(?P<n>foo|bar|baz)	snofooewa	yM	$+{n}	foo	miniperl cannot load Tie::Hash::NamedCapture
1132(?P<n>foo|bar|baz)(?P<m>[ew]+)	snofooewa	yM	$+{n}	foo	miniperl cannot load Tie::Hash::NamedCapture
1133(?P<n>foo|bar|baz)(?P<m>[ew]+)	snofooewa	yM	$+{m}	ew	miniperl cannot load Tie::Hash::NamedCapture
1134(?P<n>foo)|(?P<n>bar)|(?P<n>baz)	snofooewa	yM	$+{n}	foo	miniperl cannot load Tie::Hash::NamedCapture
1135(?P<n>foo)(??{ $+{n} })	snofooefoofoowaa	yM	$+{n}	foo	miniperl cannot load Tie::Hash::NamedCapture
1136(?P<=n>foo|bar|baz)	-	c	-	Group name must start with a non-digit word character
1137(?P<!n>foo|bar|baz)	-	c	-	Group name must start with a non-digit word character
1138(?PX<n>foo|bar|baz)	-	c	-	Sequence (?PX...) not recognized
1139/(?'n'foo|bar|baz)/	snofooewa	y	$1	foo
1140/(?'n'foo|bar|baz)/	snofooewa	yM	$+{n}	foo	miniperl cannot load Tie::Hash::NamedCapture
1141/(?'n'foo|bar|baz)(?'m'[ew]+)/	snofooewa	yM	$+{n}	foo	miniperl cannot load Tie::Hash::NamedCapture
1142/(?'n'foo|bar|baz)(?'m'[ew]+)/	snofooewa	yM	$+{m}	ew	miniperl cannot load Tie::Hash::NamedCapture
1143/(?'n'foo)|(?'n'bar)|(?<n>baz)/	snobazewa	yM	$+{n}	baz	miniperl cannot load Tie::Hash::NamedCapture
1144/(?'n'foo)(??{ $+{n} })/	snofooefoofoowaa	yM	$+{n}	foo	miniperl cannot load Tie::Hash::NamedCapture
1145/(?'n'foo)\k<n>/	..foofoo..	y	$1	foo
1146/(?'n'foo)\k<n>/	..foofoo..	yM	$+{n}	foo	miniperl cannot load Tie::Hash::NamedCapture
1147/(?<n>foo)\k'n'/	..foofoo..	y	$1	foo
1148/(?<n>foo)\k'n'/	..foofoo..	yM	$+{n}	foo	miniperl cannot load Tie::Hash::NamedCapture
1149/(?:(?<n>foo)|(?<n>bar))\k<n>/	..barbar..	yM	$+{n}	bar	miniperl cannot load Tie::Hash::NamedCapture
1150/^(?'main'<(?:[^<>]+|(?&crap)|(?&main))*>)(?'empty')(?'crap'!>!>!>)$/	<<!>!>!>><>>!>!>!>	yM	$+{main}	<<!>!>!>><>>	miniperl cannot load Tie::Hash::NamedCapture
1151/^(?'main'<(?:[^<>]+|(?&main))*>)$/	<<><<<><>>>>	y	$1	<<><<<><>>>>
1152/(?'first'(?&second)*)(?'second'[fF]o+)/	fooFoFoo	yM	$+{first}-$+{second}	fooFo-Foo	miniperl cannot load Tie::Hash::NamedCapture
1153(?<A>foo)?(?(<A>)bar|nada)	foobar	yM	$+{A}	foo	miniperl cannot load Tie::Hash::NamedCapture
1154(?<A>foo)?(?(<A>)bar|nada)	foo-barnada	y	$&	nada
1155(?<A>foo)?(?(1)bar|nada)	foo-barnada	y	$&	nada
1156(?<A>foo(?(R)bar))?(?1)	foofoobar	y	$1	foo
1157(?<A>foo(?(R)bar))?(?1)	foofoobar	y	$&	foofoobar
1158(x)(?<A>foo(?(R&A)bar))?(?&A)	xfoofoobar	y	$2	foo
1159(x)(?<A>foo(?(R&A)bar))?(?&A)	xfoofoobar	y	$&	xfoofoobar
1160(x)(?<A>foo(?(R2)bar))?(?&A)	xfoofoobar	y	$2	foo
1161(x)(?<A>foo(?(R2)bar))?(?&A)	xfoofoobar	y	$&	xfoofoobar
1162(?1)(?(DEFINE)(blah))	blah	y	$&	blah
1163/^(?<PAL>(?<CHAR>.)((?&PAL)|.?)\k<CHAR>)$/	madamimadam	y	$&	madamimadam
1164/^(?<PAL>(?<CHAR>.)((?&PAL)|.?)\k<CHAR>)$/	madamiamadam	n	-	-
1165/(a)?((?1))(fox)/	aafox	y	$1-$2-$3	a-a-fox
1166/(a)*((?1))(fox)/	aafox	y	$1-$2-$3	a-a-fox
1167/(a)+((?1))(fox)/	aafox	y	$1-$2-$3	a-a-fox
1168/(a){1,100}((?1))(fox)/	aafox	y	$1-$2-$3	a-a-fox
1169/(a){0,100}((?1))(fox)/	aafox	y	$1-$2-$3	a-a-fox
1170/(a)??((?1))(fox)/	aafox	y	$1-$2-$3	a-a-fox
1171/(a)*?((?1))(fox)/	aafox	y	$1-$2-$3	a-a-fox
1172/(a)+?((?1))(fox)/	aafox	y	$1-$2-$3	a-a-fox
1173/(a){1,100}?((?1))(fox)/	aafox	y	$1-$2-$3	a-a-fox
1174/(a){0,100}?((?1))(fox)/	aafox	y	$1-$2-$3	a-a-fox
1175/(ab)?((?1))(fox)/	ababfox	y	$1-$2-$3	ab-ab-fox
1176/(ab)*((?1))(fox)/	ababfox	y	$1-$2-$3	ab-ab-fox
1177/(ab)+((?1))(fox)/	ababfox	y	$1-$2-$3	ab-ab-fox
1178/(ab){1,100}((?1))(fox)/	ababfox	y	$1-$2-$3	ab-ab-fox
1179/(ab){0,100}((?1))(fox)/	ababfox	y	$1-$2-$3	ab-ab-fox
1180foo(?0)?bar	phoofoofoobarbarbarr	y	$&	foofoobarbar
1181foo(?R)?bar	phoofoofoobarbarbarr	y	$&	foofoobarbar
1182# possessive captures
1183a++a	aaaaa	n	-	-
1184a*+a	aaaaa	n	-	-
1185a{1,5}+a	aaaaa	n	-	-
1186a?+a	ab	n	-	-
1187a++b	aaaaab	y	$&	aaaaab
1188a*+b	aaaaab	y	$&	aaaaab
1189a{1,5}+b	aaaaab	y	$&	aaaaab
1190a?+b	ab	y	$&	ab
1191fooa++a	fooaaaaa	n	-	-
1192fooa*+a	fooaaaaa	n	-	-
1193fooa{1,5}+a	fooaaaaa	n	-	-
1194fooa?+a	fooab	n	-	-
1195fooa++b	fooaaaaab	y	$&	fooaaaaab
1196fooa*+b	fooaaaaab	y	$&	fooaaaaab
1197fooa{1,5}+b	fooaaaaab	y	$&	fooaaaaab
1198fooa?+b	fooab	y	$&	fooab
1199(?:aA)++(?:aA)	aAaAaAaAaA	n	-	aAaAaAaAaA
1200(aA)++(aA)	aAaAaAaAaA	n	-	aAaAaAaAaA
1201(aA|bB)++(aA|bB)	aAaAbBaAbB	n	-	aAaAbBaAbB
1202(?:aA|bB)++(?:aA|bB)	aAbBbBbBaA	n	-	aAbBbBbBaA
1203(?:aA)*+(?:aA)	aAaAaAaAaA	n	-	aAaAaAaAaA
1204(aA)*+(aA)	aAaAaAaAaA	n	-	aAaAaAaAaA
1205(aA|bB)*+(aA|bB)	aAaAbBaAaA	n	-	aAaAbBaAaA
1206(?:aA|bB)*+(?:aA|bB)	aAaAaAbBaA	n	-	aAaAaAbBaA
1207(?:aA){1,5}+(?:aA)	aAaAaAaAaA	n	-	aAaAaAaAaA
1208(aA){1,5}+(aA)	aAaAaAaAaA	n	-	aAaAaAaAaA
1209(aA|bB){1,5}+(aA|bB)	aAaAbBaAaA	n	-	aAaAbBaAaA
1210(?:aA|bB){1,5}+(?:aA|bB)	bBbBbBbBbB	n	-	bBbBbBbBbB
1211(?:aA)?+(?:aA)	aAb	n	-	aAb
1212(aA)?+(aA)	aAb	n	-	aAb
1213(aA|bB)?+(aA|bB)	bBb	n	-	bBb
1214(?:aA|bB)?+(?:aA|bB)	aAb	n	-	aAb
1215(?:aA)++b	aAaAaAaAaAb	y	$&	aAaAaAaAaAb
1216(aA)++b	aAaAaAaAaAb	y	$&	aAaAaAaAaAb
1217(aA|bB)++b	aAbBaAaAbBb	y	$&	aAbBaAaAbBb
1218(?:aA|bB)++b	aAbBbBaAaAb	y	$&	aAbBbBaAaAb
1219(?:aA)*+b	aAaAaAaAaAb	y	$&	aAaAaAaAaAb
1220(aA)*+b	aAaAaAaAaAb	y	$&	aAaAaAaAaAb
1221(aA|bB)*+b	bBbBbBbBbBb	y	$&	bBbBbBbBbBb
1222(?:aA|bB)*+b	bBaAbBbBaAb	y	$&	bBaAbBbBaAb
1223(?:aA){1,5}+b	aAaAaAaAaAb	y	$&	aAaAaAaAaAb
1224(aA){1,5}+b	aAaAaAaAaAb	y	$&	aAaAaAaAaAb
1225(aA|bB){1,5}+b	bBaAbBaAbBb	y	$&	bBaAbBaAbBb
1226(?:aA|bB){1,5}+b	aAbBaAbBbBb	y	$&	aAbBaAbBbBb
1227(?:aA)?+b	aAb	y	$&	aAb
1228(aA)?+b	aAb	y	$&	aAb
1229(aA|bB)?+b	bBb	y	$&	bBb
1230(?:aA|bB)?+b	bBb	y	$&	bBb
1231foo(?:aA)++(?:aA)	fooaAaAaAaAaA	n	-	fooaAaAaAaAaA
1232foo(aA)++(aA)	fooaAaAaAaAaA	n	-	fooaAaAaAaAaA
1233foo(aA|bB)++(aA|bB)	foobBbBbBaAaA	n	-	foobBbBbBaAaA
1234foo(?:aA|bB)++(?:aA|bB)	fooaAaAaAaAaA	n	-	fooaAaAaAaAaA
1235foo(?:aA)*+(?:aA)	fooaAaAaAaAaA	n	-	fooaAaAaAaAaA
1236foo(aA)*+(aA)	fooaAaAaAaAaA	n	-	fooaAaAaAaAaA
1237foo(aA|bB)*+(aA|bB)	foobBaAbBaAaA	n	-	foobBaAbBaAaA
1238foo(?:aA|bB)*+(?:aA|bB)	fooaAaAbBbBaA	n	-	fooaAaAbBbBaA
1239foo(?:aA){1,5}+(?:aA)	fooaAaAaAaAaA	n	-	fooaAaAaAaAaA
1240foo(aA){1,5}+(aA)	fooaAaAaAaAaA	n	-	fooaAaAaAaAaA
1241foo(aA|bB){1,5}+(aA|bB)	fooaAbBbBaAaA	n	-	fooaAbBbBaAaA
1242foo(?:aA|bB){1,5}+(?:aA|bB)	fooaAbBbBaAbB	n	-	fooaAbBbBaAbB
1243foo(?:aA)?+(?:aA)	fooaAb	n	-	fooaAb
1244foo(aA)?+(aA)	fooaAb	n	-	fooaAb
1245foo(aA|bB)?+(aA|bB)	foobBb	n	-	foobBb
1246foo(?:aA|bB)?+(?:aA|bB)	fooaAb	n	-	fooaAb
1247foo(?:aA)++b	fooaAaAaAaAaAb	y	$&	fooaAaAaAaAaAb
1248foo(aA)++b	fooaAaAaAaAaAb	y	$&	fooaAaAaAaAaAb
1249foo(aA|bB)++b	foobBaAbBaAbBb	y	$&	foobBaAbBaAbBb
1250foo(?:aA|bB)++b	fooaAaAbBaAaAb	y	$&	fooaAaAbBaAaAb
1251foo(?:aA)*+b	fooaAaAaAaAaAb	y	$&	fooaAaAaAaAaAb
1252foo(aA)*+b	fooaAaAaAaAaAb	y	$&	fooaAaAaAaAaAb
1253foo(aA|bB)*+b	foobBbBaAaAaAb	y	$&	foobBbBaAaAaAb
1254foo(?:aA|bB)*+b	foobBaAaAbBaAb	y	$&	foobBaAaAbBaAb
1255foo(?:aA){1,5}+b	fooaAaAaAaAaAb	y	$&	fooaAaAaAaAaAb
1256foo(aA){1,5}+b	fooaAaAaAaAaAb	y	$&	fooaAaAaAaAaAb
1257foo(aA|bB){1,5}+b	foobBaAaAaAaAb	y	$&	foobBaAaAaAaAb
1258foo(?:aA|bB){1,5}+b	fooaAbBaAbBbBb	y	$&	fooaAbBaAbBbBb
1259foo(?:aA)?+b	fooaAb	y	$&	fooaAb
1260foo(aA)?+b	fooaAb	y	$&	fooaAb
1261foo(aA|bB)?+b	foobBb	y	$&	foobBb
1262foo(?:aA|bB)?+b	foobBb	y	$&	foobBb
1263
1264([^()]++|\([^()]*\))+	((abc(ade)ufh()()x	y	$&	abc(ade)ufh()()x
1265round\(([^()]++)\)	_I(round(xs * sz),1)	y	$1	xs * sz
1266
1267(foo[1x]|bar[2x]|baz[3x])+y	foo1bar2baz3y	y	$1	baz3
1268(foo[1x]|bar[2x]|baz[3x])+y	foo1bar2baz3y	y	$&	foo1bar2baz3y
1269(foo[1x]|bar[2x]|baz[3x])*y	foo1bar2baz3y	y	$1	baz3
1270(foo[1x]|bar[2x]|baz[3x])*y	foo1bar2baz3y	y	$&	foo1bar2baz3y
1271
1272([yX].|WORDS|[yX].|WORD)S	WORDS	y	$1	WORD
1273(WORDS|WORLD|WORD)S	WORDS	y	$1	WORD
1274([yX].|WORDS|WORD|[xY].)S	WORDS	y	$1	WORD
1275(foo|fool|[zx].|money|parted)$	fool	y	$1	fool
1276([zx].|foo|fool|[zq].|money|parted|[yx].)$	fool	y	$1	fool
1277(foo|fool|[zx].|money|parted)$	fools	n	-	-
1278([zx].|foo|fool|[qx].|money|parted|[py].)$	fools	n	-	-
1279
1280([yX].|WORDS|[yX].|WORD)+S	WORDS	y	$1	WORD
1281(WORDS|WORLD|WORD)+S	WORDS	y	$1	WORD
1282([yX].|WORDS|WORD|[xY].)+S	WORDS	y	$1	WORD
1283(foo|fool|[zx].|money|parted)+$	fool	y	$1	fool
1284([zx].|foo|fool|[zq].|money|parted|[yx].)+$	fool	y	$1	fool
1285(foo|fool|[zx].|money|parted)+$	fools	n	-	-
1286([zx].|foo|fool|[qx].|money|parted|[py].)+$	fools	n	-	-
1287
1288(x|y|z[QW])+(longish|loquatious|excessive|overblown[QW])+	xyzQzWlongishoverblownW	y	$1-$2	zW-overblownW
1289(x|y|z[QW])*(longish|loquatious|excessive|overblown[QW])*	xyzQzWlongishoverblownW	y	$1-$2	zW-overblownW
1290(x|y|z[QW]){1,5}(longish|loquatious|excessive|overblown[QW]){1,5}	xyzQzWlongishoverblownW	y	$1-$2	zW-overblownW
1291
1292(x|y|z[QW])++(longish|loquatious|excessive|overblown[QW])++	xyzQzWlongishoverblownW	y	$1-$2	zW-overblownW
1293(x|y|z[QW])*+(longish|loquatious|excessive|overblown[QW])*+	xyzQzWlongishoverblownW	y	$1-$2	zW-overblownW
1294(x|y|z[QW]){1,5}+(longish|loquatious|excessive|overblown[QW]){1,5}+	xyzQzWlongishoverblownW	y	$1-$2	zW-overblownW
1295
1296a*(?!)	aaaab	n	-	-
1297a*(*FAIL)	aaaab	n	-	-
1298a*(*F)	aaaab	n	-	-
1299
1300(A(A|B(*ACCEPT)|C)D)(E)	AB	y	$1	AB
1301(A(A|B(*ACCEPT)|C)D)(E)	ACDE	y	$1$2$3	ACDCE
1302
1303(a)(?:(?-1)|(?+1))(b)	aab	y	$&-$1-$2	aab-a-b
1304(a)(?:(?-1)|(?+1))(b)	abb	y	$1-$2	a-b
1305(a)(?:(?-1)|(?+1))(b)	acb	n	-	-
1306
1307(foo)(\g-2)	foofoo	y	$1-$2	foo-foo
1308(foo)(\g-2)(foo)(\g-2)	foofoofoofoo	y	$1-$2-$3-$4	foo-foo-foo-foo
1309(([abc]+) \g-1)(([abc]+) \g{-1})	abc abccba cba	y	$2-$4	abc-cba
1310(a)(b)(c)\g1\g2\g3	abcabc	y	$1$2$3	abc
1311
1312# \k<n> preceded by a literal
1313/(?'n'foo) \k<n>/	..foo foo..	y	$1	foo
1314/(?'n'foo) \k<n>/	..foo foo..	yM	$+{n}	foo	miniperl cannot load Tie::Hash::NamedCapture
1315/(?<n>foo) \k'n'/	..foo foo..	y	$1	foo
1316/(?<n>foo) \k'n'/	..foo foo..	yM	$+{n}	foo	miniperl cannot load Tie::Hash::NamedCapture
1317/(?'a1'foo) \k'a1'/	..foo foo..	yM	$+{a1}	foo	miniperl cannot load Tie::Hash::NamedCapture
1318/(?<a1>foo) \k<a1>/	..foo foo..	yM	$+{a1}	foo	miniperl cannot load Tie::Hash::NamedCapture
1319/(?'_'foo) \k'_'/	..foo foo..	yM	$+{_}	foo	miniperl cannot load Tie::Hash::NamedCapture
1320/(?<_>foo) \k<_>/	..foo foo..	yM	$+{_}	foo	miniperl cannot load Tie::Hash::NamedCapture
1321/(?'_0_'foo) \k'_0_'/	..foo foo..	yM	$+{_0_}	foo	miniperl cannot load Tie::Hash::NamedCapture
1322/(?<_0_>foo) \k<_0_>/	..foo foo..	yM	$+{_0_}	foo	miniperl cannot load Tie::Hash::NamedCapture
1323/(?'0'foo) bar/	-	c	-	Group name must start with a non-digit word character
1324/(?<0>foo) bar/	-	c	-	Group name must start with a non-digit word character
1325/(?'12'foo) bar/	-	c	-	Group name must start with a non-digit word character
1326/(?<12>foo) bar/	-	c	-	Group name must start with a non-digit word character
1327/(?'1a'foo) bar/	-	c	-	Group name must start with a non-digit word character
1328/(?<1a>foo) bar/	-	c	-	Group name must start with a non-digit word character
1329/(?''foo) bar/	-	c	-	Group name must start with a non-digit word character
1330/(?<>foo) bar/	-	c	-	Group name must start with a non-digit word character
1331/foo \k'n'/	-	c	-	Reference to nonexistent named group
1332/foo \k<n>/	-	c	-	Reference to nonexistent named group
1333/foo \k'a1'/	-	c	-	Reference to nonexistent named group
1334/foo \k<a1>/	-	c	-	Reference to nonexistent named group
1335/foo \k'_'/	-	c	-	Reference to nonexistent named group
1336/foo \k<_>/	-	c	-	Reference to nonexistent named group
1337/foo \k'_0_'/	-	c	-	Reference to nonexistent named group
1338/foo \k<_0_>/	-	c	-	Reference to nonexistent named group
1339/foo \k'0'/	-	c	-	Group name must start with a non-digit word character
1340/foo \k<0>/	-	c	-	Group name must start with a non-digit word character
1341/foo \k'12'/	-	c	-	Group name must start with a non-digit word character
1342/foo \k<12>/	-	c	-	Group name must start with a non-digit word character
1343/foo \k'1a'/	-	c	-	Group name must start with a non-digit word character
1344/foo \k<1a>/	-	c	-	Group name must start with a non-digit word character
1345/foo \k''/	-	c	-	Group name must start with a non-digit word character
1346/foo \k<>/	-	c	-	Group name must start with a non-digit word character
1347/(?<as>as) (\w+) \k<as> (\w+)/	as easy as pie	y	$1-$2-$3	as-easy-pie
1348/(?<as>as) (\w+) \k{as} (\w+)/	as easy as pie	y	$1-$2-$3	as-easy-pie
1349/(?<as>as) (\w+) \k'as' (\w+)/	as easy as pie	y	$1-$2-$3	as-easy-pie
1350/(?<as>as) (\w+) \k{ as } (\w+)/	as easy as pie	y	$1-$2-$3	as-easy-pie
1351/(?<as>as) (\w+) \k< as> (\w+)/	as easy as pie	c	-	Group name must start with a non-digit word character
1352
1353# \g{...} with a name as the argument
1354/(?'n'foo) \g{n}/	..foo foo..	y	$1	foo
1355/(?'n'foo) \g{ n }/	..foo foo..	y	$1	foo
1356/(?'n'foo) \g{n}/	..foo foo..	yM	$+{n}	foo	miniperl cannot load Tie::Hash::NamedCapture
1357/(?<n>foo) \g{n}/	..foo foo..	y	$1	foo
1358/(?<n>foo) \g{n}/	..foo foo..	yM	$+{n}	foo	miniperl cannot load Tie::Hash::NamedCapture
1359/(?<as>as) (\w+) \g{as} (\w+)/	as easy as pie	y	$1-$2-$3	as-easy-pie
1360
1361# Python style named capture buffer stuff
1362/(?P<n>foo)(?P=n)/	..foofoo..	y	$1	foo
1363/(?P<n>foo)(?P=n)/	..foofoo..	yM	$+{n}	foo	miniperl cannot load Tie::Hash::NamedCapture
1364/(?:(?P<n>foo)|(?P<n>bar))(?P=n)/	..barbar..	yM	$+{n}	bar	miniperl cannot load Tie::Hash::NamedCapture
1365/^(?P<PAL>(?P<CHAR>.)((?P>PAL)|.?)(?P=CHAR))$/	madamimadam	y	$&	madamimadam
1366/^(?P<PAL>(?P<CHAR>.)((?P>PAL)|.?)(?P=CHAR))$/	madamiamadam	n	-	-
1367/(?P<n>foo) (?P=n)/	..foo foo..	y	$1	foo
1368/(?P<n>foo) (?P=n)/	..foo foo..	yM	$+{n}	foo	miniperl cannot load Tie::Hash::NamedCapture
1369/(?P<as>as) (\w+) (?P=as) (\w+)/	as easy as pie	y	$1-$2-$3	as-easy-pie
1370
1371#check that non identifiers as names are treated as the appropriate lookaround
1372(?<=bar>)foo	bar>foo	y	$&	foo
1373(?<!bar>)foo	bar>foo	n	-	-
1374(?<=bar>ABC)foo	bar>ABCfoo	y	$&	foo
1375(?<!bar>ABC)foo	bar>ABCfoo	n	-	-
1376(?<bar>)foo	bar>ABCfoo	y	$&	foo
1377(?<bar>ABC)foo	bar>ABCfoo	y	$&	ABCfoo
1378
1379(?<=abcd(?<=(aaaabcd)))	..aaaabcd..	y	$1	aaaabcd
1380(?=xy(?<=(aaxy)))	..aaxy..	y	$1	aaxy
1381(?=xy(?<=(aaxyz?)))	..aaxy..	y	$1	aaxy
1382
1383X(\w+)(?=\s)|X(\w+)	Xab	y	[$1-$2]	[-ab]
1384
1385#check that branch reset works ok.
1386(?|(a))	a	y	$1-$+-$^N	a-a-a
1387(?|a(.)b|d(.(o).)d|i(.)(.)j)(.)	d!o!da	y	$1-$2-$3	!o!-o-a
1388(?|a(.)b|d(.(o).)d|i(.)(.)j)(.)	aabc	y	$1-$2-$3	a--c
1389(?|a(.)b|d(.(o).)d|i(.)(.)j)(.)	ixyjp	y	$1-$2-$3	x-y-p
1390(?|(?|(a)|(b))|(?|(c)|(d)))	a	y	$1	a
1391(?|(?|(a)|(b))|(?|(c)|(d)))	b	y	$1	b
1392(?|(?|(a)|(b))|(?|(c)|(d)))	c	y	$1	c
1393(?|(?|(a)|(b))|(?|(c)|(d)))	d	y	$1	d
1394(.)(?|(.)(.)x|(.)d)(.)	abcde	y	$1-$2-$3-$4-$5-	b-c--e--
1395(\N)(?|(\N)(\N)x|(\N)d)(\N)	abcde	y	$1-$2-$3-$4-$5-	b-c--e--
1396(?|(?<foo>x))	x	yM	$+{foo}	x	miniperl cannot load Tie::Hash::NamedCapture
1397(?|(?<foo>x)|(?<bar>y))	x	yM	$+{foo}	x	miniperl cannot load Tie::Hash::NamedCapture
1398(?|(?<bar>y)|(?<foo>x))	x	yM	$+{foo}	x	miniperl cannot load Tie::Hash::NamedCapture
1399(?<bar>)(?|(?<foo>x))	x	yM	$+{foo}	x	miniperl cannot load Tie::Hash::NamedCapture
1400# Used to crash, because the last branch was ignored when the parens
1401# were counted:
1402(?|(b)|()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()(a))	a	y	$&	a
1403
1404#Bug #41492
1405(?(DEFINE)(?<A>(?&B)+)(?<B>a))(?&A)	a	y	$&	a
1406(?(DEFINE)(?<A>(?&B)+)(?<B>a))(?&A)	aa	y	$&	aa
1407\x{100}?(??{""})xxx	xxx	y	$&	xxx
1408
1409foo(\R)bar	foo\r\nbar	y	$1	\r\n
1410foo(\R)bar	foo\nbar	y	$1	\n
1411foo(\R)bar	foo\rbar	y	$1	\r
1412
1413foo(\R+)bar	foo\r\n\x{85}\r\n\nbar	y	$1	\r\n\x{85}\r\n\n
1414(\V+)(\R)	foo\r\n\x{85}\r\n\nbar	y	$1-$2	foo-\r\n
1415(\R+)(\V)	foo\r\n\x{85}\r\n\nbar	y	$1-$2	\r\n\x{85}\r\n\n-b
1416foo(\R)bar	foo\x{85}bar	y	$1	\x{85}
1417(\V)(\R)	foo\x{85}bar	y	$1-$2	o-\x{85}
1418(\R)(\V)	foo\x{85}bar	y	$1-$2	\x{85}-b
1419foo(\R)bar	foo\r\nbar	y	$1	\r\n
1420(\V)(\R)	foo\r\nbar	y	$1-$2	o-\r\n
1421(\R)(\V)	foo\r\nbar	y	$1-$2	\r\n-b
1422foo(\R)bar	foo\r\nbar	y	$1	\r\n
1423(\V)(\R)	foo\r\nbar	y	$1-$2	o-\r\n
1424(\R)(\V)	foo\r\nbar	y	$1-$2	\r\n-b
1425foo(\R)bar	foo\rbar	y	$1	\r
1426(\V)(\R)	foo\rbar	y	$1-$2	o-\r
1427(\R)(\V)	foo\rbar	y	$1-$2	\r-b
14280|\R??\n0	\n\n	n	-	-	-	# GH17746: assertion failure
1429
1430foo(\v+)bar	foo\r\n\x{85}\r\n\nbar	y	$1	\r\n\x{85}\r\n\n
1431(\V+)(\v)	foo\r\n\x{85}\r\n\nbar	y	$1-$2	foo-\r
1432(\v+)(\V)	foo\r\n\x{85}\r\n\nbar	y	$1-$2	\r\n\x{85}\r\n\n-b
1433foo(\v)bar	foo\x{85}bar	y	$1	\x{85}
1434(\V)(\v)	foo\x{85}bar	y	$1-$2	o-\x{85}
1435(\v)(\V)	foo\x{85}bar	y	$1-$2	\x{85}-b
1436foo(\v)bar	foo\rbar	y	$1	\r
1437(\V)(\v)	foo\rbar	y	$1-$2	o-\r
1438(\v)(\V)	foo\rbar	y	$1-$2	\r-b
1439
1440
1441foo(\h+)bar	foo\t\x{A0}bar	y	$1	\t\x{A0}
1442(\H+)(\h)	foo\t\x{A0}bar	y	$1-$2	foo-\t
1443(\h+)(\H)	foo\t\x{A0}bar	y	$1-$2	\t\x{A0}-b
1444foo(\h)bar	foo\x{A0}bar	y	$1	\x{A0}
1445(\H)(\h)	foo\x{A0}bar	y	$1-$2	o-\x{A0}
1446(\h)(\H)	foo\x{A0}bar	y	$1-$2	\x{A0}-b
1447foo(\h)bar	foo\tbar	y	$1	\t
1448(\H)(\h)	foo\tbar	y	$1-$2	o-\t
1449(\h)(\H)	foo\tbar	y	$1-$2	\t-b
1450
1451.*\z	foo\n	y	-$&-	--
1452\N*\z	foo\n	y	-$&-	--
1453.*\Z	foo\n	y	-$&-	-foo-
1454\N*\Z	foo\n	y	-$&-	-foo-
1455^(?:(\d)x)?\d$	1	y	${\(defined($1)?1:0)}	0
1456.*?(?:(\w)|(\w))x	abx	y	$1-$2	b-
1457
14580{50}	000000000000000000000000000000000000000000000000000	y	-	-
1459^a?(?=b)b	ab	y	$&	ab	# Bug #56690
1460^a*(?=b)b	ab	y	$&	ab	# Bug #56690
1461/>\d+$ \n/ix	>10\n	y	$&	>10
1462/>\d+$ \n/ix	>1\n	y	$&	>1
1463/\d+$ \n/ix	>10\n	y	$&	10
1464/>\d\d$ \n/ix	>10\n	y	$&	>10
1465/>\d+$ \n/x	>10\n	y	$&	>10
1466
1467# Two regressions in 5.8.x (only) introduced by change 30638
1468# Simplification of the test failure in XML::LibXML::Simple:
1469/^\s*i.*?o\s*$/s	io\n io	y	-	-
1470# As reported in #59168 by Father Chrysostomos:
1471/(.*?)a(?!(a+)b\2c)/	baaabaac	y	$&-$1	baa-ba
1472# [perl #60344] Regex lookbehind failure after an (if)then|else in perl 5.10
1473/\A(?(?=db2)db2|\D+)(?<!processed)\.csv\z/xms	sql_processed.csv	n	-	-
1474/\N{U+0100}/	\x{100}	y	$&	\x{100}	# Bug #59328
1475/\N{ U+0100 }/	\x{100}	y	$&	\x{100}	# Bug #59328
1476/[a\N{U+0100}]/	\x{100}	y	$&	\x{100}
1477/[a\N{ U+0100 }]/	\x{100}	y	$&	\x{100}
1478/[a\N{U+0100}]/	a	y	$&	a
1479
1480# Verify that \N{U+...} forces Unicode rules
1481/\N{U+41}\x{c1}/i	a\x{e1}	y	$&	a\x{e1}
1482'\N{U+41}\x{c1}'i	a\x{e1}	y	$&	a\x{e1}
1483/[\N{U+41}\x{c1}]/i	\x{e1}	y	$&	\x{e1}
1484'[\N{U+41}\x{c1}]'i	\x{e1}	y	$&	\x{e1}
1485'\N{U+41}'	A	y	$&	A		# Even for single quoted patterns
1486
1487[\s][\S]	\x{a0}\x{a0}	n	-	-	# Unicode complements should not match same character
1488
1489# was generating malformed utf8
1490'[\x{100}\xff]'i	\x{ff}	y	$&	\x{ff}
1491
1492((??{ "(?:|)" }))\s	C\x20 	y	-	-
1493
1494# Verify that \ escapes the { after \N, and causes \N to match non-newline
1495abc\N\{U+BEEF}	abc\n{UBEEF}	n
1496abc\N\{U+BEEF\}	abc.{UBEEF}	y	$&	abc.{UBEEF}
1497[abc\N\{U+BEEF\}]	-	c	-	\\N in a character class must be a named character
1498
1499# Verify that \N can be trailing and causes \N to match non-newline
1500abc\N	abcd	y	$&	abcd
1501abc\N	abc\n	n
1502
1503# Verify get errors.  For these, we need // or else puts it in single quotes,
1504# and bypasses the lexer.
1505/\N{U+}/	-	c	-	Invalid hexadecimal number
1506/[\N{U+}]/	-	c	-	Invalid hexadecimal number
1507/abc\N{def/	-	c	-	Missing right brace
1508/\N{U+4AG3}/	-	c	-	Invalid hexadecimal number
1509/[\N{U+4AG3}]/	-	c	-	Invalid hexadecimal number
1510
1511# And verify that in single quotes which bypasses the lexer, the regex compiler
1512# figures it out.
1513\N{U+}	-	c	-	Invalid hexadecimal number
1514[\N{U+}]	-	c	-	Invalid hexadecimal number
1515\N{U+4AG3}	-	c	-	Invalid hexadecimal number
1516[\N{U+4AG3}]	-	c	-	Invalid hexadecimal number
1517abc\N{def}	-	c	-	Unknown charname 'def' in regex
1518abc\N{U+4AG3	-	c	-	Missing right brace on \\N{}
1519abc\N{def	-	c	-	Missing right brace on \\N{}
1520abc\N{	-	c	-	Missing right brace on \\N{}
1521
1522# Verify that under /x that still cant have space before left brace
1523/abc\N {U+41}/x	-	c	-	Missing braces
1524/abc\N {SPACE}/x	-	c	-	Missing braces
1525
1526# Verifies catches hex errors
1527/\N{U+0xBEEF}/	-	c	-	Invalid hexadecimal number
1528\N{U+0xBEEF}	-	c	-	Invalid hexadecimal number
1529# Used to be an error, but not any more:
1530/\N{U+BEEF.BEAD}/	-	c	-
1531
1532# Verify works in single quotish context; regex compiler delivers slightly different msg
1533# \N{U+BEEF.BEAD} succeeds here, because can't completely hide it from the outside.
1534\N{U+0xBEEF}	-	c	-	Invalid hexadecimal number
1535\c`	-	ac	-	\"\\c`\" is more clearly written simply as \"\\ \"
1536\c1	-	ac	-	\"\\c1\" is more clearly written simply as \"q\"
1537\c@	\0	y	$&	\0
1538\cA	\001	y	$&	\001
1539\cB	\002	y	$&	\002
1540\cC	\003	y	$&	\003
1541\cI	\011	y	$&	\011
1542\cJ	\012	y	$&	\012
1543\cR	\022	y	$&	\022
1544\cS	\023	y	$&	\023
1545\cX	\030	y	$&	\030
1546\cY	\031	y	$&	\031
1547\cZ	\032	y	$&	\032
1548\c[	\033	y	$&	\033
1549\c\X	\034X	y	$&	\034X
1550\c]	\035	y	$&	\035
1551\c^	\036	y	$&	\036
1552\c_	\037	y	$&	\037
1553\c?	\177	ay	$&	\177
1554\c?	\x9F	ey	$&	\x9F		\c? is APC on EBCDIC
1555\400	\x{100}	y	$&	\x{100}
1556\600	\x{180}	y	$&	\x{180}
1557\777	\x{1FF}	y	$&	\x{1FF}
1558[a\400]	\x{100}	y	$&	\x{100}
1559[b\600]	\x{180}	y	$&	\x{180}
1560[c\777]	\x{1FF}	y	$&	\x{1FF}
1561\o{120}	\x{50}	y	$&	\x{50}
1562\o{400}	\x{100}	y	$&	\x{100}
1563\o{1000}	\x{200}	y	$&	\x{200}
1564[a\o{120}]	\x{50}	y	$&	\x{50}
1565[a\o{400}]	\x{100}	y	$&	\x{100}
1566[a\o{1000}]	\x{200}	y	$&	\x{200}
1567
1568# The below were inserting a NULL
1569\87	87	c	-	Reference to nonexistent group in regex
1570a\87	a87	c	-	Reference to nonexistent group in regex
1571a\97	a97	c	-	Reference to nonexistent group in regex
1572
1573# avoid problems with 32-bit signed integer overflow
1574
1575(.)\g2147483648}	x	c	-	Reference to nonexistent group in regex
1576(.)\g2147483649}	x	c	-	Reference to nonexistent group in regex
1577(.)\g2147483650}	x	c	-	Reference to nonexistent group in regex
1578(.)\g4294967296}	x	c	-	Reference to nonexistent group in regex
1579(.)\g4294967297}	x	c	-	Reference to nonexistent group in regex
1580(.)\g4294967298}	x	c	-	Reference to nonexistent group in regex
1581a(.)\g2147483648}	x	c	-	Reference to nonexistent group in regex
1582a(.)\g2147483649}	x	c	-	Reference to nonexistent group in regex
1583a(.)\g2147483650}	x	c	-	Reference to nonexistent group in regex
1584a(.)\g4294967296}	x	c	-	Reference to nonexistent group in regex
1585a(.)\g4294967297}	x	c	-	Reference to nonexistent group in regex
1586a(.)\g4294967298}	x	c	-	Reference to nonexistent group in regex
1587
1588(.)\g{2147483648}	x	c	-	Reference to nonexistent group in regex
1589(.)\g{ 2147483648 }	x	c	-	Reference to nonexistent group in regex
1590(.)\g{2147483649}	x	c	-	Reference to nonexistent group in regex
1591(.)\g{2147483650}	x	c	-	Reference to nonexistent group in regex
1592(.)\g{4294967296}	x	c	-	Reference to nonexistent group in regex
1593(.)\g{4294967297}	x	c	-	Reference to nonexistent group in regex
1594(.)\g{4294967298}	x	c	-	Reference to nonexistent group in regex
1595a(.)\g{2147483648}	x	c	-	Reference to nonexistent group in regex
1596a(.)\g{2147483649}	x	c	-	Reference to nonexistent group in regex
1597a(.)\g{2147483650}	x	c	-	Reference to nonexistent group in regex
1598a(.)\g{4294967296}	x	c	-	Reference to nonexistent group in regex
1599a(.)\g{4294967297}	x	c	-	Reference to nonexistent group in regex
1600a(.)\g{4294967298}	x	c	-	Reference to nonexistent group in regex
1601
1602(.)\2147483648	b\o{214}7483648	ya	$1	b	\d not converted to native; \o{} is
1603(.)\2147483649	b\o{214}7483649	ya	$1	b	\d not converted to native; \o{} is
1604(.)\2147483650	b\o{214}7483650	ya	$1	b	\d not converted to native; \o{} is
1605(.)\4294967296	b\o{42}94967296	ya	$1	b	\d not converted to native; \o{} is
1606(.)\4294967297	b\o{42}94967297	ya	$1	b	\d not converted to native; \o{} is
1607(.)\4294967298	b\o{42}94967298	ya	$1	b	\d not converted to native; \o{} is
1608a(.)\2147483648	ab\o{214}7483648	ya	$1	b	\d not converted to native; \o{} is
1609a(.)\2147483649	ab\o{214}7483649	ya	$1	b	\d not converted to native; \o{} is
1610a(.)\2147483650	ab\o{214}7483650	ya	$1	b	\d not converted to native; \o{} is
1611a(.)\4294967296	ab\o{42}94967296	ya	$1	b	\d not converted to native; \o{} is
1612a(.)\4294967297	ab\o{42}94967297	ya	$1	b	\d not converted to native; \o{} is
1613a(.)\4294967298	ab\o{42}94967298	ya	$1	b	\d not converted to native; \o{} is
1614
1615# The below was inserting a NULL into the character class.
1616[\8\9]	\000	Sn	-	-
1617[\8\9]	-	sc	$&	Unrecognized escape \\8 in character class
1618[\8\9]	8	Sy	$&	8
1619[\8\9]	9	Sy	$&	9
1620
1621# Verify that reads 1-3 octal digits, and that \_ works in char class
1622[\0]	\000	Sy	$&	\000
1623[\0]	-	sc	-	Need exactly 3 octal digits
1624[\07]	\007	Sy	$&	\007
1625[\07]	-	sc	-	Need exactly 3 octal digits
1626[\07]	7\000	Sn	-	-
1627[\07]	-	sc	-	Need exactly 3 octal digits
1628[\006]	\006	y	$&	\006
1629[\006]	6\000	n	-	-
1630[\0005]	\0005	y	$&	\000
1631[\0005]	5\000	y	$&	5
1632[\_]	_	y	$&	_
1633
1634# RT #79152
1635(q1|.)*(q2|.)*(x(a|bc)*y){2,}	xayxay	y	$&	xayxay
1636(q1|.)*(q2|.)*(x(a|bc)*y){2,3}	xayxay	y	$&	xayxay
1637(q1|z)*(q2|z)*z{15}-.*?(x(a|bc)*y){2,3}Z	zzzzzzzzzzzzzzzz-xayxayxayxayZ	y	$&	zzzzzzzzzzzzzzzz-xayxayxayxayZ
1638
1639(?:(?:)foo|bar|zot|rt78356)	foo	y	$&	foo
1640/\xe0\pL/i	\xc0a	y	$&	\xc0a
1641
1642# RT #85528
1643(?{})[\x{100}]	\x{100}	y	$&	\x{100}
1644
1645# RT #85964
1646^m?(\S)(.*)\1$	aba	y	$1	a
1647^m?(\S)(.*)\1$	\tb\t	n	-	-
1648^m?(\s)(.*)\1$	\tb\t	y	$1	\t
1649^m?(\s)(.*)\1$	aba	n	-	-
1650^m?(\W)(.*)\1$	:b:	y	$1	:
1651^m?(\W)(.*)\1$	aba	n	-	-
1652^m?(\w)(.*)\1$	aba	y	$1	a
1653^m?(\w)(.*)\1$	:b:	n	-	-
1654^m?(\D)(.*)\1$	aba	y	$1	a
1655^m?(\D)(.*)\1$	5b5	n	-	-
1656^m?(\d)(.*)\1$	5b5	y	$1	5
1657^m?(\d)(.*)\1$	aba	n	-	-
1658
1659^_?[^\W_0-9]\w\z	\xAA\x{100}	y	$&	\xAA\x{100}		[perl #127537]
1660
1661# 17F is 'Long s';  This makes sure the a's in /aa can be separate
1662/s/ai	\x{17F}	y	$&	\x{17F}
1663/s/aia	\x{17F}	n	-	-
1664/s/aia	S	y	$&	S
1665/(?aia:s)/	\x{17F}	n	-	-
1666/(?aia:s)/	S	y	$&	S
1667
1668# Normally 1E9E generates a multi-char fold, but not in inverted class;
1669# See [perl #89750].  This makes sure that the simple fold gets generated
1670# in that case, to DF.
1671/[^\x{1E9E}]/i	\x{DF}	Sn	-	-
1672
1673# RT #96354
1674/^.*\d\H/	X1	n	-	-
1675/^.*\d\V/	X1	n	-	-
1676
1677# \p{L_} was being misinterpreted as \p{L}.  L_ matches cased letters, which
1678# the ideograph below isn't, whereas it does match L
1679/^\p{L_}/	\x{3400}	n	-	-
1680/^\p{L}/	\x{3400}	y	$&	\x{3400}
1681
1682# RT #89774
1683/[s\xDF]a/ui	ssa	Sy	$&	ssa
1684/[s\xDF]a/ui	sa	y	$&	sa
1685
1686# RT #99928
1687/^\R\x0A$/	\x0D\x0A	n	-	-
1688
1689/ff/i	\x{FB00}\x{FB01}	y	$&	\x{FB00}
1690/ff/i	\x{FB01}\x{FB00}	y	$&	\x{FB00}
1691/fi/i	\x{FB01}\x{FB00}	y	$&	\x{FB01}
1692/fi/i	\x{FB00}\x{FB01}	y	$&	\x{FB01}
1693#
1694# Make sure we don't see code blocks where there aren't, and vice-versa
1695(?#( (?{1+)a	a	y	-	-
1696'a# (?{1+'x	a	y	-	-
1697ab[(?{1]	ab1	y	-	-
1698ab[(?{1\](?{2]	ab2	y	-	-
1699ab(?{"["})cd	abcd	y	-	-
1700ab(??{"[x]"})cd	abxcd	y	-	-
1701ab\[(??{1})c	ab[1c	y	-	-
1702ab\\[(??{1;})]c	ab\\;c	y	-	-
1703ab\\\[(??{1})c	ab\\[1c	y	-	-
1704ab[c\](??{"]d	abcd	y	-	-
1705ab[c\\](??{"[x]"})d	ab\\xd	y	-	-
1706ab[c\\\](??{"x"})]{3}d	ab\\](d	y	-	-
1707
1708# These test that doesn't cut-off matching too soon in the string for
1709# multi-char folds
1710/ffiffl/i	abcdef\x{FB03}\x{FB04}	y	$&	\x{FB03}\x{FB04}
1711/\xdf\xdf/ui	abcdefssss	y	$&	ssss
1712
1713/st/i	\x{DF}\x{FB05}	y	$&	\x{FB05}
1714/ssst/i	\x{DF}\x{FB05}	y	$&	\x{DF}\x{FB05}
1715
1716# [perl #101970]
1717/[[:lower:]]/i	\x{100}	y	$&	\x{100}
1718/[[:upper:]]/i	\x{101}	y	$&	\x{101}
1719
1720# Was matching 'ss' only and failing the entire match, not seeing the
1721# alternative that would succeed
1722/s\xDF/ui	\xDFs	y	$&	\xDFs
1723/sst/ui	s\N{LATIN SMALL LIGATURE ST}	y	$&	s\N{LATIN SMALL LIGATURE ST}
1724/sst/ui	s\N{LATIN SMALL LIGATURE LONG S T}	y	$&	s\N{LATIN SMALL LIGATURE LONG S T}
1725
1726# /i properties shouldn't match more than the property itself
1727/[[:ascii:]]/i	\N{KELVIN SIGN}	n	-	-
1728
1729# [[:lower:]]/i and [[:upper:]]/i should match what \p{Lower} and \p{Upper} do.
1730# which is \p{Cased}, not \p{Alpha},
1731/[[:lower:]]/i	\N{U+3400}	n	-	-
1732/[[:upper:]]/i	\N{U+01BB}	n	-	-
1733
1734# [perl #110648]
1735[^\p{Alphabetic}]	\x{100}	n	-	-
1736
1737# [perl #111400].  Tests the first Y/N boundary above 255 for each of these.
1738/[[:alnum:]]/	\x{2c1}	y	-	-
1739/[[:alnum:]]/	\x{2c2}	n	-	-
1740/[[:alpha:]]/	\x{2c1}	y	-	-
1741/[[:alpha:]]/	\x{2c2}	n	-	-
1742/[[:graph:]]/	\x{377}	y	-	-
1743/[[:graph:]]/	\x{378}	n	-	-
1744/[[:lower:]]/	\x{100}	n	-	-
1745/[[:lower:]]/	\x{101}	y	-	-
1746/[[:lower:]]/	\x{102}	n	-	-
1747/[[:print:]]/	\x{377}	y	-	-
1748/[[:print:]]/	\x{378}	n	-	-
1749/[[:punct:]]/	\x{37D}	n	-	-
1750/[[:punct:]]/	\x{37E}	y	-	-
1751/[[:punct:]]/	\x{388}	n	-	-
1752/[[:upper:]]/	\x{100}	y	-	-
1753/[[:upper:]]/	\x{101}	n	-	-
1754/[[:word:]]/	\x{2c1}	y	-	-
1755/[[:word:]]/	\x{2c2}	n	-	-
1756
1757# [perl #113400]
1758/syntax OK\s+\z/si	t/bin/good.pl syntax OK\n	y	-	-
1759
1760/^(.*?)\s*\|\s*(?:\/\s*|)'(.+)'$/	text|'sec'	y	<$1><$2>	<text><sec>
1761/^(foo|)bar$/	bar	y	<$&>	<bar>
1762/^(foo||baz)bar$/	bar	y	<$&>	<bar>
1763/^(foo||baz)bar$/	bazbar	y	<$1>	<baz>
1764/^(foo||baz)bar$/	foobar	y	<$1>	<foo>
1765
1766/^(?:foo|)bar$/	bar	y	<$&>	<bar>
1767/^(?:foo||baz)bar$/	bar	y	<$&>	<bar>
1768/^(?:foo||baz)bar$/	bazbar	y	<$&>	<bazbar>
1769/^(?:foo||baz)bar$/	foobar	y	<$&>	<foobar>
1770
1771/^(?i:foo|)bar$/	bar	y	<$&>	<bar>
1772/^(?i:foo||baz)bar$/	bar	y	<$&>	<bar>
1773/^(?i:foo||baz)bar$/	bazbar	y	<$&>	<bazbar>
1774/^(?i:foo||baz)bar$/	foobar	y	<$&>	<foobar>
1775
1776# $^N, $+ on backtrackracking
1777# BRANCH
1778^(.)(?:(..)|B)[CX]	ABCDE	y	$^N-$+	A-A	-
1779# TRIE
1780^(.)(?:BC(.)|B)[CX]	ABCDE	y	$^N-$+	A-A	-
1781# CURLYX
1782^(.)(?:(.)+)*[BX]	ABCDE	y	$^N-$+	A-A	-
1783# CURLYM
1784^(.)(BC)*	ABCDE	y	$^N-$+	BC-BC	-
1785^(.)(BC)*[BX]	ABCDE	y	$^N-$+	A-A	-
1786# CURLYN
1787^(.)(B)*.[DX]	ABCDE	y	$^N-$+	B-B	-
1788^(.)(B)*.[CX]	ABCDE	y	$^N-$+	A-A	-
1789
1790# using 'return' in code blocks
1791^(A)(?{"xyz"})B$	AB	y	$1-$^R	A-xyz	-
1792^(A)(?{return "xyz"})B$	AB	y	$1-$^R	A-xyz	-
1793^(A)((??{"xyz"}))$	Axyz	y	$1-$2	A-xyz	-
1794^(A)((??{return "xyz"}))$	Axyz	y	$1-$2	A-xyz	-
1795^(A)((?(?{1})abc|xyz))$	Aabc	y	$1-$2	A-abc	-
1796^(A)((?(?{0})abc|xyz))$	Axyz	y	$1-$2	A-xyz	-
1797^(A)((?(?{return 1})abc|xyz))$	Aabc	y	$1-$2	A-abc	-
1798^(A)((?(?{return 0})abc|xyz))$	Axyz	y	$1-$2	A-xyz	-
1799
1800# using 'return' in code blocks with additional scopes to pop
1801^(A)(?{ { 1; return "xyz"} })B$	AB	y	$1-$^R	A-xyz	-
1802^(A)((??{ { 1; return "xyz" } }))$	Axyz	y	$1-$2	A-xyz	-
1803^(A)((?(?{ { 1; return 1 } })abc|xyz))$	Aabc	y	$1-$2	A-abc	-
1804^(A)((?(?{ { 1; return 0 } })abc|xyz))$	Axyz	y	$1-$2	A-xyz	-
1805
1806# pattern modifier flags should propagate into returned (??{}) pattern
1807# p,d,l not tested
1808
1809/^(a)((??{"b"}))$/i	AB	y	$1-$2	A-B	-
1810/^(A)((??{'B$'}))(\nC)$/m	AB\nC	y	$1-$2-$3	A-B-\nC	-
1811/^(A)((??{'.'}))(B)$/s	A\nB	y	$1-$2-$3	A-\n-B	-
1812/^(A) ((??{' .'}))(B)$/x	A B	y	$1-$2-$3	A- -B	-
1813/^((??{'\d'}))$/a	\x{660}	n	-	-
1814/^(??{"s"})$/i	\x{17F}	y	-	-
1815/^(??{"s"})$/ia	\x{17F}	y	-	-
1816/^(??{"s"})$/iaa	\x{17F}	n	-	-
1817/^(??{'\w'})$/u	\x{AA}	y	-	-
1818
1819# #113670 ensure any captures to the right are invalidated when CURLY
1820# and CURLYM backtrack
1821
1822^(?:(X)?(\d)|(X)?(\d\d))$	X12	y	$1-$2-$3-$4	--X-12
1823^(?:(XX)?(\d)|(XX)?(\d\d))$	XX12	y	$1-$2-$3-$4	--XX-12
1824
1825# rt 113770
1826\A(?>\[(?:(?:)(?:R){1}|T|V?|A)\])\z	[A]	y	$&	[A]
1827# rt 114068
1828/( [^z] $ [^z]+)/xm	aa\nbb\ncc\n	y	$1	a\nbb\ncc\n
1829
1830# [perl #114220]
1831/[\h]/	\x{A0}	y	$&	\xA0
1832/[\H]/	\x{BF}	y	$&	\xBF
1833/[\H]/	\x{A0}	n	-	-
1834/[\H]/	\x{A1}	y	$&	\xA1
1835
1836[^\n]+	\nb	y	$&	b
1837[^\n]+	a\n	y	$&	a
1838
1839# /a has no effect on properties
1840(?a:\p{Any})	\x{100}	y	$&	\x{100}
1841(?aa:\p{Any})	\x{100}	y	$&	\x{100}
1842
1843\w	\x{200C}	y	$&	\x{200C}
1844\W	\x{200C}	n	-	-
1845\w	\x{200D}	y	$&	\x{200D}
1846\W	\x{200D}	n	-	-
1847
1848/^(?d:\xdf|_)*_/i	\x{17f}\x{17f}_	y	$&	\x{17f}\x{17f}_
1849#
1850# check that @-, @+ count chars, not bytes; especially if beginning of
1851# string is not copied
1852
1853(\x{100})	\x{2000}\x{2000}\x{2000}\x{100}	y	$-[0]:$-[1]:$+[0]:$+[1]	3:3:4:4
1854
1855^\R{2}$	\r\n\r\n	y	$&	\r\n\r\n
1856
1857/^\D{11}/a	\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}	n	-	-
1858/^\S{11}/a	\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}	n	-	-
1859/^\W{11}/a	\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}	n	-	-
1860
1861# [ perl #114272]
1862\Vn	\xFFn/	y	$&	\xFFn
1863
1864# These mostly exercise various paths in the optimizer
1865/(?l:a?\w)/	b	y	$&	b
1866/(?l:a?\D)/	b	y	$&	b
1867^_?[^\S_0-9]\w*\z	\t	y	$&	\t
1868m?^xy\?$?	xy?	y	$&	xy?
1869a?\X	a\x{100}	y	$&	a\x{100}
1870a?\R	a\n	y	$&	a\n
1871^a?\N$	a\n	y	$&	a
1872\N?a	\na	y	$&	a
1873/\s?\s/l	\t	y	$&	\t
1874/\s?\d/l	3	y	$&	3
1875/\s?\S/l	A	y	$&	A
1876
1877# check we have the right utf8ness as we switch back and forth between
1878# patterns
1879^(\x{100}|a)(??{ qr/.?\xF7/d})	a_\xF7	y	-	-
1880
1881# [perl #118375]
1882/(a|(bc)){0,0}?xyz/	xyz	y	$&	xyz
1883/( a | ( bc ) ) {0,0} ? xyz/x	xyz	y	$&	xyz
1884
1885/(a|(bc)){0,0}+xyz/	xyz	y	$&	xyz
1886/( a | ( bc ) ) {0,0} + xyz/x	xyz	y	$&	xyz
1887
1888(A(*PRUNE)B|A(*PRUNE)C)	AC	n	-	-
1889(A(*PRUNE)B|A(*PRUNE)D|A(*PRUNE)C)	AC	n	-	-
1890(A(*PRUNE)B|A(*PRUNE)C|A(*PRUNE)D)	AC	n	-	-
1891((A(*PRUNE)B|A(*PRUNE)C))	AC	n	-	-
1892((A(*PRUNE)B|A(*PRUNE)D|A(*PRUNE)C))	AC	n	-	-
1893((A(*PRUNE)B|A(*PRUNE)C|A(*PRUNE)D))	AC	n	-	-
1894
1895A+?(*THEN)BC	AAABC	y	$&	ABC
1896A+?(*PRUNE)BC	AAABC	y	$&	ABC
1897A+(*THEN)BC	AAABC	y	$&	AAABC
1898A+(*PRUNE)BC	AAABC	y	$&	AAABC
1899A+?(*THEN)BC(?{})	AAABC	y	$&	ABC
1900A+?(*PRUNE)BC(?{})	AAABC	y	$&	ABC
1901A+(*THEN)BC(?{})	AAABC	y	$&	AAABC
1902A+(*PRUNE)BC(?{})	AAABC	y	$&	AAABC
1903/[#]/	a#b	y	$&	#
1904/[#]b/	a#b	y	$&	#b
1905/[#]/x	a#b	y	$&	#
1906/[#]b/x	a#b	y	$&	#b
1907/[#](?{})/x	a#b	y	$&	#
1908/[#](??{'b'})/x	a#b	y	$&	#b
1909/(?#)(?{})b/	a#b	y	$&	b
1910/(?#)(??{'b'})/	a#b	y	$&	b
1911/[(?#](?{})b/	a#b	y	$&	#b
1912/[(?#](??{'b'})/	a#b	y	$&	#b
1913/(?#)(?{})b/x	a#b	y	$&	b
1914/(?#)(??{'b'})/x	a#b	y	$&	b
1915
1916# RT #119069: PCRE regression test: no segfault
1917^(?=(a)){0}b(?1)	back	y	$&	ba
1918# RT #119071: PCRE regression test: No warning of infinite regression
1919(?:(a(*SKIP)b)){0}(?:(?1)|ac)	x	n	-	-
1920# RT #119073: PCRE regression test: {0} => NOTHING optimization
1921(?1)(?:(b)){0}	b	y	$&	b
1922# RT #120041
1923^A*\z		y	$&
1924/\N* /x	ab	y	$&	ab	         # Under /x was ignoring the '*'
1925/\N (?#comment) * /x	ab	y	$&	ab	# likewise
1926
1927# RT #120600: Variable length lookbehind is not variable
1928(?<W>a)(?<BB>(?=(?&W))(?<=(?&W)))(?&BB)	aa	y	$&	a	# test repeated recursive patterns
1929
1930# This group is from RT #121144
1931/^\S+=/d	\x{3a3}=\x{3a0}	y	$&	\x{3a3}=
1932/^\S+=/u	\x{3a3}=\x{3a0}	y	$&	\x{3a3}=
1933
1934# utf8 cache length panics
1935\x{100}[xy]\x{100}{2}	\x{100}y\x{100}\x{100}	y	$&	\x{100}y\x{100}\x{100}
1936\x{100}a{2,3}	\x{100}aaa	y	$&	\x{100}aaa
1937^x?abc?de	abcde	y	$&	abcde
1938
1939'(?-m:^abc)'m	abcde	y	$&	abc
1940'(?-m:^abc)'m	x\nabcde	n	-	-
1941
1942# RT #121248 - segfault
1943/^[+]([^(]+)$/mi	li	n	-	-
1944
1945# RT #121299 - Inconsistent behavior with backreferences nested inside subpattern references
1946/(.)((o)\1)(?2)/	fofof	y	$2	of
1947/(.)(?2)((\1)(?4)(\1))/	fffffff	y	$1	f
1948/(.)(?2)((.)(?4)(\1))/	foffoff	y	$2	off
1949/^(.\2?)(.)(?1)$/	abcb	y	$2	b
1950/^(.\1?)(?1)$/	aba	y	$1	a
1951/^ (\3(?2)\3)? ((.)) (?1) $/x	aaba	y	$2	a
1952/^ (a|\3(?1)\2|(?2)) ((b|c)(?4)?) (?1) (d(?1)) $/x	abbcdcabbda	y	$2	b
1953
1954# RT #121321 - perl 5.19.10 infinite loops on backrefs > number of capture buffers (npar) where npar>9
1955/(a)\2/	a\2	c	-	Reference to nonexistent group in regex
1956/(a)(b)\3/	ab\3	c	-	Reference to nonexistent group in regex
1957/(a)(b)(c)\4/	abc\4	c	-	Reference to nonexistent group in regex
1958/(a)(b)(c)(d)\5/	abcd\5	c	-	Reference to nonexistent group in regex
1959/(a)(b)(c)(d)(e)\6/	abcde\6	c	-	Reference to nonexistent group in regex
1960/(a)(b)(c)(d)(e)(f)\7/	abcdef\7	c	-	Reference to nonexistent group in regex
1961/(a)(b)(c)(d)(e)(f)(g)(h)(i)\10/	abcdefghi\10	y	$&	abcdefghi\10
1962/(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)\11/	abcdefghij\11	y	$&	abcdefghij\11
1963/(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)\12/	abcdefghijk\12	y	$&	abcdefghijk\12
1964/(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)\12\13\14/	abcdefghijk\12\13\14	y	$&	abcdefghijk\12\13\14
1965
1966\d<(.*?)>	a<>	n	-	-
1967[bcd].{2,3}aaaa	XbXaaaaa	y	-	-
1968[bcd].{2,3}aaaa	Xb\x{100}aaaaa	y	-	-
1969'\Awibble\z'm	wibble	y	-	-
1970/(alias|status)es$/i	Statuses	y	$1	Status		# [perl #121778]
1971/( (?&solution) | % ) \Z (?(DEFINE) (?<solution>7\%\ solution) )/x	7% solution	y	$1	7% solution		# [perl #122890]
1972(.)(?{$~=$^N})	\x{100}	y	$~	\x{100}		# [perl #123135]
1973
1974/[a-z]/i	\N{KELVIN SIGN}	y	$&	\N{KELVIN SIGN}
1975/[A-Z]/ia	\N{KELVIN SIGN}	y	$&	\N{KELVIN SIGN}
1976/[A-Z]/iaa	\N{KELVIN SIGN}	n	-	-
1977/[A-Z]/i	\N{LATIN SMALL LETTER LONG S}	y	$&	\N{LATIN SMALL LETTER LONG S}
1978
1979# RT #123840: these used to hang in re_intuit_start
1980/w\zxy?\z/i	\x{100}a\x{80}a	n	-	-
1981/w\z\R\z/i	\x{100}a\x{80}a	n	-	-
1982
1983/(a+){1}+a/	aaa	n	-	-		# [perl #125825]
1984
1985^((?(?=x)xb|ya)z)	xbz	y	$1	xbz
1986^((?(?=x)xb|ya)z)	yaz	y	$1	yaz
1987^((?(?!y)xb|ya)z)	xbz	y	$1	xbz
1988^((?(?!y)xb|ya)z)	yaz	y	$1	yaz
1989^((?(?!)xb|ya)z)	xbz	n	-	-
1990^((?(?!)xb|ya)z)	yaz	y	$1	yaz		# [perl-126222]
1991
1992foo(*ACCEPT:foo)	foo	y	$::REGMARK	foo
1993(foo(*ACCEPT:foo))	foo	y	$::REGMARK	foo
1994A(*FAIL:foo)[BC]	A	n	$::REGERROR	foo
1995
1996\N(?#comment){SPACE}	A	c	-	Missing braces on \\N{}
1997ab(?#Comment){2}c	abbc	y	$&	abbc
1998\p A	A	c	-	Character following \\p must be '{' or a single-character Unicode property name		# [perl #126187
1999\P:A	A	c	-	Character following \\P must be '{' or a single-character Unicode property name
2000\p^	A	c	-	Character following \\p must be '{' or a single-character Unicode property name
2001\PU	A	c	-	Can't find Unicode property definition \"U\"
2002
2003(?i	-	c	-	Sequence (?... not terminated
2004(?a-x	-	c	-	Sequence (?... not terminated
2005.{1}??	-	c	-	Nested quantifiers
2006.{1}?+	-	c	-	Nested quantifiers
2007(?:.||)(?|)000000000@	000000000@	y	$&	000000000@		#  [perl #126405]
2008aa$|a(?R)a|a	aaa	y	$&	aaa		# [perl 128420] recursive matches
2009(?:\1|a)([bcd])\1(?:(?R)|e)\1	abbaccaddedcb	y	$&	abbaccaddedcb		# [perl 128420] recursive match with backreferences
2010AB\s+\x{100}	AB \x{100}X	y	-	-
2011\b\z0*\x{100}	.\x{100}	n	-	-	# [perl #129350] crashed in intuit_start
2012(.*?(a(a)|i(i))n)	riiaan	y	$2-$3-$4-$1	aa-a--riiaan		#  Jump trie capture buffer issue [perl #129897]
2013(^(?:(\d)x)?\d$)	1	y	[$1-$2]	[1-]		#  make sure that we reset capture buffers properly (from regtry)
2014(X{2,}[-X]{1,4}){3,}X{2,}	XXX-XXX-XXX--	n	-	-	# [perl #130307]
2015
2016/[a b]/x	\N{SPACE}	yS	$&	 		# Note a space char here
2017/[a b]/xx	\N{SPACE}	n	-	-
2018/[a\ b]/xx	\N{SPACE}	y	$&	 		# Note a space char here
2019/[ ^ a b ]/xx	a	n	-	-
2020/[ ^ a b ]/xx	b	n	-	-
2021/[ ^ a b ]/xx	A	y	$&	A
2022/(?x:[a b])/xx	\N{SPACE}	yS	$&	 	# Note a space char here
2023/(?xx:[a b])/x	\N{SPACE}	n	-	-
2024/(?x)[a b]/xx	\N{SPACE}	yS	$&	 	# Note a space char here
2025/(?xx)[a b]/x	\N{SPACE}	n	-	-
2026/(?-x:[a b])/xx	\N{SPACE}	yS	$&	 	# Note a space char here
2027^a?bcd\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff	ABCDEFGHIJKLMNOPQRSTUVWXYZ	n	-	-	# [perl #132187] for valgrind's benefit
2028^Xaaa?Xaa	aaa\x{400000}	n	-	-	# [perl #132552] for valgrind's benefit
2029([[:ascii:]]+)\x81	a\x80b\x81	y	$&	b\x81
2030[[:^ascii:]]+b	\x80a\x81b	y	$&	\x81b
2031[[:^ascii:]]+b	\x80a\x81\x{100}b	y	$&	\x81\x{100}b
2032/\A\x80+\z/	\x80\x80\x80\x80\x80\x80\x80\x80\x80	y	$&	\x80\x80\x80\x80\x80\x80\x80\x80\x80		# [perl #132900]
2033^(\d+)*?4X$	1234X	y	$1	123	# perl #131648
2034(?il)\x{100}|\x{100}|\x{FE}	\xFE	y	$&	\xFE
2035\A([\x00-\x7F]+)(.*)\z	\007\011\012	y	$&	\007\011\012	# [perl #133311]
2036(?:(?^:(?{1}))[^0-9])	:	y	$&	:	# [perl #133348]
2037/[\xdf-/i	-	ca	-	Invalid [] range	# [perl #133620] likely only fails under valgrind
2038/[\x59-/i	-	ce	-	Unmatched [	# [perl #133620] likely only fails under valgrind
2039/\1a(b)/	bab	n	-	-		# This compiles but fails to match as \1 is not set when parsed
2040/(?iu)(?<=\xdf)hbase/	sshbase	y	$&	hbase
2041/\x{30c3}?[\x{30a2}\x{30a4}\x{30a6}\x{30a8}\x{30aa}-\x{30e2}\x{30e4}\x{30e6}\x{30e8}-\x{30f4}](?:[\x{30e3}\x{30e5}\x{30e7}\x{30a1}\x{30a3}\x{30a5}\x{30a7}\x{30a9}])?\x{30fc}?\x{30f3}?/	\x{30de}\x{30fc}\x{30af}\x{30b5}\x{30fc}\x{30d3}\x{30b9}	y	$&	\x{30de}\x{30fc}	# part of [perl #133942
2042/[\x{3041}-\x{3093}]+/	\x{6f22}\x{5b57}\x{3001}\x{30ab}\x{30bf}\x{30ab}\x{30ca}\x{3001}\x{3072}\x{3089}\x{304c}\x{306a}\x{306e}\x{5165}\x{3063}\x{305f}String	y	$&	\x{3072}\x{3089}\x{304c}\x{306a}\x{306e}	# [perl #133978]
2043/(?:0)|(?:)(?:[1-9])/	q0	y	$&	0	# [https://github.com/Perl/perl5/issues/17372]
2044/\x{_1_0000}/	\x{10000}	y	$&	\x{10000}		# khw doesn't like leading underscores, but don't rmv them accidentally
2045/\o{_1_0000}/	\o{10000}	y	$&	\o{10000}
2046/(?iaax:A? \K +)/	African_Feh	c	-	\\K + is forbidden - matches null string many times in regex
2047/(?iaa:A?\K+)/	African_Feh	c	-	\\K+ is forbidden - matches null string many times in regex
2048/(?iaa:A?\K*)/	African_Feh	c	-	\\K* is forbidden - matches null string many times in regex
2049^((\w|<(\s)*(?1)(?3)*>)(?:(?3)*\+(?3)*(?2))*)(?3)*\+	a + b + <c + d>	y	$1	a + b		# [GH #18096]
2050^((\w|<(\s)*(?1)(?3)*>)(?:(?3)*\+(?3)*(?2))*)(?3)*\+	a + <b> + c	y	$1	a + <b>		# [GH #18096]
2051/0?\xdf\xdf\xdf\xdfs\o{500}|/i	\o{600}	y	$&				# [GH #18451]
2052/^a{,2}$/		y				# 0 or more
2053/^a{,2}$/	a	y	$&	a
2054/^a{,2}$/	aa	y	$&	aa
2055/^a{,2}$/	aaa	n	-	-
2056
2057/.{, 2 }/	a	y	$&	a
2058/[x]{, 2}/	x	y	$&	x
2059/\p{Latin}{ , 2 }/	a	y	$&	a
2060
2061/(?=foo)(?<=a|ab)/	abfoo	y	-	-	-	# Positive variable length lookbehind GH #19168
2062/(?=foo)(?<=a|ab)/	adfoo	n	-	-	-	# Positive variable length lookbehind GH #19168
2063/(?=foo)(?<=a|ab)/	cafoo	y	-	-	-	# Positive variable length lookbehind GH #19168
2064/(?=foo)(?<!a|ab)/	abfoo	n	-	-	-	# Negative variable length lookbehind GH #19168
2065/(?=foo)(?<!a|ab)/	adfoo	y	-	-	-	# Negative variable length lookbehind GH #19168
2066/(?=foo)(?<!a|ab)/	cafoo	n	-	-	-	# Negative variable length lookbehind GH #19168
2067/(?=foo)(?<=c|a[a-d](?<!b))/	aafoo	y	-	-	-	# Variable length lookbehind GH #19168
2068/(?=foo)(?<=c|a[a-d](?<!b))/	abfoo	n	-	-	-	# Variable length lookbehind GH #19168
2069/(?<!)/	abfoo	n	-	-	-	# OPFAIL
2070/(?!)/	abfoo	n	-	-	-	# OPFAIL
2071/(.*b)(?<=)/	abfoo	y	$1	ab	-	# NOTHING
2072/(.*b)(?=)/	abfoo	y	$1	ab	-	# NOTHING
2073/(?=(\w))(?<!^)/	1234	y	$1	2	-	# Lookahead with zero width negative lookbehind
2074/(\w)(?<!^)/	1234	y	$1	1	-	# Negative lookbehind with zero width assertion
2075/(?=foo)(?<=(a??))/	afoo	y	$1	a	-	# Postive lookbehind with minmod (leftmost longest)
2076/(?=foo)(?<=(a{0,2}))/	aafoo	y	$1	aa	-	# Positive lookbehind with min/max (leftmost longest)
2077/(?=foo)(?<=(|a|aa))/	aafoo	y	$1	aa	-	# Positive lookbehind with alternation (leftmost longest)
2078(?<=(?<!yz)b)c	aabcdef	y	$&	c	-	# Nested lookbehind without early bailout
2079(?<=(?<!yz)b)c	abcdef	y	$&	c	-	# Nested lookbehind with early bailout
2080/(A(A|B(*ACCEPT)|C)+D)(E)/	ABDE	y	$1-$2	AB-B	-	# ACCEPT with CurlyM optimization GH #19484
2081/(A(A|B(*ACCEPT)|C)+D)(E)/	ABDE	y	$&	AB	-	# ACCEPT with CurlyM optimization GH #19484
2082/(A(A|B(*ACCEPT)|C)+D)(E)/	ABCDE	y	$1-$2	AB-B	-	# ACCEPT with CurlyM optimization GH #19484
2083/(A(A|B(*ACCEPT)|C)+D)(E)/	ABCDE	y	$&	AB	-	# ACCEPT with CurlyM optimization GH #19484
2084/(A(A|B(*ACCEPT)|C)D)(E)/	ABDE	y	$1-$2	AB-B	-	# ACCEPT without CurlyM optimization
2085/(A(A|B(*ACCEPT)|C)D)(E)/	ABDE	y	$&	AB	-	# ACCEPT without CurlyM optimization
2086/(A(A|B(*ACCEPT)|C)D)(E)/	ABCDE	y	$1-$2	AB-B	-	# ACCEPT without CurlyM optimization
2087/(A(A|B(*ACCEPT)|C)D)(E)/	ABCDE	y	$&	AB	-	# ACCEPT without CurlyM optimization
2088/(A(A|B(*ACCEPT)|(?>C))D)(E)/	ABCDE	y	$1-$2	AB-B	-	# ACCEPT with SUSPEND in pattern
2089/(A(A|B(*ACCEPT)|(?>C))D)(E)/	ABCDE	y	$&	AB	-	# ACCEPT with SUSPEND in pattern
2090/(A(A|B(*ACCEPT)|C(?<=C))D)(E)/	ABCDE	y	$1-$2	AB-B	-	# ACCEPT with IFMATCH in pattern
2091/(A(A|B(*ACCEPT)|C(?<=C))D)(E)/	ABCDE	y	$&	AB	-	# ACCEPT with IFMATCH in pattern
2092/(A(A|B(*ACCEPT)|C(?<!Q))D)(E)/	ABCDE	y	$1-$2	AB-B	-	# ACCEPT with UNLESSM in pattern
2093/(A(A|B(*ACCEPT)|C(?<!Q))D)(E)/	ABCDE	y	$&	AB	-	# ACCEPT with UNLESSM in pattern
2094/(?(DEFINE)(?<a>(?:[ab]|[cd](*ACCEPT)|[ef])g))(?&a)(?&a)/	cc	y	$&	cc	-	# ACCEPT in GOSUB
2095/(?(DEFINE)(?<a>(?:[ab]|[cd](*ACCEPT)|[ef])g))(?&a)(?&a)/	agag	y	$&	agag	-	# (not) ACCEPT in GOSUB
2096/(?(DEFINE)(?<a>(?:[ab]|[cd](*ACCEPT)|[ef])g))(?&a)(?&a)/	agcq	y	$&	agc	-	# (not) ACCEPT in GOSUB
2097/(?<=([cd](*ACCEPT)|x)gggg)blrph/	cblrph	y	$&-$1	blrph-c	-	# ACCEPT in IFMATCH var pos lookbehind
2098/(?<=([cd](*ACCEPT)|x)gggg)blrph/	dblrph	y	$&-$1	blrph-d	-	# ACCEPT in IFMATCH var pos lookbehind
2099/(?<=([cd](*ACCEPT)|x)gggg)blrph/	xggggblrph	y	$&-$1	blrph-x	-	# (not) ACCEPT in IFMATCH var pos lb
2100/(?<!([cd](*ACCEPT)|x)gggg)blrph/	cblrph	n	-	-	-	# ACCEPT in UNLESSM var neg lookbehind
2101/(?<!([cd](*ACCEPT)|x)gggg)blrph/	dblrph	n	-	-	-	# ACCEPT in UNLESSM var neg lookbehind
2102/(?<!([cd](*ACCEPT)|x)gggg)blrph/	xggggblrph	n	-	-	-	# (not) ACCEPT in UNLESSM var neg lb
2103/(?:a?(*ACCEPT))b/	x	y	>$&<	><	-	# Test minlen for ACCEPT
2104/(?:a?(*ACCEPT))b/	a	y	>$&<	>a<	-	# Test minlen for ACCEPT
2105/(?:a?(*ACCEPT))b/	b	y	>$&<	><	-	# Test minlen for ACCEPT
2106/a?(*ACCEPT)b/	x	y	>$&<	><	-	# Test minlen for ACCEPT
2107/a?(*ACCEPT)b/	a	y	>$&<	>a<	-	# Test minlen for ACCEPT
2108/a?(*ACCEPT)b/	b	y	>$&<	><	-	# Test minlen for ACCEPT
2109/ (A (*ACCEPT) | BC){2} D{0,4}/x	A	y	$1	A	-	# ACCEPT optimizer check
2110
2111\p{nv=-0}	\x{660}	y	$&	\x{660}
2112
2113# Keep these lines at the end of the file
2114# pat	string	y/n/etc	expr	expected-expr	skip-reason	comment
2115# vim: softtabstop=0 noexpandtab
2116