This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Accept \p{nv=-0}
[perl5.git] / t / re / re_tests
CommitLineData
5a51db05 1# This stops me getting screenfulls of syntax errors every time I accidentally
1380b51d
DM
2# run this file via a shell glob. The full format of this file is given
3# in regexp.t
2258fb6a 4# Prior to the implementation of autoloading of \N{}, tests that used \N{name}
538b2691
KW
5# could not go in this file, and were farmed out to other .t's, where they
6# remain
1380b51d 7#
3238b147 8# pat string y/n/etc expr expected-expr skip-reason comment
5a51db05 9__END__
378cc40b 10abc abc y $& abc
301f462a
MJD
11abc abc y $-[0] 0
12abc abc y $+[0] 3
378cc40b
LW
13abc xbc n - -
14abc axc n - -
15abc abx n - -
16abc xabcy y $& abc
301f462a
MJD
17abc xabcy y $-[0] 1
18abc xabcy y $+[0] 4
378cc40b 19abc ababc y $& abc
301f462a
MJD
20abc ababc y $-[0] 2
21abc ababc y $+[0] 5
378cc40b 22ab*c abc y $& abc
301f462a
MJD
23ab*c abc y $-[0] 0
24ab*c abc y $+[0] 3
378cc40b 25ab*bc abc y $& abc
301f462a
MJD
26ab*bc abc y $-[0] 0
27ab*bc abc y $+[0] 3
378cc40b 28ab*bc abbc y $& abbc
301f462a
MJD
29ab*bc abbc y $-[0] 0
30ab*bc abbc y $+[0] 4
378cc40b 31ab*bc abbbbc y $& abbbbc
301f462a
MJD
32ab*bc abbbbc y $-[0] 0
33ab*bc abbbbc y $+[0] 6
c277df42 34.{1} abbbbc y $& a
301f462a
MJD
35.{1} abbbbc y $-[0] 0
36.{1} abbbbc y $+[0] 1
c277df42 37.{3,4} abbbbc y $& abbb
301f462a
MJD
38.{3,4} abbbbc y $-[0] 0
39.{3,4} abbbbc y $+[0] 4
afefe6bf
RGS
40\N{1} abbbbc y $& a
41\N{1} abbbbc y $-[0] 0
42\N{1} abbbbc y $+[0] 1
c3c41406
KW
43/\N {1}/x abbbbc y $& a
44/\N {1}/x abbbbc y $-[0] 0
45/\N {1}/x abbbbc y $+[0] 1
afefe6bf
RGS
46\N{3,4} abbbbc y $& abbb
47\N{3,4} abbbbc y $-[0] 0
48\N{3,4} abbbbc y $+[0] 4
1b2f32d5 49\N{ 3 , 4 } abbbbc y $+[0] 4
c3c41406
KW
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
a687059c 53ab{0,}bc abbbbc y $& abbbbc
301f462a
MJD
54ab{0,}bc abbbbc y $-[0] 0
55ab{0,}bc abbbbc y $+[0] 6
378cc40b 56ab+bc abbc y $& abbc
301f462a
MJD
57ab+bc abbc y $-[0] 0
58ab+bc abbc y $+[0] 4
378cc40b
LW
59ab+bc abc n - -
60ab+bc abq n - -
a687059c 61ab{1,}bc abq n - -
378cc40b 62ab+bc abbbbc y $& abbbbc
301f462a
MJD
63ab+bc abbbbc y $-[0] 0
64ab+bc abbbbc y $+[0] 6
a687059c 65ab{1,}bc abbbbc y $& abbbbc
301f462a
MJD
66ab{1,}bc abbbbc y $-[0] 0
67ab{1,}bc abbbbc y $+[0] 6
a687059c 68ab{1,3}bc abbbbc y $& abbbbc
301f462a
MJD
69ab{1,3}bc abbbbc y $-[0] 0
70ab{1,3}bc abbbbc y $+[0] 6
a687059c 71ab{3,4}bc abbbbc y $& abbbbc
301f462a
MJD
72ab{3,4}bc abbbbc y $-[0] 0
73ab{3,4}bc abbbbc y $+[0] 6
a687059c 74ab{4,5}bc abbbbc n - -
378cc40b
LW
75ab?bc abbc y $& abbc
76ab?bc abc y $& abc
a687059c 77ab{0,1}bc abc y $& abc
378cc40b
LW
78ab?bc abbbbc n - -
79ab?c abc y $& abc
a687059c 80ab{0,1}c abc y $& abc
378cc40b
LW
81^abc$ abc y $& abc
82^abc$ abcc n - -
83^abc abcc y $& abc
84^abc$ aabc n - -
85abc$ aabc y $& abc
c277df42 86abc$ aabcd n - -
378cc40b
LW
87^ abc y $&
88$ abc y $&
89a.c abc y $& abc
90a.c axc y $& axc
afefe6bf 91a\Nc abc y $& abc
c3c41406 92/a\N c/x abc y $& abc
378cc40b 93a.*c axyzc y $& axyzc
cbf4a129 94a\N*c axyzc y $& axyzc
c3c41406 95/a\N *c/x axyzc y $& axyzc
378cc40b 96a.*c axyzd n - -
afefe6bf 97a\N*c axyzd n - -
c3c41406 98/a\N *c/x axyzd n - -
378cc40b
LW
99a[bc]d abc n - -
100a[bc]d abd y $& abd
3b968408
YO
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
afefe6bf 106(?i:\N[b]\N) abd y $& abd
378cc40b
LW
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-
073b366a 112a[b-a] - c - Invalid [] range
24b61696
RK
113a[]b - c - Unmatched [
114a[ - c - Unmatched [
378cc40b
LW
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
bbce6d69 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 - -
301f462a
MJD
133\By\b xy y $-[0] 1
134\By\b xy y $+[0] 2
135\By\b xy y - -
bbce6d69 136\by\B yz y - -
137\By\B xyz y - -
139a998a
KW
138\b n - -
139\b{gcb} n - -
1b2f32d5 140\b{ gcb } n - -
6b659339 141\b{lb} n - -
1b2f32d5 142\b{ lb } n - -
139a998a 143\b{sb} n - -
1b2f32d5
KW
144\b{ sb } n - -
145\b{ wb } n - -
139a998a
KW
146\b{wb} n - -
147\B y - -
148\B{gcb} y - -
1b2f32d5 149\B{ gcb } y - -
6b659339 150\B{lb} y - -
1b2f32d5 151\B{ lb } y - -
139a998a 152\B{sb} y - -
1b2f32d5 153\B{ sb } y - -
139a998a 154\B{wb} y - -
1b2f32d5 155\B{ wb } y - -
bbce6d69 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 - -
378cc40b
LW
180ab|cd abc y $& ab
181ab|cd abcd y $& ab
182()ef def y $&-$1 ef-
301f462a
MJD
183()ef def y $-[0] 1
184()ef def y $+[0] 3
3de645a8 185()\x{100}\x{1000} d\x{100}\x{1000} y $+[0] 3
301f462a
MJD
186()ef def y $-[1] 1
187()ef def y $+[1] 1
24b61696 188*a - c - Quantifier follows nothing
e2e6a0f1
YO
189(|*)b - c - Quantifier follows nothing
190(*)b - c - Unknown verb
378cc40b 191$b b n - -
1b1626e4 192a\ - c - Search pattern not terminated
378cc40b
LW
193a\(b a(b y $&-$1 a(b-
194a\(*b ab y $& ab
195a\(*b a((b y $& a((b
b2a156bd 196a\\b a\\b y $& a\\b
24b61696
RK
197abc) - c - Unmatched )
198(abc - c - Unmatched (
378cc40b 199((a)) abc y $&-$1-$2 a-a-a
301f462a
MJD
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
378cc40b 204(a)b(c) abc y $&-$1-$2 abc-a-c
301f462a
MJD
205(a)b(c) abc y $-[0]-$-[1]-$-[2] 0-0-2
206(a)b(c) abc y $+[0]-$+[1]-$+[2] 3-1-3
378cc40b 207a+b+c aabbabc y $& abc
a687059c 208a{1,}b{1,}c aabbabc y $& abc
24b61696 209a** - c - Nested quantifiers
a0d0e21e 210a.+?c abcabc y $& abc
378cc40b 211(a+|b)* ab y $&-$1 ab-b
301f462a
MJD
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
a687059c 216(a+|b){0,} ab y $&-$1 ab-b
378cc40b 217(a+|b)+ ab y $&-$1 ab-b
a687059c 218(a+|b){1,} ab y $&-$1 ab-b
378cc40b 219(a+|b)? ab y $&-$1 a-a
a687059c 220(a+|b){0,1} ab y $&-$1 a-a
24b61696 221)( - c - Unmatched )
378cc40b
LW
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
301f462a
MJD
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
378cc40b
LW
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
301f462a
MJD
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
378cc40b
LW
250a([bc]+)(c*d) abcd y $&-$1-$2 abcd-bc-d
251a([bc]*)(c+d) abcd y $&-$1-$2 abcd-b-cd
301f462a
MJD
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
378cc40b
LW
258a[bcd]*dcdcde adcdcde y $& adcdcde
259a[bcd]+dcdcde adcdcde n - -
260(ab|a)b*c abc y $&-$1 abc-ab
301f462a
MJD
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
378cc40b 265((a)(b)c)(d) abcd y $1-$2-$3-$4 abc-a-b-d
301f462a
MJD
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
378cc40b 276[a-zA-Z_][a-zA-Z0-9_]* alpha y $& alpha
6dd6e9f9 277[_A-Z] } n - - # This could match on EBCDIC if A-Z not excluding things in middle
378cc40b
LW
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-
fe14fcc3 284((((((((((a)))))))))) a y $10 a
301f462a
MJD
285((((((((((a)))))))))) a y $-[0] 0
286((((((((((a)))))))))) a y $+[0] 1
287((((((((((a)))))))))) a y $-[10] 0
288((((((((((a)))))))))) a y $+[10] 1
fe14fcc3 289((((((((((a))))))))))\10 aa y $& aa
9d116dd7
JH
290((((((((((a))))))))))${bang} aa n - -
291((((((((((a))))))))))${bang} a! y $& a!
378cc40b 292(((((((((a))))))))) a y $& a
0b8457c0 293[89]+ 1((((((7(9)))))) y - -
378cc40b
LW
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 - -
b2a156bd
DM
299abcd abcd y $&-\$&-\\$& abcd-\$&-\\abcd
300a(bc)d abcd y $1-\$1-\\$1 bc-\$1-\\bc
378cc40b
LW
301a[-]?c ac y $& ac
302(abc)\1 abcabc y $1 abc
303([a-c]*)\1 abcabc y $1 abc
9baa0206
HS
304\1 - c - Reference to nonexistent group
305\2 - c - Reference to nonexistent group
88307081
RGS
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
1b2f32d5 309\g{ 1 } - c - Reference to nonexistent group
88307081 310\g{-1} - c - Reference to nonexistent or unclosed group
1b2f32d5 311\g{ -1 } - c - Reference to nonexistent or unclosed group
88307081
RGS
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
1b2f32d5 315\g{ 0 } - c - Reference to invalid group 0
88307081 316\g{-0} - c - Reference to invalid group 0
1b2f32d5 317\g{ -0 } - c - Reference to invalid group 0
ef64f398 318(a)|\1 a y - -
40863337
ML
319(a)|\1 x n - Reference to group in different branch
320(?:(b)?a)\1 a n - Reference to group that did not match
9baa0206 321(a)|\2 - c - Reference to nonexistent group
ef64f398
HS
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
ee1d8f2a
RU
327#Bug #3589 - up to perl-5.6.0 matches incorrectly, from 5.6.1 not anymore
328^((.)?a\2)+$ babadad n - -
301f462a
MJD
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
1462b684
LW
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
a0d0e21e
LW
344'ab*?bc'i ABBBBC y $& ABBBBC
345'ab{0,}?bc'i ABBBBC y $& ABBBBC
346'ab+?bc'i ABBC y $& ABBC
1462b684
LW
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
a0d0e21e
LW
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
1462b684
LW
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
afefe6bf 370'a\Nc'i ABC y $& ABC
a0d0e21e 371'a.*?c'i AXYZC y $& AXYZC
1462b684
LW
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-
073b366a 380'a[b-a]'i - c - Invalid [] range
24b61696
RK
381'a[]b'i - c - Unmatched [
382'a['i - c - Unmatched [
1462b684
LW
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-
24b61696 394'*a'i - c - Quantifier follows nothing
e2e6a0f1
YO
395'(|*)b'i - c - Quantifier follows nothing
396'(*)b'i - c - Unknown verb
1462b684 397'$b'i B n - -
1b1626e4 398'a\'i - c - Search pattern not terminated
1462b684
LW
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
b2a156bd 402'a\\b'i A\\B y $& A\\B
24b61696
RK
403'abc)'i - c - Unmatched )
404'(abc'i - c - Unmatched (
1462b684
LW
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
24b61696 409'a**'i - c - Nested quantifiers
a0d0e21e
LW
410'a.+?c'i ABCABC y $& ABC
411'a.*?c'i ABCABC y $& ABC
412'a.{0,5}?c'i ABCABC y $& ABC
1462b684
LW
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
a0d0e21e 419'(a+|b){0,1}?'i AB y $&-$1 -
24b61696 420')('i - c - Unmatched )
1462b684
LW
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
1462b684
LW
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
9d116dd7
JH
454'((((((((((a))))))))))${bang}'i AA n - -
455'((((((((((a))))))))))${bang}'i A! y $& A!
1462b684 456'(((((((((a)))))))))'i A y $& A
a0d0e21e
LW
457'(?:(?:(?:(?:(?:(?:(?:(?:(?:(a))))))))))'i A y $1 A
458'(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))'i C y $1 C
1462b684
LW
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 - -
b2a156bd
DM
464'abcd'i ABCD y $&-\$&-\\$& ABCD-\$&-\\ABCD
465'a(bc)d'i ABCD y $1-\$1-\\$1 BC-\$1-\\BC
1462b684
LW
466'a[-]?c'i AC y $& AC
467'(abc)\1'i ABCABC y $1 ABC
468'([a-c]*)\1'i ABCABC y $1 ABC
a0d0e21e 469a(?!b). abad y $& ad
89c6a13e 470(?=)a a y $& a
a0d0e21e
LW
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
c277df42
IZ
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
9baa0206 482:(?: - c - Sequence (? incomplete
c277df42
IZ
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
a0d0e21e
LW
489a(?:b|(c|e){1,2}?|d)+?(.) ace y $1$2 ce
490^(.+)?B AB y $1 A
c277df42
IZ
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 - -
af3f8c16
IZ
496^(a(?(1)\1)){4}$ aaaaaaaaaa y $1 aaaa
497^(a(?(1)\1)){4}$ aaaaaaaaa n - -
498^(a(?(1)\1)){4}$ aaaaaaaaaaa n - -
708e3b05
IZ
499((a{4})+) aaaaaaaaa y $1 aaaaaaaa
500(((aa){2})+) aaaaaaaaaa y $1 aaaaaaaa
501(((a{2}){2})+) aaaaaaaaaa y $1 aaaaaaaa
c277df42
IZ
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
2abbd513 504(?<=af?)b ab y $& b
c277df42 505(?<=a)b cb n - -
2abbd513 506(?<=a(?:fo)?)b cb n - -
c277df42 507(?<=a)b b n - -
2abbd513 508(?<=a(?:foo)?)b b n - -
c277df42 509(?<!c)b ab y $& b
2abbd513 510(?<!c(?:foob)?)b ab y $& b
c277df42 511(?<!c)b cb n - -
2abbd513 512(?<!c(?:fooba)?)b cb n - -
c277df42 513(?<!c)b b y - -
2abbd513 514(?<!c(?:foobar)?)b b y - -
c277df42 515(?<!c)b b y $& b
2abbd513 516(?<!c(?:foobarb)?)b b y $& b
1f4f6bf1 517(?<%)b - c - Group name must start with a non-digit word character
c277df42
IZ
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 - -
ca9dfc88
IZ
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 - -
afefe6bf 560'((?-i:a\N))b'i a\nB n - -
ca9dfc88 561'((?s-i:a.))b'i a\nB y $1 a\n
afefe6bf 562'((?s-i:a\N))b'i a\nB n - -
ca9dfc88 563'((?s-i:a.))b'i B\nB n - -
afefe6bf 564'((?s-i:a\N))b'i B\nB n - -
c277df42
IZ
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
ad4f75a6 569foo\w*\d{4}baz foobar1234baz y $& foobar1234baz
61525e55 570a(?{})b cabd y $& ab
9da1dd8f
DM
571a(?{f()+ - c - Missing right curly or square bracket
572a(?{{1}+ - c - Missing right curly or square bracket
f8a7cceb 573 (?{(^{}) - c - syntax error
380a0633 574a(?{}})b - c -
b30fcab9 575a(?{"{"})b ab y - -
61525e55 576a(?{"\{"})b cabd y $& ab
9da1dd8f 577a(?{"{"}})b - c - Sequence (?{...}) not terminated with ')'
94c1d7aa 578a(?{$::bl="\{"}).b caxbd y $::bl {
c277df42
IZ
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 - -
2abbd513 583(?<![cd]e{0,254})b dbcb n - -
c277df42 584(?<![cd])[ab] dbaacb y $& a
2abbd513
KW
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
c277df42
IZ
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
cbf4a129
RGS
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
c277df42
IZ
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 - -
0f7276ab
KW
621(?(1?)a|b) - c - Switch condition not recognized
622(?(1)a|b|c) - c - Switch (?(condition)... contains too many branches
61525e55
NC
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
c277df42
IZ
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
e22f9b1c
NC
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}
c277df42
IZ
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
94c1d7aa
DM
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
f5df269c
FC
652# [perl #117917]
653^(a(?{ "x" =~ m{x}})b)(??{ $1 }) abab y $& abab
c277df42 654(>a+)ab aaab n - -
fe44a5e8 655(?>a+)b aaab y - -
4599a1de
JH
656([[:]+) a:[b]: y $1 :[
657([[=]+) a=[b]= y $1 =[
658([[.]+) a.[b]. y $1 .[
24b61696
RK
659[a[:xyz: - c - Unmatched [
660[a[:xyz:] - c - POSIX class [:xyz:] unknown
767d463e 661[a[:]b[:c] abc y $& abc
0f7276ab 662([a[:xyz:]b]+) - c - POSIX class [:xyz:] unknown
b8c5462f
JH
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}
b41acb1e 666([[:cntrl:]]+) ABcd01Xy__-- ${nulnul}${ffff} ya $1 ${nulnul} ff is a control on EBCDIC (non-POSIX-BC), so this fails under /u rules
b8c5462f
JH
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
cfaf538b 677((?a)[[:^alnum:]]+) ABcd01Xy__-- ${nulnul}${ffff} y $1 __-- ${nulnul}${ffff}
b8c5462f 678([[:^ascii:]]+) ABcd01Xy__-- ${nulnul}${ffff} y $1 ${ffff}
2a79fb66 679([:[:^ascii:]]+) ABcd01Xy__-- ${nulnul}${ffff} y $1 ${ffff} RT #120799
b8c5462f
JH
680([[:^cntrl:]]+) ABcd01Xy__-- ${nulnul}${ffff} y $1 ABcd01Xy__--
681([[:^digit:]]+) ABcd01Xy__-- ${nulnul}${ffff} y $1 ABcd
682([[:^lower:]]+) ABcd01Xy__-- ${nulnul}${ffff} y $1 AB
cfaf538b 683((?a)[[:^print:]]+) ABcd01Xy__-- ${nulnul}${ffff} y $1 ${nulnul}${ffff}
b8c5462f
JH
684([[:^punct:]]+) ABcd01Xy__-- ${nulnul}${ffff} y $1 ABcd01Xy
685([[:^space:]]+) ABcd01Xy__-- ${nulnul}${ffff} y $1 ABcd01Xy__--
cfaf538b 686((?a)[[:^word:]]+) ABcd01Xy__-- ${nulnul}${ffff} y $1 -- ${nulnul}${ffff}
b8c5462f
JH
687([[:^upper:]]+) ABcd01Xy__-- ${nulnul}${ffff} y $1 cd01
688([[:^xdigit:]]+) ABcd01Xy__-- ${nulnul}${ffff} y $1 Xy__-- ${nulnul}${ffff}
24b61696
RK
689[[:foo:]] - c - POSIX class [:foo:] unknown
690[[:^foo:]] - c - POSIX class [:^foo:] unknown
837226c8 691'[[:^cntrl:]]+'u a\x80 y $& a \x80 was matching on EBCDIC platforms
fe44a5e8
IZ
692((?>a+)b) aaab y $1 aaab
693(?>(a+))b aaab y $1 aaa
c277df42 694((?>[^()]+)|\([^()]*\))+ ((abc(ade)ufh()()x y $& abc(ade)ufh()()x
2abbd513 695(?<=x+)y - c - Lookbehind longer than 255 not implemented
31c15ce5 696((def){37,17})?ABC ABC y $& ABC
cf93c79d
IZ
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
b85d18e9 715a\Z a\nb\n n - -
cf93c79d
IZ
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
a1917ab9 724'a\Z'm a\nb\n n - -
cf93c79d
IZ
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
a1917ab9 742'aa\Z'm aa\nb\n n - -
cf93c79d
IZ
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
a1917ab9 796'ab\Z'm ab\nb\n n - -
cf93c79d
IZ
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
a1917ab9 850'abb\Z'm abb\nb\n n - -
cf93c79d
IZ
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 - -
fad493ef 895'\Aa$'m a\n\n y $& a
8e680dc3 896(^|x)(c) ca y $2 c
aca2d497 897a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz x n - -
94c1d7aa 898a(?{$a=2;$b=3;($b)=$a})b yabz y $b 2
9fe1d20c 899round\(((?>[^()]+))\) _I(round(xs * sz),1) y $1 xs * sz
ce3e6498
HS
900'((?x:.) )' x y $1- x -
901'((?-x:.) )'x x y $1- x-
adac82c7 902foo.bart foo.bart y - -
2c2d71f5
JH
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 - -
073b366a
KW
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
30382c73 935\GX.*X aaaXbX n - -
6eb5f6b9
JH
936(\d+\.\d+) 3.1415926 y $1 3.1415926
937(\ba.{0,10}br) have a web browser y $1 a web br
66e933ab
GS
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
653099ff 941^([a-z]:) C:/ n - -
60e71179 942'^\S\s+aa$'m \nx aa y - -
de0c8cb8 943(^|a)b ab y - -
f06a1d4e 944^([ab]*?)(b)?(c)$ abac y -$2- --
29d1e993 945(\w)?(abc)\1b abcab n - -
2a8d9689
HS
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,
4b2cff9a
HS
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,
bf93d4cc 962(?i) y - -
cfaf538b 963(?a:((?u)\w)\W) \xC0\xC0 y $& \xC0\xC0
c2a73568 964'(?!\A)x'm a\nxb\n y - -
c1d44abf
JH
965^(a(b)?)+$ aba y -$1-$2- -a--
966^(aa(bb)?)+$ aabbaa y -$1-$2- -aa--
0e41cd87 967'^.{9}abc.*\n'm 123\nabcabcabcabc\n y - -
66417f84
HS
968^(a)?a$ a y -$1- --
969^(a)?(?(1)a|b)+$ a n - -
cb434fcc
IZ
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 - -
e1901655
IZ
974^(b+?|a){1,2}c bbbac y $1 a
975^(b+?|a){1,2}c bbbbac y $1 a
2e36c929 976\((\w\. \w+)\) cd. (A. Tw) y -$1- -A. Tw-
f49d4d0f
HS
977((?:aaaa|bbbb)cccc)? aaaacccc y - -
978((?:aaaa|bbbb)cccc)? bbbbcccc y - -
36670241
JH
979(a)?(a)+ a y $1:$2 :a -
980(ab)?(ab)+ ab y $1:$2 :ab -
981(abc)?(abc)+ abc y $1:$2 :abc -
12d33761 982'b\s^'m a\nb\n n - -
ee0b7718 983\ba a y - -
ee95e30c
FC
984^(a(??{"(?!)"})|(a)(?{1}))b ab y $2 a # [ID 20010811.006 (#7512)]
985ab(?i)cd AbCd n - - # [ID 20010809.023 (#7503)]
055bb491 986ab(?i)cd abCd y - -
f31a99c8
HS
987(A|B)*(?(1)(CD)|(CD)) CD y $2-$3 -CD
988(A|B)*(?(1)(CD)|(CD)) ABCD y $2-$3 CD-
ee95e30c 989(A|B)*?(?(1)(CD)|(CD)) CD y $2-$3 -CD # [ID 20010803.016 (#7438)]
f31a99c8 990(A|B)*?(?(1)(CD)|(CD)) ABCD y $2-$3 CD-
f65d3ee7 991'^(o)(?!.*\1)'i Oo n - -
24ba5a3c 992(.*)\d+\1 abc12bc y $1 bc
1ac24cf0 993(?m:(foo\s*$)) foo\n bar y $1 foo
a84d97b6
HS
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
d3aea5f7 10282(]*)?$\1 2 y $& 2
61525e55 1029(??{}) x y - -
ecc99935 1030a(b)?? abc y <$1> <> # undef [perl #16773]
c152dc43 1031(\d{1,3}\.){3,} 128.134.142.8 y <$1> <142.> # [perl #18019]
b0e70d55
HS
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
c2b0868c 1048.*a(?!(b|cd)*e).*f ......abef n - - # [perl #23030]
0f7276ab
KW
1049x(?# - c - Sequence (?#... not terminated
1050:x(?#: - c - Sequence (?#... not terminated
a3621e74
YO
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 - -
3dab1dad 1061(a|aa|aaa||aaaa|aaaaa|aaaaaa)(b|c) aaaaaaaaaaaaaaab y $1$2 aaaaaab
61525e55
NC
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 - -
3ab3c9b4
HS
1064^(a*?)(?!(aa|aaaa)*$) aaaaaaaaaaaaaaaaaaaa y $1 a # [perl #34195]
1065^(a*?)(?!(aa|aaaa)*$)(?=a\z) aaaaaaaa y $1 aaaaaaa
c315bfe8 1066^(.)\s+.$(?(1)) A B y $1 A # [perl #37688]
3a2830be
A
1067(?:r?)*?r|(.{2,4}) abcde y $1 abcd
1068(?!)+?|(.{2,4}) abcde y $1 abcd
7409bbd3 1069^(a*?)(?!(a{6}|a{5})*$) aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa y $+[1] 12 # super-linear cache bug may return 18
dad79028
DM
1070^((?>(?:aa)?b)?) aab y $1 aab
1071^((?:aa)*)(?:X+((?:\d+|-)(?:X+(.+))?))?$ aaaaX5 y $1 aaaa
3dab1dad
YO
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
40a82448 1074^([a]{1})*$ aa y $1 a
3298f257
DM
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 - -
786e8c11
YO
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:
1de06328
YO
1093(?=foo) foo y pos 0
1094(?=foo) XfooY y pos 1
1095.*(?=foo) XfooY y pos 1
06ab3c15 1096(?=.*P)P aP y pos 2
1de06328
YO
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
61525e55
NC
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
6bda09f9
YO
1120^(<(?:[^<>]+|(?3)|(?1))*>)()(!>!>!>)$ <<!>!>!>><>>!>!>!> y $1 <<!>!>!>><>>
1121^(<(?:[^<>]+|(?1))*>)$ <<><<<><>>>> y $1 <<><<<><>>>>
1122((?2)*)([fF]o+) fooFoFoo y $1-$2 fooFo-Foo
1123(<(?:[^<>]+|(?R))*>) <<><<<><>>>> y $1 <<><<<><>>>>
81714fb9 1124(?<n>foo|bar|baz) snofooewa y $1 foo
cb6fa888
NC
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
1f1031fe 1130(?P<n>foo|bar|baz) snofooewa y $1 foo
cb6fa888
NC
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
0f7276ab
KW
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
8a6d8ec6 1138(?PX<n>foo|bar|baz) - c - Sequence (?PX...) not recognized
81714fb9 1139/(?'n'foo|bar|baz)/ snofooewa y $1 foo
cb6fa888
NC
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
81714fb9 1145/(?'n'foo)\k<n>/ ..foofoo.. y $1 foo
cb6fa888 1146/(?'n'foo)\k<n>/ ..foofoo.. yM $+{n} foo miniperl cannot load Tie::Hash::NamedCapture
81714fb9 1147/(?<n>foo)\k'n'/ ..foofoo.. y $1 foo
cb6fa888
NC
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
894be9b7 1151/^(?'main'<(?:[^<>]+|(?&main))*>)$/ <<><<<><>>>> y $1 <<><<<><>>>>
cb6fa888
NC
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
0a4db386
YO
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
8a78f117
DM
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
0a4db386
YO
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
efcc8bfd
FC
1180foo(?0)?bar phoofoofoobarbarbarr y $& foofoobarbar
1181foo(?R)?bar phoofoofoobarbarbarr y $& foofoobarbar
b9b4dddf
YO
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
7f69552c
YO
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
7f69552c 1296a*(?!) aaaab n - -
e2e6a0f1
YO
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
542fa716 1303(a)(?:(?-1)|(?+1))(b) aab y $&-$1-$2 aab-a-b
c74340f9 1304(a)(?:(?-1)|(?+1))(b) abb y $1-$2 a-b
542fa716 1305(a)(?:(?-1)|(?+1))(b) acb n - -
c74340f9 1306
2bf803e2
YO
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
1f1031fe 1312# \k<n> preceded by a literal
99ed40ff 1313/(?'n'foo) \k<n>/ ..foo foo.. y $1 foo
cb6fa888 1314/(?'n'foo) \k<n>/ ..foo foo.. yM $+{n} foo miniperl cannot load Tie::Hash::NamedCapture
99ed40ff 1315/(?<n>foo) \k'n'/ ..foo foo.. y $1 foo
cb6fa888
NC
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
0f7276ab
KW
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
99ed40ff 1347/(?<as>as) (\w+) \k<as> (\w+)/ as easy as pie y $1-$2-$3 as-easy-pie
1b2f32d5
KW
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
1f1031fe
YO
1352
1353# \g{...} with a name as the argument
1354/(?'n'foo) \g{n}/ ..foo foo.. y $1 foo
1b2f32d5 1355/(?'n'foo) \g{ n }/ ..foo foo.. y $1 foo
cb6fa888 1356/(?'n'foo) \g{n}/ ..foo foo.. yM $+{n} foo miniperl cannot load Tie::Hash::NamedCapture
1f1031fe 1357/(?<n>foo) \g{n}/ ..foo foo.. y $1 foo
cb6fa888 1358/(?<n>foo) \g{n}/ ..foo foo.. yM $+{n} foo miniperl cannot load Tie::Hash::NamedCapture
1f1031fe
YO
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
cb6fa888
NC
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
1f1031fe
YO
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
cb6fa888 1368/(?P<n>foo) (?P=n)/ ..foo foo.. yM $+{n} foo miniperl cannot load Tie::Hash::NamedCapture
1f1031fe
YO
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
68ba3a3f
YO
1377(?<bar>ABC)foo bar>ABCfoo y $& ABCfoo
1378
1379(?<=abcd(?<=(aaaabcd))) ..aaaabcd.. y $1 aaaabcd
1380(?=xy(?<=(aaxy))) ..aaxy.. y $1 aaxy
2abbd513 1381(?=xy(?<=(aaxyz?))) ..aaxy.. y $1 aaxy
fae667d5
YO
1382
1383X(\w+)(?=\s)|X(\w+) Xab y [$1-$2] [-ab]
594d7033
YO
1384
1385#check that branch reset works ok.
3bce0506 1386(?|(a)) a y $1-$+-$^N a-a-a
594d7033
YO
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--
cbf4a129 1395(\N)(?|(\N)(\N)x|(\N)d)(\N) abcde y $1-$2-$3-$4-$5- b-c--e--
cb6fa888
NC
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
fd4be6f0
FC
1400# Used to crash, because the last branch was ignored when the parens
1401# were counted:
1402(?|(b)|()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()(a)) a y $& a
ee91d26e 1403
3e901dc0
YO
1404#Bug #41492
1405(?(DEFINE)(?<A>(?&B)+)(?<B>a))(?&A) a y $& a
1406(?(DEFINE)(?<A>(?&B)+)(?<B>a))(?&A) aa y $& aa
61525e55 1407\x{100}?(??{""})xxx xxx y $& xxx
e1d1eefb
YO
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
c50e79de 14280|\R??\n0 \n\n n - - - # GH17746: assertion failure
e1d1eefb
YO
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
5339e136 1450
cbf4a129
RGS
1451.*\z foo\n y -$&- --
1452\N*\z foo\n y -$&- --
1453.*\Z foo\n y -$&- -foo-
1454\N*\Z foo\n y -$&- -foo-
225593e1 1455^(?:(\d)x)?\d$ 1 y ${\(defined($1)?1:0)} 0
60f65011 1456.*?(?:(\w)|(\w))x abx y $1-$2 b-
639081d6
YO
1457
14580{50} 000000000000000000000000000000000000000000000000000 y - -
906cdd2b
HS
1459^a?(?=b)b ab y $& ab # Bug #56690
1460^a*(?=b)b ab y $& ab # Bug #56690
2811b836
B
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
44d268c3
NC
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
aff3edb5
YO
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 - -
24d786f4 1474/\N{U+0100}/ \x{100} y $& \x{100} # Bug #59328
1b2f32d5 1475/\N{ U+0100 }/ \x{100} y $& \x{100} # Bug #59328
ff3f963a 1476/[a\N{U+0100}]/ \x{100} y $& \x{100}
1b2f32d5 1477/[a\N{ U+0100 }]/ \x{100} y $& \x{100}
ff3f963a
KW
1478/[a\N{U+0100}]/ a y $& a
1479
850b7ec9 1480# Verify that \N{U+...} forces Unicode rules
ff3f963a 1481/\N{U+41}\x{c1}/i a\x{e1} y $& a\x{e1}
945961fd 1482'\N{U+41}\x{c1}'i a\x{e1} y $& a\x{e1}
ff3f963a 1483/[\N{U+41}\x{c1}]/i \x{e1} y $& \x{e1}
945961fd 1484'[\N{U+41}\x{c1}]'i \x{e1} y $& \x{e1}
b6d67071 1485'\N{U+41}' A y $& A # Even for single quoted patterns
ff3f963a 1486
11454c59 1487[\s][\S] \x{a0}\x{a0} n - - # Unicode complements should not match same character
3cf20fa2
KW
1488
1489# was generating malformed utf8
1490'[\x{100}\xff]'i \x{ff} y $& \x{ff}
e120390b
B
1491
1492((??{ "(?:|)" }))\s C\x20 y - -
40863337 1493
ff3f963a
KW
1494# Verify that \ escapes the { after \N, and causes \N to match non-newline
1495abc\N\{U+BEEF} abc\n{UBEEF} n
92e8e650
KW
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
ff3f963a
KW
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,
c3c41406 1504# and bypasses the lexer.
ff3f963a 1505/\N{U+}/ - c - Invalid hexadecimal number
f065e1e6 1506/[\N{U+}]/ - c - Invalid hexadecimal number
ff3f963a 1507/abc\N{def/ - c - Missing right brace
4cbd7e22 1508/\N{U+4AG3}/ - c - Invalid hexadecimal number
f065e1e6 1509/[\N{U+4AG3}]/ - c - Invalid hexadecimal number
c3c41406
KW
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
b9c48b5b 1515\N{U+4AG3} - c - Invalid hexadecimal number
c3c41406 1516[\N{U+4AG3}] - c - Invalid hexadecimal number
945961fd 1517abc\N{def} - c - Unknown charname 'def' in regex
ff4e2b11
DIM
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{}
c3c41406
KW
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
ff3f963a 1525
4cbd7e22
FC
1526# Verifies catches hex errors
1527/\N{U+0xBEEF}/ - c - Invalid hexadecimal number
945961fd 1528\N{U+0xBEEF} - c - Invalid hexadecimal number
4cbd7e22
FC
1529# Used to be an error, but not any more:
1530/\N{U+BEEF.BEAD}/ - c -
ff3f963a 1531
c3c41406
KW
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.
b9c48b5b 1534\N{U+0xBEEF} - c - Invalid hexadecimal number
b41acb1e
KW
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
fa1639c5
KW
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}
f0a2b745
KW
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}
fa1639c5 1567
726ee55d 1568# The below were inserting a NULL
f1e1b256
YO
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
726ee55d 1572
0c2990d6
DM
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
1b2f32d5 1589(.)\g{ 2147483648 } x c - Reference to nonexistent group in regex
0c2990d6
DM
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
b41acb1e
KW
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
0c2990d6 1614
c99e91e9 1615# The below was inserting a NULL into the character class.
073b366a
KW
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
c99e91e9
KW
1620
1621# Verify that reads 1-3 octal digits, and that \_ works in char class
073b366a
KW
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
c99e91e9
KW
1628[\006] \006 y $& \006
1629[\006] 6\000 n - -
1630[\0005] \0005 y $& \000
1631[\0005] 5\000 y $& 5
1632[\_] _ y $& _
1633
779bcb7d
NC
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
20dbff7c 1639(?:(?:)foo|bar|zot|rt78356) foo y $& foo
e40e74fe 1640/\xe0\pL/i \xc0a y $& \xc0a
1411dba4
KW
1641
1642# RT #85528
1643(?{})[\x{100}] \x{100} y $& \x{100}
6241f69e
KW
1644
1645# RT #85964
af302e7f 1646^m?(\S)(.*)\1$ aba y $1 a
6241f69e 1647^m?(\S)(.*)\1$ \tb\t n - -
af302e7f 1648^m?(\s)(.*)\1$ \tb\t y $1 \t
6241f69e 1649^m?(\s)(.*)\1$ aba n - -
af302e7f 1650^m?(\W)(.*)\1$ :b: y $1 :
6241f69e 1651^m?(\W)(.*)\1$ aba n - -
af302e7f 1652^m?(\w)(.*)\1$ aba y $1 a
6241f69e 1653^m?(\w)(.*)\1$ :b: n - -
af302e7f 1654^m?(\D)(.*)\1$ aba y $1 a
6241f69e 1655^m?(\D)(.*)\1$ 5b5 n - -
af302e7f 1656^m?(\d)(.*)\1$ 5b5 y $1 5
6241f69e 1657^m?(\d)(.*)\1$ aba n - -
f6a766d5 1658
ac33c516
KW
1659^_?[^\W_0-9]\w\z \xAA\x{100} y $& \xAA\x{100} [perl #127537]
1660
f6a766d5
KW
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
827f5bb8
KW
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.
073b366a 1671/[^\x{1E9E}]/i \x{DF} Sn - -
1380b51d
DM
1672
1673# RT #96354
1674/^.*\d\H/ X1 n - -
1675/^.*\d\V/ X1 n - -
1676
45376db6
KW
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
fd0f00a9 1682# RT #89774
073b366a 1683/[s\xDF]a/ui ssa Sy $& ssa
9d53c457 1684/[s\xDF]a/ui sa y $& sa
fd0f00a9 1685
e47f2755 1686# RT #99928
1978b668 1687/^\R\x0A$/ \x0D\x0A n - -
e47f2755 1688
7b8a8069 1689/ff/i \x{FB00}\x{FB01} y $& \x{FB00}
7c1b9f38 1690/ff/i \x{FB01}\x{FB00} y $& \x{FB00}
7b8a8069 1691/fi/i \x{FB01}\x{FB00} y $& \x{FB01}
7c1b9f38 1692/fi/i \x{FB00}\x{FB01} y $& \x{FB01}
2866decb
DM
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 - -
e4a2df84
DM
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 - -
7b8a8069 1707
e067297c
KW
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
7a2d0ccc
KW
1713/st/i \x{DF}\x{FB05} y $& \x{FB05}
1714/ssst/i \x{DF}\x{FB05} y $& \x{DF}\x{FB05}
1715
4f03b4b6
KW
1716# [perl #101970]
1717/[[:lower:]]/i \x{100} y $& \x{100}
1718/[[:upper:]]/i \x{101} y $& \x{101}
1719
ed178f65
KW
1720# Was matching 'ss' only and failing the entire match, not seeing the
1721# alternative that would succeed
bb914485
KW
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}
ed178f65 1725
35245af4 1726# /i properties shouldn't match more than the property itself
ea317ccb
KW
1727/[[:ascii:]]/i \N{KELVIN SIGN} n - -
1728
dab0c3e7
KW
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
5d103fec
KW
1734# [perl #110648]
1735[^\p{Alphabetic}] \x{100} n - -
1736
b4069bca
KW
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
4adb7801
FC
1757# [perl #113400]
1758/syntax OK\s+\z/si t/bin/good.pl syntax OK\n y - -
b4069bca 1759
df826430
YO
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
f6033a9d
DM
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
cec72654
DM
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
79646418
DM
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
ec841a27
DM
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
a8d1f4b4
DM
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
190c1910
YO
1825# rt 113770
1826\A(?>\[(?:(?:)(?:R){1}|T|V?|A)\])\z [A] y $& [A]
ac7af3f6
YO
1827# rt 114068
1828/( [^z] $ [^z]+)/xm aa\nbb\ncc\n y $1 a\nbb\ncc\n
d8661376
KW
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
5a279aa0
KW
1836[^\n]+ \nb y $& b
1837[^\n]+ a\n y $& a
1838
0658cdde
KW
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
7a4d6ad6
KW
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
7dff6b46 1848/^(?d:\xdf|_)*_/i \x{17f}\x{17f}_ y $& \x{17f}\x{17f}_
6502e081
DM
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
7dff6b46 1854
565fc1bb
KW
1855^\R{2}$ \r\n\r\n y $& \r\n\r\n
1856
4063ade8
KW
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
d87fc68d 1861# [ perl #114272]
41043df0 1862\Vn \xFFn/ y $& \xFFn
d87fc68d 1863
556081f2 1864# These mostly exercise various paths in the optimizer
b25a1036 1865/(?l:a?\w)/ b y $& b
709d08c2
KW
1866/(?l:a?\D)/ b y $& b
1867^_?[^\S_0-9]\w*\z \t y $& \t
4d68ffa0 1868m?^xy\?$? xy? y $& xy?
709d08c2
KW
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
b25a1036 1876
aed7b151
DM
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
c37d14f9
KW
1881# [perl #118375]
1882/(a|(bc)){0,0}?xyz/ xyz y $& xyz
1883/( a | ( bc ) ) {0,0} ? xyz/x xyz y $& xyz
1884
b75763d6
YO
1885/(a|(bc)){0,0}+xyz/ xyz y $& xyz
1886/( a | ( bc ) ) {0,0} + xyz/x xyz y $& xyz
1887
5c53df94
YO
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
b8f6efdd
YO
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
c30fc27b
DM
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
602afc9b 1915
c5de0829
JK
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
77ebeeba
KW
1922# RT #120041
1923^A*\z y $&
8ee4c05d
KW
1924/\N* /x ab y $& ab # Under /x was ignoring the '*'
1925/\N (?#comment) * /x ab y $& ab # likewise
602afc9b 1926
099ec7dc
YO
1927# RT #120600: Variable length lookbehind is not variable
1928(?<W>a)(?<BB>(?=(?&W))(?<=(?&W)))(?&BB) aa y $& a # test repeated recursive patterns
3c075fea
KW
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
d54614d3
DM
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
d6ef1678 1937^x?abc?de abcde y $& abcde
d54614d3 1938
8c33f579
DM
1939'(?-m:^abc)'m abcde y $& abc
1940'(?-m:^abc)'m x\nabcde n - -
1941
4620cb61 1942# RT #121248 - segfault
4620cb61
DM
1943/^[+]([^(]+)$/mi li n - -
1944
d1b2014a
YO
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
845ab12d
YO
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
4f6684fe
DM
1965
1966\d<(.*?)> a<> n - -
000dfd2d
DM
1967[bcd].{2,3}aaaa XbXaaaaa y - -
1968[bcd].{2,3}aaaa Xb\x{100}aaaaa y - -
7742aa66 1969'\Awibble\z'm wibble y - -
890fbec8 1970/(alias|status)es$/i Statuses y $1 Status # [perl #121778]
f6f22b1f 1971/( (?&solution) | % ) \Z (?(DEFINE) (?<solution>7\%\ solution) )/x 7% solution y $1 7% solution # [perl #122890]
9c6c921b 1972(.)(?{$~=$^N}) \x{100} y $~ \x{100} # [perl #123135]
4f6684fe 1973
7475a24f 1974/[a-z]/i \N{KELVIN SIGN} y $& \N{KELVIN SIGN}
d3c865f7
KW
1975/[A-Z]/ia \N{KELVIN SIGN} y $& \N{KELVIN SIGN}
1976/[A-Z]/iaa \N{KELVIN SIGN} n - -
7475a24f
KW
1977/[A-Z]/i \N{LATIN SMALL LETTER LONG S} y $& \N{LATIN SMALL LETTER LONG S}
1978
88203927
DM
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
9a7bb2f7
KW
1983/(a+){1}+a/ aaa n - - # [perl #125825]
1984
0f8d761c
YO
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 - -
6625d926 1990^((?(?!)xb|ya)z) yaz y $1 yaz # [perl-126222]
0f8d761c 1991
fee50582
YO
1992foo(*ACCEPT:foo) foo y $::REGMARK foo
1993(foo(*ACCEPT:foo)) foo y $::REGMARK foo
1994A(*FAIL:foo)[BC] A n $::REGERROR foo
361446f1 1995
c642c6b2 1996\N(?#comment){SPACE} A c - Missing braces on \\N{}
361446f1 1997ab(?#Comment){2}c abbc y $& abbc
163a633c
KW
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\"
361446f1 2002
5b9ce456
KW
2003(?i - c - Sequence (?... not terminated
2004(?a-x - c - Sequence (?... not terminated
d54288eb
KW
2005.{1}?? - c - Nested quantifiers
2006.{1}?+ - c - Nested quantifiers
80edda0d 2007(?:.||)(?|)000000000@ 000000000@ y $& 000000000@ # [perl #126405]
ec5bd226
DC
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
71a9d105 2010AB\s+\x{100} AB \x{100}X y - -
2814f4b3 2011\b\z0*\x{100} .\x{100} n - - # [perl #129350] crashed in intuit_start
ac2365fd 2012(.*?(a(a)|i(i))n) riiaan y $2-$3-$4-$1 aa-a--riiaan # Jump trie capture buffer issue [perl #129897]
acfafe8c 2013(^(?:(\d)x)?\d$) 1 y [$1-$2] [1-] # make sure that we reset capture buffers properly (from regtry)
d3c48e81 2014(X{2,}[-X]{1,4}){3,}X{2,} XXX-XXX-XXX-- n - - # [perl #130307]
5b9ce456 2015
77c8f263
KW
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
2ce94a86 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
37e6bbd9 2028^Xaaa?Xaa aaa\x{400000} n - - # [perl #132552] for valgrind's benefit
a9448551
KW
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
2b1f9c71 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]
81731f9a 2033^(\d+)*?4X$ 1234X y $1 123 # perl #131648
3ed3004a 2034(?il)\x{100}|\x{100}|\x{FE} \xFE y $& \xFE
b1d21918 2035\A([\x00-\x7F]+)(.*)\z \007\011\012 y $& \007\011\012 # [perl #133311]
d375d3a6 2036(?:(?^:(?{1}))[^0-9]) : y $& : # [perl #133348]
d16485ea
KW
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
46033c99 2039/\1a(b)/ bab n - - # This compiles but fails to match as \1 is not set when parsed
2abbd513 2040/(?iu)(?<=\xdf)hbase/ sshbase y $& hbase
766d6d33 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
04532561 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]
ca902fb8 2043/(?:0)|(?:)(?:[1-9])/ q0 y $& 0 # [https://github.com/Perl/perl5/issues/17372]
4f0ec493
KW
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}
ac3afc4b
YO
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
f4cd5e29
HS
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]
46033c99 2051/0?\xdf\xdf\xdf\xdfs\o{500}|/i \o{600} y $& # [GH #18451]
20420ba9
KW
2052/^a{,2}$/ y # 0 or more
2053/^a{,2}$/ a y $& a
2054/^a{,2}$/ aa y $& aa
2055/^a{,2}$/ aaa n - -
1b2f32d5
KW
2056
2057/.{, 2 }/ a y $& a
2058/[x]{, 2}/ x y $& x
2059/\p{Latin}{ , 2 }/ a y $& a
271c3af7
YO
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)
9e3e2820
HS
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
b80099d9
YO
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
f3ef26eb
YO
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
417178b3
YO
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
2544764b
YO
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
fdfcfebc
YO
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
f2c4c741
YO
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
df743cbf
YO
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
8ec963d3
YO
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
df12890b 2109/ (A (*ACCEPT) | BC){2} D{0,4}/x A y $1 A - # ACCEPT optimizer check
bb5e773d
KW
2110
2111\p{nv=-0} \x{660} y $& \x{660}
2112
602afc9b 2113# Keep these lines at the end of the file
ca902fb8 2114# pat string y/n/etc expr expected-expr skip-reason comment
602afc9b 2115# vim: softtabstop=0 noexpandtab