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