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