xref: /openbsd-src/gnu/usr.bin/perl/t/re/re_tests (revision 3d61058aa5c692477b6d18acfbbdb653a9930ff9)
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--bar		# was bar-foo-bar prior to 5.37.10
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((?(1)a|b))+	baaa	y	$&	baaa		# GH 7754
500((?(1)aa|b))+	baaaa	y	$&	baaaa		# GH 7754
501((a{4})+)	aaaaaaaaa	y	$1	aaaaaaaa
502(((aa){2})+)	aaaaaaaaaa	y	$1	aaaaaaaa
503(((a{2}){2})+)	aaaaaaaaaa	y	$1	aaaaaaaa
504(?:(f)(o)(o)|(b)(a)(r))*	foobar	y	$1:$2:$3:$4:$5:$6	:::b:a:r
505(?<=a)b	ab	y	$&	b
506(?<=af?)b	ab	y	$&	b
507(?<=a)b	cb	n	-	-
508(?<=a(?:fo)?)b	cb	n	-	-
509(?<=a)b	b	n	-	-
510(?<=a(?:foo)?)b	b	n	-	-
511(?<!c)b	ab	y	$&	b
512(?<!c(?:foob)?)b	ab	y	$&	b
513(?<!c)b	cb	n	-	-
514(?<!c(?:fooba)?)b	cb	n	-	-
515(?<!c)b	b	y	-	-
516(?<!c(?:foobar)?)b	b	y	-	-
517(?<!c)b	b	y	$&	b
518(?<!c(?:foobarb)?)b	b	y	$&	b
519(?<%)b	-	c	-	Group name must start with a non-digit word character
520(?:..)*a	aba	y	$&	aba
521(?:..)*?a	aba	y	$&	a
522^(?:b|a(?=(.)))*\1	abc	y	$&	ab
523^(){3,5}	abc	y	a$1	a
524^(a+)*ax	aax	y	$1	a
525^((a|b)+)*ax	aax	y	$1	a
526^((a|bc)+)*ax	aax	y	$1	a
527(a|x)*ab	cab	y	y$1	y
528(a)*ab	cab	y	y$1	y
529(?:(?i)a)b	ab	y	$&	ab
530((?i)a)b	ab	y	$&:$1	ab:a
531(?:(?i)a)b	Ab	y	$&	Ab
532((?i)a)b	Ab	y	$&:$1	Ab:A
533(?:(?i)a)b	aB	n	-	-
534((?i)a)b	aB	n	-	-
535(?i:a)b	ab	y	$&	ab
536((?i:a))b	ab	y	$&:$1	ab:a
537(?i:a)b	Ab	y	$&	Ab
538((?i:a))b	Ab	y	$&:$1	Ab:A
539(?i:a)b	aB	n	-	-
540((?i:a))b	aB	n	-	-
541'(?:(?-i)a)b'i	ab	y	$&	ab
542'((?-i)a)b'i	ab	y	$&:$1	ab:a
543'(?:(?-i)a)b'i	aB	y	$&	aB
544'((?-i)a)b'i	aB	y	$&:$1	aB:a
545'(?:(?-i)a)b'i	Ab	n	-	-
546'((?-i)a)b'i	Ab	n	-	-
547'(?:(?-i)a)b'i	aB	y	$&	aB
548'((?-i)a)b'i	aB	y	$1	a
549'(?:(?-i)a)b'i	AB	n	-	-
550'((?-i)a)b'i	AB	n	-	-
551'(?-i:a)b'i	ab	y	$&	ab
552'((?-i:a))b'i	ab	y	$&:$1	ab:a
553'(?-i:a)b'i	aB	y	$&	aB
554'((?-i:a))b'i	aB	y	$&:$1	aB:a
555'(?-i:a)b'i	Ab	n	-	-
556'((?-i:a))b'i	Ab	n	-	-
557'(?-i:a)b'i	aB	y	$&	aB
558'((?-i:a))b'i	aB	y	$1	a
559'(?-i:a)b'i	AB	n	-	-
560'((?-i:a))b'i	AB	n	-	-
561'((?-i:a.))b'i	a\nB	n	-	-
562'((?-i:a\N))b'i	a\nB	n	-	-
563'((?s-i:a.))b'i	a\nB	y	$1	a\n
564'((?s-i:a\N))b'i	a\nB	n	-	-
565'((?s-i:a.))b'i	B\nB	n	-	-
566'((?s-i:a\N))b'i	B\nB	n	-	-
567(?:c|d)(?:)(?:a(?:)(?:b)(?:b(?:))(?:b(?:)(?:b)))	cabbbb	y	$&	cabbbb
568(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))	caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb	y	$&	caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
569'(ab)\d\1'i	Ab4ab	y	$1	Ab
570'(ab)\d\1'i	ab4Ab	y	$1	ab
571foo\w*\d{4}baz	foobar1234baz	y	$&	foobar1234baz
572a(?{})b	cabd	y	$&	ab
573a(?{f()+	-	c	-	Missing right curly or square bracket
574a(?{{1}+	-	c	-	Missing right curly or square bracket
575 (?{(^{})	-	c	-	syntax error
576a(?{}})b	-	c	-
577a(?{"{"})b	ab	y	-	-
578a(?{"\{"})b	cabd	y	$&	ab
579a(?{"{"}})b	-	c	-	Sequence (?{...}) not terminated with ')'
580a(?{$::bl="\{"}).b	caxbd	y	$::bl	{
581x(~~)*(?:(?:F)?)?	x~~	y	-	-
582^a(?#xxx){3}c	aaac	y	$&	aaac
583'^a (?#xxx) (?#yyy) {3}c'x	aaac	y	$&	aaac
584(?<![cd])b	dbcb	n	-	-
585(?<![cd]e{0,254})b	dbcb	n	-	-
586(?<![cd])[ab]	dbaacb	y	$&	a
587(?<![cd]{1,2})[ab]	dbaacb	y	$&	a
588#Why does this fail.  I think it's confusing (?<![cd]{1,3})[ab]	dbaacb	y	$&	a
589(?<!(c|d))b	dbcb	n	-	-
590(?<!(c|d))[ab]	dbaacb	y	$&	a
591(?<!cd)[ab]	cdaccb	y	$&	b
592^(?:a?b?)*$	a--	n	-	-
593((?s)^a(.))((?m)^b$)	a\nb\nc\n	y	$1;$2;$3	a\n;\n;b
594((?m)^b$)	a\nb\nc\n	y	$1	b
595(?m)^b	a\nb\n	y	$&	b
596(?m)^(b)	a\nb\n	y	$1	b
597((?m)^b)	a\nb\n	y	$1	b
598\n((?m)^b)	a\nb\n	y	$1	b
599((?s).)c(?!.)	a\nb\nc\n	y	$1	\n
600((?s).)c(?!.)	a\nb\nc\n	y	$1:$&	\n:\nc
601((?s)b.)c(?!.)	a\nb\nc\n	y	$1	b\n
602((?s)b.)c(?!.)	a\nb\nc\n	y	$1:$&	b\n:b\nc
603((?s)b.)c(?!\N)	a\nb\nc\n	y	$1:$&	b\n:b\nc
604'(b.)c(?!\N)'s	a\nb\nc\n	y	$1:$&	b\n:b\nc
605^b	a\nb\nc\n	n	-	-
606()^b	a\nb\nc\n	n	-	-
607((?m)^b)	a\nb\nc\n	y	$1	b
608(?(1)a|b)	a	n	-	-
609(?(1)b|a)	a	y	$&	a
610(x)?(?(1)a|b)	a	n	-	-
611(x)?(?(1)b|a)	a	y	$&	a
612()?(?(1)b|a)	a	y	$&	a
613()(?(1)b|a)	a	n	-	-
614()?(?(1)a|b)	a	y	$&	a
615^(\()?blah(?(1)(\)))$	(blah)	y	$2	)
616^(\()?blah(?(1)(\)))$	blah	y	($2)	()
617^(\()?blah(?(1)(\)))$	blah)	n	-	-
618^(\()?blah(?(1)(\)))$	(blah	n	-	-
619^(\(+)?blah(?(1)(\)))$	(blah)	y	$2	)
620^(\(+)?blah(?(1)(\)))$	blah	y	($2)	()
621^(\(+)?blah(?(1)(\)))$	blah)	n	-	-
622^(\(+)?blah(?(1)(\)))$	(blah	n	-	-
623(?(1?)a|b)	-	c	-	Switch condition not recognized
624(?(1)a|b|c)	-	c	-	Switch (?(condition)... contains too many branches
625(?(?{0})a|b)	a	n	-	-
626(?(?{0})b|a)	a	y	$&	a
627(?(?{1})b|a)	a	n	-	-
628(?(?{1})a|b)	a	y	$&	a
629(?(?!a)a|b)	a	n	-	-
630(?(?!a)b|a)	a	y	$&	a
631(?(?=a)b|a)	a	n	-	-
632(?(?=a)a|b)	a	y	$&	a
633(?(?!\x{100})\x{100}|b)	\x{100}	n	-	-
634(?(?!\x{100})b|\x{100})	\x{100}	y	$&	\x{100}
635(?(?=\x{100})b|\x{100})	\x{100}	n	-	-
636(?(?=\x{100})\x{100}|b)	\x{100}	y	$&	\x{100}
637(?=(a+?))(\1ab)	aaab	y	$2	aab
638^(?=(a+?))\1ab	aaab	n	-	-
639(\w+:)+	one:	y	$1	one:
640$(?<=^(a))	a	y	$1	a
641(?=(a+?))(\1ab)	aaab	y	$2	aab
642^(?=(a+?))\1ab	aaab	n	-	-
643([\w:]+::)?(\w+)$	abcd:	n	-	-
644([\w:]+::)?(\w+)$	abcd	y	$1-$2	-abcd
645([\w:]+::)?(\w+)$	xy:z:::abcd	y	$1-$2	xy:z:::-abcd
646^[^bcd]*(c+)	aexycd	y	$1	c
647(a*)b+	caab	y	$1	aa
648([\w:]+::)?(\w+)$	abcd:	n	-	-
649([\w:]+::)?(\w+)$	abcd	y	$1-$2	-abcd
650([\w:]+::)?(\w+)$	xy:z:::abcd	y	$1-$2	xy:z:::-abcd
651^[^bcd]*(c+)	aexycd	y	$1	c
652(?{$a=2})a*aa(?{local$a=$a+1})k*c(?{$b=$a})	yaaxxaaaacd	y	$b	3
653(?{$a=2})(a(?{local$a=$a+1}))*aak*c(?{$b=$a})	yaaxxaaaacd	y	$b	4
654# [perl #117917]
655^(a(?{ "x" =~ m{x}})b)(??{ $1 })	abab	y	$&	abab
656(>a+)ab	aaab	n	-	-
657(?>a+)b	aaab	y	-	-
658([[:]+)	a:[b]:	y	$1	:[
659([[=]+)	a=[b]=	y	$1	=[
660([[.]+)	a.[b].	y	$1	.[
661[a[:xyz:	-	c	-	Unmatched [
662[a[:xyz:]	-	c	-	POSIX class [:xyz:] unknown
663[a[:]b[:c]	abc	y	$&	abc
664([a[:xyz:]b]+)	-	c	-	POSIX class [:xyz:] unknown
665([[:alpha:]]+)	ABcd01Xy__--  ${nulnul}${ffff}	y	$1	ABcd
666([[:alnum:]]+)	ABcd01Xy__--  ${nulnul}${ffff}	y	$1	ABcd01Xy
667([[:ascii:]]+)	ABcd01Xy__--  ${nulnul}${ffff}	y	$1	ABcd01Xy__--  ${nulnul}
668([[:cntrl:]]+)	ABcd01Xy__--  ${nulnul}${ffff}	ya	$1	${nulnul}	ff is a control on EBCDIC (non-POSIX-BC), so this fails under /u rules
669([[:digit:]]+)	ABcd01Xy__--  ${nulnul}${ffff}	y	$1	01
670([[:graph:]]+)	ABcd01Xy__--  ${nulnul}${ffff}	y	$1	ABcd01Xy__--
671([[:lower:]]+)	ABcd01Xy__--  ${nulnul}${ffff}	y	$1	cd
672([[:print:]]+)	ABcd01Xy__--  ${nulnul}${ffff}	y	$1	ABcd01Xy__--
673([[:punct:]]+)	ABcd01Xy__--  ${nulnul}${ffff}	y	$1	__--
674([[:space:]]+)	ABcd01Xy__--  ${nulnul}${ffff}	y	$1
675([[:word:]]+)	ABcd01Xy__--  ${nulnul}${ffff}	y	$1	ABcd01Xy__
676([[:upper:]]+)	ABcd01Xy__--  ${nulnul}${ffff}	y	$1	AB
677([[:xdigit:]]+)	ABcd01Xy__--  ${nulnul}${ffff}	y	$1	ABcd01
678([[:^alpha:]]+)	ABcd01Xy__--  ${nulnul}${ffff}	y	$1	01
679((?a)[[:^alnum:]]+)	ABcd01Xy__--  ${nulnul}${ffff}	y	$1	__--  ${nulnul}${ffff}
680([[:^ascii:]]+)	ABcd01Xy__--  ${nulnul}${ffff}	y	$1	${ffff}
681([:[:^ascii:]]+)	ABcd01Xy__--  ${nulnul}${ffff}	y	$1	${ffff}	RT #120799
682([[:^cntrl:]]+)	ABcd01Xy__--  ${nulnul}${ffff}	y	$1	ABcd01Xy__--
683([[:^digit:]]+)	ABcd01Xy__--  ${nulnul}${ffff}	y	$1	ABcd
684([[:^lower:]]+)	ABcd01Xy__--  ${nulnul}${ffff}	y	$1	AB
685((?a)[[:^print:]]+)	ABcd01Xy__--  ${nulnul}${ffff}	y	$1	${nulnul}${ffff}
686([[:^punct:]]+)	ABcd01Xy__--  ${nulnul}${ffff}	y	$1	ABcd01Xy
687([[:^space:]]+)	ABcd01Xy__--  ${nulnul}${ffff}	y	$1	ABcd01Xy__--
688((?a)[[:^word:]]+)	ABcd01Xy__--  ${nulnul}${ffff}	y	$1	--  ${nulnul}${ffff}
689([[:^upper:]]+)	ABcd01Xy__--  ${nulnul}${ffff}	y	$1	cd01
690([[:^xdigit:]]+)	ABcd01Xy__--  ${nulnul}${ffff}	y	$1	Xy__--  ${nulnul}${ffff}
691[[:foo:]]	-	c	-	POSIX class [:foo:] unknown
692[[:^foo:]]	-	c	-	POSIX class [:^foo:] unknown
693'[[:^cntrl:]]+'u	a\x80	y	$&	a	\x80 was matching on EBCDIC platforms
694((?>a+)b)	aaab	y	$1	aaab
695(?>(a+))b	aaab	y	$1	aaa
696((?>[^()]+)|\([^()]*\))+	((abc(ade)ufh()()x	y	$&	abc(ade)ufh()()x
697(?<=x+)y	-	c	-	Lookbehind longer than 255 not implemented
698((def){37,17})?ABC	ABC	y	$&	ABC
699\Z	a\nb\n	y	$-[0]	3
700\z	a\nb\n	y	$-[0]	4
701$	a\nb\n	y	$-[0]	3
702\Z	b\na\n	y	$-[0]	3
703\z	b\na\n	y	$-[0]	4
704$	b\na\n	y	$-[0]	3
705\Z	b\na	y	$-[0]	3
706\z	b\na	y	$-[0]	3
707$	b\na	y	$-[0]	3
708'\Z'm	a\nb\n	y	$-[0]	3
709'\z'm	a\nb\n	y	$-[0]	4
710'$'m	a\nb\n	y	$-[0]	1
711'\Z'm	b\na\n	y	$-[0]	3
712'\z'm	b\na\n	y	$-[0]	4
713'$'m	b\na\n	y	$-[0]	1
714'\Z'm	b\na	y	$-[0]	3
715'\z'm	b\na	y	$-[0]	3
716'$'m	b\na	y	$-[0]	1
717a\Z	a\nb\n	n	-	-
718a\z	a\nb\n	n	-	-
719a$	a\nb\n	n	-	-
720a\Z	b\na\n	y	$-[0]	2
721a\z	b\na\n	n	-	-
722a$	b\na\n	y	$-[0]	2
723a\Z	b\na	y	$-[0]	2
724a\z	b\na	y	$-[0]	2
725a$	b\na	y	$-[0]	2
726'a\Z'm	a\nb\n	n	-	-
727'a\z'm	a\nb\n	n	-	-
728'a$'m	a\nb\n	y	$-[0]	0
729'a\Z'm	b\na\n	y	$-[0]	2
730'a\z'm	b\na\n	n	-	-
731'a$'m	b\na\n	y	$-[0]	2
732'a\Z'm	b\na	y	$-[0]	2
733'a\z'm	b\na	y	$-[0]	2
734'a$'m	b\na	y	$-[0]	2
735aa\Z	aa\nb\n	n	-	-
736aa\z	aa\nb\n	n	-	-
737aa$	aa\nb\n	n	-	-
738aa\Z	b\naa\n	y	$-[0]	2
739aa\z	b\naa\n	n	-	-
740aa$	b\naa\n	y	$-[0]	2
741aa\Z	b\naa	y	$-[0]	2
742aa\z	b\naa	y	$-[0]	2
743aa$	b\naa	y	$-[0]	2
744'aa\Z'm	aa\nb\n	n	-	-
745'aa\z'm	aa\nb\n	n	-	-
746'aa$'m	aa\nb\n	y	$-[0]	0
747'aa\Z'm	b\naa\n	y	$-[0]	2
748'aa\z'm	b\naa\n	n	-	-
749'aa$'m	b\naa\n	y	$-[0]	2
750'aa\Z'm	b\naa	y	$-[0]	2
751'aa\z'm	b\naa	y	$-[0]	2
752'aa$'m	b\naa	y	$-[0]	2
753aa\Z	ac\nb\n	n	-	-
754aa\z	ac\nb\n	n	-	-
755aa$	ac\nb\n	n	-	-
756aa\Z	b\nac\n	n	-	-
757aa\z	b\nac\n	n	-	-
758aa$	b\nac\n	n	-	-
759aa\Z	b\nac	n	-	-
760aa\z	b\nac	n	-	-
761aa$	b\nac	n	-	-
762'aa\Z'm	ac\nb\n	n	-	-
763'aa\z'm	ac\nb\n	n	-	-
764'aa$'m	ac\nb\n	n	-	-
765'aa\Z'm	b\nac\n	n	-	-
766'aa\z'm	b\nac\n	n	-	-
767'aa$'m	b\nac\n	n	-	-
768'aa\Z'm	b\nac	n	-	-
769'aa\z'm	b\nac	n	-	-
770'aa$'m	b\nac	n	-	-
771aa\Z	ca\nb\n	n	-	-
772aa\z	ca\nb\n	n	-	-
773aa$	ca\nb\n	n	-	-
774aa\Z	b\nca\n	n	-	-
775aa\z	b\nca\n	n	-	-
776aa$	b\nca\n	n	-	-
777aa\Z	b\nca	n	-	-
778aa\z	b\nca	n	-	-
779aa$	b\nca	n	-	-
780'aa\Z'm	ca\nb\n	n	-	-
781'aa\z'm	ca\nb\n	n	-	-
782'aa$'m	ca\nb\n	n	-	-
783'aa\Z'm	b\nca\n	n	-	-
784'aa\z'm	b\nca\n	n	-	-
785'aa$'m	b\nca\n	n	-	-
786'aa\Z'm	b\nca	n	-	-
787'aa\z'm	b\nca	n	-	-
788'aa$'m	b\nca	n	-	-
789ab\Z	ab\nb\n	n	-	-
790ab\z	ab\nb\n	n	-	-
791ab$	ab\nb\n	n	-	-
792ab\Z	b\nab\n	y	$-[0]	2
793ab\z	b\nab\n	n	-	-
794ab$	b\nab\n	y	$-[0]	2
795ab\Z	b\nab	y	$-[0]	2
796ab\z	b\nab	y	$-[0]	2
797ab$	b\nab	y	$-[0]	2
798'ab\Z'm	ab\nb\n	n	-	-
799'ab\z'm	ab\nb\n	n	-	-
800'ab$'m	ab\nb\n	y	$-[0]	0
801'ab\Z'm	b\nab\n	y	$-[0]	2
802'ab\z'm	b\nab\n	n	-	-
803'ab$'m	b\nab\n	y	$-[0]	2
804'ab\Z'm	b\nab	y	$-[0]	2
805'ab\z'm	b\nab	y	$-[0]	2
806'ab$'m	b\nab	y	$-[0]	2
807ab\Z	ac\nb\n	n	-	-
808ab\z	ac\nb\n	n	-	-
809ab$	ac\nb\n	n	-	-
810ab\Z	b\nac\n	n	-	-
811ab\z	b\nac\n	n	-	-
812ab$	b\nac\n	n	-	-
813ab\Z	b\nac	n	-	-
814ab\z	b\nac	n	-	-
815ab$	b\nac	n	-	-
816'ab\Z'm	ac\nb\n	n	-	-
817'ab\z'm	ac\nb\n	n	-	-
818'ab$'m	ac\nb\n	n	-	-
819'ab\Z'm	b\nac\n	n	-	-
820'ab\z'm	b\nac\n	n	-	-
821'ab$'m	b\nac\n	n	-	-
822'ab\Z'm	b\nac	n	-	-
823'ab\z'm	b\nac	n	-	-
824'ab$'m	b\nac	n	-	-
825ab\Z	ca\nb\n	n	-	-
826ab\z	ca\nb\n	n	-	-
827ab$	ca\nb\n	n	-	-
828ab\Z	b\nca\n	n	-	-
829ab\z	b\nca\n	n	-	-
830ab$	b\nca\n	n	-	-
831ab\Z	b\nca	n	-	-
832ab\z	b\nca	n	-	-
833ab$	b\nca	n	-	-
834'ab\Z'm	ca\nb\n	n	-	-
835'ab\z'm	ca\nb\n	n	-	-
836'ab$'m	ca\nb\n	n	-	-
837'ab\Z'm	b\nca\n	n	-	-
838'ab\z'm	b\nca\n	n	-	-
839'ab$'m	b\nca\n	n	-	-
840'ab\Z'm	b\nca	n	-	-
841'ab\z'm	b\nca	n	-	-
842'ab$'m	b\nca	n	-	-
843abb\Z	abb\nb\n	n	-	-
844abb\z	abb\nb\n	n	-	-
845abb$	abb\nb\n	n	-	-
846abb\Z	b\nabb\n	y	$-[0]	2
847abb\z	b\nabb\n	n	-	-
848abb$	b\nabb\n	y	$-[0]	2
849abb\Z	b\nabb	y	$-[0]	2
850abb\z	b\nabb	y	$-[0]	2
851abb$	b\nabb	y	$-[0]	2
852'abb\Z'm	abb\nb\n	n	-	-
853'abb\z'm	abb\nb\n	n	-	-
854'abb$'m	abb\nb\n	y	$-[0]	0
855'abb\Z'm	b\nabb\n	y	$-[0]	2
856'abb\z'm	b\nabb\n	n	-	-
857'abb$'m	b\nabb\n	y	$-[0]	2
858'abb\Z'm	b\nabb	y	$-[0]	2
859'abb\z'm	b\nabb	y	$-[0]	2
860'abb$'m	b\nabb	y	$-[0]	2
861abb\Z	ac\nb\n	n	-	-
862abb\z	ac\nb\n	n	-	-
863abb$	ac\nb\n	n	-	-
864abb\Z	b\nac\n	n	-	-
865abb\z	b\nac\n	n	-	-
866abb$	b\nac\n	n	-	-
867abb\Z	b\nac	n	-	-
868abb\z	b\nac	n	-	-
869abb$	b\nac	n	-	-
870'abb\Z'm	ac\nb\n	n	-	-
871'abb\z'm	ac\nb\n	n	-	-
872'abb$'m	ac\nb\n	n	-	-
873'abb\Z'm	b\nac\n	n	-	-
874'abb\z'm	b\nac\n	n	-	-
875'abb$'m	b\nac\n	n	-	-
876'abb\Z'm	b\nac	n	-	-
877'abb\z'm	b\nac	n	-	-
878'abb$'m	b\nac	n	-	-
879abb\Z	ca\nb\n	n	-	-
880abb\z	ca\nb\n	n	-	-
881abb$	ca\nb\n	n	-	-
882abb\Z	b\nca\n	n	-	-
883abb\z	b\nca\n	n	-	-
884abb$	b\nca\n	n	-	-
885abb\Z	b\nca	n	-	-
886abb\z	b\nca	n	-	-
887abb$	b\nca	n	-	-
888'abb\Z'm	ca\nb\n	n	-	-
889'abb\z'm	ca\nb\n	n	-	-
890'abb$'m	ca\nb\n	n	-	-
891'abb\Z'm	b\nca\n	n	-	-
892'abb\z'm	b\nca\n	n	-	-
893'abb$'m	b\nca\n	n	-	-
894'abb\Z'm	b\nca	n	-	-
895'abb\z'm	b\nca	n	-	-
896'abb$'m	b\nca	n	-	-
897'\Aa$'m	a\n\n	y	$&	a
898(^|x)(c)	ca	y	$2	c
899a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz	x	n	-	-
900a(?{$a=2;$b=3;($b)=$a})b	yabz	y	$b	2
901round\(((?>[^()]+))\)	_I(round(xs * sz),1)	y	$1	xs * sz
902'((?x:.) )'	x 	y	$1-	x -
903'((?-x:.) )'x	x 	y	$1-	x-
904foo.bart	foo.bart	y	-	-
905'^d[x][x][x]'m	abcd\ndxxx	y	-	-
906.X(.+)+X	bbbbXcXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	y	-	-
907.X(.+)+XX	bbbbXcXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	y	-	-
908.XX(.+)+X	bbbbXXcXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	y	-	-
909.X(.+)+X	bbbbXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	n	-	-
910.X(.+)+XX	bbbbXXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	n	-	-
911.XX(.+)+X	bbbbXXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	n	-	-
912.X(.+)+[X]	bbbbXcXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	y	-	-
913.X(.+)+[X][X]	bbbbXcXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	y	-	-
914.XX(.+)+[X]	bbbbXXcXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	y	-	-
915.X(.+)+[X]	bbbbXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	n	-	-
916.X(.+)+[X][X]	bbbbXXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	n	-	-
917.XX(.+)+[X]	bbbbXXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	n	-	-
918.[X](.+)+[X]	bbbbXcXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	y	-	-
919.[X](.+)+[X][X]	bbbbXcXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	y	-	-
920.[X][X](.+)+[X]	bbbbXXcXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	y	-	-
921.[X](.+)+[X]	bbbbXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	n	-	-
922.[X](.+)+[X][X]	bbbbXXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	n	-	-
923.[X][X](.+)+[X]	bbbbXXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	n	-	-
924tt+$	xxxtt	y	-	-
925([a-\d]+)	za-9z	Sy	$1	a-9
926([a-\d]+)	-	sc	-	False [] range
927([\d-z]+)	a0-za	Sy	$1	0-z
928([\d-z]+)	-	sc	$1	False [] range
929([\d-\s]+)	a0- z	Sy	$1	0-
930([\d-\s]+)	-	sc	$1	False [] range
931([a-[:digit:]]+)	za-9z	Sy	$1	a-9
932([a-[:digit:]]+)	-	sc	-	False [] range
933([[:digit:]-z]+)	=0-z=	Sy	$1	0-z
934([[:digit:]-z]+)	-	sc	c	False [] range
935([[:digit:]-[:alpha:]]+)	=0-z=	Sy	$1	0-z
936([[:digit:]-[:alpha:]]+)	-	sc	-	False [] range
937\GX.*X	aaaXbX	n	-	-
938(\d+\.\d+)	3.1415926	y	$1	3.1415926
939(\ba.{0,10}br)	have a web browser	y	$1	a web br
940'\.c(pp|xx|c)?$'i	Changes	n	-	-
941'\.c(pp|xx|c)?$'i	IO.c	y	-	-
942'(\.c(pp|xx|c)?$)'i	IO.c	y	$1	.c
943^([a-z]:)	C:/	n	-	-
944'^\S\s+aa$'m	\nx aa	y	-	-
945(^|a)b	ab	y	-	-
946^([ab]*?)(b)?(c)$	abac	y	-$2-	--
947(\w)?(abc)\1b	abcab	n	-	-
948^(?:.,){2}c	a,b,c	y	-	-
949^(.,){2}c	a,b,c	y	$1	b,
950^(?:[^,]*,){2}c	a,b,c	y	-	-
951^([^,]*,){2}c	a,b,c	y	$1	b,
952^([^,]*,){3}d	aaa,b,c,d	y	$1	c,
953^([^,]*,){3,}d	aaa,b,c,d	y	$1	c,
954^([^,]*,){0,3}d	aaa,b,c,d	y	$1	c,
955^([^,]{1,3},){3}d	aaa,b,c,d	y	$1	c,
956^([^,]{1,3},){3,}d	aaa,b,c,d	y	$1	c,
957^([^,]{1,3},){0,3}d	aaa,b,c,d	y	$1	c,
958^([^,]{1,},){3}d	aaa,b,c,d	y	$1	c,
959^([^,]{1,},){3,}d	aaa,b,c,d	y	$1	c,
960^([^,]{1,},){0,3}d	aaa,b,c,d	y	$1	c,
961^([^,]{0,3},){3}d	aaa,b,c,d	y	$1	c,
962^([^,]{0,3},){3,}d	aaa,b,c,d	y	$1	c,
963^([^,]{0,3},){0,3}d	aaa,b,c,d	y	$1	c,
964(?i)		y	-	-
965(?a:((?u)\w)\W)	\xC0\xC0	y	$&	\xC0\xC0
966'(?!\A)x'm	a\nxb\n	y	-	-
967^(a(b)?)+$	aba	y	-$1-$2-	-a--
968^(aa(bb)?)+$	aabbaa	y	-$1-$2-	-aa--
969'^.{9}abc.*\n'm	123\nabcabcabcabc\n	y	-	-
970^(a)?a$	a	y	-$1-	--
971^(a)?(?(1)a|b)+$	a	n	-	-
972^(a\1?)(a\1?)(a\2?)(a\3?)$	aaaaaa	y	$1,$2,$3,$4	a,aa,a,aa
973^(a\1?){4}$	aaaaaa	y	$1	aa
974^(0+)?(?:x(1))?	x1	y	-	-
975^([0-9a-fA-F]+)(?:x([0-9a-fA-F]+)?)(?:x([0-9a-fA-F]+))?	012cxx0190	y	-	-
976^(b+?|a){1,2}c	bbbac	y	$1	a
977^(b+?|a){1,2}c	bbbbac	y	$1	a
978\((\w\. \w+)\)	cd. (A. Tw)	y	-$1-	-A. Tw-
979((?:aaaa|bbbb)cccc)?	aaaacccc	y	-	-
980((?:aaaa|bbbb)cccc)?	bbbbcccc	y	-	-
981(a)?(a)+	a	y	$1:$2	:a	-
982(ab)?(ab)+	ab	y	$1:$2	:ab	-
983(abc)?(abc)+	abc	y	$1:$2	:abc	-
984'b\s^'m	a\nb\n	n	-	-
985\ba	a	y	-	-
986^(a(??{"(?!)"})|(a)(?{1}))b	ab	y	$2	a	# [ID 20010811.006 (#7512)]
987ab(?i)cd	AbCd	n	-	-	# [ID 20010809.023 (#7503)]
988ab(?i)cd	abCd	y	-	-
989(A|B)*(?(1)(CD)|(CD))	CD	y	$2-$3	-CD
990(A|B)*(?(1)(CD)|(CD))	ABCD	y	$2-$3	CD-
991(A|B)*?(?(1)(CD)|(CD))	CD	y	$2-$3	-CD	# [ID 20010803.016 (#7438)]
992(A|B)*?(?(1)(CD)|(CD))	ABCD	y	$2-$3	CD-
993'^(o)(?!.*\1)'i	Oo	n	-	-
994(.*)\d+\1	abc12bc	y	$1	bc
995(?m:(foo\s*$))	foo\n bar	y	$1	foo
996(.*)c	abcd	y	$1	ab
997(.*)(?=c)	abcd	y	$1	ab
998(.*)(?=c)c	abcd	yB	$1	ab
999(.*)(?=b|c)	abcd	y	$1	ab
1000(.*)(?=b|c)c	abcd	y	$1	ab
1001(.*)(?=c|b)	abcd	y	$1	ab
1002(.*)(?=c|b)c	abcd	y	$1	ab
1003(.*)(?=[bc])	abcd	y	$1	ab
1004(.*)(?=[bc])c	abcd	yB	$1	ab
1005(.*)(?<=b)	abcd	y	$1	ab
1006(.*)(?<=b)c	abcd	y	$1	ab
1007(.*)(?<=b|c)	abcd	y	$1	abc
1008(.*)(?<=b|c)c	abcd	y	$1	ab
1009(.*)(?<=c|b)	abcd	y	$1	abc
1010(.*)(?<=c|b)c	abcd	y	$1	ab
1011(.*)(?<=[bc])	abcd	y	$1	abc
1012(.*)(?<=[bc])c	abcd	y	$1	ab
1013(.*?)c	abcd	y	$1	ab
1014(.*?)(?=c)	abcd	y	$1	ab
1015(.*?)(?=c)c	abcd	yB	$1	ab
1016(.*?)(?=b|c)	abcd	y	$1	a
1017(.*?)(?=b|c)c	abcd	y	$1	ab
1018(.*?)(?=c|b)	abcd	y	$1	a
1019(.*?)(?=c|b)c	abcd	y	$1	ab
1020(.*?)(?=[bc])	abcd	y	$1	a
1021(.*?)(?=[bc])c	abcd	yB	$1	ab
1022(.*?)(?<=b)	abcd	y	$1	ab
1023(.*?)(?<=b)c	abcd	y	$1	ab
1024(.*?)(?<=b|c)	abcd	y	$1	ab
1025(.*?)(?<=b|c)c	abcd	y	$1	ab
1026(.*?)(?<=c|b)	abcd	y	$1	ab
1027(.*?)(?<=c|b)c	abcd	y	$1	ab
1028(.*?)(?<=[bc])	abcd	y	$1	ab
1029(.*?)(?<=[bc])c	abcd	y	$1	ab
10302(]*)?$\1	2	y	$&	2
1031(??{})	x	y	-	-
1032a(b)??	abc	y	<$1>	<>	# undef [perl #16773]
1033(\d{1,3}\.){3,}	128.134.142.8	y	<$1>	<142.>	# [perl #18019]
1034^.{3,4}(.+)\1\z	foobarbar	y	$1	bar	# 16 tests for [perl #23171]
1035^(?:f|o|b){3,4}(.+)\1\z	foobarbar	y	$1	bar
1036^.{3,4}((?:b|a|r)+)\1\z	foobarbar	y	$1	bar
1037^(?:f|o|b){3,4}((?:b|a|r)+)\1\z	foobarbar	y	$1	bar
1038^.{3,4}(.+?)\1\z	foobarbar	y	$1	bar
1039^(?:f|o|b){3,4}(.+?)\1\z	foobarbar	y	$1	bar
1040^.{3,4}((?:b|a|r)+?)\1\z	foobarbar	y	$1	bar
1041^(?:f|o|b){3,4}((?:b|a|r)+?)\1\z	foobarbar	y	$1	bar
1042^.{2,3}?(.+)\1\z	foobarbar	y	$1	bar
1043^(?:f|o|b){2,3}?(.+)\1\z	foobarbar	y	$1	bar
1044^.{2,3}?((?:b|a|r)+)\1\z	foobarbar	y	$1	bar
1045^(?:f|o|b){2,3}?((?:b|a|r)+)\1\z	foobarbar	y	$1	bar
1046^.{2,3}?(.+?)\1\z	foobarbar	y	$1	bar
1047^(?:f|o|b){2,3}?(.+?)\1\z	foobarbar	y	$1	bar
1048^.{2,3}?((?:b|a|r)+?)\1\z	foobarbar	y	$1	bar
1049^(?:f|o|b){2,3}?((?:b|a|r)+?)\1\z	foobarbar	y	$1	bar
1050.*a(?!(b|cd)*e).*f	......abef	n	-	-	# [perl #23030]
1051x(?#	-	c	-	Sequence (?#... not terminated
1052:x(?#:	-	c	-	Sequence (?#... not terminated
1053(WORDS|WORD)S	WORDS	y	$1	WORD
1054(X.|WORDS|X.|WORD)S	WORDS	y	$1	WORD
1055(WORDS|WORLD|WORD)S	WORDS	y	$1	WORD
1056(X.|WORDS|WORD|Y.)S	WORDS	y	$1	WORD
1057(foo|fool|x.|money|parted)$	fool	y	$1	fool
1058(x.|foo|fool|x.|money|parted|y.)$	fool	y	$1	fool
1059(foo|fool|money|parted)$	fool	y	$1	fool
1060(foo|fool|x.|money|parted)$	fools	n	-	-
1061(x.|foo|fool|x.|money|parted|y.)$	fools	n	-	-
1062(foo|fool|money|parted)$	fools	n	-	-
1063(a|aa|aaa||aaaa|aaaaa|aaaaaa)(b|c)	aaaaaaaaaaaaaaab	y	$1$2	aaaaaab
1064(a|aa|aaa||aaaa|aaaaa|aaaaaa)(??{$1&&""})(b|c)	aaaaaaaaaaaaaaab	y	$1$2	aaaaaab
1065(a|aa|aaa|aaaa|aaaaa|aaaaaa)(??{$1&&"foo"})(b|c)	aaaaaaaaaaaaaaab	n	-	-
1066^(a*?)(?!(aa|aaaa)*$)	aaaaaaaaaaaaaaaaaaaa	y	$1	a	# [perl #34195]
1067^(a*?)(?!(aa|aaaa)*$)(?=a\z)	aaaaaaaa	y	$1	aaaaaaa
1068^(.)\s+.$(?(1))	A B	y	$1	A	# [perl #37688]
1069(?:r?)*?r|(.{2,4})	abcde	y	$1	abcd
1070(?!)+?|(.{2,4})	abcde	y	$1	abcd
1071^(a*?)(?!(a{6}|a{5})*$)	aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	y	$+[1]	12	# super-linear cache bug may return 18
1072^((?>(?:aa)?b)?)	aab	y	$1	aab
1073^((?:aa)*)(?:X+((?:\d+|-)(?:X+(.+))?))?$	aaaaX5	y	$1	aaaa
1074X(A|B||C|D)Y	XXXYYY	y	$&	XY	# Trie w/ NOTHING
1075(?i:X([A]|[B]|y[Y]y|[D]|)Y)	XXXYYYB	y	$&	XY	# Trie w/ NOTHING
1076^([a]{1})*$	aa	y	$1	a
1077a(?!b(?!c))(..)	abababc	y	$1	bc	# test nested negatives
1078a(?!b(?=a))(..)	abababc	y	$1	bc	# test nested lookaheads
1079a(?!b(?!c(?!d(?!e))))...(.)	abxabcdxabcde	y	$1	e
1080X(?!b+(?!(c+)*(?!(c+)*d))).*X	aXbbbbbbbcccccccccccccaaaX	y	-	-
1081^(XXXXXXXXXX|YYYYYYYYYY|Z.Q*X|Z[TE]Q*P):	ZEQQQQQQQQQQQQQQQQQQP:	y	$1	ZEQQQQQQQQQQQQQQQQQQP
1082^(XXXXXXXXXX|YYYYYYYYYY|Z.Q*X|Z[TE]Q*P):	ZEQQQX:	y	$1	ZEQQQX
1083^([TUV]+|XXXXXXXXXX|YYYYYYYYYY|Z.Q*X|Z[TE]Q*P):	ZEQQQQQQQQQQQQQQQQQQP:	y	$1	ZEQQQQQQQQQQQQQQQQQQP
1084^([TUV]+|XXXXXXXXXX|YYYYYYYYYY|Z.Q*X|Z[TE]Q*P):	ZEQQQX:	y	$1	ZEQQQX
1085^([TUV]+|XXXXXXXXXX|YYYYYYYYYY|Z.Q*X|Z[TE]Q*P|[MKJ]):	ZEQQQQQQQQQQQQQQQQQQP:	y	$1	ZEQQQQQQQQQQQQQQQQQQP
1086^([TUV]+|XXXXXXXXXX|YYYYYYYYYY|Z.Q*X|Z[TE]Q*P|[MKJ]):	ZEQQQX:	y	$1	ZEQQQX
1087^(XXX|YYY|Z.Q*X|Z[TE]Q*P):	ZEQQQQQQQQQQQQQQQQQQP:	y	$1	ZEQQQQQQQQQQQQQQQQQQP
1088^(XXX|YYY|Z.Q*X|Z[TE]Q*P):	ZEQQQX:	y	$1	ZEQQQX
1089^([TUV]+|XXX|YYY|Z.Q*X|Z[TE]Q*P):	ZEQQQQQQQQQQQQQQQQQQP:	y	$1	ZEQQQQQQQQQQQQQQQQQQP
1090^([TUV]+|XXX|YYY|Z.Q*X|Z[TE]Q*P):	ZEQQQX:	y	$1	ZEQQQX
1091^([TUV]+|XXX|YYY|Z.Q*X|Z[TE]Q*P|[MKJ]):	ZEQQQQQQQQQQQQQQQQQQP:	y	$1	ZEQQQQQQQQQQQQQQQQQQP
1092^([TUV]+|XXX|YYY|Z.Q*X|Z[TE]Q*P|[MKJ]):	ZEQQQX:	y	$1	ZEQQQX
1093X(?:ABCF[cC]x*|ABCD|ABCF):(?:DIT|DID|DIM)	XABCFCxxxxxxxxxx:DIM	y	$&	XABCFCxxxxxxxxxx:DIM
1094(((ABCD|ABCE|ABCF)))(A|B|C[xy]*):	ABCFCxxxxxxxxxx:DIM	y	$&	ABCFCxxxxxxxxxx:
1095(?=foo)	foo	y	pos	0
1096(?=foo)	XfooY	y	pos	1
1097.*(?=foo)	XfooY	y	pos	1
1098(?=.*P)P	aP	y	pos	2
1099(?<=foo)	foo	y	pos	3
1100(?<=foo)	XfooY	y	pos	4
1101.*(?<=foo)	foo	y	pos	3
1102.*(?<=foo)	XfooY	y	pos	4
1103(?<=foo)Y	XfooY	y	pos	5
1104o(?<=foo)Y	..XfooY..	y	pos	7
1105X(?=foo)f	..XfooY..	y	pos	4
1106X(?=foo)	..XfooY..	y	pos	3
1107X(?<=foo.)[YZ]	..XfooXY..	y	pos	8
1108(?=XY*foo)	Xfoo	y	pos	0
1109^(?=XY*foo)	Xfoo	y	pos	0
1110^(??{"a+"})a	aa	y	$&	aa
1111^(?:(??{"a+"})|b)a	aa	y	$&	aa
1112^(??{chr 0x100}).$	\x{100}\x{100}	y	$&	\x{100}\x{100}
1113^(??{q(\x{100})}).	\x{100}\x{100}	y	$&	\x{100}\x{100}
1114^(??{q(.+)})\x{100}	\x{100}\x{100}	y	$&	\x{100}\x{100}
1115^(??{q(.)})\x{100}	\x{100}\x{100}	y	$&	\x{100}\x{100}
1116^(??{chr 0x100})\xbb	\x{100}\x{bb}	y	$&	\x{100}\x{bb}
1117^(.)(??{"(.)(.)"})(.)$	abcd	y	$1-$2	a-d
1118^(.)(??{"(bz+|.)(.)"})(.)$	abcd	y	$1-$2	a-d
1119^(.)((??{"(.)(cz+)"})|.)	abcd	y	$1-$2	a-b
1120^a(?>(??{q(b)}))(??{q(c)})d	abcd	y	-	-
1121^x(??{""})+$	x	y	$&	x
1122^(<(?:[^<>]+|(?3)|(?1))*>)()(!>!>!>)$	<<!>!>!>><>>!>!>!>	y	$1	<<!>!>!>><>>
1123^(<(?:[^<>]+|(?1))*>)$	<<><<<><>>>>	y	$1	<<><<<><>>>>
1124((?2)*)([fF]o+)	fooFoFoo	y	$1-$2	fooFo-Foo
1125(<(?:[^<>]+|(?R))*>)	<<><<<><>>>>	y	$1	<<><<<><>>>>
1126(?<n>foo|bar|baz)	snofooewa	y	$1	foo
1127(?<n>foo|bar|baz)	snofooewa	yM	$+{n}	foo	miniperl cannot load Tie::Hash::NamedCapture
1128(?<n>foo|bar|baz)(?<m>[ew]+)	snofooewa	yM	$+{n}	foo	miniperl cannot load Tie::Hash::NamedCapture
1129(?<n>foo|bar|baz)(?<m>[ew]+)	snofooewa	yM	$+{m}	ew	miniperl cannot load Tie::Hash::NamedCapture
1130(?<n>foo)|(?<n>bar)|(?<n>baz)	snofooewa	yM	$+{n}	foo	miniperl cannot load Tie::Hash::NamedCapture
1131(?<n>foo)(??{ $+{n} })	snofooefoofoowaa	yM	$+{n}	foo	miniperl cannot load Tie::Hash::NamedCapture
1132(?P<n>foo|bar|baz)	snofooewa	y	$1	foo
1133(?P<n>foo|bar|baz)	snofooewa	yM	$+{n}	foo	miniperl cannot load Tie::Hash::NamedCapture
1134(?P<n>foo|bar|baz)(?P<m>[ew]+)	snofooewa	yM	$+{n}	foo	miniperl cannot load Tie::Hash::NamedCapture
1135(?P<n>foo|bar|baz)(?P<m>[ew]+)	snofooewa	yM	$+{m}	ew	miniperl cannot load Tie::Hash::NamedCapture
1136(?P<n>foo)|(?P<n>bar)|(?P<n>baz)	snofooewa	yM	$+{n}	foo	miniperl cannot load Tie::Hash::NamedCapture
1137(?P<n>foo)(??{ $+{n} })	snofooefoofoowaa	yM	$+{n}	foo	miniperl cannot load Tie::Hash::NamedCapture
1138(?P<=n>foo|bar|baz)	-	c	-	Group name must start with a non-digit word character
1139(?P<!n>foo|bar|baz)	-	c	-	Group name must start with a non-digit word character
1140(?PX<n>foo|bar|baz)	-	c	-	Sequence (?PX...) not recognized
1141/(?'n'foo|bar|baz)/	snofooewa	y	$1	foo
1142/(?'n'foo|bar|baz)/	snofooewa	yM	$+{n}	foo	miniperl cannot load Tie::Hash::NamedCapture
1143/(?'n'foo|bar|baz)(?'m'[ew]+)/	snofooewa	yM	$+{n}	foo	miniperl cannot load Tie::Hash::NamedCapture
1144/(?'n'foo|bar|baz)(?'m'[ew]+)/	snofooewa	yM	$+{m}	ew	miniperl cannot load Tie::Hash::NamedCapture
1145/(?'n'foo)|(?'n'bar)|(?<n>baz)/	snobazewa	yM	$+{n}	baz	miniperl cannot load Tie::Hash::NamedCapture
1146/(?'n'foo)(??{ $+{n} })/	snofooefoofoowaa	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)\k'n'/	..foofoo..	y	$1	foo
1150/(?<n>foo)\k'n'/	..foofoo..	yM	$+{n}	foo	miniperl cannot load Tie::Hash::NamedCapture
1151/(?:(?<n>foo)|(?<n>bar))\k<n>/	..barbar..	yM	$+{n}	bar	miniperl cannot load Tie::Hash::NamedCapture
1152/^(?'main'<(?:[^<>]+|(?&crap)|(?&main))*>)(?'empty')(?'crap'!>!>!>)$/	<<!>!>!>><>>!>!>!>	yM	$+{main}	<<!>!>!>><>>	miniperl cannot load Tie::Hash::NamedCapture
1153/^(?'main'<(?:[^<>]+|(?&main))*>)$/	<<><<<><>>>>	y	$1	<<><<<><>>>>
1154/(?'first'(?&second)*)(?'second'[fF]o+)/	fooFoFoo	yM	$+{first}-$+{second}	fooFo-Foo	miniperl cannot load Tie::Hash::NamedCapture
1155(?<A>foo)?(?(<A>)bar|nada)	foobar	yM	$+{A}	foo	miniperl cannot load Tie::Hash::NamedCapture
1156(?<A>foo)?(?(<A>)bar|nada)	foo-barnada	y	$&	nada
1157(?<A>foo)?(?(1)bar|nada)	foo-barnada	y	$&	nada
1158(?<A>foo(?(R)bar))?(?1)	foofoobar	y	$1	foo
1159(?<A>foo(?(R)bar))?(?1)	foofoobar	y	$&	foofoobar
1160(x)(?<A>foo(?(R&A)bar))?(?&A)	xfoofoobar	y	$2	foo
1161(x)(?<A>foo(?(R&A)bar))?(?&A)	xfoofoobar	y	$&	xfoofoobar
1162(x)(?<A>foo(?(R2)bar))?(?&A)	xfoofoobar	y	$2	foo
1163(x)(?<A>foo(?(R2)bar))?(?&A)	xfoofoobar	y	$&	xfoofoobar
1164(?1)(?(DEFINE)(blah))	blah	y	$&	blah
1165/^(?<PAL>(?<CHAR>.)((?&PAL)|.?)\k<CHAR>)$/	madamimadam	y	$&	madamimadam
1166/^(?<PAL>(?<CHAR>.)((?&PAL)|.?)\k<CHAR>)$/	madamiamadam	n	-	-
1167/(a)?((?1))(fox)/	aafox	y	$1-$2-$3	a-a-fox
1168/(a)*((?1))(fox)/	aafox	y	$1-$2-$3	a-a-fox
1169/(a)+((?1))(fox)/	aafox	y	$1-$2-$3	a-a-fox
1170/(a){1,100}((?1))(fox)/	aafox	y	$1-$2-$3	a-a-fox
1171/(a){0,100}((?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))(fox)/	aafox	y	$1-$2-$3	a-a-fox
1174/(a)+?((?1))(fox)/	aafox	y	$1-$2-$3	a-a-fox
1175/(a){1,100}?((?1))(fox)/	aafox	y	$1-$2-$3	a-a-fox
1176/(a){0,100}?((?1))(fox)/	aafox	y	$1-$2-$3	a-a-fox
1177/(ab)?((?1))(fox)/	ababfox	y	$1-$2-$3	ab-ab-fox
1178/(ab)*((?1))(fox)/	ababfox	y	$1-$2-$3	ab-ab-fox
1179/(ab)+((?1))(fox)/	ababfox	y	$1-$2-$3	ab-ab-fox
1180/(ab){1,100}((?1))(fox)/	ababfox	y	$1-$2-$3	ab-ab-fox
1181/(ab){0,100}((?1))(fox)/	ababfox	y	$1-$2-$3	ab-ab-fox
1182foo(?0)?bar	phoofoofoobarbarbarr	y	$&	foofoobarbar
1183foo(?R)?bar	phoofoofoobarbarbarr	y	$&	foofoobarbar
1184# possessive captures
1185a++a	aaaaa	n	-	-
1186a*+a	aaaaa	n	-	-
1187a{1,5}+a	aaaaa	n	-	-
1188a?+a	ab	n	-	-
1189a++b	aaaaab	y	$&	aaaaab
1190a*+b	aaaaab	y	$&	aaaaab
1191a{1,5}+b	aaaaab	y	$&	aaaaab
1192a?+b	ab	y	$&	ab
1193fooa++a	fooaaaaa	n	-	-
1194fooa*+a	fooaaaaa	n	-	-
1195fooa{1,5}+a	fooaaaaa	n	-	-
1196fooa?+a	fooab	n	-	-
1197fooa++b	fooaaaaab	y	$&	fooaaaaab
1198fooa*+b	fooaaaaab	y	$&	fooaaaaab
1199fooa{1,5}+b	fooaaaaab	y	$&	fooaaaaab
1200fooa?+b	fooab	y	$&	fooab
1201(?:aA)++(?:aA)	aAaAaAaAaA	n	-	aAaAaAaAaA
1202(aA)++(aA)	aAaAaAaAaA	n	-	aAaAaAaAaA
1203(aA|bB)++(aA|bB)	aAaAbBaAbB	n	-	aAaAbBaAbB
1204(?:aA|bB)++(?:aA|bB)	aAbBbBbBaA	n	-	aAbBbBbBaA
1205(?:aA)*+(?:aA)	aAaAaAaAaA	n	-	aAaAaAaAaA
1206(aA)*+(aA)	aAaAaAaAaA	n	-	aAaAaAaAaA
1207(aA|bB)*+(aA|bB)	aAaAbBaAaA	n	-	aAaAbBaAaA
1208(?:aA|bB)*+(?:aA|bB)	aAaAaAbBaA	n	-	aAaAaAbBaA
1209(?:aA){1,5}+(?:aA)	aAaAaAaAaA	n	-	aAaAaAaAaA
1210(aA){1,5}+(aA)	aAaAaAaAaA	n	-	aAaAaAaAaA
1211(aA|bB){1,5}+(aA|bB)	aAaAbBaAaA	n	-	aAaAbBaAaA
1212(?:aA|bB){1,5}+(?:aA|bB)	bBbBbBbBbB	n	-	bBbBbBbBbB
1213(?:aA)?+(?:aA)	aAb	n	-	aAb
1214(aA)?+(aA)	aAb	n	-	aAb
1215(aA|bB)?+(aA|bB)	bBb	n	-	bBb
1216(?:aA|bB)?+(?:aA|bB)	aAb	n	-	aAb
1217(?:aA)++b	aAaAaAaAaAb	y	$&	aAaAaAaAaAb
1218(aA)++b	aAaAaAaAaAb	y	$&	aAaAaAaAaAb
1219(aA|bB)++b	aAbBaAaAbBb	y	$&	aAbBaAaAbBb
1220(?:aA|bB)++b	aAbBbBaAaAb	y	$&	aAbBbBaAaAb
1221(?:aA)*+b	aAaAaAaAaAb	y	$&	aAaAaAaAaAb
1222(aA)*+b	aAaAaAaAaAb	y	$&	aAaAaAaAaAb
1223(aA|bB)*+b	bBbBbBbBbBb	y	$&	bBbBbBbBbBb
1224(?:aA|bB)*+b	bBaAbBbBaAb	y	$&	bBaAbBbBaAb
1225(?:aA){1,5}+b	aAaAaAaAaAb	y	$&	aAaAaAaAaAb
1226(aA){1,5}+b	aAaAaAaAaAb	y	$&	aAaAaAaAaAb
1227(aA|bB){1,5}+b	bBaAbBaAbBb	y	$&	bBaAbBaAbBb
1228(?:aA|bB){1,5}+b	aAbBaAbBbBb	y	$&	aAbBaAbBbBb
1229(?:aA)?+b	aAb	y	$&	aAb
1230(aA)?+b	aAb	y	$&	aAb
1231(aA|bB)?+b	bBb	y	$&	bBb
1232(?:aA|bB)?+b	bBb	y	$&	bBb
1233foo(?:aA)++(?:aA)	fooaAaAaAaAaA	n	-	fooaAaAaAaAaA
1234foo(aA)++(aA)	fooaAaAaAaAaA	n	-	fooaAaAaAaAaA
1235foo(aA|bB)++(aA|bB)	foobBbBbBaAaA	n	-	foobBbBbBaAaA
1236foo(?:aA|bB)++(?:aA|bB)	fooaAaAaAaAaA	n	-	fooaAaAaAaAaA
1237foo(?:aA)*+(?:aA)	fooaAaAaAaAaA	n	-	fooaAaAaAaAaA
1238foo(aA)*+(aA)	fooaAaAaAaAaA	n	-	fooaAaAaAaAaA
1239foo(aA|bB)*+(aA|bB)	foobBaAbBaAaA	n	-	foobBaAbBaAaA
1240foo(?:aA|bB)*+(?:aA|bB)	fooaAaAbBbBaA	n	-	fooaAaAbBbBaA
1241foo(?:aA){1,5}+(?:aA)	fooaAaAaAaAaA	n	-	fooaAaAaAaAaA
1242foo(aA){1,5}+(aA)	fooaAaAaAaAaA	n	-	fooaAaAaAaAaA
1243foo(aA|bB){1,5}+(aA|bB)	fooaAbBbBaAaA	n	-	fooaAbBbBaAaA
1244foo(?:aA|bB){1,5}+(?:aA|bB)	fooaAbBbBaAbB	n	-	fooaAbBbBaAbB
1245foo(?:aA)?+(?:aA)	fooaAb	n	-	fooaAb
1246foo(aA)?+(aA)	fooaAb	n	-	fooaAb
1247foo(aA|bB)?+(aA|bB)	foobBb	n	-	foobBb
1248foo(?:aA|bB)?+(?:aA|bB)	fooaAb	n	-	fooaAb
1249foo(?:aA)++b	fooaAaAaAaAaAb	y	$&	fooaAaAaAaAaAb
1250foo(aA)++b	fooaAaAaAaAaAb	y	$&	fooaAaAaAaAaAb
1251foo(aA|bB)++b	foobBaAbBaAbBb	y	$&	foobBaAbBaAbBb
1252foo(?:aA|bB)++b	fooaAaAbBaAaAb	y	$&	fooaAaAbBaAaAb
1253foo(?:aA)*+b	fooaAaAaAaAaAb	y	$&	fooaAaAaAaAaAb
1254foo(aA)*+b	fooaAaAaAaAaAb	y	$&	fooaAaAaAaAaAb
1255foo(aA|bB)*+b	foobBbBaAaAaAb	y	$&	foobBbBaAaAaAb
1256foo(?:aA|bB)*+b	foobBaAaAbBaAb	y	$&	foobBaAaAbBaAb
1257foo(?:aA){1,5}+b	fooaAaAaAaAaAb	y	$&	fooaAaAaAaAaAb
1258foo(aA){1,5}+b	fooaAaAaAaAaAb	y	$&	fooaAaAaAaAaAb
1259foo(aA|bB){1,5}+b	foobBaAaAaAaAb	y	$&	foobBaAaAaAaAb
1260foo(?:aA|bB){1,5}+b	fooaAbBaAbBbBb	y	$&	fooaAbBaAbBbBb
1261foo(?:aA)?+b	fooaAb	y	$&	fooaAb
1262foo(aA)?+b	fooaAb	y	$&	fooaAb
1263foo(aA|bB)?+b	foobBb	y	$&	foobBb
1264foo(?:aA|bB)?+b	foobBb	y	$&	foobBb
1265
1266([^()]++|\([^()]*\))+	((abc(ade)ufh()()x	y	$&	abc(ade)ufh()()x
1267round\(([^()]++)\)	_I(round(xs * sz),1)	y	$1	xs * sz
1268
1269(foo[1x]|bar[2x]|baz[3x])+y	foo1bar2baz3y	y	$1	baz3
1270(foo[1x]|bar[2x]|baz[3x])+y	foo1bar2baz3y	y	$&	foo1bar2baz3y
1271(foo[1x]|bar[2x]|baz[3x])*y	foo1bar2baz3y	y	$1	baz3
1272(foo[1x]|bar[2x]|baz[3x])*y	foo1bar2baz3y	y	$&	foo1bar2baz3y
1273
1274([yX].|WORDS|[yX].|WORD)S	WORDS	y	$1	WORD
1275(WORDS|WORLD|WORD)S	WORDS	y	$1	WORD
1276([yX].|WORDS|WORD|[xY].)S	WORDS	y	$1	WORD
1277(foo|fool|[zx].|money|parted)$	fool	y	$1	fool
1278([zx].|foo|fool|[zq].|money|parted|[yx].)$	fool	y	$1	fool
1279(foo|fool|[zx].|money|parted)$	fools	n	-	-
1280([zx].|foo|fool|[qx].|money|parted|[py].)$	fools	n	-	-
1281
1282([yX].|WORDS|[yX].|WORD)+S	WORDS	y	$1	WORD
1283(WORDS|WORLD|WORD)+S	WORDS	y	$1	WORD
1284([yX].|WORDS|WORD|[xY].)+S	WORDS	y	$1	WORD
1285(foo|fool|[zx].|money|parted)+$	fool	y	$1	fool
1286([zx].|foo|fool|[zq].|money|parted|[yx].)+$	fool	y	$1	fool
1287(foo|fool|[zx].|money|parted)+$	fools	n	-	-
1288([zx].|foo|fool|[qx].|money|parted|[py].)+$	fools	n	-	-
1289
1290(x|y|z[QW])+(longish|loquatious|excessive|overblown[QW])+	xyzQzWlongishoverblownW	y	$1-$2	zW-overblownW
1291(x|y|z[QW])*(longish|loquatious|excessive|overblown[QW])*	xyzQzWlongishoverblownW	y	$1-$2	zW-overblownW
1292(x|y|z[QW]){1,5}(longish|loquatious|excessive|overblown[QW]){1,5}	xyzQzWlongishoverblownW	y	$1-$2	zW-overblownW
1293
1294(x|y|z[QW])++(longish|loquatious|excessive|overblown[QW])++	xyzQzWlongishoverblownW	y	$1-$2	zW-overblownW
1295(x|y|z[QW])*+(longish|loquatious|excessive|overblown[QW])*+	xyzQzWlongishoverblownW	y	$1-$2	zW-overblownW
1296(x|y|z[QW]){1,5}+(longish|loquatious|excessive|overblown[QW]){1,5}+	xyzQzWlongishoverblownW	y	$1-$2	zW-overblownW
1297
1298a*(?!)	aaaab	n	-	-
1299a*(*FAIL)	aaaab	n	-	-
1300a*(*F)	aaaab	n	-	-
1301
1302(A(A|B(*ACCEPT)|C)D)(E)	AB	y	$1	AB
1303(A(A|B(*ACCEPT)|C)D)(E)	ACDE	y	$1$2$3	ACDCE
1304
1305(a)(?:(?-1)|(?+1))(b)	aab	y	$&-$1-$2	aab-a-b
1306(a)(?:(?-1)|(?+1))(b)	abb	y	$1-$2	a-b
1307(a)(?:(?-1)|(?+1))(b)	acb	n	-	-
1308
1309(foo)(\g-2)	foofoo	y	$1-$2	foo-foo
1310(foo)(\g-2)(foo)(\g-2)	foofoofoofoo	y	$1-$2-$3-$4	foo-foo-foo-foo
1311(([abc]+) \g-1)(([abc]+) \g{-1})	abc abccba cba	y	$2-$4	abc-cba
1312(a)(b)(c)\g1\g2\g3	abcabc	y	$1$2$3	abc
1313
1314# \k<n> preceded by a literal
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/(?<n>foo) \k'n'/	..foo foo..	y	$1	foo
1318/(?<n>foo) \k'n'/	..foo foo..	yM	$+{n}	foo	miniperl cannot load Tie::Hash::NamedCapture
1319/(?'a1'foo) \k'a1'/	..foo foo..	yM	$+{a1}	foo	miniperl cannot load Tie::Hash::NamedCapture
1320/(?<a1>foo) \k<a1>/	..foo foo..	yM	$+{a1}	foo	miniperl cannot load Tie::Hash::NamedCapture
1321/(?'_'foo) \k'_'/	..foo foo..	yM	$+{_}	foo	miniperl cannot load Tie::Hash::NamedCapture
1322/(?<_>foo) \k<_>/	..foo foo..	yM	$+{_}	foo	miniperl cannot load Tie::Hash::NamedCapture
1323/(?'_0_'foo) \k'_0_'/	..foo foo..	yM	$+{_0_}	foo	miniperl cannot load Tie::Hash::NamedCapture
1324/(?<_0_>foo) \k<_0_>/	..foo foo..	yM	$+{_0_}	foo	miniperl cannot load Tie::Hash::NamedCapture
1325/(?'0'foo) bar/	-	c	-	Group name must start with a non-digit word character
1326/(?<0>foo) bar/	-	c	-	Group name must start with a non-digit word character
1327/(?'12'foo) bar/	-	c	-	Group name must start with a non-digit word character
1328/(?<12>foo) bar/	-	c	-	Group name must start with a non-digit word character
1329/(?'1a'foo) bar/	-	c	-	Group name must start with a non-digit word character
1330/(?<1a>foo) bar/	-	c	-	Group name must start with a non-digit word character
1331/(?''foo) bar/	-	c	-	Group name must start with a non-digit word character
1332/(?<>foo) bar/	-	c	-	Group name must start with a non-digit word character
1333/foo \k'n'/	-	c	-	Reference to nonexistent named group
1334/foo \k<n>/	-	c	-	Reference to nonexistent named group
1335/foo \k'a1'/	-	c	-	Reference to nonexistent named group
1336/foo \k<a1>/	-	c	-	Reference to nonexistent named group
1337/foo \k'_'/	-	c	-	Reference to nonexistent named group
1338/foo \k<_>/	-	c	-	Reference to nonexistent named group
1339/foo \k'_0_'/	-	c	-	Reference to nonexistent named group
1340/foo \k<_0_>/	-	c	-	Reference to nonexistent named group
1341/foo \k'0'/	-	c	-	Group name must start with a non-digit word character
1342/foo \k<0>/	-	c	-	Group name must start with a non-digit word character
1343/foo \k'12'/	-	c	-	Group name must start with a non-digit word character
1344/foo \k<12>/	-	c	-	Group name must start with a non-digit word character
1345/foo \k'1a'/	-	c	-	Group name must start with a non-digit word character
1346/foo \k<1a>/	-	c	-	Group name must start with a non-digit word character
1347/foo \k''/	-	c	-	Group name must start with a non-digit word character
1348/foo \k<>/	-	c	-	Group name must start with a non-digit word character
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	y	$1-$2-$3	as-easy-pie
1352/(?<as>as) (\w+) \k{ as } (\w+)/	as easy as pie	y	$1-$2-$3	as-easy-pie
1353/(?<as>as) (\w+) \k< as> (\w+)/	as easy as pie	c	-	Group name must start with a non-digit word character
1354
1355# \g{...} with a name as the argument
1356/(?'n'foo) \g{n}/	..foo foo..	y	$1	foo
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/(?<n>foo) \g{n}/	..foo foo..	y	$1	foo
1360/(?<n>foo) \g{n}/	..foo foo..	yM	$+{n}	foo	miniperl cannot load Tie::Hash::NamedCapture
1361/(?<as>as) (\w+) \g{as} (\w+)/	as easy as pie	y	$1-$2-$3	as-easy-pie
1362
1363# Python style named capture buffer stuff
1364/(?P<n>foo)(?P=n)/	..foofoo..	y	$1	foo
1365/(?P<n>foo)(?P=n)/	..foofoo..	yM	$+{n}	foo	miniperl cannot load Tie::Hash::NamedCapture
1366/(?:(?P<n>foo)|(?P<n>bar))(?P=n)/	..barbar..	yM	$+{n}	bar	miniperl cannot load Tie::Hash::NamedCapture
1367/^(?P<PAL>(?P<CHAR>.)((?P>PAL)|.?)(?P=CHAR))$/	madamimadam	y	$&	madamimadam
1368/^(?P<PAL>(?P<CHAR>.)((?P>PAL)|.?)(?P=CHAR))$/	madamiamadam	n	-	-
1369/(?P<n>foo) (?P=n)/	..foo foo..	y	$1	foo
1370/(?P<n>foo) (?P=n)/	..foo foo..	yM	$+{n}	foo	miniperl cannot load Tie::Hash::NamedCapture
1371/(?P<as>as) (\w+) (?P=as) (\w+)/	as easy as pie	y	$1-$2-$3	as-easy-pie
1372
1373#check that non identifiers as names are treated as the appropriate lookaround
1374(?<=bar>)foo	bar>foo	y	$&	foo
1375(?<!bar>)foo	bar>foo	n	-	-
1376(?<=bar>ABC)foo	bar>ABCfoo	y	$&	foo
1377(?<!bar>ABC)foo	bar>ABCfoo	n	-	-
1378(?<bar>)foo	bar>ABCfoo	y	$&	foo
1379(?<bar>ABC)foo	bar>ABCfoo	y	$&	ABCfoo
1380
1381(?<=abcd(?<=(aaaabcd)))	..aaaabcd..	y	$1	aaaabcd
1382(?=xy(?<=(aaxy)))	..aaxy..	y	$1	aaxy
1383(?=xy(?<=(aaxyz?)))	..aaxy..	y	$1	aaxy
1384
1385X(\w+)(?=\s)|X(\w+)	Xab	y	[$1-$2]	[-ab]
1386
1387#check that branch reset works ok.
1388(?|(a))	a	y	$1-$+-$^N	a-a-a
1389(?|a(.)b|d(.(o).)d|i(.)(.)j)(.)	d!o!da	y	$1-$2-$3	!o!-o-a
1390(?|a(.)b|d(.(o).)d|i(.)(.)j)(.)	aabc	y	$1-$2-$3	a--c
1391(?|a(.)b|d(.(o).)d|i(.)(.)j)(.)	ixyjp	y	$1-$2-$3	x-y-p
1392(?|(?|(a)|(b))|(?|(c)|(d)))	a	y	$1	a
1393(?|(?|(a)|(b))|(?|(c)|(d)))	b	y	$1	b
1394(?|(?|(a)|(b))|(?|(c)|(d)))	c	y	$1	c
1395(?|(?|(a)|(b))|(?|(c)|(d)))	d	y	$1	d
1396(.)(?|(.)(.)x|(.)d)(.)	abcde	y	$1-$2-$3-$4-$5-	b-c--e--
1397(\N)(?|(\N)(\N)x|(\N)d)(\N)	abcde	y	$1-$2-$3-$4-$5-	b-c--e--
1398(?|(?<foo>x))	x	yM	$+{foo}	x	miniperl cannot load Tie::Hash::NamedCapture
1399(?|(?<foo>x)|(?<bar>y))	x	yM	$+{foo}	x	miniperl cannot load Tie::Hash::NamedCapture
1400(?|(?<bar>y)|(?<foo>x))	x	yM	$+{foo}	x	miniperl cannot load Tie::Hash::NamedCapture
1401(?<bar>)(?|(?<foo>x))	x	yM	$+{foo}	x	miniperl cannot load Tie::Hash::NamedCapture
1402# Used to crash, because the last branch was ignored when the parens
1403# were counted:
1404(?|(b)|()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()(a))	a	y	$&	a
1405
1406#Bug #41492
1407(?(DEFINE)(?<A>(?&B)+)(?<B>a))(?&A)	a	y	$&	a
1408(?(DEFINE)(?<A>(?&B)+)(?<B>a))(?&A)	aa	y	$&	aa
1409\x{100}?(??{""})xxx	xxx	y	$&	xxx
1410
1411foo(\R)bar	foo\r\nbar	y	$1	\r\n
1412foo(\R)bar	foo\nbar	y	$1	\n
1413foo(\R)bar	foo\rbar	y	$1	\r
1414
1415foo(\R+)bar	foo\r\n\x{85}\r\n\nbar	y	$1	\r\n\x{85}\r\n\n
1416(\V+)(\R)	foo\r\n\x{85}\r\n\nbar	y	$1-$2	foo-\r\n
1417(\R+)(\V)	foo\r\n\x{85}\r\n\nbar	y	$1-$2	\r\n\x{85}\r\n\n-b
1418foo(\R)bar	foo\x{85}bar	y	$1	\x{85}
1419(\V)(\R)	foo\x{85}bar	y	$1-$2	o-\x{85}
1420(\R)(\V)	foo\x{85}bar	y	$1-$2	\x{85}-b
1421foo(\R)bar	foo\r\nbar	y	$1	\r\n
1422(\V)(\R)	foo\r\nbar	y	$1-$2	o-\r\n
1423(\R)(\V)	foo\r\nbar	y	$1-$2	\r\n-b
1424foo(\R)bar	foo\r\nbar	y	$1	\r\n
1425(\V)(\R)	foo\r\nbar	y	$1-$2	o-\r\n
1426(\R)(\V)	foo\r\nbar	y	$1-$2	\r\n-b
1427foo(\R)bar	foo\rbar	y	$1	\r
1428(\V)(\R)	foo\rbar	y	$1-$2	o-\r
1429(\R)(\V)	foo\rbar	y	$1-$2	\r-b
14300|\R??\n0	\n\n	n	-	-	-	# GH17746: assertion failure
1431
1432foo(\v+)bar	foo\r\n\x{85}\r\n\nbar	y	$1	\r\n\x{85}\r\n\n
1433(\V+)(\v)	foo\r\n\x{85}\r\n\nbar	y	$1-$2	foo-\r
1434(\v+)(\V)	foo\r\n\x{85}\r\n\nbar	y	$1-$2	\r\n\x{85}\r\n\n-b
1435foo(\v)bar	foo\x{85}bar	y	$1	\x{85}
1436(\V)(\v)	foo\x{85}bar	y	$1-$2	o-\x{85}
1437(\v)(\V)	foo\x{85}bar	y	$1-$2	\x{85}-b
1438foo(\v)bar	foo\rbar	y	$1	\r
1439(\V)(\v)	foo\rbar	y	$1-$2	o-\r
1440(\v)(\V)	foo\rbar	y	$1-$2	\r-b
1441
1442
1443foo(\h+)bar	foo\t\x{A0}bar	y	$1	\t\x{A0}
1444(\H+)(\h)	foo\t\x{A0}bar	y	$1-$2	foo-\t
1445(\h+)(\H)	foo\t\x{A0}bar	y	$1-$2	\t\x{A0}-b
1446foo(\h)bar	foo\x{A0}bar	y	$1	\x{A0}
1447(\H)(\h)	foo\x{A0}bar	y	$1-$2	o-\x{A0}
1448(\h)(\H)	foo\x{A0}bar	y	$1-$2	\x{A0}-b
1449foo(\h)bar	foo\tbar	y	$1	\t
1450(\H)(\h)	foo\tbar	y	$1-$2	o-\t
1451(\h)(\H)	foo\tbar	y	$1-$2	\t-b
1452
1453.*\z	foo\n	y	-$&-	--
1454\N*\z	foo\n	y	-$&-	--
1455.*\Z	foo\n	y	-$&-	-foo-
1456\N*\Z	foo\n	y	-$&-	-foo-
1457^(?:(\d)x)?\d$	1	y	${\(defined($1)?1:0)}	0
1458.*?(?:(\w)|(\w))x	abx	y	$1-$2	b-
1459
14600{50}	000000000000000000000000000000000000000000000000000	y	-	-
1461^a?(?=b)b	ab	y	$&	ab	# Bug #56690
1462^a*(?=b)b	ab	y	$&	ab	# Bug #56690
1463/>\d+$ \n/ix	>10\n	y	$&	>10
1464/>\d+$ \n/ix	>1\n	y	$&	>1
1465/\d+$ \n/ix	>10\n	y	$&	10
1466/>\d\d$ \n/ix	>10\n	y	$&	>10
1467/>\d+$ \n/x	>10\n	y	$&	>10
1468
1469# Two regressions in 5.8.x (only) introduced by change 30638
1470# Simplification of the test failure in XML::LibXML::Simple:
1471/^\s*i.*?o\s*$/s	io\n io	y	-	-
1472# As reported in #59168 by Father Chrysostomos:
1473/(.*?)a(?!(a+)b\2c)/	baaabaac	y	$&-$1	baa-ba
1474# [perl #60344] Regex lookbehind failure after an (if)then|else in perl 5.10
1475/\A(?(?=db2)db2|\D+)(?<!processed)\.csv\z/xms	sql_processed.csv	n	-	-
1476/\N{U+0100}/	\x{100}	y	$&	\x{100}	# Bug #59328
1477/\N{ U+0100 }/	\x{100}	y	$&	\x{100}	# Bug #59328
1478/[a\N{U+0100}]/	\x{100}	y	$&	\x{100}
1479/[a\N{ U+0100 }]/	\x{100}	y	$&	\x{100}
1480/[a\N{U+0100}]/	a	y	$&	a
1481
1482# Verify that \N{U+...} forces Unicode rules
1483/\N{U+41}\x{c1}/i	a\x{e1}	y	$&	a\x{e1}
1484'\N{U+41}\x{c1}'i	a\x{e1}	y	$&	a\x{e1}
1485/[\N{U+41}\x{c1}]/i	\x{e1}	y	$&	\x{e1}
1486'[\N{U+41}\x{c1}]'i	\x{e1}	y	$&	\x{e1}
1487'\N{U+41}'	A	y	$&	A		# Even for single quoted patterns
1488
1489[\s][\S]	\x{a0}\x{a0}	n	-	-	# Unicode complements should not match same character
1490
1491# was generating malformed utf8
1492'[\x{100}\xff]'i	\x{ff}	y	$&	\x{ff}
1493
1494((??{ "(?:|)" }))\s	C\x20 	y	-	-
1495
1496# Verify that \ escapes the { after \N, and causes \N to match non-newline
1497abc\N\{U+BEEF}	abc\n{UBEEF}	n
1498abc\N\{U+BEEF\}	abc.{UBEEF}	y	$&	abc.{UBEEF}
1499[abc\N\{U+BEEF\}]	-	c	-	\\N in a character class must be a named character
1500
1501# Verify that \N can be trailing and causes \N to match non-newline
1502abc\N	abcd	y	$&	abcd
1503abc\N	abc\n	n
1504
1505# Verify get errors.  For these, we need // or else puts it in single quotes,
1506# and bypasses the lexer.
1507/\N{U+}/	-	c	-	Invalid hexadecimal number
1508/[\N{U+}]/	-	c	-	Invalid hexadecimal number
1509/abc\N{def/	-	c	-	Missing right brace
1510/\N{U+4AG3}/	-	c	-	Invalid hexadecimal number
1511/[\N{U+4AG3}]/	-	c	-	Invalid hexadecimal number
1512
1513# And verify that in single quotes which bypasses the lexer, the regex compiler
1514# figures it out.
1515\N{U+}	-	c	-	Invalid hexadecimal number
1516[\N{U+}]	-	c	-	Invalid hexadecimal number
1517\N{U+4AG3}	-	c	-	Invalid hexadecimal number
1518[\N{U+4AG3}]	-	c	-	Invalid hexadecimal number
1519abc\N{def}	-	c	-	Unknown charname 'def' in regex
1520abc\N{U+4AG3	-	c	-	Missing right brace on \\N{}
1521abc\N{def	-	c	-	Missing right brace on \\N{}
1522abc\N{	-	c	-	Missing right brace on \\N{}
1523
1524# Verify that under /x that still cant have space before left brace
1525/abc\N {U+41}/x	-	c	-	Missing braces
1526/abc\N {SPACE}/x	-	c	-	Missing braces
1527
1528# Verifies catches hex errors
1529/\N{U+0xBEEF}/	-	c	-	Invalid hexadecimal number
1530\N{U+0xBEEF}	-	c	-	Invalid hexadecimal number
1531# Used to be an error, but not any more:
1532/\N{U+BEEF.BEAD}/	-	c	-
1533
1534# Verify works in single quotish context; regex compiler delivers slightly different msg
1535# \N{U+BEEF.BEAD} succeeds here, because can't completely hide it from the outside.
1536\N{U+0xBEEF}	-	c	-	Invalid hexadecimal number
1537\c`	-	ac	-	\"\\c`\" is more clearly written simply as \"\\ \"
1538\c1	-	ac	-	\"\\c1\" is more clearly written simply as \"q\"
1539\c@	\0	y	$&	\0
1540\cA	\001	y	$&	\001
1541\cB	\002	y	$&	\002
1542\cC	\003	y	$&	\003
1543\cI	\011	y	$&	\011
1544\cJ	\012	y	$&	\012
1545\cR	\022	y	$&	\022
1546\cS	\023	y	$&	\023
1547\cX	\030	y	$&	\030
1548\cY	\031	y	$&	\031
1549\cZ	\032	y	$&	\032
1550\c[	\033	y	$&	\033
1551\c\X	\034X	y	$&	\034X
1552\c]	\035	y	$&	\035
1553\c^	\036	y	$&	\036
1554\c_	\037	y	$&	\037
1555\c?	\177	ay	$&	\177
1556\c?	\x9F	ey	$&	\x9F		\c? is APC on EBCDIC
1557\400	\x{100}	y	$&	\x{100}
1558\600	\x{180}	y	$&	\x{180}
1559\777	\x{1FF}	y	$&	\x{1FF}
1560[a\400]	\x{100}	y	$&	\x{100}
1561[b\600]	\x{180}	y	$&	\x{180}
1562[c\777]	\x{1FF}	y	$&	\x{1FF}
1563\o{120}	\x{50}	y	$&	\x{50}
1564\o{400}	\x{100}	y	$&	\x{100}
1565\o{1000}	\x{200}	y	$&	\x{200}
1566[a\o{120}]	\x{50}	y	$&	\x{50}
1567[a\o{400}]	\x{100}	y	$&	\x{100}
1568[a\o{1000}]	\x{200}	y	$&	\x{200}
1569
1570# The below were inserting a NULL
1571\87	87	c	-	Reference to nonexistent group in regex
1572a\87	a87	c	-	Reference to nonexistent group in regex
1573a\97	a97	c	-	Reference to nonexistent group in regex
1574
1575# avoid problems with 32-bit signed integer overflow
1576
1577(.)\g2147483648}	x	c	-	Reference to nonexistent group in regex
1578(.)\g2147483649}	x	c	-	Reference to nonexistent group in regex
1579(.)\g2147483650}	x	c	-	Reference to nonexistent group in regex
1580(.)\g4294967296}	x	c	-	Reference to nonexistent group in regex
1581(.)\g4294967297}	x	c	-	Reference to nonexistent group in regex
1582(.)\g4294967298}	x	c	-	Reference to nonexistent group in regex
1583a(.)\g2147483648}	x	c	-	Reference to nonexistent group in regex
1584a(.)\g2147483649}	x	c	-	Reference to nonexistent group in regex
1585a(.)\g2147483650}	x	c	-	Reference to nonexistent group in regex
1586a(.)\g4294967296}	x	c	-	Reference to nonexistent group in regex
1587a(.)\g4294967297}	x	c	-	Reference to nonexistent group in regex
1588a(.)\g4294967298}	x	c	-	Reference to nonexistent group in regex
1589
1590(.)\g{2147483648}	x	c	-	Reference to nonexistent group in regex
1591(.)\g{ 2147483648 }	x	c	-	Reference to nonexistent group in regex
1592(.)\g{2147483649}	x	c	-	Reference to nonexistent group in regex
1593(.)\g{2147483650}	x	c	-	Reference to nonexistent group in regex
1594(.)\g{4294967296}	x	c	-	Reference to nonexistent group in regex
1595(.)\g{4294967297}	x	c	-	Reference to nonexistent group in regex
1596(.)\g{4294967298}	x	c	-	Reference to nonexistent group in regex
1597a(.)\g{2147483648}	x	c	-	Reference to nonexistent group in regex
1598a(.)\g{2147483649}	x	c	-	Reference to nonexistent group in regex
1599a(.)\g{2147483650}	x	c	-	Reference to nonexistent group in regex
1600a(.)\g{4294967296}	x	c	-	Reference to nonexistent group in regex
1601a(.)\g{4294967297}	x	c	-	Reference to nonexistent group in regex
1602a(.)\g{4294967298}	x	c	-	Reference to nonexistent group in regex
1603
1604(.)\2147483648	b\o{214}7483648	ya	$1	b	\d not converted to native; \o{} is
1605(.)\2147483649	b\o{214}7483649	ya	$1	b	\d not converted to native; \o{} is
1606(.)\2147483650	b\o{214}7483650	ya	$1	b	\d not converted to native; \o{} is
1607(.)\4294967296	b\o{42}94967296	ya	$1	b	\d not converted to native; \o{} is
1608(.)\4294967297	b\o{42}94967297	ya	$1	b	\d not converted to native; \o{} is
1609(.)\4294967298	b\o{42}94967298	ya	$1	b	\d not converted to native; \o{} is
1610a(.)\2147483648	ab\o{214}7483648	ya	$1	b	\d not converted to native; \o{} is
1611a(.)\2147483649	ab\o{214}7483649	ya	$1	b	\d not converted to native; \o{} is
1612a(.)\2147483650	ab\o{214}7483650	ya	$1	b	\d not converted to native; \o{} is
1613a(.)\4294967296	ab\o{42}94967296	ya	$1	b	\d not converted to native; \o{} is
1614a(.)\4294967297	ab\o{42}94967297	ya	$1	b	\d not converted to native; \o{} is
1615a(.)\4294967298	ab\o{42}94967298	ya	$1	b	\d not converted to native; \o{} is
1616
1617# The below was inserting a NULL into the character class.
1618[\8\9]	\000	Sn	-	-
1619[\8\9]	-	sc	$&	Unrecognized escape \\8 in character class
1620[\8\9]	8	Sy	$&	8
1621[\8\9]	9	Sy	$&	9
1622
1623# Verify that reads 1-3 octal digits, and that \_ works in char class
1624[\0]	\000	Sy	$&	\000
1625[\0]	-	sc	-	Need exactly 3 octal digits
1626[\07]	\007	Sy	$&	\007
1627[\07]	-	sc	-	Need exactly 3 octal digits
1628[\07]	7\000	Sn	-	-
1629[\07]	-	sc	-	Need exactly 3 octal digits
1630[\006]	\006	y	$&	\006
1631[\006]	6\000	n	-	-
1632[\0005]	\0005	y	$&	\000
1633[\0005]	5\000	y	$&	5
1634[\_]	_	y	$&	_
1635
1636# RT #79152
1637(q1|.)*(q2|.)*(x(a|bc)*y){2,}	xayxay	y	$&	xayxay
1638(q1|.)*(q2|.)*(x(a|bc)*y){2,3}	xayxay	y	$&	xayxay
1639(q1|z)*(q2|z)*z{15}-.*?(x(a|bc)*y){2,3}Z	zzzzzzzzzzzzzzzz-xayxayxayxayZ	y	$&	zzzzzzzzzzzzzzzz-xayxayxayxayZ
1640
1641(?:(?:)foo|bar|zot|rt78356)	foo	y	$&	foo
1642/\xe0\pL/i	\xc0a	y	$&	\xc0a
1643
1644# RT #85528
1645(?{})[\x{100}]	\x{100}	y	$&	\x{100}
1646
1647# RT #85964
1648^m?(\S)(.*)\1$	aba	y	$1	a
1649^m?(\S)(.*)\1$	\tb\t	n	-	-
1650^m?(\s)(.*)\1$	\tb\t	y	$1	\t
1651^m?(\s)(.*)\1$	aba	n	-	-
1652^m?(\W)(.*)\1$	:b:	y	$1	:
1653^m?(\W)(.*)\1$	aba	n	-	-
1654^m?(\w)(.*)\1$	aba	y	$1	a
1655^m?(\w)(.*)\1$	:b:	n	-	-
1656^m?(\D)(.*)\1$	aba	y	$1	a
1657^m?(\D)(.*)\1$	5b5	n	-	-
1658^m?(\d)(.*)\1$	5b5	y	$1	5
1659^m?(\d)(.*)\1$	aba	n	-	-
1660
1661^_?[^\W_0-9]\w\z	\xAA\x{100}	y	$&	\xAA\x{100}		[perl #127537]
1662
1663# 17F is 'Long s';  This makes sure the a's in /aa can be separate
1664/s/ai	\x{17F}	y	$&	\x{17F}
1665/s/aia	\x{17F}	n	-	-
1666/s/aia	S	y	$&	S
1667/(?aia:s)/	\x{17F}	n	-	-
1668/(?aia:s)/	S	y	$&	S
1669
1670# Normally 1E9E generates a multi-char fold, but not in inverted class;
1671# See [perl #89750].  This makes sure that the simple fold gets generated
1672# in that case, to DF.
1673/[^\x{1E9E}]/i	\x{DF}	Sn	-	-
1674
1675# RT #96354
1676/^.*\d\H/	X1	n	-	-
1677/^.*\d\V/	X1	n	-	-
1678
1679# \p{L_} was being misinterpreted as \p{L}.  L_ matches cased letters, which
1680# the ideograph below isn't, whereas it does match L
1681/^\p{L_}/	\x{3400}	n	-	-
1682/^\p{L}/	\x{3400}	y	$&	\x{3400}
1683
1684# RT #89774
1685/[s\xDF]a/ui	ssa	Sy	$&	ssa
1686/[s\xDF]a/ui	sa	y	$&	sa
1687
1688# RT #99928
1689/^\R\x0A$/	\x0D\x0A	n	-	-
1690
1691/ff/i	\x{FB00}\x{FB01}	y	$&	\x{FB00}
1692/ff/i	\x{FB01}\x{FB00}	y	$&	\x{FB00}
1693/fi/i	\x{FB01}\x{FB00}	y	$&	\x{FB01}
1694/fi/i	\x{FB00}\x{FB01}	y	$&	\x{FB01}
1695#
1696# Make sure we don't see code blocks where there aren't, and vice-versa
1697(?#( (?{1+)a	a	y	-	-
1698'a# (?{1+'x	a	y	-	-
1699ab[(?{1]	ab1	y	-	-
1700ab[(?{1\](?{2]	ab2	y	-	-
1701ab(?{"["})cd	abcd	y	-	-
1702ab(??{"[x]"})cd	abxcd	y	-	-
1703ab\[(??{1})c	ab[1c	y	-	-
1704ab\\[(??{1;})]c	ab\\;c	y	-	-
1705ab\\\[(??{1})c	ab\\[1c	y	-	-
1706ab[c\](??{"]d	abcd	y	-	-
1707ab[c\\](??{"[x]"})d	ab\\xd	y	-	-
1708ab[c\\\](??{"x"})]{3}d	ab\\](d	y	-	-
1709
1710# These test that doesn't cut-off matching too soon in the string for
1711# multi-char folds
1712/ffiffl/i	abcdef\x{FB03}\x{FB04}	y	$&	\x{FB03}\x{FB04}
1713/\xdf\xdf/ui	abcdefssss	y	$&	ssss
1714
1715/st/i	\x{DF}\x{FB05}	y	$&	\x{FB05}
1716/ssst/i	\x{DF}\x{FB05}	y	$&	\x{DF}\x{FB05}
1717
1718# [perl #101970]
1719/[[:lower:]]/i	\x{100}	y	$&	\x{100}
1720/[[:upper:]]/i	\x{101}	y	$&	\x{101}
1721
1722# Was matching 'ss' only and failing the entire match, not seeing the
1723# alternative that would succeed
1724/s\xDF/ui	\xDFs	y	$&	\xDFs
1725/sst/ui	s\N{LATIN SMALL LIGATURE ST}	y	$&	s\N{LATIN SMALL LIGATURE ST}
1726/sst/ui	s\N{LATIN SMALL LIGATURE LONG S T}	y	$&	s\N{LATIN SMALL LIGATURE LONG S T}
1727
1728# /i properties shouldn't match more than the property itself
1729/[[:ascii:]]/i	\N{KELVIN SIGN}	n	-	-
1730
1731# [[:lower:]]/i and [[:upper:]]/i should match what \p{Lower} and \p{Upper} do.
1732# which is \p{Cased}, not \p{Alpha},
1733/[[:lower:]]/i	\N{U+3400}	n	-	-
1734/[[:upper:]]/i	\N{U+01BB}	n	-	-
1735
1736# [perl #110648]
1737[^\p{Alphabetic}]	\x{100}	n	-	-
1738
1739# [perl #111400].  Tests the first Y/N boundary above 255 for each of these.
1740/[[:alnum:]]/	\x{2c1}	y	-	-
1741/[[:alnum:]]/	\x{2c2}	n	-	-
1742/[[:alpha:]]/	\x{2c1}	y	-	-
1743/[[:alpha:]]/	\x{2c2}	n	-	-
1744/[[:graph:]]/	\x{377}	y	-	-
1745/[[:graph:]]/	\x{378}	n	-	-
1746/[[:lower:]]/	\x{100}	n	-	-
1747/[[:lower:]]/	\x{101}	y	-	-
1748/[[:lower:]]/	\x{102}	n	-	-
1749/[[:print:]]/	\x{377}	y	-	-
1750/[[:print:]]/	\x{378}	n	-	-
1751/[[:punct:]]/	\x{37D}	n	-	-
1752/[[:punct:]]/	\x{37E}	y	-	-
1753/[[:punct:]]/	\x{388}	n	-	-
1754/[[:upper:]]/	\x{100}	y	-	-
1755/[[:upper:]]/	\x{101}	n	-	-
1756/[[:word:]]/	\x{2c1}	y	-	-
1757/[[:word:]]/	\x{2c2}	n	-	-
1758
1759# [perl #113400]
1760/syntax OK\s+\z/si	t/bin/good.pl syntax OK\n	y	-	-
1761
1762/^(.*?)\s*\|\s*(?:\/\s*|)'(.+)'$/	text|'sec'	y	<$1><$2>	<text><sec>
1763/^(foo|)bar$/	bar	y	<$&>	<bar>
1764/^(foo||baz)bar$/	bar	y	<$&>	<bar>
1765/^(foo||baz)bar$/	bazbar	y	<$1>	<baz>
1766/^(foo||baz)bar$/	foobar	y	<$1>	<foo>
1767
1768/^(?:foo|)bar$/	bar	y	<$&>	<bar>
1769/^(?:foo||baz)bar$/	bar	y	<$&>	<bar>
1770/^(?:foo||baz)bar$/	bazbar	y	<$&>	<bazbar>
1771/^(?:foo||baz)bar$/	foobar	y	<$&>	<foobar>
1772
1773/^(?i:foo|)bar$/	bar	y	<$&>	<bar>
1774/^(?i:foo||baz)bar$/	bar	y	<$&>	<bar>
1775/^(?i:foo||baz)bar$/	bazbar	y	<$&>	<bazbar>
1776/^(?i:foo||baz)bar$/	foobar	y	<$&>	<foobar>
1777
1778# $^N, $+ on backtrackracking
1779# BRANCH
1780^(.)(?:(..)|B)[CX]	ABCDE	y	$^N-$+	A-A	-
1781# TRIE
1782^(.)(?:BC(.)|B)[CX]	ABCDE	y	$^N-$+	A-A	-
1783# CURLYX
1784^(.)(?:(.)+)*[BX]	ABCDE	y	$^N-$+	A-A	-
1785# CURLYM
1786^(.)(BC)*	ABCDE	y	$^N-$+	BC-BC	-
1787^(.)(BC)*[BX]	ABCDE	y	$^N-$+	A-A	-
1788# CURLYN
1789^(.)(B)*.[DX]	ABCDE	y	$^N-$+	B-B	-
1790^(.)(B)*.[CX]	ABCDE	y	$^N-$+	A-A	-
1791
1792# using 'return' in code blocks
1793^(A)(?{"xyz"})B$	AB	y	$1-$^R	A-xyz	-
1794^(A)(?{return "xyz"})B$	AB	y	$1-$^R	A-xyz	-
1795^(A)((??{"xyz"}))$	Axyz	y	$1-$2	A-xyz	-
1796^(A)((??{return "xyz"}))$	Axyz	y	$1-$2	A-xyz	-
1797^(A)((?(?{1})abc|xyz))$	Aabc	y	$1-$2	A-abc	-
1798^(A)((?(?{0})abc|xyz))$	Axyz	y	$1-$2	A-xyz	-
1799^(A)((?(?{return 1})abc|xyz))$	Aabc	y	$1-$2	A-abc	-
1800^(A)((?(?{return 0})abc|xyz))$	Axyz	y	$1-$2	A-xyz	-
1801
1802# using 'return' in code blocks with additional scopes to pop
1803^(A)(?{ { 1; return "xyz"} })B$	AB	y	$1-$^R	A-xyz	-
1804^(A)((??{ { 1; return "xyz" } }))$	Axyz	y	$1-$2	A-xyz	-
1805^(A)((?(?{ { 1; return 1 } })abc|xyz))$	Aabc	y	$1-$2	A-abc	-
1806^(A)((?(?{ { 1; return 0 } })abc|xyz))$	Axyz	y	$1-$2	A-xyz	-
1807
1808# pattern modifier flags should propagate into returned (??{}) pattern
1809# p,d,l not tested
1810
1811/^(a)((??{"b"}))$/i	AB	y	$1-$2	A-B	-
1812/^(A)((??{'B$'}))(\nC)$/m	AB\nC	y	$1-$2-$3	A-B-\nC	-
1813/^(A)((??{'.'}))(B)$/s	A\nB	y	$1-$2-$3	A-\n-B	-
1814/^(A) ((??{' .'}))(B)$/x	A B	y	$1-$2-$3	A- -B	-
1815/^((??{'\d'}))$/a	\x{660}	n	-	-
1816/^(??{"s"})$/i	\x{17F}	y	-	-
1817/^(??{"s"})$/ia	\x{17F}	y	-	-
1818/^(??{"s"})$/iaa	\x{17F}	n	-	-
1819/^(??{'\w'})$/u	\x{AA}	y	-	-
1820
1821# #113670 ensure any captures to the right are invalidated when CURLY
1822# and CURLYM backtrack
1823
1824^(?:(X)?(\d)|(X)?(\d\d))$	X12	y	$1-$2-$3-$4	--X-12
1825^(?:(XX)?(\d)|(XX)?(\d\d))$	XX12	y	$1-$2-$3-$4	--XX-12
1826
1827# rt 113770
1828\A(?>\[(?:(?:)(?:R){1}|T|V?|A)\])\z	[A]	y	$&	[A]
1829# rt 114068
1830/( [^z] $ [^z]+)/xm	aa\nbb\ncc\n	y	$1	a\nbb\ncc\n
1831
1832# [perl #114220]
1833/[\h]/	\x{A0}	y	$&	\xA0
1834/[\H]/	\x{BF}	y	$&	\xBF
1835/[\H]/	\x{A0}	n	-	-
1836/[\H]/	\x{A1}	y	$&	\xA1
1837
1838[^\n]+	\nb	y	$&	b
1839[^\n]+	a\n	y	$&	a
1840
1841# /a has no effect on properties
1842(?a:\p{Any})	\x{100}	y	$&	\x{100}
1843(?aa:\p{Any})	\x{100}	y	$&	\x{100}
1844
1845\w	\x{200C}	y	$&	\x{200C}
1846\W	\x{200C}	n	-	-
1847\w	\x{200D}	y	$&	\x{200D}
1848\W	\x{200D}	n	-	-
1849
1850/^(?d:\xdf|_)*_/i	\x{17f}\x{17f}_	y	$&	\x{17f}\x{17f}_
1851#
1852# check that @-, @+ count chars, not bytes; especially if beginning of
1853# string is not copied
1854
1855(\x{100})	\x{2000}\x{2000}\x{2000}\x{100}	y	$-[0]:$-[1]:$+[0]:$+[1]	3:3:4:4
1856
1857^\R{2}$	\r\n\r\n	y	$&	\r\n\r\n
1858
1859/^\D{11}/a	\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}	n	-	-
1860/^\S{11}/a	\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}	n	-	-
1861/^\W{11}/a	\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}	n	-	-
1862
1863# [ perl #114272]
1864\Vn	\xFFn/	y	$&	\xFFn
1865
1866# These mostly exercise various paths in the optimizer
1867/(?l:a?\w)/	b	y	$&	b
1868/(?l:a?\D)/	b	y	$&	b
1869^_?[^\S_0-9]\w*\z	\t	y	$&	\t
1870m?^xy\?$?	xy?	y	$&	xy?
1871a?\X	a\x{100}	y	$&	a\x{100}
1872a?\R	a\n	y	$&	a\n
1873^a?\N$	a\n	y	$&	a
1874\N?a	\na	y	$&	a
1875/\s?\s/l	\t	y	$&	\t
1876/\s?\d/l	3	y	$&	3
1877/\s?\S/l	A	y	$&	A
1878
1879# check we have the right utf8ness as we switch back and forth between
1880# patterns
1881^(\x{100}|a)(??{ qr/.?\xF7/d})	a_\xF7	y	-	-
1882
1883# [perl #118375]
1884/(a|(bc)){0,0}?xyz/	xyz	y	$&	xyz
1885/( a | ( bc ) ) {0,0} ? xyz/x	xyz	y	$&	xyz
1886
1887/(a|(bc)){0,0}+xyz/	xyz	y	$&	xyz
1888/( a | ( bc ) ) {0,0} + xyz/x	xyz	y	$&	xyz
1889
1890(A(*PRUNE)B|A(*PRUNE)C)	AC	n	-	-
1891(A(*PRUNE)B|A(*PRUNE)D|A(*PRUNE)C)	AC	n	-	-
1892(A(*PRUNE)B|A(*PRUNE)C|A(*PRUNE)D)	AC	n	-	-
1893((A(*PRUNE)B|A(*PRUNE)C))	AC	n	-	-
1894((A(*PRUNE)B|A(*PRUNE)D|A(*PRUNE)C))	AC	n	-	-
1895((A(*PRUNE)B|A(*PRUNE)C|A(*PRUNE)D))	AC	n	-	-
1896
1897A+?(*THEN)BC	AAABC	y	$&	ABC
1898A+?(*PRUNE)BC	AAABC	y	$&	ABC
1899A+(*THEN)BC	AAABC	y	$&	AAABC
1900A+(*PRUNE)BC	AAABC	y	$&	AAABC
1901A+?(*THEN)BC(?{})	AAABC	y	$&	ABC
1902A+?(*PRUNE)BC(?{})	AAABC	y	$&	ABC
1903A+(*THEN)BC(?{})	AAABC	y	$&	AAABC
1904A+(*PRUNE)BC(?{})	AAABC	y	$&	AAABC
1905/[#]/	a#b	y	$&	#
1906/[#]b/	a#b	y	$&	#b
1907/[#]/x	a#b	y	$&	#
1908/[#]b/x	a#b	y	$&	#b
1909/[#](?{})/x	a#b	y	$&	#
1910/[#](??{'b'})/x	a#b	y	$&	#b
1911/(?#)(?{})b/	a#b	y	$&	b
1912/(?#)(??{'b'})/	a#b	y	$&	b
1913/[(?#](?{})b/	a#b	y	$&	#b
1914/[(?#](??{'b'})/	a#b	y	$&	#b
1915/(?#)(?{})b/x	a#b	y	$&	b
1916/(?#)(??{'b'})/x	a#b	y	$&	b
1917
1918# RT #119069: PCRE regression test: no segfault
1919^(?=(a)){0}b(?1)	back	y	$&	ba
1920# RT #119071: PCRE regression test: No warning of infinite regression
1921(?:(a(*SKIP)b)){0}(?:(?1)|ac)	x	n	-	-
1922# RT #119073: PCRE regression test: {0} => NOTHING optimization
1923(?1)(?:(b)){0}	b	y	$&	b
1924# RT #120041
1925^A*\z		y	$&
1926/\N* /x	ab	y	$&	ab	         # Under /x was ignoring the '*'
1927/\N (?#comment) * /x	ab	y	$&	ab	# likewise
1928
1929# RT #120600: Variable length lookbehind is not variable
1930(?<W>a)(?<BB>(?=(?&W))(?<=(?&W)))(?&BB)	aa	y	$&	a	# test repeated recursive patterns
1931
1932# This group is from RT #121144
1933/^\S+=/d	\x{3a3}=\x{3a0}	y	$&	\x{3a3}=
1934/^\S+=/u	\x{3a3}=\x{3a0}	y	$&	\x{3a3}=
1935
1936# utf8 cache length panics
1937\x{100}[xy]\x{100}{2}	\x{100}y\x{100}\x{100}	y	$&	\x{100}y\x{100}\x{100}
1938\x{100}a{2,3}	\x{100}aaa	y	$&	\x{100}aaa
1939^x?abc?de	abcde	y	$&	abcde
1940
1941'(?-m:^abc)'m	abcde	y	$&	abc
1942'(?-m:^abc)'m	x\nabcde	n	-	-
1943
1944# RT #121248 - segfault
1945/^[+]([^(]+)$/mi	li	n	-	-
1946
1947# RT #121299 - Inconsistent behavior with backreferences nested inside subpattern references
1948/(.)((o)\1)(?2)/	fofof	y	$2	of
1949/(.)(?2)((\1)(?4)(\1))/	fffffff	y	$1	f
1950/(.)(?2)((.)(?4)(\1))/	foffoff	y	$2	off
1951/^(.\2?)(.)(?1)$/	abcb	y	$2	b
1952/^(.\1?)(?1)$/	aba	y	$1	a
1953/^ (\3(?2)\3)? ((.)) (?1) $/x	aaba	y	$2	a
1954/^ (a|\3(?1)\2|(?2)) ((b|c)(?4)?) (?1) (d(?1)) $/x	abbcdcabbda	y	$1-$2-$3-$4	a-b-b-da
1955
1956# RT #121321 - perl 5.19.10 infinite loops on backrefs > number of capture buffers (npar) where npar>9
1957/(a)\2/	a\2	c	-	Reference to nonexistent group in regex
1958/(a)(b)\3/	ab\3	c	-	Reference to nonexistent group in regex
1959/(a)(b)(c)\4/	abc\4	c	-	Reference to nonexistent group in regex
1960/(a)(b)(c)(d)\5/	abcd\5	c	-	Reference to nonexistent group in regex
1961/(a)(b)(c)(d)(e)\6/	abcde\6	c	-	Reference to nonexistent group in regex
1962/(a)(b)(c)(d)(e)(f)\7/	abcdef\7	c	-	Reference to nonexistent group in regex
1963/(a)(b)(c)(d)(e)(f)(g)(h)(i)\10/	abcdefghi\10	y	$&	abcdefghi\10
1964/(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)\11/	abcdefghij\11	y	$&	abcdefghij\11
1965/(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)\12/	abcdefghijk\12	y	$&	abcdefghijk\12
1966/(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)\12\13\14/	abcdefghijk\12\13\14	y	$&	abcdefghijk\12\13\14
1967
1968\d<(.*?)>	a<>	n	-	-
1969[bcd].{2,3}aaaa	XbXaaaaa	y	-	-
1970[bcd].{2,3}aaaa	Xb\x{100}aaaaa	y	-	-
1971'\Awibble\z'm	wibble	y	-	-
1972/(alias|status)es$/i	Statuses	y	$1	Status		# [perl #121778]
1973/( (?&solution) | % ) \Z (?(DEFINE) (?<solution>7\%\ solution) )/x	7% solution	y	$1	7% solution		# [perl #122890]
1974(.)(?{$~=$^N})	\x{100}	y	$~	\x{100}		# [perl #123135]
1975
1976/[a-z]/i	\N{KELVIN SIGN}	y	$&	\N{KELVIN SIGN}
1977/[A-Z]/ia	\N{KELVIN SIGN}	y	$&	\N{KELVIN SIGN}
1978/[A-Z]/iaa	\N{KELVIN SIGN}	n	-	-
1979/[A-Z]/i	\N{LATIN SMALL LETTER LONG S}	y	$&	\N{LATIN SMALL LETTER LONG S}
1980
1981# RT #123840: these used to hang in re_intuit_start
1982/w\zxy?\z/i	\x{100}a\x{80}a	n	-	-
1983/w\z\R\z/i	\x{100}a\x{80}a	n	-	-
1984
1985/(a+){1}+a/	aaa	n	-	-		# [perl #125825]
1986
1987^((?(?=x)xb|ya)z)	xbz	y	$1	xbz
1988^((?(?=x)xb|ya)z)	yaz	y	$1	yaz
1989^((?(?!y)xb|ya)z)	xbz	y	$1	xbz
1990^((?(?!y)xb|ya)z)	yaz	y	$1	yaz
1991^((?(?!)xb|ya)z)	xbz	n	-	-
1992^((?(?!)xb|ya)z)	yaz	y	$1	yaz		# [perl-126222]
1993
1994foo(*ACCEPT:foo)	foo	y	$::REGMARK	foo
1995(foo(*ACCEPT:foo))	foo	y	$::REGMARK	foo
1996A(*FAIL:foo)[BC]	A	n	$::REGERROR	foo
1997
1998\N(?#comment){SPACE}	A	c	-	Missing braces on \\N{}
1999ab(?#Comment){2}c	abbc	y	$&	abbc
2000\p A	A	c	-	Character following \\p must be '{' or a single-character Unicode property name		# [perl #126187
2001\P:A	A	c	-	Character following \\P must be '{' or a single-character Unicode property name
2002\p^	A	c	-	Character following \\p must be '{' or a single-character Unicode property name
2003\PU	A	c	-	Can't find Unicode property definition \"U\"
2004
2005(?i	-	c	-	Sequence (?... not terminated
2006(?a-x	-	c	-	Sequence (?... not terminated
2007.{1}??	-	c	-	Nested quantifiers
2008.{1}?+	-	c	-	Nested quantifiers
2009(?:.||)(?|)000000000@	000000000@	y	$&	000000000@		#  [perl #126405]
2010aa$|a(?R)a|a	aaa	y	$&	aaa		# [perl 128420] recursive matches
2011(?:\1|a)([bcd])\1(?:(?R)|e)\1	abbaccaddedcb	y	$&	abbaccaddedcb		# [perl 128420] recursive match with backreferences
2012AB\s+\x{100}	AB \x{100}X	y	-	-
2013\b\z0*\x{100}	.\x{100}	n	-	-	# [perl #129350] crashed in intuit_start
2014(.*?(a(a)|i(i))n)	riiaan	y	$2-$3-$4-$1	aa-a--riiaan		#  Jump trie capture buffer issue [perl #129897]
2015(^(?:(\d)x)?\d$)	1	y	[$1-$2]	[1-]		#  make sure that we reset capture buffers properly (from regtry)
2016(X{2,}[-X]{1,4}){3,}X{2,}	XXX-XXX-XXX--	n	-	-	# [perl #130307]
2017
2018/[a b]/x	\N{SPACE}	yS	$&	 		# Note a space char here
2019/[a b]/xx	\N{SPACE}	n	-	-
2020/[a\ b]/xx	\N{SPACE}	y	$&	 		# Note a space char here
2021/[ ^ a b ]/xx	a	n	-	-
2022/[ ^ a b ]/xx	b	n	-	-
2023/[ ^ a b ]/xx	A	y	$&	A
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/(?xx)[a b]/x	\N{SPACE}	n	-	-
2028/(?-x:[a b])/xx	\N{SPACE}	yS	$&	 	# Note a space char here
2029^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
2030^Xaaa?Xaa	aaa\x{400000}	n	-	-	# [perl #132552] for valgrind's benefit
2031([[:ascii:]]+)\x81	a\x80b\x81	y	$&	b\x81
2032[[:^ascii:]]+b	\x80a\x81b	y	$&	\x81b
2033[[:^ascii:]]+b	\x80a\x81\x{100}b	y	$&	\x81\x{100}b
2034/\A\x80+\z/	\x80\x80\x80\x80\x80\x80\x80\x80\x80	y	$&	\x80\x80\x80\x80\x80\x80\x80\x80\x80		# [perl #132900]
2035^(\d+)*?4X$	1234X	y	$1	123	# perl #131648
2036(?il)\x{100}|\x{100}|\x{FE}	\xFE	y	$&	\xFE
2037\A([\x00-\x7F]+)(.*)\z	\007\011\012	y	$&	\007\011\012	# [perl #133311]
2038(?:(?^:(?{1}))[^0-9])	:	y	$&	:	# [perl #133348]
2039/[\xdf-/i	-	ca	-	Invalid [] range	# [perl #133620] likely only fails under valgrind
2040/[\x59-/i	-	ce	-	Unmatched [	# [perl #133620] likely only fails under valgrind
2041/\1a(b)/	bab	n	-	-		# This compiles but fails to match as \1 is not set when parsed
2042/(?iu)(?<=\xdf)hbase/	sshbase	y	$&	hbase
2043/\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
2044/[\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]
2045/(?:0)|(?:)(?:[1-9])/	q0	y	$&	0	# [https://github.com/Perl/perl5/issues/17372]
2046/\x{_1_0000}/	\x{10000}	y	$&	\x{10000}		# khw doesn't like leading underscores, but don't rmv them accidentally
2047/\o{_1_0000}/	\o{10000}	y	$&	\o{10000}
2048/(?iaax:A? \K +)/	African_Feh	y	$&
2049/(?iaa:A?\K+)/	African_Feh	y	$&
2050/(?iaa:A?\K*)/	African_Feh	y	$&
2051^((\w|<(\s)*(?1)(?3)*>)(?:(?3)*\+(?3)*(?2))*)(?3)*\+	a + b + <c + d>	y	$1	a + b		# [GH #18096]
2052^((\w|<(\s)*(?1)(?3)*>)(?:(?3)*\+(?3)*(?2))*)(?3)*\+	a + <b> + c	y	$1	a + <b>		# [GH #18096]
2053/0?\xdf\xdf\xdf\xdfs\o{500}|/i	\o{600}	y	$&				# [GH #18451]
2054/^a{,2}$/		y				# 0 or more
2055/^a{,2}$/	a	y	$&	a
2056/^a{,2}$/	aa	y	$&	aa
2057/^a{,2}$/	aaa	n	-	-
2058
2059/.{, 2 }/	a	y	$&	a
2060/[x]{, 2}/	x	y	$&	x
2061/\p{Latin}{ , 2 }/	a	y	$&	a
2062
2063/(?=foo)(?<=a|ab)/	abfoo	y	-	-	-	# Positive variable length lookbehind GH #19168
2064/(?=foo)(?<=a|ab)/	adfoo	n	-	-	-	# Positive variable length lookbehind GH #19168
2065/(?=foo)(?<=a|ab)/	cafoo	y	-	-	-	# Positive variable length lookbehind GH #19168
2066/(?=foo)(?<!a|ab)/	abfoo	n	-	-	-	# Negative variable length lookbehind GH #19168
2067/(?=foo)(?<!a|ab)/	adfoo	y	-	-	-	# Negative variable length lookbehind GH #19168
2068/(?=foo)(?<!a|ab)/	cafoo	n	-	-	-	# Negative variable length lookbehind GH #19168
2069/(?=foo)(?<=c|a[a-d](?<!b))/	aafoo	y	-	-	-	# Variable length lookbehind GH #19168
2070/(?=foo)(?<=c|a[a-d](?<!b))/	abfoo	n	-	-	-	# Variable length lookbehind GH #19168
2071/(?<!)/	abfoo	n	-	-	-	# OPFAIL
2072/(?!)/	abfoo	n	-	-	-	# OPFAIL
2073/(.*b)(?<=)/	abfoo	y	$1	ab	-	# NOTHING
2074/(.*b)(?=)/	abfoo	y	$1	ab	-	# NOTHING
2075/(?=(\w))(?<!^)/	1234	y	$1	2	-	# Lookahead with zero width negative lookbehind
2076/(\w)(?<!^)/	1234	y	$1	1	-	# Negative lookbehind with zero width assertion
2077/(?=foo)(?<=(a??))/	afoo	y	$1	a	-	# Postive lookbehind with minmod (leftmost longest)
2078/(?=foo)(?<=(a{0,2}))/	aafoo	y	$1	aa	-	# Positive lookbehind with min/max (leftmost longest)
2079/(?=foo)(?<=(|a|aa))/	aafoo	y	$1	aa	-	# Positive lookbehind with alternation (leftmost longest)
2080(?<=(?<!yz)b)c	aabcdef	y	$&	c	-	# Nested lookbehind without early bailout
2081(?<=(?<!yz)b)c	abcdef	y	$&	c	-	# Nested lookbehind with early bailout
2082/(A(A|B(*ACCEPT)|C)+D)(E)/	ABDE	y	$1-$2	AB-B	-	# ACCEPT with CurlyM optimization GH #19484
2083/(A(A|B(*ACCEPT)|C)+D)(E)/	ABDE	y	$&	AB	-	# ACCEPT with CurlyM optimization GH #19484
2084/(A(A|B(*ACCEPT)|C)+D)(E)/	ABCDE	y	$1-$2	AB-B	-	# ACCEPT with CurlyM optimization GH #19484
2085/(A(A|B(*ACCEPT)|C)+D)(E)/	ABCDE	y	$&	AB	-	# ACCEPT with CurlyM optimization GH #19484
2086/(A(A|B(*ACCEPT)|C)D)(E)/	ABDE	y	$1-$2	AB-B	-	# ACCEPT without CurlyM optimization
2087/(A(A|B(*ACCEPT)|C)D)(E)/	ABDE	y	$&	AB	-	# ACCEPT without CurlyM optimization
2088/(A(A|B(*ACCEPT)|C)D)(E)/	ABCDE	y	$1-$2	AB-B	-	# ACCEPT without CurlyM optimization
2089/(A(A|B(*ACCEPT)|C)D)(E)/	ABCDE	y	$&	AB	-	# ACCEPT without CurlyM optimization
2090/(A(A|B(*ACCEPT)|(?>C))D)(E)/	ABCDE	y	$1-$2	AB-B	-	# ACCEPT with SUSPEND in pattern
2091/(A(A|B(*ACCEPT)|(?>C))D)(E)/	ABCDE	y	$&	AB	-	# ACCEPT with SUSPEND in pattern
2092/(A(A|B(*ACCEPT)|C(?<=C))D)(E)/	ABCDE	y	$1-$2	AB-B	-	# ACCEPT with IFMATCH in pattern
2093/(A(A|B(*ACCEPT)|C(?<=C))D)(E)/	ABCDE	y	$&	AB	-	# ACCEPT with IFMATCH in pattern
2094/(A(A|B(*ACCEPT)|C(?<!Q))D)(E)/	ABCDE	y	$1-$2	AB-B	-	# ACCEPT with UNLESSM in pattern
2095/(A(A|B(*ACCEPT)|C(?<!Q))D)(E)/	ABCDE	y	$&	AB	-	# ACCEPT with UNLESSM in pattern
2096/(?(DEFINE)(?<a>(?:[ab]|[cd](*ACCEPT)|[ef])g))(?&a)(?&a)/	cc	y	$&	cc	-	# ACCEPT in GOSUB
2097/(?(DEFINE)(?<a>(?:[ab]|[cd](*ACCEPT)|[ef])g))(?&a)(?&a)/	agag	y	$&	agag	-	# (not) ACCEPT in GOSUB
2098/(?(DEFINE)(?<a>(?:[ab]|[cd](*ACCEPT)|[ef])g))(?&a)(?&a)/	agcq	y	$&	agc	-	# (not) ACCEPT in GOSUB
2099/(?<=([cd](*ACCEPT)|x)gggg)blrph/	cblrph	y	$&-$1	blrph-c	-	# ACCEPT in IFMATCH var pos lookbehind
2100/(?<=([cd](*ACCEPT)|x)gggg)blrph/	dblrph	y	$&-$1	blrph-d	-	# ACCEPT in IFMATCH var pos lookbehind
2101/(?<=([cd](*ACCEPT)|x)gggg)blrph/	xggggblrph	y	$&-$1	blrph-x	-	# (not) ACCEPT in IFMATCH var pos lb
2102/(?<!([cd](*ACCEPT)|x)gggg)blrph/	cblrph	n	-	-	-	# ACCEPT in UNLESSM var neg lookbehind
2103/(?<!([cd](*ACCEPT)|x)gggg)blrph/	dblrph	n	-	-	-	# ACCEPT in UNLESSM var neg lookbehind
2104/(?<!([cd](*ACCEPT)|x)gggg)blrph/	xggggblrph	n	-	-	-	# (not) ACCEPT in UNLESSM var neg lb
2105/(?:a?(*ACCEPT))b/	x	y	>$&<	><	-	# Test minlen for ACCEPT
2106/(?:a?(*ACCEPT))b/	a	y	>$&<	>a<	-	# Test minlen for ACCEPT
2107/(?:a?(*ACCEPT))b/	b	y	>$&<	><	-	# Test minlen for ACCEPT
2108/a?(*ACCEPT)b/	x	y	>$&<	><	-	# Test minlen for ACCEPT
2109/a?(*ACCEPT)b/	a	y	>$&<	>a<	-	# Test minlen for ACCEPT
2110/a?(*ACCEPT)b/	b	y	>$&<	><	-	# Test minlen for ACCEPT
2111/ (A (*ACCEPT) | BC){2} D{0,4}/x	A	y	$1	A	-	# ACCEPT optimizer check
2112
2113\p{nv=-0}	\x{660}	y	$&	\x{660}
2114(?:a|xx){0,4}?b	aaaaab 	y	$&	aaaab		# Bug is GH #8369; test is GH #19781
2115(?|(?<a>a)|(?<b>b))\1(?&a)(?&b)	bbab 	y	$&	bbab		# GH 20653
2116(?|(?<a>a)|(?<b>b))(?(<a>)x|y)\1	byb 	y	$&	byb		# GH 20653
2117(?|(?<a>a)|(?<b>b))(?(<a>)x|y)\1	bxb 	n	-	-		# GH 20653
2118(?|(?<a>a)|(?<b>b))(?(<a>)x|y)\1	axa 	y	$&	axa		# GH 20653
2119(?|(?<a>a)|(?<b>b))(?(<a>)x|y)\1	aya 	n	-	-		# GH 20653
2120(?|(?<a>a)|(?<b>b))	a 	y	$1-$+{a}-$+{b}	a-a-		# GH 20653
2121(?|(?<a>a)|(?<b>b))	b 	y	$1-$+{a}-$+{b}	b--b		# GH 20653
2122(?<pre>pre)(?|(?<a>a)(?<b>b)(?<c>c)|(?<d>d)(?<e>e)|(?<f>f))(?<post>post)	preabcpost 	y	$2-$3-$4	a-b-c		# GH 20653
2123(?<pre>pre)(?|(?<a>a)(?<b>b)(?<c>c)|(?<d>d)(?<e>e)|(?<f>f))(?<post>post)	predepost 	y	$2-$3-$4	d-e-		# GH 20653
2124(?<pre>pre)(?|(?<a>a)(?<b>b)(?<c>c)|(?<d>d)(?<e>e)|(?<f>f))(?<post>post)	prefpost 	y	$2-$3-$4	f--		# GH 20653
2125(?<pre>pre)(?|(?<a>a)(?<b>b)(?<c>c)|(?<d>d)(?<e>e)|(?<f>f))(?<post>post)	preabcpost 	y	$+{a}-$+{b}-$+{c}	a-b-c		# GH 20653
2126((?|(?<a>a)(?-1)|(?<b>b)(?-1)|(?<c>c)(?-1)))	aa 	y	$1	aa		# GH 20653
2127((?|(?<a>a)(?-1)|(?<b>b)(?-1)|(?<c>c)(?-1)))	bb 	y	$1	bb		# GH 20653
2128((?|(?<a>a)(?-1)|(?<b>b)(?-1)|(?<c>c)(?-1)))	cc 	y	$1	cc		# GH 20653
2129
2130(?|(a)|(b))	b	y	$+	b		# GH 20912
2131(?|(a)(?{$::plus_got=$+})|(b)(?{$::plus_got=$+}))	b	y	$::plus_got	b		# GH 20912
2132(?|(a)|(b))	b	y	$^N	b		# GH 20912
2133(?|(a)(?{$::caret_n_got=$^N})|(b)(?{$::caret_n_got=$^N}))	b	y	$::caret_n_got	b		# GH 20912
2134(?|(a)|(b))	a	y	$+	a		# GH 20912
2135(?|(a)(?{$::plus_got=$+})|(b)(?{$::plus_got=$+}))	a	y	$::plus_got	a		# GH 20912
2136(?|(a)|(b))	a	y	$^N	a		# GH 20912
2137(?|(a)(?{$::caret_n_got=$^N})|(b)(?{$::caret_n_got=$^N}))	a	y	$::caret_n_got	a		# GH 20912
2138
2139/(([ab]+)|([cd]+)|([ef]+))+/	ace	y	$1-$2-$3-$4=$&	e---e=ace
2140/(([ab]+)|([cd]+)|([ef]+))+/	aceb	Ty	$1-$2-$3-$4=$&	b-b--=aceb
2141/(([ab]+)|([cd]+)|([ef]+))+/	acebd	Ty	$1-$2-$3-$4=$&	d--d-=acebd
2142/(([ab]+)|([cd]+)|([ef]+))+/	acebdf	y	$1-$2-$3-$4=$&	f---f=acebdf
2143/((a)(b)(c)|(a)(b)|(a))+/	abcaba	y	$1+$2-$3-$4+$5-$6+$7=$&	a+--+-+a=abcaba
2144
2145/^(xa|=?\1a){2}$/	xa=xaaa	n	-	-	# GH 10073 - RT72020
2146/^(xa|(?:=|zzzz|)\1a){2}$/	xa=xaaa	n	-	-	# GH 10073 - RT72020
2147/^(xa|(?:=|zzzz)?\1a){2}$/	xa=xaaa	n	-	-	# GH 10073 - RT72020
2148/^(xa|[Z=]?\1a){2}$/	xa=xaaa	n	-	-	# GH 10073 - RT72020
2149/^(xa|([Z=])?\1a){2}$/	xa=xaaa	n	-	-	# GH 10073 - RT72020
2150/^(xa|([Z=]|zzzz)?\1a){2}$/	xa=xaaa	n	-	-	# GH 10073 - RT72020
2151/^(xa|(=|)\1a){2}$/	xa=xaaa	n	-	-	# GH 10073 - RT72020
2152/^(xa|(?:[Z=])?\1a){2}$/	xa=xaaa	n	-	-	# GH 10073 - RT72020
2153/^(xa|(?:[Z=]|zzzz)?\1a){2}$/	xa=xaaa	n	-	-	# GH 10073 - RT72020
2154/^(xa|(?:=|)\1a){2}$/	xa=xaaa	n	-	-	# GH 10073 - RT72020
2155/^(xa|=*\1a){2}$/	xa=xaaa	n	-	-	# GH 10073 - RT72020
2156/^(xa|[Z=]*\1a){2}$/	xa=xaaa	n	-	-	# GH 10073 - RT72020
2157/^(xa|(?:[Z=])*\1a){2}$/	xa=xaaa	n	-	-	# GH 10073 - RT72020
2158/^(xa|(?:[Z=]|zzzz)*\1a){2}$/	xa=xaaa	n	-	-	# GH 10073 - RT72020
2159
2160# GH 22094 - a character class optimized to OPFAIL shouldn't panic when quantified
2161[^\W\S]{6}	a	n	-	-
2162[^\W\S]{1,3}	a	n	-	-
2163[^\W\S]+	a	n	-	-
2164[^\W\S]*	a	y	$&
2165[^\W\S]?	a	y	$&
2166
2167# Keep these lines at the end of the file
2168# pat	string	y/n/etc	expr	expected-expr	skip-reason	comment
2169# vim: softtabstop=0 noexpandtab
2170