1 # This set of tests is not Perl-compatible. It checks on special features 2 # of PCRE2's API, error diagnostics, and the compiled code of some patterns. 3 # It also checks the non-Perl syntax that PCRE2 supports (Python, .NET, 4 # Oniguruma). There are also some tests where PCRE2 and Perl differ, 5 # either because PCRE2 can't be compatible, or there is a possible Perl 6 # bug. 7 8 # NOTE: This is a non-UTF set of tests. When UTF support is needed, use 9 # test 5. 10 11 #forbid_utf 12 #newline_default lf any anycrlf 13 14 # Test binary zeroes in the pattern 15 16 # /a\0B/ where 0 is a binary zero 17 /61 5c 00 62/B,hex 18 ------------------------------------------------------------------ 19 Bra 20 a\x00b 21 Ket 22 End 23 ------------------------------------------------------------------ 24 a\x{0}b 25 0: a\x00b 26 27 # /a0b/ where 0 is a binary zero 28 /61 00 62/B,hex 29 ------------------------------------------------------------------ 30 Bra 31 a\x00b 32 Ket 33 End 34 ------------------------------------------------------------------ 35 a\x{0}b 36 0: a\x00b 37 38 # /(?#B0C)DE/ where 0 is a binary zero 39 /28 3f 23 42 00 43 29 44 45/B,hex 40 ------------------------------------------------------------------ 41 Bra 42 DE 43 Ket 44 End 45 ------------------------------------------------------------------ 46 DE 47 0: DE 48 49 /(a)b|/I 50 Capturing subpattern count = 1 51 May match empty string 52 Subject length lower bound = 0 53 54 /abc/I 55 Capturing subpattern count = 0 56 First code unit = 'a' 57 Last code unit = 'c' 58 Subject length lower bound = 3 59 abc 60 0: abc 61 defabc 62 0: abc 63 abc\=anchored 64 0: abc 65 \= Expect no match 66 defabc\=anchored 67 No match 68 ABC 69 No match 70 71 /^abc/I 72 Capturing subpattern count = 0 73 Compile options: <none> 74 Overall options: anchored 75 Subject length lower bound = 3 76 abc 77 0: abc 78 abc\=anchored 79 0: abc 80 \= Expect no match 81 defabc 82 No match 83 defabc\=anchored 84 No match 85 86 /a+bc/I 87 Capturing subpattern count = 0 88 First code unit = 'a' 89 Last code unit = 'c' 90 Subject length lower bound = 3 91 92 /a*bc/I 93 Capturing subpattern count = 0 94 Starting code units: a b 95 Last code unit = 'c' 96 Subject length lower bound = 2 97 98 /a{3}bc/I 99 Capturing subpattern count = 0 100 First code unit = 'a' 101 Last code unit = 'c' 102 Subject length lower bound = 5 103 104 /(abc|a+z)/I 105 Capturing subpattern count = 1 106 First code unit = 'a' 107 Subject length lower bound = 2 108 109 /^abc$/I 110 Capturing subpattern count = 0 111 Compile options: <none> 112 Overall options: anchored 113 Subject length lower bound = 3 114 abc 115 0: abc 116 \= Expect no match 117 def\nabc 118 No match 119 120 /ab\idef/ 121 Failed: error 103 at offset 3: unrecognized character follows \ 122 123 /(?X)ab\idef/ 124 Failed: error 111 at offset 2: unrecognized character after (? or (?- 125 126 /x{5,4}/ 127 Failed: error 104 at offset 5: numbers out of order in {} quantifier 128 129 /z{65536}/ 130 Failed: error 105 at offset 7: number too big in {} quantifier 131 132 /[abcd/ 133 Failed: error 106 at offset 5: missing terminating ] for character class 134 135 /[\B]/B 136 Failed: error 107 at offset 2: invalid escape sequence in character class 137 138 /[\R]/B 139 Failed: error 107 at offset 2: invalid escape sequence in character class 140 141 /[\X]/B 142 Failed: error 107 at offset 2: invalid escape sequence in character class 143 144 /[z-a]/ 145 Failed: error 108 at offset 3: range out of order in character class 146 147 /^*/ 148 Failed: error 109 at offset 1: quantifier does not follow a repeatable item 149 150 /(abc/ 151 Failed: error 114 at offset 4: missing closing parenthesis 152 153 /(?# abc/ 154 Failed: error 118 at offset 7: missing ) after (?# comment 155 156 /(?z)abc/ 157 Failed: error 111 at offset 2: unrecognized character after (? or (?- 158 159 /.*b/I 160 Capturing subpattern count = 0 161 First code unit at start or follows newline 162 Last code unit = 'b' 163 Subject length lower bound = 1 164 165 /.*?b/I 166 Capturing subpattern count = 0 167 First code unit at start or follows newline 168 Last code unit = 'b' 169 Subject length lower bound = 1 170 171 /cat|dog|elephant/I 172 Capturing subpattern count = 0 173 Starting code units: c d e 174 Subject length lower bound = 3 175 this sentence eventually mentions a cat 176 0: cat 177 this sentences rambles on and on for a while and then reaches elephant 178 0: elephant 179 180 /cat|dog|elephant/I 181 Capturing subpattern count = 0 182 Starting code units: c d e 183 Subject length lower bound = 3 184 this sentence eventually mentions a cat 185 0: cat 186 this sentences rambles on and on for a while and then reaches elephant 187 0: elephant 188 189 /cat|dog|elephant/Ii 190 Capturing subpattern count = 0 191 Options: caseless 192 Starting code units: C D E c d e 193 Subject length lower bound = 3 194 this sentence eventually mentions a CAT cat 195 0: CAT 196 this sentences rambles on and on for a while to elephant ElePhant 197 0: elephant 198 199 /a|[bcd]/I 200 Capturing subpattern count = 0 201 Starting code units: a b c d 202 Subject length lower bound = 1 203 204 /(a|[^\dZ])/I 205 Capturing subpattern count = 1 206 Starting code units: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a 207 \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 208 \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = > 209 ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y [ \ ] ^ _ ` a b c d 210 e f g h i j k l m n o p q r s t u v w x y z { | } ~ \x7f \x80 \x81 \x82 \x83 211 \x84 \x85 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f \x90 \x91 \x92 212 \x93 \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e \x9f \xa0 \xa1 213 \xa2 \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae \xaf \xb0 214 \xb1 \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd \xbe \xbf 215 \xc0 \xc1 \xc2 \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc \xcd \xce 216 \xcf \xd0 \xd1 \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb \xdc \xdd 217 \xde \xdf \xe0 \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb \xec 218 \xed \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb 219 \xfc \xfd \xfe \xff 220 Subject length lower bound = 1 221 222 /(a|b)*[\s]/I 223 Capturing subpattern count = 1 224 Starting code units: \x09 \x0a \x0b \x0c \x0d \x20 a b 225 Subject length lower bound = 1 226 227 /(ab\2)/ 228 Failed: error 115 at offset 4: reference to non-existent subpattern 229 230 /{4,5}abc/ 231 Failed: error 109 at offset 4: quantifier does not follow a repeatable item 232 233 /(a)(b)(c)\2/I 234 Capturing subpattern count = 3 235 Max back reference = 2 236 First code unit = 'a' 237 Last code unit = 'c' 238 Subject length lower bound = 4 239 abcb 240 0: abcb 241 1: a 242 2: b 243 3: c 244 abcb\=ovector=0 245 0: abcb 246 1: a 247 2: b 248 3: c 249 abcb\=ovector=1 250 Matched, but too many substrings 251 0: abcb 252 abcb\=ovector=2 253 Matched, but too many substrings 254 0: abcb 255 1: a 256 abcb\=ovector=3 257 Matched, but too many substrings 258 0: abcb 259 1: a 260 2: b 261 abcb\=ovector=4 262 0: abcb 263 1: a 264 2: b 265 3: c 266 267 /(a)bc|(a)(b)\2/I 268 Capturing subpattern count = 3 269 Max back reference = 2 270 First code unit = 'a' 271 Subject length lower bound = 3 272 abc 273 0: abc 274 1: a 275 abc\=ovector=0 276 0: abc 277 1: a 278 abc\=ovector=1 279 Matched, but too many substrings 280 0: abc 281 abc\=ovector=2 282 0: abc 283 1: a 284 aba 285 0: aba 286 1: <unset> 287 2: a 288 3: b 289 aba\=ovector=0 290 0: aba 291 1: <unset> 292 2: a 293 3: b 294 aba\=ovector=1 295 Matched, but too many substrings 296 0: aba 297 aba\=ovector=2 298 Matched, but too many substrings 299 0: aba 300 1: <unset> 301 aba\=ovector=3 302 Matched, but too many substrings 303 0: aba 304 1: <unset> 305 2: a 306 aba\=ovector=4 307 0: aba 308 1: <unset> 309 2: a 310 3: b 311 312 /abc$/I,dollar_endonly 313 Capturing subpattern count = 0 314 Options: dollar_endonly 315 First code unit = 'a' 316 Last code unit = 'c' 317 Subject length lower bound = 3 318 abc 319 0: abc 320 \= Expect no match 321 abc\n 322 No match 323 abc\ndef 324 No match 325 326 /(a)(b)(c)(d)(e)\6/ 327 Failed: error 115 at offset 16: reference to non-existent subpattern 328 329 /the quick brown fox/I 330 Capturing subpattern count = 0 331 First code unit = 't' 332 Last code unit = 'x' 333 Subject length lower bound = 19 334 the quick brown fox 335 0: the quick brown fox 336 this is a line with the quick brown fox 337 0: the quick brown fox 338 339 /the quick brown fox/I,anchored 340 Capturing subpattern count = 0 341 Options: anchored 342 Subject length lower bound = 19 343 the quick brown fox 344 0: the quick brown fox 345 \= Expect no match 346 this is a line with the quick brown fox 347 No match 348 349 /ab(?z)cd/ 350 Failed: error 111 at offset 4: unrecognized character after (? or (?- 351 352 /^abc|def/I 353 Capturing subpattern count = 0 354 Subject length lower bound = 3 355 abcdef 356 0: abc 357 abcdef\=notbol 358 0: def 359 360 /.*((abc)$|(def))/I 361 Capturing subpattern count = 3 362 First code unit at start or follows newline 363 Subject length lower bound = 3 364 defabc 365 0: defabc 366 1: abc 367 2: abc 368 defabc\=noteol 369 0: def 370 1: def 371 2: <unset> 372 3: def 373 374 /)/ 375 Failed: error 122 at offset 0: unmatched closing parenthesis 376 377 /a[]b/ 378 Failed: error 106 at offset 4: missing terminating ] for character class 379 380 /[^aeiou ]{3,}/I 381 Capturing subpattern count = 0 382 Starting code units: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a 383 \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 384 \x1a \x1b \x1c \x1d \x1e \x1f ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 385 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ 386 \ ] ^ _ ` b c d f g h j k l m n p q r s t v w x y z { | } ~ \x7f \x80 \x81 387 \x82 \x83 \x84 \x85 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f \x90 388 \x91 \x92 \x93 \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e \x9f 389 \xa0 \xa1 \xa2 \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae 390 \xaf \xb0 \xb1 \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd 391 \xbe \xbf \xc0 \xc1 \xc2 \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc 392 \xcd \xce \xcf \xd0 \xd1 \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb 393 \xdc \xdd \xde \xdf \xe0 \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea 394 \xeb \xec \xed \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 395 \xfa \xfb \xfc \xfd \xfe \xff 396 Subject length lower bound = 3 397 co-processors, and for 398 0: -pr 399 400 /<.*>/I 401 Capturing subpattern count = 0 402 First code unit = '<' 403 Last code unit = '>' 404 Subject length lower bound = 2 405 abc<def>ghi<klm>nop 406 0: <def>ghi<klm> 407 408 /<.*?>/I 409 Capturing subpattern count = 0 410 First code unit = '<' 411 Last code unit = '>' 412 Subject length lower bound = 2 413 abc<def>ghi<klm>nop 414 0: <def> 415 416 /<.*>/I,ungreedy 417 Capturing subpattern count = 0 418 Options: ungreedy 419 First code unit = '<' 420 Last code unit = '>' 421 Subject length lower bound = 2 422 abc<def>ghi<klm>nop 423 0: <def> 424 425 /(?U)<.*>/I 426 Capturing subpattern count = 0 427 First code unit = '<' 428 Last code unit = '>' 429 Subject length lower bound = 2 430 abc<def>ghi<klm>nop 431 0: <def> 432 433 /<.*?>/I,ungreedy 434 Capturing subpattern count = 0 435 Options: ungreedy 436 First code unit = '<' 437 Last code unit = '>' 438 Subject length lower bound = 2 439 abc<def>ghi<klm>nop 440 0: <def>ghi<klm> 441 442 /={3,}/I,ungreedy 443 Capturing subpattern count = 0 444 Options: ungreedy 445 First code unit = '=' 446 Last code unit = '=' 447 Subject length lower bound = 3 448 abc========def 449 0: === 450 451 /(?U)={3,}?/I 452 Capturing subpattern count = 0 453 First code unit = '=' 454 Last code unit = '=' 455 Subject length lower bound = 3 456 abc========def 457 0: ======== 458 459 /(?<!bar|cattle)foo/I 460 Capturing subpattern count = 0 461 Max lookbehind = 6 462 First code unit = 'f' 463 Last code unit = 'o' 464 Subject length lower bound = 3 465 foo 466 0: foo 467 catfoo 468 0: foo 469 \= Expect no match 470 the barfoo 471 No match 472 and cattlefoo 473 No match 474 475 /(?<=a+)b/ 476 Failed: error 125 at offset 6: lookbehind assertion is not fixed length 477 478 /(?<=aaa|b{0,3})b/ 479 Failed: error 125 at offset 14: lookbehind assertion is not fixed length 480 481 /(?<!(foo)a\1)bar/ 482 Failed: error 125 at offset 12: lookbehind assertion is not fixed length 483 484 /(?i)abc/I 485 Capturing subpattern count = 0 486 First code unit = 'a' (caseless) 487 Last code unit = 'c' (caseless) 488 Subject length lower bound = 3 489 490 /(a|(?m)a)/I 491 Capturing subpattern count = 1 492 First code unit = 'a' 493 Subject length lower bound = 1 494 495 /(?i)^1234/I 496 Capturing subpattern count = 0 497 Compile options: <none> 498 Overall options: anchored 499 Subject length lower bound = 4 500 501 /(^b|(?i)^d)/I 502 Capturing subpattern count = 1 503 Compile options: <none> 504 Overall options: anchored 505 Subject length lower bound = 1 506 507 /(?s).*/I 508 Capturing subpattern count = 0 509 May match empty string 510 Compile options: <none> 511 Overall options: anchored 512 Subject length lower bound = 0 513 514 /[abcd]/I 515 Capturing subpattern count = 0 516 Starting code units: a b c d 517 Subject length lower bound = 1 518 519 /(?i)[abcd]/I 520 Capturing subpattern count = 0 521 Starting code units: A B C D a b c d 522 Subject length lower bound = 1 523 524 /(?m)[xy]|(b|c)/I 525 Capturing subpattern count = 1 526 Starting code units: b c x y 527 Subject length lower bound = 1 528 529 /(^a|^b)/Im 530 Capturing subpattern count = 1 531 Options: multiline 532 First code unit at start or follows newline 533 Subject length lower bound = 1 534 535 /(?i)(^a|^b)/Im 536 Capturing subpattern count = 1 537 Options: multiline 538 First code unit at start or follows newline 539 Subject length lower bound = 1 540 541 /(a)(?(1)a|b|c)/ 542 Failed: error 127 at offset 13: conditional group contains more than two branches 543 544 /(?(?=a)a|b|c)/ 545 Failed: error 127 at offset 12: conditional group contains more than two branches 546 547 /(?(1a)/ 548 Failed: error 114 at offset 6: missing closing parenthesis 549 550 /(?(1a))/ 551 Failed: error 126 at offset 4: malformed number or name after (?( 552 553 /(?(?i))/ 554 Failed: error 128 at offset 3: assertion expected after (?( or (?(?C) 555 556 /(?(abc))/ 557 Failed: error 115 at offset 7: reference to non-existent subpattern 558 559 /(?(?<ab))/ 560 Failed: error 128 at offset 3: assertion expected after (?( or (?(?C) 561 562 /((?s)blah)\s+\1/I 563 Capturing subpattern count = 1 564 Max back reference = 1 565 First code unit = 'b' 566 Last code unit = 'h' 567 Subject length lower bound = 9 568 569 /((?i)blah)\s+\1/I 570 Capturing subpattern count = 1 571 Max back reference = 1 572 First code unit = 'b' (caseless) 573 Last code unit = 'h' (caseless) 574 Subject length lower bound = 9 575 576 /((?i)b)/IB 577 ------------------------------------------------------------------ 578 Bra 579 CBra 1 580 /i b 581 Ket 582 Ket 583 End 584 ------------------------------------------------------------------ 585 Capturing subpattern count = 1 586 First code unit = 'b' (caseless) 587 Subject length lower bound = 1 588 589 /(a*b|(?i:c*(?-i)d))/I 590 Capturing subpattern count = 1 591 Starting code units: C a b c d 592 Subject length lower bound = 1 593 594 /a$/I 595 Capturing subpattern count = 0 596 First code unit = 'a' 597 Subject length lower bound = 1 598 a 599 0: a 600 a\n 601 0: a 602 \= Expect no match 603 a\=noteol 604 No match 605 a\n\=noteol 606 No match 607 608 /a$/Im 609 Capturing subpattern count = 0 610 Options: multiline 611 First code unit = 'a' 612 Subject length lower bound = 1 613 a 614 0: a 615 a\n 616 0: a 617 a\n\=noteol 618 0: a 619 \= Expect no match 620 a\=noteol 621 No match 622 623 /\Aabc/Im 624 Capturing subpattern count = 0 625 Max lookbehind = 1 626 Compile options: multiline 627 Overall options: anchored multiline 628 Subject length lower bound = 3 629 630 /^abc/Im 631 Capturing subpattern count = 0 632 Options: multiline 633 First code unit at start or follows newline 634 Last code unit = 'c' 635 Subject length lower bound = 3 636 637 /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I 638 Capturing subpattern count = 5 639 Compile options: <none> 640 Overall options: anchored 641 Subject length lower bound = 3 642 aaaaabbbbbcccccdef 643 0: aaaaabbbbbcccccdef 644 1: aaaaabbbbbcccccdef 645 2: aaaaa 646 3: b 647 4: bbbbccccc 648 5: def 649 650 /(?<=foo)[ab]/I 651 Capturing subpattern count = 0 652 Max lookbehind = 3 653 Starting code units: a b 654 Subject length lower bound = 1 655 656 /(?<!foo)(alpha|omega)/I 657 Capturing subpattern count = 1 658 Max lookbehind = 3 659 Starting code units: a o 660 Last code unit = 'a' 661 Subject length lower bound = 5 662 663 /(?!alphabet)[ab]/I 664 Capturing subpattern count = 0 665 Starting code units: a b 666 Subject length lower bound = 1 667 668 /(?<=foo\n)^bar/Im 669 Capturing subpattern count = 0 670 Max lookbehind = 4 671 Contains explicit CR or LF match 672 Options: multiline 673 Last code unit = 'r' 674 Subject length lower bound = 3 675 foo\nbarbar 676 0: bar 677 \= Expect no match 678 rhubarb 679 No match 680 barbell 681 No match 682 abc\nbarton 683 No match 684 685 /^(?<=foo\n)bar/Im 686 Capturing subpattern count = 0 687 Max lookbehind = 4 688 Contains explicit CR or LF match 689 Options: multiline 690 First code unit at start or follows newline 691 Last code unit = 'r' 692 Subject length lower bound = 3 693 foo\nbarbar 694 0: bar 695 \= Expect no match 696 rhubarb 697 No match 698 barbell 699 No match 700 abc\nbarton 701 No match 702 703 /(?>^abc)/Im 704 Capturing subpattern count = 0 705 Options: multiline 706 First code unit at start or follows newline 707 Last code unit = 'c' 708 Subject length lower bound = 3 709 abc 710 0: abc 711 def\nabc 712 0: abc 713 \= Expect no match 714 defabc 715 No match 716 717 /(?<=ab(c+)d)ef/ 718 Failed: error 125 at offset 11: lookbehind assertion is not fixed length 719 720 /(?<=ab(?<=c+)d)ef/ 721 Failed: error 125 at offset 12: lookbehind assertion is not fixed length 722 723 /(?<=ab(c|de)f)g/ 724 Failed: error 125 at offset 13: lookbehind assertion is not fixed length 725 726 /The next three are in testinput2 because they have variable length branches/ 727 728 /(?<=bullock|donkey)-cart/I 729 Capturing subpattern count = 0 730 Max lookbehind = 7 731 First code unit = '-' 732 Last code unit = 't' 733 Subject length lower bound = 5 734 the bullock-cart 735 0: -cart 736 a donkey-cart race 737 0: -cart 738 \= Expect no match 739 cart 740 No match 741 horse-and-cart 742 No match 743 744 /(?<=ab(?i)x|y|z)/I 745 Capturing subpattern count = 0 746 Max lookbehind = 3 747 May match empty string 748 Subject length lower bound = 0 749 750 /(?>.*)(?<=(abcd)|(xyz))/I 751 Capturing subpattern count = 2 752 Max lookbehind = 4 753 May match empty string 754 Subject length lower bound = 0 755 alphabetabcd 756 0: alphabetabcd 757 1: abcd 758 endingxyz 759 0: endingxyz 760 1: <unset> 761 2: xyz 762 763 /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/I 764 Capturing subpattern count = 0 765 Max lookbehind = 4 766 First code unit = 'Z' 767 Last code unit = 'Z' 768 Subject length lower bound = 2 769 abxyZZ 770 0: ZZ 771 abXyZZ 772 0: ZZ 773 ZZZ 774 0: ZZ 775 zZZ 776 0: ZZ 777 bZZ 778 0: ZZ 779 BZZ 780 0: ZZ 781 \= Expect no match 782 ZZ 783 No match 784 abXYZZ 785 No match 786 zzz 787 No match 788 bzz 789 No match 790 791 /(?<!(foo)a)bar/I 792 Capturing subpattern count = 1 793 Max lookbehind = 4 794 First code unit = 'b' 795 Last code unit = 'r' 796 Subject length lower bound = 3 797 bar 798 0: bar 799 foobbar 800 0: bar 801 \= Expect no match 802 fooabar 803 No match 804 805 # This one is here because Perl behaves differently; see also the following. 806 807 /^(a\1?){4}$/I 808 Capturing subpattern count = 1 809 Max back reference = 1 810 Compile options: <none> 811 Overall options: anchored 812 Subject length lower bound = 4 813 \= Expect no match 814 aaaa 815 No match 816 aaaaaa 817 No match 818 819 # Perl does not fail these two for the final subjects. Neither did PCRE until 820 # release 8.01. The problem is in backtracking into a subpattern that contains 821 # a recursive reference to itself. PCRE has now made these into atomic patterns. 822 823 /^(xa|=?\1a){2}$/ 824 xa=xaa 825 0: xa=xaa 826 1: =xaa 827 \= Expect no match 828 xa=xaaa 829 No match 830 831 /^(xa|=?\1a)+$/ 832 xa=xaa 833 0: xa=xaa 834 1: =xaa 835 \= Expect no match 836 xa=xaaa 837 No match 838 839 # These are syntax tests from Perl 5.005 840 841 /a[b-a]/ 842 Failed: error 108 at offset 4: range out of order in character class 843 844 /a[]b/ 845 Failed: error 106 at offset 4: missing terminating ] for character class 846 847 /a[/ 848 Failed: error 106 at offset 2: missing terminating ] for character class 849 850 /*a/ 851 Failed: error 109 at offset 0: quantifier does not follow a repeatable item 852 853 /(*)b/ 854 Failed: error 109 at offset 1: quantifier does not follow a repeatable item 855 856 /abc)/ 857 Failed: error 122 at offset 3: unmatched closing parenthesis 858 859 /(abc/ 860 Failed: error 114 at offset 4: missing closing parenthesis 861 862 /a**/ 863 Failed: error 109 at offset 2: quantifier does not follow a repeatable item 864 865 /)(/ 866 Failed: error 122 at offset 0: unmatched closing parenthesis 867 868 /\1/ 869 Failed: error 115 at offset 1: reference to non-existent subpattern 870 871 /\2/ 872 Failed: error 115 at offset 1: reference to non-existent subpattern 873 874 /(a)|\2/ 875 Failed: error 115 at offset 5: reference to non-existent subpattern 876 877 /a[b-a]/Ii 878 Failed: error 108 at offset 4: range out of order in character class 879 880 /a[]b/Ii 881 Failed: error 106 at offset 4: missing terminating ] for character class 882 883 /a[/Ii 884 Failed: error 106 at offset 2: missing terminating ] for character class 885 886 /*a/Ii 887 Failed: error 109 at offset 0: quantifier does not follow a repeatable item 888 889 /(*)b/Ii 890 Failed: error 109 at offset 1: quantifier does not follow a repeatable item 891 892 /abc)/Ii 893 Failed: error 122 at offset 3: unmatched closing parenthesis 894 895 /(abc/Ii 896 Failed: error 114 at offset 4: missing closing parenthesis 897 898 /a**/Ii 899 Failed: error 109 at offset 2: quantifier does not follow a repeatable item 900 901 /)(/Ii 902 Failed: error 122 at offset 0: unmatched closing parenthesis 903 904 /:(?:/ 905 Failed: error 114 at offset 4: missing closing parenthesis 906 907 /(?<%)b/ 908 Failed: error 124 at offset 3: letter or underscore expected after (?< or (?' 909 910 /a(?{)b/ 911 Failed: error 111 at offset 3: unrecognized character after (? or (?- 912 913 /a(?{{})b/ 914 Failed: error 111 at offset 3: unrecognized character after (? or (?- 915 916 /a(?{}})b/ 917 Failed: error 111 at offset 3: unrecognized character after (? or (?- 918 919 /a(?{"{"})b/ 920 Failed: error 111 at offset 3: unrecognized character after (? or (?- 921 922 /a(?{"{"}})b/ 923 Failed: error 111 at offset 3: unrecognized character after (? or (?- 924 925 /(?(1?)a|b)/ 926 Failed: error 126 at offset 4: malformed number or name after (?( 927 928 /[a[:xyz:/ 929 Failed: error 106 at offset 8: missing terminating ] for character class 930 931 /(?<=x+)y/ 932 Failed: error 125 at offset 6: lookbehind assertion is not fixed length 933 934 /a{37,17}/ 935 Failed: error 104 at offset 7: numbers out of order in {} quantifier 936 937 /abc/\ 938 Failed: error 101 at offset 3: \ at end of pattern 939 940 /abc/\i 941 Failed: error 101 at offset 3: \ at end of pattern 942 943 /(a)bc(d)/I 944 Capturing subpattern count = 2 945 First code unit = 'a' 946 Last code unit = 'd' 947 Subject length lower bound = 4 948 abcd 949 0: abcd 950 1: a 951 2: d 952 abcd\=copy=2 953 0: abcd 954 1: a 955 2: d 956 2C d (1) 957 abcd\=copy=5 958 0: abcd 959 1: a 960 2: d 961 Copy substring 5 failed (-49): unknown substring 962 963 /(.{20})/I 964 Capturing subpattern count = 1 965 Subject length lower bound = 20 966 abcdefghijklmnopqrstuvwxyz 967 0: abcdefghijklmnopqrst 968 1: abcdefghijklmnopqrst 969 abcdefghijklmnopqrstuvwxyz\=copy=1 970 0: abcdefghijklmnopqrst 971 1: abcdefghijklmnopqrst 972 1C abcdefghijklmnopqrst (20) 973 abcdefghijklmnopqrstuvwxyz\=get=1 974 0: abcdefghijklmnopqrst 975 1: abcdefghijklmnopqrst 976 1G abcdefghijklmnopqrst (20) 977 978 /(.{15})/I 979 Capturing subpattern count = 1 980 Subject length lower bound = 15 981 abcdefghijklmnopqrstuvwxyz 982 0: abcdefghijklmno 983 1: abcdefghijklmno 984 abcdefghijklmnopqrstuvwxyz\=copy=1,get=1 985 0: abcdefghijklmno 986 1: abcdefghijklmno 987 1C abcdefghijklmno (15) 988 1G abcdefghijklmno (15) 989 990 /(.{16})/I 991 Capturing subpattern count = 1 992 Subject length lower bound = 16 993 abcdefghijklmnopqrstuvwxyz 994 0: abcdefghijklmnop 995 1: abcdefghijklmnop 996 abcdefghijklmnopqrstuvwxyz\=copy=1,get=1,getall 997 0: abcdefghijklmnop 998 1: abcdefghijklmnop 999 1C abcdefghijklmnop (16) 1000 1G abcdefghijklmnop (16) 1001 0L abcdefghijklmnop 1002 1L abcdefghijklmnop 1003 1004 /^(a|(bc))de(f)/I 1005 Capturing subpattern count = 3 1006 Compile options: <none> 1007 Overall options: anchored 1008 Subject length lower bound = 4 1009 adef\=get=1,get=2,get=3,get=4,getall 1010 0: adef 1011 1: a 1012 2: <unset> 1013 3: f 1014 1G a (1) 1015 Get substring 2 failed (-55): requested value is not set 1016 3G f (1) 1017 Get substring 4 failed (-49): unknown substring 1018 0L adef 1019 1L a 1020 2L 1021 3L f 1022 bcdef\=get=1,get=2,get=3,get=4,getall 1023 0: bcdef 1024 1: bc 1025 2: bc 1026 3: f 1027 1G bc (2) 1028 2G bc (2) 1029 3G f (1) 1030 Get substring 4 failed (-49): unknown substring 1031 0L bcdef 1032 1L bc 1033 2L bc 1034 3L f 1035 adefghijk\=copy=0 1036 0: adef 1037 1: a 1038 2: <unset> 1039 3: f 1040 0C adef (4) 1041 1042 /^abc\00def/I 1043 Capturing subpattern count = 0 1044 Compile options: <none> 1045 Overall options: anchored 1046 Subject length lower bound = 7 1047 abc\00def\=copy=0,getall 1048 0: abc\x00def 1049 0C abc\x00def (7) 1050 0L abc\x00def 1051 1052 /word ((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ 1053 )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ 1054 )?)?)?)?)?)?)?)?)?otherword/I 1055 Capturing subpattern count = 8 1056 Contains explicit CR or LF match 1057 First code unit = 'w' 1058 Last code unit = 'd' 1059 Subject length lower bound = 14 1060 1061 /.*X/IB 1062 ------------------------------------------------------------------ 1063 Bra 1064 Any* 1065 X 1066 Ket 1067 End 1068 ------------------------------------------------------------------ 1069 Capturing subpattern count = 0 1070 First code unit at start or follows newline 1071 Last code unit = 'X' 1072 Subject length lower bound = 1 1073 1074 /.*X/IBs 1075 ------------------------------------------------------------------ 1076 Bra 1077 AllAny* 1078 X 1079 Ket 1080 End 1081 ------------------------------------------------------------------ 1082 Capturing subpattern count = 0 1083 Compile options: dotall 1084 Overall options: anchored dotall 1085 Last code unit = 'X' 1086 Subject length lower bound = 1 1087 1088 /(.*X|^B)/IB 1089 ------------------------------------------------------------------ 1090 Bra 1091 CBra 1 1092 Any* 1093 X 1094 Alt 1095 ^ 1096 B 1097 Ket 1098 Ket 1099 End 1100 ------------------------------------------------------------------ 1101 Capturing subpattern count = 1 1102 First code unit at start or follows newline 1103 Subject length lower bound = 1 1104 1105 /(.*X|^B)/IBs 1106 ------------------------------------------------------------------ 1107 Bra 1108 CBra 1 1109 AllAny* 1110 X 1111 Alt 1112 ^ 1113 B 1114 Ket 1115 Ket 1116 End 1117 ------------------------------------------------------------------ 1118 Capturing subpattern count = 1 1119 Compile options: dotall 1120 Overall options: anchored dotall 1121 Subject length lower bound = 1 1122 1123 /(?s)(.*X|^B)/IB 1124 ------------------------------------------------------------------ 1125 Bra 1126 CBra 1 1127 AllAny* 1128 X 1129 Alt 1130 ^ 1131 B 1132 Ket 1133 Ket 1134 End 1135 ------------------------------------------------------------------ 1136 Capturing subpattern count = 1 1137 Compile options: <none> 1138 Overall options: anchored 1139 Subject length lower bound = 1 1140 1141 /(?s:.*X|^B)/IB 1142 ------------------------------------------------------------------ 1143 Bra 1144 Bra 1145 AllAny* 1146 X 1147 Alt 1148 ^ 1149 B 1150 Ket 1151 Ket 1152 End 1153 ------------------------------------------------------------------ 1154 Capturing subpattern count = 0 1155 Compile options: <none> 1156 Overall options: anchored 1157 Subject length lower bound = 1 1158 1159 /\Biss\B/I,aftertext 1160 Capturing subpattern count = 0 1161 Max lookbehind = 1 1162 First code unit = 'i' 1163 Last code unit = 's' 1164 Subject length lower bound = 3 1165 Mississippi 1166 0: iss 1167 0+ issippi 1168 1169 /iss/I,aftertext,altglobal 1170 Capturing subpattern count = 0 1171 First code unit = 'i' 1172 Last code unit = 's' 1173 Subject length lower bound = 3 1174 Mississippi 1175 0: iss 1176 0+ issippi 1177 0: iss 1178 0+ ippi 1179 1180 /\Biss\B/I,aftertext,altglobal 1181 Capturing subpattern count = 0 1182 Max lookbehind = 1 1183 First code unit = 'i' 1184 Last code unit = 's' 1185 Subject length lower bound = 3 1186 Mississippi 1187 0: iss 1188 0+ issippi 1189 1190 /\Biss\B/Ig,aftertext 1191 Capturing subpattern count = 0 1192 Max lookbehind = 1 1193 First code unit = 'i' 1194 Last code unit = 's' 1195 Subject length lower bound = 3 1196 Mississippi 1197 0: iss 1198 0+ issippi 1199 0: iss 1200 0+ ippi 1201 \= Expect no match 1202 Mississippi\=anchored 1203 No match 1204 1205 /(?<=[Ms])iss/Ig,aftertext 1206 Capturing subpattern count = 0 1207 Max lookbehind = 1 1208 First code unit = 'i' 1209 Last code unit = 's' 1210 Subject length lower bound = 3 1211 Mississippi 1212 0: iss 1213 0+ issippi 1214 0: iss 1215 0+ ippi 1216 1217 /(?<=[Ms])iss/I,aftertext,altglobal 1218 Capturing subpattern count = 0 1219 Max lookbehind = 1 1220 First code unit = 'i' 1221 Last code unit = 's' 1222 Subject length lower bound = 3 1223 Mississippi 1224 0: iss 1225 0+ issippi 1226 1227 /^iss/Ig,aftertext 1228 Capturing subpattern count = 0 1229 Compile options: <none> 1230 Overall options: anchored 1231 Subject length lower bound = 3 1232 ississippi 1233 0: iss 1234 0+ issippi 1235 1236 /.*iss/Ig,aftertext 1237 Capturing subpattern count = 0 1238 First code unit at start or follows newline 1239 Last code unit = 's' 1240 Subject length lower bound = 3 1241 abciss\nxyzisspqr 1242 0: abciss 1243 0+ \x0axyzisspqr 1244 0: xyziss 1245 0+ pqr 1246 1247 /.i./Ig,aftertext 1248 Capturing subpattern count = 0 1249 Last code unit = 'i' 1250 Subject length lower bound = 3 1251 Mississippi 1252 0: Mis 1253 0+ sissippi 1254 0: sis 1255 0+ sippi 1256 0: sip 1257 0+ pi 1258 Mississippi\=anchored 1259 0: Mis 1260 0+ sissippi 1261 0: sis 1262 0+ sippi 1263 0: sip 1264 0+ pi 1265 Missouri river 1266 0: Mis 1267 0+ souri river 1268 0: ri 1269 0+ river 1270 0: riv 1271 0+ er 1272 Missouri river\=anchored 1273 0: Mis 1274 0+ souri river 1275 1276 /^.is/Ig,aftertext 1277 Capturing subpattern count = 0 1278 Compile options: <none> 1279 Overall options: anchored 1280 Subject length lower bound = 3 1281 Mississippi 1282 0: Mis 1283 0+ sissippi 1284 1285 /^ab\n/Ig,aftertext 1286 Capturing subpattern count = 0 1287 Contains explicit CR or LF match 1288 Compile options: <none> 1289 Overall options: anchored 1290 Subject length lower bound = 3 1291 ab\nab\ncd 1292 0: ab\x0a 1293 0+ ab\x0acd 1294 1295 /^ab\n/Igm,aftertext 1296 Capturing subpattern count = 0 1297 Contains explicit CR or LF match 1298 Options: multiline 1299 First code unit at start or follows newline 1300 Last code unit = \x0a 1301 Subject length lower bound = 3 1302 ab\nab\ncd 1303 0: ab\x0a 1304 0+ ab\x0acd 1305 0: ab\x0a 1306 0+ cd 1307 1308 /^/gm,newline=any 1309 a\rb\nc\r\nxyz\=aftertext 1310 0: 1311 0+ a\x0db\x0ac\x0d\x0axyz 1312 0: 1313 0+ b\x0ac\x0d\x0axyz 1314 0: 1315 0+ c\x0d\x0axyz 1316 0: 1317 0+ xyz 1318 1319 /abc/I 1320 Capturing subpattern count = 0 1321 First code unit = 'a' 1322 Last code unit = 'c' 1323 Subject length lower bound = 3 1324 1325 /abc|bac/I 1326 Capturing subpattern count = 0 1327 Starting code units: a b 1328 Last code unit = 'c' 1329 Subject length lower bound = 3 1330 1331 /(abc|bac)/I 1332 Capturing subpattern count = 1 1333 Starting code units: a b 1334 Last code unit = 'c' 1335 Subject length lower bound = 3 1336 1337 /(abc|(c|dc))/I 1338 Capturing subpattern count = 2 1339 Starting code units: a c d 1340 Last code unit = 'c' 1341 Subject length lower bound = 1 1342 1343 /(abc|(d|de)c)/I 1344 Capturing subpattern count = 2 1345 Starting code units: a d 1346 Last code unit = 'c' 1347 Subject length lower bound = 2 1348 1349 /a*/I 1350 Capturing subpattern count = 0 1351 May match empty string 1352 Subject length lower bound = 0 1353 1354 /a+/I 1355 Capturing subpattern count = 0 1356 First code unit = 'a' 1357 Subject length lower bound = 1 1358 1359 /(baa|a+)/I 1360 Capturing subpattern count = 1 1361 Starting code units: a b 1362 Last code unit = 'a' 1363 Subject length lower bound = 1 1364 1365 /a{0,3}/I 1366 Capturing subpattern count = 0 1367 May match empty string 1368 Subject length lower bound = 0 1369 1370 /baa{3,}/I 1371 Capturing subpattern count = 0 1372 First code unit = 'b' 1373 Last code unit = 'a' 1374 Subject length lower bound = 5 1375 1376 /"([^\\"]+|\\.)*"/I 1377 Capturing subpattern count = 1 1378 First code unit = '"' 1379 Last code unit = '"' 1380 Subject length lower bound = 2 1381 1382 /(abc|ab[cd])/I 1383 Capturing subpattern count = 1 1384 First code unit = 'a' 1385 Subject length lower bound = 3 1386 1387 /(a|.)/I 1388 Capturing subpattern count = 1 1389 Subject length lower bound = 1 1390 1391 /a|ba|\w/I 1392 Capturing subpattern count = 0 1393 Starting code units: 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P 1394 Q R S T U V W X Y Z _ a b c d e f g h i j k l m n o p q r s t u v w x y z 1395 Subject length lower bound = 1 1396 1397 /abc(?=pqr)/I 1398 Capturing subpattern count = 0 1399 First code unit = 'a' 1400 Last code unit = 'r' 1401 Subject length lower bound = 3 1402 1403 /...(?<=abc)/I 1404 Capturing subpattern count = 0 1405 Max lookbehind = 3 1406 Subject length lower bound = 3 1407 1408 /abc(?!pqr)/I 1409 Capturing subpattern count = 0 1410 First code unit = 'a' 1411 Last code unit = 'c' 1412 Subject length lower bound = 3 1413 1414 /ab./I 1415 Capturing subpattern count = 0 1416 First code unit = 'a' 1417 Last code unit = 'b' 1418 Subject length lower bound = 3 1419 1420 /ab[xyz]/I 1421 Capturing subpattern count = 0 1422 First code unit = 'a' 1423 Last code unit = 'b' 1424 Subject length lower bound = 3 1425 1426 /abc*/I 1427 Capturing subpattern count = 0 1428 First code unit = 'a' 1429 Last code unit = 'b' 1430 Subject length lower bound = 2 1431 1432 /ab.c*/I 1433 Capturing subpattern count = 0 1434 First code unit = 'a' 1435 Last code unit = 'b' 1436 Subject length lower bound = 3 1437 1438 /a.c*/I 1439 Capturing subpattern count = 0 1440 First code unit = 'a' 1441 Subject length lower bound = 2 1442 1443 /.c*/I 1444 Capturing subpattern count = 0 1445 Subject length lower bound = 1 1446 1447 /ac*/I 1448 Capturing subpattern count = 0 1449 First code unit = 'a' 1450 Subject length lower bound = 1 1451 1452 /(a.c*|b.c*)/I 1453 Capturing subpattern count = 1 1454 Starting code units: a b 1455 Subject length lower bound = 2 1456 1457 /a.c*|aba/I 1458 Capturing subpattern count = 0 1459 First code unit = 'a' 1460 Subject length lower bound = 2 1461 1462 /.+a/I 1463 Capturing subpattern count = 0 1464 Last code unit = 'a' 1465 Subject length lower bound = 2 1466 1467 /(?=abcda)a.*/I 1468 Capturing subpattern count = 0 1469 First code unit = 'a' 1470 Last code unit = 'a' 1471 Subject length lower bound = 1 1472 1473 /(?=a)a.*/I 1474 Capturing subpattern count = 0 1475 First code unit = 'a' 1476 Subject length lower bound = 1 1477 1478 /a(b)*/I 1479 Capturing subpattern count = 1 1480 First code unit = 'a' 1481 Subject length lower bound = 1 1482 1483 /a\d*/I 1484 Capturing subpattern count = 0 1485 First code unit = 'a' 1486 Subject length lower bound = 1 1487 1488 /ab\d*/I 1489 Capturing subpattern count = 0 1490 First code unit = 'a' 1491 Last code unit = 'b' 1492 Subject length lower bound = 2 1493 1494 /a(\d)*/I 1495 Capturing subpattern count = 1 1496 First code unit = 'a' 1497 Subject length lower bound = 1 1498 1499 /abcde{0,0}/I 1500 Capturing subpattern count = 0 1501 First code unit = 'a' 1502 Last code unit = 'd' 1503 Subject length lower bound = 4 1504 1505 /ab\d+/I 1506 Capturing subpattern count = 0 1507 First code unit = 'a' 1508 Last code unit = 'b' 1509 Subject length lower bound = 3 1510 1511 /a(?(1)b)(.)/I 1512 Capturing subpattern count = 1 1513 Max back reference = 1 1514 First code unit = 'a' 1515 Subject length lower bound = 2 1516 1517 /a(?(1)bag|big)(.)/I 1518 Capturing subpattern count = 1 1519 Max back reference = 1 1520 First code unit = 'a' 1521 Last code unit = 'g' 1522 Subject length lower bound = 5 1523 1524 /a(?(1)bag|big)*(.)/I 1525 Capturing subpattern count = 1 1526 Max back reference = 1 1527 First code unit = 'a' 1528 Subject length lower bound = 2 1529 1530 /a(?(1)bag|big)+(.)/I 1531 Capturing subpattern count = 1 1532 Max back reference = 1 1533 First code unit = 'a' 1534 Last code unit = 'g' 1535 Subject length lower bound = 5 1536 1537 /a(?(1)b..|b..)(.)/I 1538 Capturing subpattern count = 1 1539 Max back reference = 1 1540 First code unit = 'a' 1541 Last code unit = 'b' 1542 Subject length lower bound = 5 1543 1544 /ab\d{0}e/I 1545 Capturing subpattern count = 0 1546 First code unit = 'a' 1547 Last code unit = 'e' 1548 Subject length lower bound = 3 1549 1550 /a?b?/I 1551 Capturing subpattern count = 0 1552 May match empty string 1553 Subject length lower bound = 0 1554 a 1555 0: a 1556 b 1557 0: b 1558 ab 1559 0: ab 1560 \ 1561 0: 1562 \= Expect no match 1563 \=notempty 1564 No match 1565 1566 /|-/I 1567 Capturing subpattern count = 0 1568 May match empty string 1569 Subject length lower bound = 0 1570 abcd 1571 0: 1572 -abc 1573 0: 1574 ab-c\=notempty 1575 0: - 1576 \= Expect no match 1577 abc\=notempty 1578 No match 1579 1580 /^.?abcd/I 1581 Capturing subpattern count = 0 1582 Compile options: <none> 1583 Overall options: anchored 1584 Last code unit = 'd' 1585 Subject length lower bound = 4 1586 1587 /\( # ( at start 1588 (?: # Non-capturing bracket 1589 (?>[^()]+) # Either a sequence of non-brackets (no backtracking) 1590 | # Or 1591 (?R) # Recurse - i.e. nested bracketed string 1592 )* # Zero or more contents 1593 \) # Closing ) 1594 /Ix 1595 Capturing subpattern count = 0 1596 Options: extended 1597 First code unit = '(' 1598 Last code unit = ')' 1599 Subject length lower bound = 2 1600 (abcd) 1601 0: (abcd) 1602 (abcd)xyz 1603 0: (abcd) 1604 xyz(abcd) 1605 0: (abcd) 1606 (ab(xy)cd)pqr 1607 0: (ab(xy)cd) 1608 (ab(xycd)pqr 1609 0: (xycd) 1610 () abc () 1611 0: () 1612 12(abcde(fsh)xyz(foo(bar))lmno)89 1613 0: (abcde(fsh)xyz(foo(bar))lmno) 1614 \= Expect no match 1615 abcd 1616 No match 1617 abcd) 1618 No match 1619 (abcd 1620 No match 1621 1622 /\( ( (?>[^()]+) | (?R) )* \) /Igx 1623 Capturing subpattern count = 1 1624 Options: extended 1625 First code unit = '(' 1626 Last code unit = ')' 1627 Subject length lower bound = 2 1628 (ab(xy)cd)pqr 1629 0: (ab(xy)cd) 1630 1: cd 1631 1(abcd)(x(y)z)pqr 1632 0: (abcd) 1633 1: abcd 1634 0: (x(y)z) 1635 1: z 1636 1637 /\( (?: (?>[^()]+) | (?R) ) \) /Ix 1638 Capturing subpattern count = 0 1639 Options: extended 1640 First code unit = '(' 1641 Last code unit = ')' 1642 Subject length lower bound = 3 1643 (abcd) 1644 0: (abcd) 1645 (ab(xy)cd) 1646 0: (xy) 1647 (a(b(c)d)e) 1648 0: (c) 1649 ((ab)) 1650 0: ((ab)) 1651 \= Expect no match 1652 () 1653 No match 1654 1655 /\( (?: (?>[^()]+) | (?R) )? \) /Ix 1656 Capturing subpattern count = 0 1657 Options: extended 1658 First code unit = '(' 1659 Last code unit = ')' 1660 Subject length lower bound = 2 1661 () 1662 0: () 1663 12(abcde(fsh)xyz(foo(bar))lmno)89 1664 0: (fsh) 1665 1666 /\( ( (?>[^()]+) | (?R) )* \) /Ix 1667 Capturing subpattern count = 1 1668 Options: extended 1669 First code unit = '(' 1670 Last code unit = ')' 1671 Subject length lower bound = 2 1672 (ab(xy)cd) 1673 0: (ab(xy)cd) 1674 1: cd 1675 1676 /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix 1677 Capturing subpattern count = 2 1678 Options: extended 1679 First code unit = '(' 1680 Last code unit = ')' 1681 Subject length lower bound = 2 1682 (ab(xy)cd) 1683 0: (ab(xy)cd) 1684 1: ab(xy)cd 1685 2: cd 1686 1687 /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix 1688 Capturing subpattern count = 3 1689 Options: extended 1690 First code unit = '(' 1691 Last code unit = ')' 1692 Subject length lower bound = 2 1693 (ab(xy)cd) 1694 0: (ab(xy)cd) 1695 1: <unset> 1696 2: ab(xy)cd 1697 3: cd 1698 (123ab(xy)cd) 1699 0: (123ab(xy)cd) 1700 1: 123 1701 2: ab(xy)cd 1702 3: cd 1703 1704 /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix 1705 Capturing subpattern count = 3 1706 Options: extended 1707 First code unit = '(' 1708 Last code unit = ')' 1709 Subject length lower bound = 2 1710 (ab(xy)cd) 1711 0: (ab(xy)cd) 1712 1: ab(xy)cd 1713 2: <unset> 1714 3: cd 1715 (123ab(xy)cd) 1716 0: (123ab(xy)cd) 1717 1: 123ab(xy)cd 1718 2: 123 1719 3: cd 1720 1721 /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix 1722 Capturing subpattern count = 11 1723 Options: extended 1724 First code unit = '(' 1725 Last code unit = ')' 1726 Subject length lower bound = 2 1727 (ab(xy)cd) 1728 0: (ab(xy)cd) 1729 1: ab(xy)cd 1730 2: ab(xy)cd 1731 3: ab(xy)cd 1732 4: ab(xy)cd 1733 5: ab(xy)cd 1734 6: ab(xy)cd 1735 7: ab(xy)cd 1736 8: ab(xy)cd 1737 9: ab(xy)cd 1738 10: ab(xy)cd 1739 11: cd 1740 1741 /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix 1742 Capturing subpattern count = 3 1743 Options: extended 1744 First code unit = '(' 1745 Last code unit = ')' 1746 Subject length lower bound = 2 1747 (abcd(xyz<p>qrs)123) 1748 0: (abcd(xyz<p>qrs)123) 1749 1: abcd(xyz<p>qrs)123 1750 2: 123 1751 1752 /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix 1753 Capturing subpattern count = 3 1754 Options: extended 1755 First code unit = '(' 1756 Last code unit = ')' 1757 Subject length lower bound = 2 1758 (ab(cd)ef) 1759 0: (ab(cd)ef) 1760 1: ab(cd)ef 1761 2: ef 1762 3: (cd) 1763 (ab(cd(ef)gh)ij) 1764 0: (ab(cd(ef)gh)ij) 1765 1: ab(cd(ef)gh)ij 1766 2: ij 1767 3: (cd(ef)gh) 1768 1769 /^[[:alnum:]]/IB 1770 ------------------------------------------------------------------ 1771 Bra 1772 ^ 1773 [0-9A-Za-z] 1774 Ket 1775 End 1776 ------------------------------------------------------------------ 1777 Capturing subpattern count = 0 1778 Compile options: <none> 1779 Overall options: anchored 1780 Subject length lower bound = 1 1781 1782 /^[[:^alnum:]]/IB 1783 ------------------------------------------------------------------ 1784 Bra 1785 ^ 1786 [\x00-/:-@[-`{-\xff] (neg) 1787 Ket 1788 End 1789 ------------------------------------------------------------------ 1790 Capturing subpattern count = 0 1791 Compile options: <none> 1792 Overall options: anchored 1793 Subject length lower bound = 1 1794 1795 /^[[:alpha:]]/IB 1796 ------------------------------------------------------------------ 1797 Bra 1798 ^ 1799 [A-Za-z] 1800 Ket 1801 End 1802 ------------------------------------------------------------------ 1803 Capturing subpattern count = 0 1804 Compile options: <none> 1805 Overall options: anchored 1806 Subject length lower bound = 1 1807 1808 /^[[:^alpha:]]/IB 1809 ------------------------------------------------------------------ 1810 Bra 1811 ^ 1812 [\x00-@[-`{-\xff] (neg) 1813 Ket 1814 End 1815 ------------------------------------------------------------------ 1816 Capturing subpattern count = 0 1817 Compile options: <none> 1818 Overall options: anchored 1819 Subject length lower bound = 1 1820 1821 /[_[:alpha:]]/I 1822 Capturing subpattern count = 0 1823 Starting code units: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 1824 _ a b c d e f g h i j k l m n o p q r s t u v w x y z 1825 Subject length lower bound = 1 1826 1827 /^[[:ascii:]]/IB 1828 ------------------------------------------------------------------ 1829 Bra 1830 ^ 1831 [\x00-\x7f] 1832 Ket 1833 End 1834 ------------------------------------------------------------------ 1835 Capturing subpattern count = 0 1836 Compile options: <none> 1837 Overall options: anchored 1838 Subject length lower bound = 1 1839 1840 /^[[:^ascii:]]/IB 1841 ------------------------------------------------------------------ 1842 Bra 1843 ^ 1844 [\x80-\xff] (neg) 1845 Ket 1846 End 1847 ------------------------------------------------------------------ 1848 Capturing subpattern count = 0 1849 Compile options: <none> 1850 Overall options: anchored 1851 Subject length lower bound = 1 1852 1853 /^[[:blank:]]/IB 1854 ------------------------------------------------------------------ 1855 Bra 1856 ^ 1857 [\x09 ] 1858 Ket 1859 End 1860 ------------------------------------------------------------------ 1861 Capturing subpattern count = 0 1862 Compile options: <none> 1863 Overall options: anchored 1864 Subject length lower bound = 1 1865 1866 /^[[:^blank:]]/IB 1867 ------------------------------------------------------------------ 1868 Bra 1869 ^ 1870 [\x00-\x08\x0a-\x1f!-\xff] (neg) 1871 Ket 1872 End 1873 ------------------------------------------------------------------ 1874 Capturing subpattern count = 0 1875 Compile options: <none> 1876 Overall options: anchored 1877 Subject length lower bound = 1 1878 1879 /[\n\x0b\x0c\x0d[:blank:]]/I 1880 Capturing subpattern count = 0 1881 Contains explicit CR or LF match 1882 Starting code units: \x09 \x0a \x0b \x0c \x0d \x20 1883 Subject length lower bound = 1 1884 1885 /^[[:cntrl:]]/IB 1886 ------------------------------------------------------------------ 1887 Bra 1888 ^ 1889 [\x00-\x1f\x7f] 1890 Ket 1891 End 1892 ------------------------------------------------------------------ 1893 Capturing subpattern count = 0 1894 Compile options: <none> 1895 Overall options: anchored 1896 Subject length lower bound = 1 1897 1898 /^[[:digit:]]/IB 1899 ------------------------------------------------------------------ 1900 Bra 1901 ^ 1902 [0-9] 1903 Ket 1904 End 1905 ------------------------------------------------------------------ 1906 Capturing subpattern count = 0 1907 Compile options: <none> 1908 Overall options: anchored 1909 Subject length lower bound = 1 1910 1911 /^[[:graph:]]/IB 1912 ------------------------------------------------------------------ 1913 Bra 1914 ^ 1915 [!-~] 1916 Ket 1917 End 1918 ------------------------------------------------------------------ 1919 Capturing subpattern count = 0 1920 Compile options: <none> 1921 Overall options: anchored 1922 Subject length lower bound = 1 1923 1924 /^[[:lower:]]/IB 1925 ------------------------------------------------------------------ 1926 Bra 1927 ^ 1928 [a-z] 1929 Ket 1930 End 1931 ------------------------------------------------------------------ 1932 Capturing subpattern count = 0 1933 Compile options: <none> 1934 Overall options: anchored 1935 Subject length lower bound = 1 1936 1937 /^[[:print:]]/IB 1938 ------------------------------------------------------------------ 1939 Bra 1940 ^ 1941 [ -~] 1942 Ket 1943 End 1944 ------------------------------------------------------------------ 1945 Capturing subpattern count = 0 1946 Compile options: <none> 1947 Overall options: anchored 1948 Subject length lower bound = 1 1949 1950 /^[[:punct:]]/IB 1951 ------------------------------------------------------------------ 1952 Bra 1953 ^ 1954 [!-/:-@[-`{-~] 1955 Ket 1956 End 1957 ------------------------------------------------------------------ 1958 Capturing subpattern count = 0 1959 Compile options: <none> 1960 Overall options: anchored 1961 Subject length lower bound = 1 1962 1963 /^[[:space:]]/IB 1964 ------------------------------------------------------------------ 1965 Bra 1966 ^ 1967 [\x09-\x0d ] 1968 Ket 1969 End 1970 ------------------------------------------------------------------ 1971 Capturing subpattern count = 0 1972 Compile options: <none> 1973 Overall options: anchored 1974 Subject length lower bound = 1 1975 1976 /^[[:upper:]]/IB 1977 ------------------------------------------------------------------ 1978 Bra 1979 ^ 1980 [A-Z] 1981 Ket 1982 End 1983 ------------------------------------------------------------------ 1984 Capturing subpattern count = 0 1985 Compile options: <none> 1986 Overall options: anchored 1987 Subject length lower bound = 1 1988 1989 /^[[:xdigit:]]/IB 1990 ------------------------------------------------------------------ 1991 Bra 1992 ^ 1993 [0-9A-Fa-f] 1994 Ket 1995 End 1996 ------------------------------------------------------------------ 1997 Capturing subpattern count = 0 1998 Compile options: <none> 1999 Overall options: anchored 2000 Subject length lower bound = 1 2001 2002 /^[[:word:]]/IB 2003 ------------------------------------------------------------------ 2004 Bra 2005 ^ 2006 [0-9A-Z_a-z] 2007 Ket 2008 End 2009 ------------------------------------------------------------------ 2010 Capturing subpattern count = 0 2011 Compile options: <none> 2012 Overall options: anchored 2013 Subject length lower bound = 1 2014 2015 /^[[:^cntrl:]]/IB 2016 ------------------------------------------------------------------ 2017 Bra 2018 ^ 2019 [ -~\x80-\xff] (neg) 2020 Ket 2021 End 2022 ------------------------------------------------------------------ 2023 Capturing subpattern count = 0 2024 Compile options: <none> 2025 Overall options: anchored 2026 Subject length lower bound = 1 2027 2028 /^[12[:^digit:]]/IB 2029 ------------------------------------------------------------------ 2030 Bra 2031 ^ 2032 [\x00-/12:-\xff] (neg) 2033 Ket 2034 End 2035 ------------------------------------------------------------------ 2036 Capturing subpattern count = 0 2037 Compile options: <none> 2038 Overall options: anchored 2039 Subject length lower bound = 1 2040 2041 /^[[:^blank:]]/IB 2042 ------------------------------------------------------------------ 2043 Bra 2044 ^ 2045 [\x00-\x08\x0a-\x1f!-\xff] (neg) 2046 Ket 2047 End 2048 ------------------------------------------------------------------ 2049 Capturing subpattern count = 0 2050 Compile options: <none> 2051 Overall options: anchored 2052 Subject length lower bound = 1 2053 2054 /[01[:alpha:]%]/IB 2055 ------------------------------------------------------------------ 2056 Bra 2057 [%01A-Za-z] 2058 Ket 2059 End 2060 ------------------------------------------------------------------ 2061 Capturing subpattern count = 0 2062 Starting code units: % 0 1 A B C D E F G H I J K L M N O P Q R S T U V W 2063 X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z 2064 Subject length lower bound = 1 2065 2066 /[[.ch.]]/I 2067 Failed: error 113 at offset 1: POSIX collating elements are not supported 2068 2069 /[[=ch=]]/I 2070 Failed: error 113 at offset 1: POSIX collating elements are not supported 2071 2072 /[[:rhubarb:]]/I 2073 Failed: error 130 at offset 3: unknown POSIX class name 2074 2075 /[[:upper:]]/Ii 2076 Capturing subpattern count = 0 2077 Options: caseless 2078 Starting code units: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 2079 a b c d e f g h i j k l m n o p q r s t u v w x y z 2080 Subject length lower bound = 1 2081 A 2082 0: A 2083 a 2084 0: a 2085 2086 /[[:lower:]]/Ii 2087 Capturing subpattern count = 0 2088 Options: caseless 2089 Starting code units: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 2090 a b c d e f g h i j k l m n o p q r s t u v w x y z 2091 Subject length lower bound = 1 2092 A 2093 0: A 2094 a 2095 0: a 2096 2097 /((?-i)[[:lower:]])[[:lower:]]/Ii 2098 Capturing subpattern count = 1 2099 Options: caseless 2100 Starting code units: a b c d e f g h i j k l m n o p q r s t u v w x y z 2101 Subject length lower bound = 2 2102 ab 2103 0: ab 2104 1: a 2105 aB 2106 0: aB 2107 1: a 2108 \= Expect no match 2109 Ab 2110 No match 2111 AB 2112 No match 2113 2114 /[\200-\110]/I 2115 Failed: error 108 at offset 9: range out of order in character class 2116 2117 /^(?(0)f|b)oo/I 2118 Failed: error 135 at offset 6: invalid condition (?(0) 2119 2120 # This one's here because of the large output vector needed 2121 2122 /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\w+)\s+(\270)/I 2123 Capturing subpattern count = 271 2124 Max back reference = 270 2125 Starting code units: 0 1 2 3 4 5 6 7 8 9 2126 Subject length lower bound = 272 2127 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 ABC ABC\=ovector=300 2128 0: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 ABC ABC 2129 1: 1 2130 2: 2 2131 3: 3 2132 4: 4 2133 5: 5 2134 6: 6 2135 7: 7 2136 8: 8 2137 9: 9 2138 10: 10 2139 11: 11 2140 12: 12 2141 13: 13 2142 14: 14 2143 15: 15 2144 16: 16 2145 17: 17 2146 18: 18 2147 19: 19 2148 20: 20 2149 21: 21 2150 22: 22 2151 23: 23 2152 24: 24 2153 25: 25 2154 26: 26 2155 27: 27 2156 28: 28 2157 29: 29 2158 30: 30 2159 31: 31 2160 32: 32 2161 33: 33 2162 34: 34 2163 35: 35 2164 36: 36 2165 37: 37 2166 38: 38 2167 39: 39 2168 40: 40 2169 41: 41 2170 42: 42 2171 43: 43 2172 44: 44 2173 45: 45 2174 46: 46 2175 47: 47 2176 48: 48 2177 49: 49 2178 50: 50 2179 51: 51 2180 52: 52 2181 53: 53 2182 54: 54 2183 55: 55 2184 56: 56 2185 57: 57 2186 58: 58 2187 59: 59 2188 60: 60 2189 61: 61 2190 62: 62 2191 63: 63 2192 64: 64 2193 65: 65 2194 66: 66 2195 67: 67 2196 68: 68 2197 69: 69 2198 70: 70 2199 71: 71 2200 72: 72 2201 73: 73 2202 74: 74 2203 75: 75 2204 76: 76 2205 77: 77 2206 78: 78 2207 79: 79 2208 80: 80 2209 81: 81 2210 82: 82 2211 83: 83 2212 84: 84 2213 85: 85 2214 86: 86 2215 87: 87 2216 88: 88 2217 89: 89 2218 90: 90 2219 91: 91 2220 92: 92 2221 93: 93 2222 94: 94 2223 95: 95 2224 96: 96 2225 97: 97 2226 98: 98 2227 99: 99 2228 100: 100 2229 101: 101 2230 102: 102 2231 103: 103 2232 104: 104 2233 105: 105 2234 106: 106 2235 107: 107 2236 108: 108 2237 109: 109 2238 110: 110 2239 111: 111 2240 112: 112 2241 113: 113 2242 114: 114 2243 115: 115 2244 116: 116 2245 117: 117 2246 118: 118 2247 119: 119 2248 120: 120 2249 121: 121 2250 122: 122 2251 123: 123 2252 124: 124 2253 125: 125 2254 126: 126 2255 127: 127 2256 128: 128 2257 129: 129 2258 130: 130 2259 131: 131 2260 132: 132 2261 133: 133 2262 134: 134 2263 135: 135 2264 136: 136 2265 137: 137 2266 138: 138 2267 139: 139 2268 140: 140 2269 141: 141 2270 142: 142 2271 143: 143 2272 144: 144 2273 145: 145 2274 146: 146 2275 147: 147 2276 148: 148 2277 149: 149 2278 150: 150 2279 151: 151 2280 152: 152 2281 153: 153 2282 154: 154 2283 155: 155 2284 156: 156 2285 157: 157 2286 158: 158 2287 159: 159 2288 160: 160 2289 161: 161 2290 162: 162 2291 163: 163 2292 164: 164 2293 165: 165 2294 166: 166 2295 167: 167 2296 168: 168 2297 169: 169 2298 170: 170 2299 171: 171 2300 172: 172 2301 173: 173 2302 174: 174 2303 175: 175 2304 176: 176 2305 177: 177 2306 178: 178 2307 179: 179 2308 180: 180 2309 181: 181 2310 182: 182 2311 183: 183 2312 184: 184 2313 185: 185 2314 186: 186 2315 187: 187 2316 188: 188 2317 189: 189 2318 190: 190 2319 191: 191 2320 192: 192 2321 193: 193 2322 194: 194 2323 195: 195 2324 196: 196 2325 197: 197 2326 198: 198 2327 199: 199 2328 200: 200 2329 201: 201 2330 202: 202 2331 203: 203 2332 204: 204 2333 205: 205 2334 206: 206 2335 207: 207 2336 208: 208 2337 209: 209 2338 210: 210 2339 211: 211 2340 212: 212 2341 213: 213 2342 214: 214 2343 215: 215 2344 216: 216 2345 217: 217 2346 218: 218 2347 219: 219 2348 220: 220 2349 221: 221 2350 222: 222 2351 223: 223 2352 224: 224 2353 225: 225 2354 226: 226 2355 227: 227 2356 228: 228 2357 229: 229 2358 230: 230 2359 231: 231 2360 232: 232 2361 233: 233 2362 234: 234 2363 235: 235 2364 236: 236 2365 237: 237 2366 238: 238 2367 239: 239 2368 240: 240 2369 241: 241 2370 242: 242 2371 243: 243 2372 244: 244 2373 245: 245 2374 246: 246 2375 247: 247 2376 248: 248 2377 249: 249 2378 250: 250 2379 251: 251 2380 252: 252 2381 253: 253 2382 254: 254 2383 255: 255 2384 256: 256 2385 257: 257 2386 258: 258 2387 259: 259 2388 260: 260 2389 261: 261 2390 262: 262 2391 263: 263 2392 264: 264 2393 265: 265 2394 266: 266 2395 267: 267 2396 268: 268 2397 269: 269 2398 270: ABC 2399 271: ABC 2400 2401 # This one's here because Perl does this differently and PCRE2 can't at present 2402 2403 /(main(O)?)+/I 2404 Capturing subpattern count = 2 2405 First code unit = 'm' 2406 Last code unit = 'n' 2407 Subject length lower bound = 4 2408 mainmain 2409 0: mainmain 2410 1: main 2411 mainOmain 2412 0: mainOmain 2413 1: main 2414 2: O 2415 2416 # These are all cases where Perl does it differently (nested captures) 2417 2418 /^(a(b)?)+$/I 2419 Capturing subpattern count = 2 2420 Compile options: <none> 2421 Overall options: anchored 2422 Subject length lower bound = 1 2423 aba 2424 0: aba 2425 1: a 2426 2: b 2427 2428 /^(aa(bb)?)+$/I 2429 Capturing subpattern count = 2 2430 Compile options: <none> 2431 Overall options: anchored 2432 Subject length lower bound = 2 2433 aabbaa 2434 0: aabbaa 2435 1: aa 2436 2: bb 2437 2438 /^(aa|aa(bb))+$/I 2439 Capturing subpattern count = 2 2440 Compile options: <none> 2441 Overall options: anchored 2442 Subject length lower bound = 2 2443 aabbaa 2444 0: aabbaa 2445 1: aa 2446 2: bb 2447 2448 /^(aa(bb)??)+$/I 2449 Capturing subpattern count = 2 2450 Compile options: <none> 2451 Overall options: anchored 2452 Subject length lower bound = 2 2453 aabbaa 2454 0: aabbaa 2455 1: aa 2456 2: bb 2457 2458 /^(?:aa(bb)?)+$/I 2459 Capturing subpattern count = 1 2460 Compile options: <none> 2461 Overall options: anchored 2462 Subject length lower bound = 2 2463 aabbaa 2464 0: aabbaa 2465 1: bb 2466 2467 /^(aa(b(b))?)+$/I 2468 Capturing subpattern count = 3 2469 Compile options: <none> 2470 Overall options: anchored 2471 Subject length lower bound = 2 2472 aabbaa 2473 0: aabbaa 2474 1: aa 2475 2: bb 2476 3: b 2477 2478 /^(?:aa(b(b))?)+$/I 2479 Capturing subpattern count = 2 2480 Compile options: <none> 2481 Overall options: anchored 2482 Subject length lower bound = 2 2483 aabbaa 2484 0: aabbaa 2485 1: bb 2486 2: b 2487 2488 /^(?:aa(b(?:b))?)+$/I 2489 Capturing subpattern count = 1 2490 Compile options: <none> 2491 Overall options: anchored 2492 Subject length lower bound = 2 2493 aabbaa 2494 0: aabbaa 2495 1: bb 2496 2497 /^(?:aa(bb(?:b))?)+$/I 2498 Capturing subpattern count = 1 2499 Compile options: <none> 2500 Overall options: anchored 2501 Subject length lower bound = 2 2502 aabbbaa 2503 0: aabbbaa 2504 1: bbb 2505 2506 /^(?:aa(b(?:bb))?)+$/I 2507 Capturing subpattern count = 1 2508 Compile options: <none> 2509 Overall options: anchored 2510 Subject length lower bound = 2 2511 aabbbaa 2512 0: aabbbaa 2513 1: bbb 2514 2515 /^(?:aa(?:b(b))?)+$/I 2516 Capturing subpattern count = 1 2517 Compile options: <none> 2518 Overall options: anchored 2519 Subject length lower bound = 2 2520 aabbaa 2521 0: aabbaa 2522 1: b 2523 2524 /^(?:aa(?:b(bb))?)+$/I 2525 Capturing subpattern count = 1 2526 Compile options: <none> 2527 Overall options: anchored 2528 Subject length lower bound = 2 2529 aabbbaa 2530 0: aabbbaa 2531 1: bb 2532 2533 /^(aa(b(bb))?)+$/I 2534 Capturing subpattern count = 3 2535 Compile options: <none> 2536 Overall options: anchored 2537 Subject length lower bound = 2 2538 aabbbaa 2539 0: aabbbaa 2540 1: aa 2541 2: bbb 2542 3: bb 2543 2544 /^(aa(bb(bb))?)+$/I 2545 Capturing subpattern count = 3 2546 Compile options: <none> 2547 Overall options: anchored 2548 Subject length lower bound = 2 2549 aabbbbaa 2550 0: aabbbbaa 2551 1: aa 2552 2: bbbb 2553 3: bb 2554 2555 # ---------------- 2556 2557 /#/IBx 2558 ------------------------------------------------------------------ 2559 Bra 2560 Ket 2561 End 2562 ------------------------------------------------------------------ 2563 Capturing subpattern count = 0 2564 May match empty string 2565 Options: extended 2566 Subject length lower bound = 0 2567 2568 /a#/IBx 2569 ------------------------------------------------------------------ 2570 Bra 2571 a 2572 Ket 2573 End 2574 ------------------------------------------------------------------ 2575 Capturing subpattern count = 0 2576 Options: extended 2577 First code unit = 'a' 2578 Subject length lower bound = 1 2579 2580 /[\s]/IB 2581 ------------------------------------------------------------------ 2582 Bra 2583 [\x09-\x0d ] 2584 Ket 2585 End 2586 ------------------------------------------------------------------ 2587 Capturing subpattern count = 0 2588 Starting code units: \x09 \x0a \x0b \x0c \x0d \x20 2589 Subject length lower bound = 1 2590 2591 /[\S]/IB 2592 ------------------------------------------------------------------ 2593 Bra 2594 [\x00-\x08\x0e-\x1f!-\xff] (neg) 2595 Ket 2596 End 2597 ------------------------------------------------------------------ 2598 Capturing subpattern count = 0 2599 Starting code units: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x0e \x0f 2600 \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 \x1a \x1b \x1c \x1d \x1e 2601 \x1f ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C 2602 D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h 2603 i j k l m n o p q r s t u v w x y z { | } ~ \x7f \x80 \x81 \x82 \x83 \x84 2604 \x85 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f \x90 \x91 \x92 \x93 2605 \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e \x9f \xa0 \xa1 \xa2 2606 \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae \xaf \xb0 \xb1 2607 \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd \xbe \xbf \xc0 2608 \xc1 \xc2 \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc \xcd \xce \xcf 2609 \xd0 \xd1 \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb \xdc \xdd \xde 2610 \xdf \xe0 \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb \xec \xed 2611 \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb \xfc 2612 \xfd \xfe \xff 2613 Subject length lower bound = 1 2614 2615 /a(?i)b/IB 2616 ------------------------------------------------------------------ 2617 Bra 2618 a 2619 /i b 2620 Ket 2621 End 2622 ------------------------------------------------------------------ 2623 Capturing subpattern count = 0 2624 First code unit = 'a' 2625 Last code unit = 'b' (caseless) 2626 Subject length lower bound = 2 2627 ab 2628 0: ab 2629 aB 2630 0: aB 2631 \= Expect no match 2632 AB 2633 No match 2634 2635 /(a(?i)b)/IB 2636 ------------------------------------------------------------------ 2637 Bra 2638 CBra 1 2639 a 2640 /i b 2641 Ket 2642 Ket 2643 End 2644 ------------------------------------------------------------------ 2645 Capturing subpattern count = 1 2646 First code unit = 'a' 2647 Last code unit = 'b' (caseless) 2648 Subject length lower bound = 2 2649 ab 2650 0: ab 2651 1: ab 2652 aB 2653 0: aB 2654 1: aB 2655 \= Expect no match 2656 AB 2657 No match 2658 2659 / (?i)abc/IBx 2660 ------------------------------------------------------------------ 2661 Bra 2662 /i abc 2663 Ket 2664 End 2665 ------------------------------------------------------------------ 2666 Capturing subpattern count = 0 2667 Options: extended 2668 First code unit = 'a' (caseless) 2669 Last code unit = 'c' (caseless) 2670 Subject length lower bound = 3 2671 2672 /#this is a comment 2673 (?i)abc/IBx 2674 ------------------------------------------------------------------ 2675 Bra 2676 /i abc 2677 Ket 2678 End 2679 ------------------------------------------------------------------ 2680 Capturing subpattern count = 0 2681 Options: extended 2682 First code unit = 'a' (caseless) 2683 Last code unit = 'c' (caseless) 2684 Subject length lower bound = 3 2685 2686 /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/IB 2687 ------------------------------------------------------------------ 2688 Bra 2689 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 2690 Ket 2691 End 2692 ------------------------------------------------------------------ 2693 Capturing subpattern count = 0 2694 First code unit = '1' 2695 Last code unit = '0' 2696 Subject length lower bound = 300 2697 2698 /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/IB 2699 ------------------------------------------------------------------ 2700 Bra 2701 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 2702 Ket 2703 End 2704 ------------------------------------------------------------------ 2705 Capturing subpattern count = 0 2706 First code unit = '1' 2707 Last code unit = '0' 2708 Subject length lower bound = 300 2709 2710 /\Q\E/IB 2711 ------------------------------------------------------------------ 2712 Bra 2713 Ket 2714 End 2715 ------------------------------------------------------------------ 2716 Capturing subpattern count = 0 2717 May match empty string 2718 Subject length lower bound = 0 2719 \ 2720 0: 2721 2722 /\Q\Ex/IB 2723 ------------------------------------------------------------------ 2724 Bra 2725 x 2726 Ket 2727 End 2728 ------------------------------------------------------------------ 2729 Capturing subpattern count = 0 2730 First code unit = 'x' 2731 Subject length lower bound = 1 2732 2733 / \Q\E/IB 2734 ------------------------------------------------------------------ 2735 Bra 2736 2737 Ket 2738 End 2739 ------------------------------------------------------------------ 2740 Capturing subpattern count = 0 2741 First code unit = ' ' 2742 Subject length lower bound = 1 2743 2744 /a\Q\E/IB 2745 ------------------------------------------------------------------ 2746 Bra 2747 a 2748 Ket 2749 End 2750 ------------------------------------------------------------------ 2751 Capturing subpattern count = 0 2752 First code unit = 'a' 2753 Subject length lower bound = 1 2754 abc 2755 0: a 2756 bca 2757 0: a 2758 bac 2759 0: a 2760 2761 /a\Q\Eb/IB 2762 ------------------------------------------------------------------ 2763 Bra 2764 ab 2765 Ket 2766 End 2767 ------------------------------------------------------------------ 2768 Capturing subpattern count = 0 2769 First code unit = 'a' 2770 Last code unit = 'b' 2771 Subject length lower bound = 2 2772 abc 2773 0: ab 2774 2775 /\Q\Eabc/IB 2776 ------------------------------------------------------------------ 2777 Bra 2778 abc 2779 Ket 2780 End 2781 ------------------------------------------------------------------ 2782 Capturing subpattern count = 0 2783 First code unit = 'a' 2784 Last code unit = 'c' 2785 Subject length lower bound = 3 2786 2787 /x*+\w/IB 2788 ------------------------------------------------------------------ 2789 Bra 2790 x*+ 2791 \w 2792 Ket 2793 End 2794 ------------------------------------------------------------------ 2795 Capturing subpattern count = 0 2796 Starting code units: 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P 2797 Q R S T U V W X Y Z _ a b c d e f g h i j k l m n o p q r s t u v w x y z 2798 Subject length lower bound = 1 2799 \= Expect no match 2800 xxxxx 2801 No match 2802 2803 /x?+/IB 2804 ------------------------------------------------------------------ 2805 Bra 2806 x?+ 2807 Ket 2808 End 2809 ------------------------------------------------------------------ 2810 Capturing subpattern count = 0 2811 May match empty string 2812 Subject length lower bound = 0 2813 2814 /x++/IB 2815 ------------------------------------------------------------------ 2816 Bra 2817 x++ 2818 Ket 2819 End 2820 ------------------------------------------------------------------ 2821 Capturing subpattern count = 0 2822 First code unit = 'x' 2823 Subject length lower bound = 1 2824 2825 /x{1,3}+/B,no_auto_possess 2826 ------------------------------------------------------------------ 2827 Bra 2828 x 2829 x{0,2}+ 2830 Ket 2831 End 2832 ------------------------------------------------------------------ 2833 2834 /x{1,3}+/Bi,no_auto_possess 2835 ------------------------------------------------------------------ 2836 Bra 2837 /i x 2838 /i x{0,2}+ 2839 Ket 2840 End 2841 ------------------------------------------------------------------ 2842 2843 /[^x]{1,3}+/B,no_auto_possess 2844 ------------------------------------------------------------------ 2845 Bra 2846 [^x] 2847 [^x]{0,2}+ 2848 Ket 2849 End 2850 ------------------------------------------------------------------ 2851 2852 /[^x]{1,3}+/Bi,no_auto_possess 2853 ------------------------------------------------------------------ 2854 Bra 2855 /i [^x] 2856 /i [^x]{0,2}+ 2857 Ket 2858 End 2859 ------------------------------------------------------------------ 2860 2861 /(x)*+/IB 2862 ------------------------------------------------------------------ 2863 Bra 2864 Braposzero 2865 CBraPos 1 2866 x 2867 KetRpos 2868 Ket 2869 End 2870 ------------------------------------------------------------------ 2871 Capturing subpattern count = 1 2872 May match empty string 2873 Subject length lower bound = 0 2874 2875 /^(\w++|\s++)*$/I 2876 Capturing subpattern count = 1 2877 May match empty string 2878 Compile options: <none> 2879 Overall options: anchored 2880 Subject length lower bound = 0 2881 now is the time for all good men to come to the aid of the party 2882 0: now is the time for all good men to come to the aid of the party 2883 1: party 2884 \= Expect no match 2885 this is not a line with only words and spaces! 2886 No match 2887 2888 /(\d++)(\w)/I 2889 Capturing subpattern count = 2 2890 Starting code units: 0 1 2 3 4 5 6 7 8 9 2891 Subject length lower bound = 2 2892 12345a 2893 0: 12345a 2894 1: 12345 2895 2: a 2896 \= Expect no match 2897 12345+ 2898 No match 2899 2900 /a++b/I 2901 Capturing subpattern count = 0 2902 First code unit = 'a' 2903 Last code unit = 'b' 2904 Subject length lower bound = 2 2905 aaab 2906 0: aaab 2907 2908 /(a++b)/I 2909 Capturing subpattern count = 1 2910 First code unit = 'a' 2911 Last code unit = 'b' 2912 Subject length lower bound = 2 2913 aaab 2914 0: aaab 2915 1: aaab 2916 2917 /(a++)b/I 2918 Capturing subpattern count = 1 2919 First code unit = 'a' 2920 Last code unit = 'b' 2921 Subject length lower bound = 2 2922 aaab 2923 0: aaab 2924 1: aaa 2925 2926 /([^()]++|\([^()]*\))+/I 2927 Capturing subpattern count = 1 2928 Starting code units: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a 2929 \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 2930 \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( * + , - . / 0 1 2 3 4 5 2931 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 2932 [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~ \x7f 2933 \x80 \x81 \x82 \x83 \x84 \x85 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e 2934 \x8f \x90 \x91 \x92 \x93 \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d 2935 \x9e \x9f \xa0 \xa1 \xa2 \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac 2936 \xad \xae \xaf \xb0 \xb1 \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb 2937 \xbc \xbd \xbe \xbf \xc0 \xc1 \xc2 \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca 2938 \xcb \xcc \xcd \xce \xcf \xd0 \xd1 \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 2939 \xda \xdb \xdc \xdd \xde \xdf \xe0 \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 2940 \xe9 \xea \xeb \xec \xed \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 2941 \xf8 \xf9 \xfa \xfb \xfc \xfd \xfe \xff 2942 Subject length lower bound = 1 2943 ((abc(ade)ufh()()x 2944 0: abc(ade)ufh()()x 2945 1: x 2946 2947 /\(([^()]++|\([^()]+\))+\)/I 2948 Capturing subpattern count = 1 2949 First code unit = '(' 2950 Last code unit = ')' 2951 Subject length lower bound = 3 2952 (abc) 2953 0: (abc) 2954 1: abc 2955 (abc(def)xyz) 2956 0: (abc(def)xyz) 2957 1: xyz 2958 \= Expect no match 2959 ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 2960 No match 2961 2962 /(abc){1,3}+/IB 2963 ------------------------------------------------------------------ 2964 Bra 2965 Once 2966 CBra 1 2967 abc 2968 Ket 2969 Brazero 2970 Bra 2971 CBra 1 2972 abc 2973 Ket 2974 Brazero 2975 CBra 1 2976 abc 2977 Ket 2978 Ket 2979 Ket 2980 Ket 2981 End 2982 ------------------------------------------------------------------ 2983 Capturing subpattern count = 1 2984 First code unit = 'a' 2985 Last code unit = 'c' 2986 Subject length lower bound = 3 2987 2988 /a+?+/I 2989 Failed: error 109 at offset 3: quantifier does not follow a repeatable item 2990 2991 /a{2,3}?+b/I 2992 Failed: error 109 at offset 7: quantifier does not follow a repeatable item 2993 2994 /(?U)a+?+/I 2995 Failed: error 109 at offset 7: quantifier does not follow a repeatable item 2996 2997 /a{2,3}?+b/I,ungreedy 2998 Failed: error 109 at offset 7: quantifier does not follow a repeatable item 2999 3000 /x(?U)a++b/IB 3001 ------------------------------------------------------------------ 3002 Bra 3003 x 3004 a++ 3005 b 3006 Ket 3007 End 3008 ------------------------------------------------------------------ 3009 Capturing subpattern count = 0 3010 First code unit = 'x' 3011 Last code unit = 'b' 3012 Subject length lower bound = 3 3013 xaaaab 3014 0: xaaaab 3015 3016 /(?U)xa++b/IB 3017 ------------------------------------------------------------------ 3018 Bra 3019 x 3020 a++ 3021 b 3022 Ket 3023 End 3024 ------------------------------------------------------------------ 3025 Capturing subpattern count = 0 3026 First code unit = 'x' 3027 Last code unit = 'b' 3028 Subject length lower bound = 3 3029 xaaaab 3030 0: xaaaab 3031 3032 /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/IB 3033 ------------------------------------------------------------------ 3034 Bra 3035 ^ 3036 CBra 1 3037 CBra 2 3038 a+ 3039 Ket 3040 CBra 3 3041 [ab]+? 3042 Ket 3043 CBra 4 3044 [bc]+ 3045 Ket 3046 CBra 5 3047 \w*+ 3048 Ket 3049 Ket 3050 Ket 3051 End 3052 ------------------------------------------------------------------ 3053 Capturing subpattern count = 5 3054 Compile options: <none> 3055 Overall options: anchored 3056 Subject length lower bound = 3 3057 3058 /^x(?U)a+b/IB 3059 ------------------------------------------------------------------ 3060 Bra 3061 ^ 3062 x 3063 a++ 3064 b 3065 Ket 3066 End 3067 ------------------------------------------------------------------ 3068 Capturing subpattern count = 0 3069 Compile options: <none> 3070 Overall options: anchored 3071 Last code unit = 'b' 3072 Subject length lower bound = 3 3073 3074 /^x(?U)(a+)b/IB 3075 ------------------------------------------------------------------ 3076 Bra 3077 ^ 3078 x 3079 CBra 1 3080 a+? 3081 Ket 3082 b 3083 Ket 3084 End 3085 ------------------------------------------------------------------ 3086 Capturing subpattern count = 1 3087 Compile options: <none> 3088 Overall options: anchored 3089 Last code unit = 'b' 3090 Subject length lower bound = 3 3091 3092 /[.x.]/I 3093 Failed: error 113 at offset 0: POSIX collating elements are not supported 3094 3095 /[=x=]/I 3096 Failed: error 113 at offset 0: POSIX collating elements are not supported 3097 3098 /[:x:]/I 3099 Failed: error 112 at offset 0: POSIX named classes are supported only within a class 3100 3101 /\l/I 3102 Failed: error 137 at offset 1: PCRE does not support \L, \l, \N{name}, \U, or \u 3103 3104 /\L/I 3105 Failed: error 137 at offset 1: PCRE does not support \L, \l, \N{name}, \U, or \u 3106 3107 /\N{name}/I 3108 Failed: error 137 at offset 1: PCRE does not support \L, \l, \N{name}, \U, or \u 3109 3110 /\u/I 3111 Failed: error 137 at offset 1: PCRE does not support \L, \l, \N{name}, \U, or \u 3112 3113 /\U/I 3114 Failed: error 137 at offset 1: PCRE does not support \L, \l, \N{name}, \U, or \u 3115 3116 /a{1,3}b/ungreedy 3117 ab 3118 0: ab 3119 3120 /[/I 3121 Failed: error 106 at offset 1: missing terminating ] for character class 3122 3123 /[a-/I 3124 Failed: error 106 at offset 3: missing terminating ] for character class 3125 3126 /[[:space:]/I 3127 Failed: error 106 at offset 10: missing terminating ] for character class 3128 3129 /[\s]/IB 3130 ------------------------------------------------------------------ 3131 Bra 3132 [\x09-\x0d ] 3133 Ket 3134 End 3135 ------------------------------------------------------------------ 3136 Capturing subpattern count = 0 3137 Starting code units: \x09 \x0a \x0b \x0c \x0d \x20 3138 Subject length lower bound = 1 3139 3140 /[[:space:]]/IB 3141 ------------------------------------------------------------------ 3142 Bra 3143 [\x09-\x0d ] 3144 Ket 3145 End 3146 ------------------------------------------------------------------ 3147 Capturing subpattern count = 0 3148 Starting code units: \x09 \x0a \x0b \x0c \x0d \x20 3149 Subject length lower bound = 1 3150 3151 /[[:space:]abcde]/IB 3152 ------------------------------------------------------------------ 3153 Bra 3154 [\x09-\x0d a-e] 3155 Ket 3156 End 3157 ------------------------------------------------------------------ 3158 Capturing subpattern count = 0 3159 Starting code units: \x09 \x0a \x0b \x0c \x0d \x20 a b c d e 3160 Subject length lower bound = 1 3161 3162 /< (?: (?(R) \d++ | [^<>]*+) | (?R)) * >/Ix 3163 Capturing subpattern count = 0 3164 Options: extended 3165 First code unit = '<' 3166 Last code unit = '>' 3167 Subject length lower bound = 2 3168 <> 3169 0: <> 3170 <abcd> 3171 0: <abcd> 3172 <abc <123> hij> 3173 0: <abc <123> hij> 3174 <abc <def> hij> 3175 0: <def> 3176 <abc<>def> 3177 0: <abc<>def> 3178 <abc<> 3179 0: <> 3180 \= Expect no match 3181 <abc 3182 No match 3183 3184 /8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b/IB 3185 ------------------------------------------------------------------ 3186 Bra 3187 8J$WE<.rX+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDD<EjmhUZ?.akp2dF>qmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X 3188 \b 3189 Ket 3190 End 3191 ------------------------------------------------------------------ 3192 Capturing subpattern count = 0 3193 Max lookbehind = 1 3194 First code unit = '8' 3195 Last code unit = 'X' 3196 Subject length lower bound = 409 3197 3198 /\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b/IB 3199 ------------------------------------------------------------------ 3200 Bra 3201 $<.X+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDD<EjmhUZ?.akp2dF>qmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X 3202 \b 3203 Ket 3204 End 3205 ------------------------------------------------------------------ 3206 Capturing subpattern count = 0 3207 Max lookbehind = 1 3208 First code unit = '$' 3209 Last code unit = 'X' 3210 Subject length lower bound = 404 3211 3212 /(.*)\d+\1/I 3213 Capturing subpattern count = 1 3214 Max back reference = 1 3215 Subject length lower bound = 1 3216 3217 /(.*)\d+/I 3218 Capturing subpattern count = 1 3219 First code unit at start or follows newline 3220 Subject length lower bound = 1 3221 3222 /(.*)\d+\1/Is 3223 Capturing subpattern count = 1 3224 Max back reference = 1 3225 Options: dotall 3226 Subject length lower bound = 1 3227 3228 /(.*)\d+/Is 3229 Capturing subpattern count = 1 3230 Compile options: dotall 3231 Overall options: anchored dotall 3232 Subject length lower bound = 1 3233 3234 /(.*(xyz))\d+\2/I 3235 Capturing subpattern count = 2 3236 Max back reference = 2 3237 First code unit at start or follows newline 3238 Last code unit = 'z' 3239 Subject length lower bound = 7 3240 3241 /((.*))\d+\1/I 3242 Capturing subpattern count = 2 3243 Max back reference = 1 3244 Subject length lower bound = 1 3245 abc123bc 3246 0: bc123bc 3247 1: bc 3248 2: bc 3249 3250 /a[b]/I 3251 Capturing subpattern count = 0 3252 First code unit = 'a' 3253 Last code unit = 'b' 3254 Subject length lower bound = 2 3255 3256 /(?=a).*/I 3257 Capturing subpattern count = 0 3258 May match empty string 3259 First code unit = 'a' 3260 Subject length lower bound = 0 3261 3262 /(?=abc).xyz/Ii 3263 Capturing subpattern count = 0 3264 Options: caseless 3265 First code unit = 'a' (caseless) 3266 Last code unit = 'z' (caseless) 3267 Subject length lower bound = 4 3268 3269 /(?=abc)(?i).xyz/I 3270 Capturing subpattern count = 0 3271 First code unit = 'a' 3272 Last code unit = 'z' (caseless) 3273 Subject length lower bound = 4 3274 3275 /(?=a)(?=b)/I 3276 Capturing subpattern count = 0 3277 May match empty string 3278 First code unit = 'a' 3279 Subject length lower bound = 0 3280 3281 /(?=.)a/I 3282 Capturing subpattern count = 0 3283 First code unit = 'a' 3284 Subject length lower bound = 1 3285 3286 /((?=abcda)a)/I 3287 Capturing subpattern count = 1 3288 First code unit = 'a' 3289 Last code unit = 'a' 3290 Subject length lower bound = 1 3291 3292 /((?=abcda)ab)/I 3293 Capturing subpattern count = 1 3294 First code unit = 'a' 3295 Last code unit = 'b' 3296 Subject length lower bound = 2 3297 3298 /()a/I 3299 Capturing subpattern count = 1 3300 First code unit = 'a' 3301 Subject length lower bound = 1 3302 3303 /(?:(?=.)|(?<!x))a/I 3304 Capturing subpattern count = 0 3305 Max lookbehind = 1 3306 First code unit = 'a' 3307 Subject length lower bound = 1 3308 3309 /(?(1)ab|ac)(.)/I 3310 Capturing subpattern count = 1 3311 Max back reference = 1 3312 First code unit = 'a' 3313 Subject length lower bound = 3 3314 3315 /(?(1)abz|acz)(.)/I 3316 Capturing subpattern count = 1 3317 Max back reference = 1 3318 First code unit = 'a' 3319 Last code unit = 'z' 3320 Subject length lower bound = 4 3321 3322 /(?(1)abz)(.)/I 3323 Capturing subpattern count = 1 3324 Max back reference = 1 3325 Subject length lower bound = 1 3326 3327 /(?(1)abz)(1)23/I 3328 Capturing subpattern count = 1 3329 Max back reference = 1 3330 Last code unit = '3' 3331 Subject length lower bound = 3 3332 3333 /(a)+/I 3334 Capturing subpattern count = 1 3335 First code unit = 'a' 3336 Subject length lower bound = 1 3337 3338 /(a){2,3}/I 3339 Capturing subpattern count = 1 3340 First code unit = 'a' 3341 Last code unit = 'a' 3342 Subject length lower bound = 2 3343 3344 /(a)*/I 3345 Capturing subpattern count = 1 3346 May match empty string 3347 Subject length lower bound = 0 3348 3349 /[a]/I 3350 Capturing subpattern count = 0 3351 First code unit = 'a' 3352 Subject length lower bound = 1 3353 3354 /[ab]/I 3355 Capturing subpattern count = 0 3356 Starting code units: a b 3357 Subject length lower bound = 1 3358 3359 /[ab]/I 3360 Capturing subpattern count = 0 3361 Starting code units: a b 3362 Subject length lower bound = 1 3363 3364 /[^a]/I 3365 Capturing subpattern count = 0 3366 Subject length lower bound = 1 3367 3368 /\d456/I 3369 Capturing subpattern count = 0 3370 Starting code units: 0 1 2 3 4 5 6 7 8 9 3371 Last code unit = '6' 3372 Subject length lower bound = 4 3373 3374 /\d456/I 3375 Capturing subpattern count = 0 3376 Starting code units: 0 1 2 3 4 5 6 7 8 9 3377 Last code unit = '6' 3378 Subject length lower bound = 4 3379 3380 /a^b/I 3381 Capturing subpattern count = 0 3382 First code unit = 'a' 3383 Last code unit = 'b' 3384 Subject length lower bound = 2 3385 3386 /^a/Im 3387 Capturing subpattern count = 0 3388 Options: multiline 3389 First code unit at start or follows newline 3390 Last code unit = 'a' 3391 Subject length lower bound = 1 3392 abcde 3393 0: a 3394 xy\nabc 3395 0: a 3396 \= Expect no match 3397 xyabc 3398 No match 3399 3400 /c|abc/I 3401 Capturing subpattern count = 0 3402 Starting code units: a c 3403 Last code unit = 'c' 3404 Subject length lower bound = 1 3405 3406 /(?i)[ab]/I 3407 Capturing subpattern count = 0 3408 Starting code units: A B a b 3409 Subject length lower bound = 1 3410 3411 /[ab](?i)cd/I 3412 Capturing subpattern count = 0 3413 Starting code units: a b 3414 Last code unit = 'd' (caseless) 3415 Subject length lower bound = 3 3416 3417 /abc(?C)def/I 3418 Capturing subpattern count = 0 3419 First code unit = 'a' 3420 Last code unit = 'f' 3421 Subject length lower bound = 6 3422 abcdef 3423 --->abcdef 3424 0 ^ ^ d 3425 0: abcdef 3426 1234abcdef 3427 --->1234abcdef 3428 0 ^ ^ d 3429 0: abcdef 3430 \= Expect no match 3431 abcxyz 3432 No match 3433 abcxyzf 3434 --->abcxyzf 3435 0 ^ ^ d 3436 No match 3437 3438 /abc(?C)de(?C1)f/I 3439 Capturing subpattern count = 0 3440 First code unit = 'a' 3441 Last code unit = 'f' 3442 Subject length lower bound = 6 3443 123abcdef 3444 --->123abcdef 3445 0 ^ ^ d 3446 1 ^ ^ f 3447 0: abcdef 3448 3449 /(?C1)\dabc(?C2)def/I 3450 Capturing subpattern count = 0 3451 Starting code units: 0 1 2 3 4 5 6 7 8 9 3452 Last code unit = 'f' 3453 Subject length lower bound = 7 3454 1234abcdef 3455 --->1234abcdef 3456 1 ^ \d 3457 1 ^ \d 3458 1 ^ \d 3459 1 ^ \d 3460 2 ^ ^ d 3461 0: 4abcdef 3462 \= Expect no match 3463 abcdef 3464 No match 3465 3466 /(?C1)\dabc(?C2)def/I 3467 Capturing subpattern count = 0 3468 Starting code units: 0 1 2 3 4 5 6 7 8 9 3469 Last code unit = 'f' 3470 Subject length lower bound = 7 3471 1234abcdef 3472 --->1234abcdef 3473 1 ^ \d 3474 1 ^ \d 3475 1 ^ \d 3476 1 ^ \d 3477 2 ^ ^ d 3478 0: 4abcdef 3479 \= Expect no match 3480 abcdef 3481 No match 3482 3483 /(?C255)ab/I 3484 Capturing subpattern count = 0 3485 First code unit = 'a' 3486 Last code unit = 'b' 3487 Subject length lower bound = 2 3488 3489 /(?C256)ab/I 3490 Failed: error 138 at offset 6: number after (?C is greater than 255 3491 3492 /(?Cab)xx/I 3493 Failed: error 182 at offset 3: unrecognized string delimiter follows (?C 3494 3495 /(?C12vr)x/I 3496 Failed: error 139 at offset 5: closing parenthesis for (?C expected 3497 3498 /abc(?C)def/I 3499 Capturing subpattern count = 0 3500 First code unit = 'a' 3501 Last code unit = 'f' 3502 Subject length lower bound = 6 3503 \x83\x0\x61bcdef 3504 --->\x83\x00abcdef 3505 0 ^ ^ d 3506 0: abcdef 3507 3508 /(abc)(?C)de(?C1)f/I 3509 Capturing subpattern count = 1 3510 First code unit = 'a' 3511 Last code unit = 'f' 3512 Subject length lower bound = 6 3513 123abcdef 3514 --->123abcdef 3515 0 ^ ^ d 3516 1 ^ ^ f 3517 0: abcdef 3518 1: abc 3519 123abcdef\=callout_capture 3520 Callout 0: last capture = 1 3521 0: <unset> 3522 1: abc 3523 --->123abcdef 3524 ^ ^ d 3525 Callout 1: last capture = 1 3526 0: <unset> 3527 1: abc 3528 --->123abcdef 3529 ^ ^ f 3530 0: abcdef 3531 1: abc 3532 123abcdefC-\=callout_none 3533 0: abcdef 3534 1: abc 3535 \= Expect no match 3536 123abcdef\=callout_fail=1 3537 --->123abcdef 3538 0 ^ ^ d 3539 1 ^ ^ f 3540 No match 3541 3542 /(?C0)(abc(?C1))*/I 3543 Capturing subpattern count = 1 3544 May match empty string 3545 Subject length lower bound = 0 3546 abcabcabc 3547 --->abcabcabc 3548 0 ^ (abc(?C1))* 3549 1 ^ ^ ) 3550 1 ^ ^ ) 3551 1 ^ ^ ) 3552 0: abcabcabc 3553 1: abc 3554 abcabc\=callout_fail=1:3 3555 --->abcabc 3556 0 ^ (abc(?C1))* 3557 1 ^ ^ ) 3558 1 ^ ^ ) 3559 0: abcabc 3560 1: abc 3561 abcabcabc\=callout_fail=1:3 3562 --->abcabcabc 3563 0 ^ (abc(?C1))* 3564 1 ^ ^ ) 3565 1 ^ ^ ) 3566 1 ^ ^ ) 3567 0: abcabc 3568 1: abc 3569 3570 /(\d{3}(?C))*/I 3571 Capturing subpattern count = 1 3572 May match empty string 3573 Subject length lower bound = 0 3574 123\=callout_capture 3575 Callout 0: last capture = 0 3576 0: <unset> 3577 --->123 3578 ^ ^ ) 3579 0: 123 3580 1: 123 3581 123456\=callout_capture 3582 Callout 0: last capture = 0 3583 0: <unset> 3584 --->123456 3585 ^ ^ ) 3586 Callout 0: last capture = 1 3587 0: <unset> 3588 1: 123 3589 --->123456 3590 ^ ^ ) 3591 0: 123456 3592 1: 456 3593 123456789\=callout_capture 3594 Callout 0: last capture = 0 3595 0: <unset> 3596 --->123456789 3597 ^ ^ ) 3598 Callout 0: last capture = 1 3599 0: <unset> 3600 1: 123 3601 --->123456789 3602 ^ ^ ) 3603 Callout 0: last capture = 1 3604 0: <unset> 3605 1: 456 3606 --->123456789 3607 ^ ^ ) 3608 0: 123456789 3609 1: 789 3610 3611 /((xyz)(?C)p|(?C1)xyzabc)/I 3612 Capturing subpattern count = 2 3613 First code unit = 'x' 3614 Subject length lower bound = 4 3615 xyzabc\=callout_capture 3616 Callout 0: last capture = 2 3617 0: <unset> 3618 1: <unset> 3619 2: xyz 3620 --->xyzabc 3621 ^ ^ p 3622 Callout 1: last capture = 0 3623 0: <unset> 3624 --->xyzabc 3625 ^ x 3626 0: xyzabc 3627 1: xyzabc 3628 3629 /(X)((xyz)(?C)p|(?C1)xyzabc)/I 3630 Capturing subpattern count = 3 3631 First code unit = 'X' 3632 Last code unit = 'x' 3633 Subject length lower bound = 5 3634 Xxyzabc\=callout_capture 3635 Callout 0: last capture = 3 3636 0: <unset> 3637 1: X 3638 2: <unset> 3639 3: xyz 3640 --->Xxyzabc 3641 ^ ^ p 3642 Callout 1: last capture = 1 3643 0: <unset> 3644 1: X 3645 --->Xxyzabc 3646 ^^ x 3647 0: Xxyzabc 3648 1: X 3649 2: xyzabc 3650 3651 /(?=(abc))(?C)abcdef/I 3652 Capturing subpattern count = 1 3653 First code unit = 'a' 3654 Last code unit = 'f' 3655 Subject length lower bound = 6 3656 abcdef\=callout_capture 3657 Callout 0: last capture = 1 3658 0: <unset> 3659 1: abc 3660 --->abcdef 3661 ^ a 3662 0: abcdef 3663 1: abc 3664 3665 /(?!(abc)(?C1)d)(?C2)abcxyz/I 3666 Capturing subpattern count = 1 3667 First code unit = 'a' 3668 Last code unit = 'z' 3669 Subject length lower bound = 6 3670 abcxyz\=callout_capture 3671 Callout 1: last capture = 1 3672 0: <unset> 3673 1: abc 3674 --->abcxyz 3675 ^ ^ d 3676 Callout 2: last capture = 0 3677 0: <unset> 3678 --->abcxyz 3679 ^ a 3680 0: abcxyz 3681 3682 /(?<=(abc)(?C))xyz/I 3683 Capturing subpattern count = 1 3684 Max lookbehind = 3 3685 First code unit = 'x' 3686 Last code unit = 'z' 3687 Subject length lower bound = 3 3688 abcxyz\=callout_capture 3689 Callout 0: last capture = 1 3690 0: <unset> 3691 1: abc 3692 --->abcxyz 3693 ^ ) 3694 0: xyz 3695 1: abc 3696 3697 /a(b+)(c*)(?C1)/I 3698 Capturing subpattern count = 2 3699 First code unit = 'a' 3700 Last code unit = 'b' 3701 Subject length lower bound = 2 3702 \= Expect no match 3703 abbbbbccc\=callout_data=1 3704 --->abbbbbccc 3705 1 ^ ^ 3706 Callout data = 1 3707 No match 3708 3709 /a(b+?)(c*?)(?C1)/I 3710 Capturing subpattern count = 2 3711 First code unit = 'a' 3712 Last code unit = 'b' 3713 Subject length lower bound = 2 3714 \= Expect no match 3715 abbbbbccc\=callout_data=1 3716 --->abbbbbccc 3717 1 ^ ^ 3718 Callout data = 1 3719 1 ^ ^ 3720 Callout data = 1 3721 1 ^ ^ 3722 Callout data = 1 3723 1 ^ ^ 3724 Callout data = 1 3725 1 ^ ^ 3726 Callout data = 1 3727 1 ^ ^ 3728 Callout data = 1 3729 1 ^ ^ 3730 Callout data = 1 3731 1 ^ ^ 3732 Callout data = 1 3733 No match 3734 3735 /(?C)abc/I 3736 Capturing subpattern count = 0 3737 First code unit = 'a' 3738 Last code unit = 'c' 3739 Subject length lower bound = 3 3740 3741 /(?C)^abc/I 3742 Capturing subpattern count = 0 3743 Compile options: <none> 3744 Overall options: anchored 3745 Subject length lower bound = 3 3746 3747 /(?C)a|b/I 3748 Capturing subpattern count = 0 3749 Starting code units: a b 3750 Subject length lower bound = 1 3751 3752 /x(ab|(bc|(de|(?R))))/I 3753 Capturing subpattern count = 3 3754 First code unit = 'x' 3755 Subject length lower bound = 3 3756 xab 3757 0: xab 3758 1: ab 3759 xbc 3760 0: xbc 3761 1: bc 3762 2: bc 3763 xde 3764 0: xde 3765 1: de 3766 2: de 3767 3: de 3768 xxab 3769 0: xxab 3770 1: xab 3771 2: xab 3772 3: xab 3773 xxxab 3774 0: xxxab 3775 1: xxab 3776 2: xxab 3777 3: xxab 3778 \= Expect no match 3779 xyab 3780 No match 3781 3782 /^([^()]|\((?1)*\))*$/I 3783 Capturing subpattern count = 1 3784 May match empty string 3785 Compile options: <none> 3786 Overall options: anchored 3787 Subject length lower bound = 0 3788 abc 3789 0: abc 3790 1: c 3791 a(b)c 3792 0: a(b)c 3793 1: c 3794 a(b(c))d 3795 0: a(b(c))d 3796 1: d 3797 \= Expect no match) 3798 a(b(c)d 3799 No match 3800 3801 /^>abc>([^()]|\((?1)*\))*<xyz<$/I 3802 Capturing subpattern count = 1 3803 Compile options: <none> 3804 Overall options: anchored 3805 Last code unit = '<' 3806 Subject length lower bound = 10 3807 >abc>123<xyz< 3808 0: >abc>123<xyz< 3809 1: 3 3810 >abc>1(2)3<xyz< 3811 0: >abc>1(2)3<xyz< 3812 1: 3 3813 >abc>(1(2)3)<xyz< 3814 0: >abc>(1(2)3)<xyz< 3815 1: (1(2)3) 3816 3817 /(a(?1)b)/IB 3818 ------------------------------------------------------------------ 3819 Bra 3820 CBra 1 3821 a 3822 Recurse 3823 b 3824 Ket 3825 Ket 3826 End 3827 ------------------------------------------------------------------ 3828 Capturing subpattern count = 1 3829 First code unit = 'a' 3830 Last code unit = 'b' 3831 Subject length lower bound = 2 3832 3833 /(a(?1)+b)/IB 3834 ------------------------------------------------------------------ 3835 Bra 3836 CBra 1 3837 a 3838 Once 3839 Recurse 3840 KetRmax 3841 b 3842 Ket 3843 Ket 3844 End 3845 ------------------------------------------------------------------ 3846 Capturing subpattern count = 1 3847 First code unit = 'a' 3848 Last code unit = 'b' 3849 Subject length lower bound = 2 3850 3851 /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I 3852 Capturing subpattern count = 2 3853 Compile options: <none> 3854 Overall options: anchored 3855 Subject length lower bound = 1 3856 12 3857 0: 12 3858 1: 12 3859 (((2+2)*-3)-7) 3860 0: (((2+2)*-3)-7) 3861 1: (((2+2)*-3)-7) 3862 2: - 3863 -12 3864 0: -12 3865 1: -12 3866 \= Expect no match 3867 ((2+2)*-3)-7) 3868 No match 3869 3870 /^(x(y|(?1){2})z)/I 3871 Capturing subpattern count = 2 3872 Compile options: <none> 3873 Overall options: anchored 3874 Subject length lower bound = 3 3875 xyz 3876 0: xyz 3877 1: xyz 3878 2: y 3879 xxyzxyzz 3880 0: xxyzxyzz 3881 1: xxyzxyzz 3882 2: xyzxyz 3883 \= Expect no match 3884 xxyzz 3885 No match 3886 xxyzxyzxyzz 3887 No match 3888 3889 /((< (?: (?(R) \d++ | [^<>]*+) | (?2)) * >))/Ix 3890 Capturing subpattern count = 2 3891 Options: extended 3892 First code unit = '<' 3893 Last code unit = '>' 3894 Subject length lower bound = 2 3895 <> 3896 0: <> 3897 1: <> 3898 2: <> 3899 <abcd> 3900 0: <abcd> 3901 1: <abcd> 3902 2: <abcd> 3903 <abc <123> hij> 3904 0: <abc <123> hij> 3905 1: <abc <123> hij> 3906 2: <abc <123> hij> 3907 <abc <def> hij> 3908 0: <def> 3909 1: <def> 3910 2: <def> 3911 <abc<>def> 3912 0: <abc<>def> 3913 1: <abc<>def> 3914 2: <abc<>def> 3915 <abc<> 3916 0: <> 3917 1: <> 3918 2: <> 3919 \= Expect no match 3920 <abc 3921 No match 3922 3923 /(?1)/I 3924 Failed: error 115 at offset 3: reference to non-existent subpattern 3925 3926 /((?2)(abc)/I 3927 Failed: error 114 at offset 10: missing closing parenthesis 3928 3929 /^(abc)def(?1)/I 3930 Capturing subpattern count = 1 3931 Compile options: <none> 3932 Overall options: anchored 3933 Subject length lower bound = 9 3934 abcdefabc 3935 0: abcdefabc 3936 1: abc 3937 3938 /^(a|b|c)=(?1)+/I 3939 Capturing subpattern count = 1 3940 Compile options: <none> 3941 Overall options: anchored 3942 Subject length lower bound = 3 3943 a=a 3944 0: a=a 3945 1: a 3946 a=b 3947 0: a=b 3948 1: a 3949 a=bc 3950 0: a=bc 3951 1: a 3952 3953 /^(a|b|c)=((?1))+/I 3954 Capturing subpattern count = 2 3955 Compile options: <none> 3956 Overall options: anchored 3957 Subject length lower bound = 2 3958 a=a 3959 0: a=a 3960 1: a 3961 2: a 3962 a=b 3963 0: a=b 3964 1: a 3965 2: b 3966 a=bc 3967 0: a=bc 3968 1: a 3969 2: c 3970 3971 /a(?P<name1>b|c)d(?P<longername2>e)/IB 3972 ------------------------------------------------------------------ 3973 Bra 3974 a 3975 CBra 1 3976 b 3977 Alt 3978 c 3979 Ket 3980 d 3981 CBra 2 3982 e 3983 Ket 3984 Ket 3985 End 3986 ------------------------------------------------------------------ 3987 Capturing subpattern count = 2 3988 Named capturing subpatterns: 3989 longername2 2 3990 name1 1 3991 First code unit = 'a' 3992 Last code unit = 'e' 3993 Subject length lower bound = 4 3994 abde 3995 0: abde 3996 1: b 3997 2: e 3998 acde 3999 0: acde 4000 1: c 4001 2: e 4002 4003 /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/IB 4004 ------------------------------------------------------------------ 4005 Bra 4006 Bra 4007 a 4008 CBra 1 4009 c 4010 CBra 2 4011 d 4012 Ket 4013 Ket 4014 Ket 4015 CBra 3 4016 a 4017 Ket 4018 Ket 4019 End 4020 ------------------------------------------------------------------ 4021 Capturing subpattern count = 3 4022 Named capturing subpatterns: 4023 a 3 4024 c 1 4025 d 2 4026 First code unit = 'a' 4027 Last code unit = 'a' 4028 Subject length lower bound = 4 4029 4030 /(?P<a>a)...(?P=a)bbb(?P>a)d/IB 4031 ------------------------------------------------------------------ 4032 Bra 4033 CBra 1 4034 a 4035 Ket 4036 Any 4037 Any 4038 Any 4039 \1 4040 bbb 4041 Recurse 4042 d 4043 Ket 4044 End 4045 ------------------------------------------------------------------ 4046 Capturing subpattern count = 1 4047 Max back reference = 1 4048 Named capturing subpatterns: 4049 a 1 4050 First code unit = 'a' 4051 Last code unit = 'd' 4052 Subject length lower bound = 10 4053 4054 /^\W*(?:(?P<one>(?P<two>.)\W*(?P>one)\W*(?P=two)|)|(?P<three>(?P<four>.)\W*(?P>three)\W*(?P=four)|\W*.\W*))\W*$/Ii 4055 Capturing subpattern count = 4 4056 Max back reference = 4 4057 Named capturing subpatterns: 4058 four 4 4059 one 1 4060 three 3 4061 two 2 4062 May match empty string 4063 Compile options: caseless 4064 Overall options: anchored caseless 4065 Subject length lower bound = 0 4066 1221 4067 0: 1221 4068 1: 1221 4069 2: 1 4070 Satan, oscillate my metallic sonatas! 4071 0: Satan, oscillate my metallic sonatas! 4072 1: <unset> 4073 2: <unset> 4074 3: Satan, oscillate my metallic sonatas 4075 4: S 4076 A man, a plan, a canal: Panama! 4077 0: A man, a plan, a canal: Panama! 4078 1: <unset> 4079 2: <unset> 4080 3: A man, a plan, a canal: Panama 4081 4: A 4082 Able was I ere I saw Elba. 4083 0: Able was I ere I saw Elba. 4084 1: <unset> 4085 2: <unset> 4086 3: Able was I ere I saw Elba 4087 4: A 4088 \= Expect no match 4089 The quick brown fox 4090 No match 4091 4092 /((?(R)a|b))\1(?1)?/I 4093 Capturing subpattern count = 1 4094 Max back reference = 1 4095 Subject length lower bound = 2 4096 bb 4097 0: bb 4098 1: b 4099 bbaa 4100 0: bba 4101 1: b 4102 4103 /(.*)a/Is 4104 Capturing subpattern count = 1 4105 Compile options: dotall 4106 Overall options: anchored dotall 4107 Last code unit = 'a' 4108 Subject length lower bound = 1 4109 4110 /(.*)a\1/Is 4111 Capturing subpattern count = 1 4112 Max back reference = 1 4113 Options: dotall 4114 Last code unit = 'a' 4115 Subject length lower bound = 1 4116 4117 /(.*)a(b)\2/Is 4118 Capturing subpattern count = 2 4119 Max back reference = 2 4120 Compile options: dotall 4121 Overall options: anchored dotall 4122 Last code unit = 'b' 4123 Subject length lower bound = 3 4124 4125 /((.*)a|(.*)b)z/Is 4126 Capturing subpattern count = 3 4127 Compile options: dotall 4128 Overall options: anchored dotall 4129 Last code unit = 'z' 4130 Subject length lower bound = 2 4131 4132 /((.*)a|(.*)b)z\1/Is 4133 Capturing subpattern count = 3 4134 Max back reference = 1 4135 Options: dotall 4136 Last code unit = 'z' 4137 Subject length lower bound = 3 4138 4139 /((.*)a|(.*)b)z\2/Is 4140 Capturing subpattern count = 3 4141 Max back reference = 2 4142 Options: dotall 4143 Last code unit = 'z' 4144 Subject length lower bound = 2 4145 4146 /((.*)a|(.*)b)z\3/Is 4147 Capturing subpattern count = 3 4148 Max back reference = 3 4149 Options: dotall 4150 Last code unit = 'z' 4151 Subject length lower bound = 2 4152 4153 /((.*)a|^(.*)b)z\3/Is 4154 Capturing subpattern count = 3 4155 Max back reference = 3 4156 Compile options: dotall 4157 Overall options: anchored dotall 4158 Last code unit = 'z' 4159 Subject length lower bound = 2 4160 4161 /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is 4162 Capturing subpattern count = 31 4163 May match empty string 4164 Compile options: dotall 4165 Overall options: anchored dotall 4166 Subject length lower bound = 0 4167 4168 /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is 4169 Capturing subpattern count = 31 4170 Max back reference = 31 4171 May match empty string 4172 Options: dotall 4173 Subject length lower bound = 0 4174 4175 /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is 4176 Capturing subpattern count = 32 4177 Max back reference = 32 4178 May match empty string 4179 Options: dotall 4180 Subject length lower bound = 0 4181 4182 /(a)(bc)/IB,no_auto_capture 4183 ------------------------------------------------------------------ 4184 Bra 4185 Bra 4186 a 4187 Ket 4188 Bra 4189 bc 4190 Ket 4191 Ket 4192 End 4193 ------------------------------------------------------------------ 4194 Capturing subpattern count = 0 4195 Options: no_auto_capture 4196 First code unit = 'a' 4197 Last code unit = 'c' 4198 Subject length lower bound = 3 4199 abc 4200 0: abc 4201 4202 /(?P<one>a)(bc)/IB,no_auto_capture 4203 ------------------------------------------------------------------ 4204 Bra 4205 CBra 1 4206 a 4207 Ket 4208 Bra 4209 bc 4210 Ket 4211 Ket 4212 End 4213 ------------------------------------------------------------------ 4214 Capturing subpattern count = 1 4215 Named capturing subpatterns: 4216 one 1 4217 Options: no_auto_capture 4218 First code unit = 'a' 4219 Last code unit = 'c' 4220 Subject length lower bound = 3 4221 abc 4222 0: abc 4223 1: a 4224 4225 /(a)(?P<named>bc)/IB,no_auto_capture 4226 ------------------------------------------------------------------ 4227 Bra 4228 Bra 4229 a 4230 Ket 4231 CBra 1 4232 bc 4233 Ket 4234 Ket 4235 End 4236 ------------------------------------------------------------------ 4237 Capturing subpattern count = 1 4238 Named capturing subpatterns: 4239 named 1 4240 Options: no_auto_capture 4241 First code unit = 'a' 4242 Last code unit = 'c' 4243 Subject length lower bound = 3 4244 4245 /(aaa(?C1)bbb|ab)/I 4246 Capturing subpattern count = 1 4247 First code unit = 'a' 4248 Last code unit = 'b' 4249 Subject length lower bound = 2 4250 aaabbb 4251 --->aaabbb 4252 1 ^ ^ b 4253 0: aaabbb 4254 1: aaabbb 4255 aaabbb\=callout_data=0 4256 --->aaabbb 4257 1 ^ ^ b 4258 0: aaabbb 4259 1: aaabbb 4260 aaabbb\=callout_data=1 4261 --->aaabbb 4262 1 ^ ^ b 4263 Callout data = 1 4264 0: ab 4265 1: ab 4266 \= Expect no match 4267 aaabbb\=callout_data=-1 4268 --->aaabbb 4269 1 ^ ^ b 4270 Callout data = -1 4271 No match 4272 4273 /ab(?P<one>cd)ef(?P<two>gh)/I 4274 Capturing subpattern count = 2 4275 Named capturing subpatterns: 4276 one 1 4277 two 2 4278 First code unit = 'a' 4279 Last code unit = 'h' 4280 Subject length lower bound = 8 4281 abcdefgh 4282 0: abcdefgh 4283 1: cd 4284 2: gh 4285 abcdefgh\=copy=1,get=two 4286 0: abcdefgh 4287 1: cd 4288 2: gh 4289 1C cd (2) 4290 G gh (2) two (group 2) 4291 abcdefgh\=copy=one,copy=two 4292 0: abcdefgh 4293 1: cd 4294 2: gh 4295 C cd (2) one (group 1) 4296 C gh (2) two (group 2) 4297 abcdefgh\=copy=three 4298 0: abcdefgh 4299 1: cd 4300 2: gh 4301 Number not found for group 'three' 4302 Copy substring 'three' failed (-49): unknown substring 4303 4304 /(?P<Tes>)(?P<Test>)/IB 4305 ------------------------------------------------------------------ 4306 Bra 4307 CBra 1 4308 Ket 4309 CBra 2 4310 Ket 4311 Ket 4312 End 4313 ------------------------------------------------------------------ 4314 Capturing subpattern count = 2 4315 Named capturing subpatterns: 4316 Tes 1 4317 Test 2 4318 May match empty string 4319 Subject length lower bound = 0 4320 4321 /(?P<Test>)(?P<Tes>)/IB 4322 ------------------------------------------------------------------ 4323 Bra 4324 CBra 1 4325 Ket 4326 CBra 2 4327 Ket 4328 Ket 4329 End 4330 ------------------------------------------------------------------ 4331 Capturing subpattern count = 2 4332 Named capturing subpatterns: 4333 Tes 2 4334 Test 1 4335 May match empty string 4336 Subject length lower bound = 0 4337 4338 /(?P<Z>zz)(?P<A>aa)/I 4339 Capturing subpattern count = 2 4340 Named capturing subpatterns: 4341 A 2 4342 Z 1 4343 First code unit = 'z' 4344 Last code unit = 'a' 4345 Subject length lower bound = 4 4346 zzaa\=copy=Z 4347 0: zzaa 4348 1: zz 4349 2: aa 4350 C zz (2) Z (group 1) 4351 zzaa\=copy=A 4352 0: zzaa 4353 1: zz 4354 2: aa 4355 C aa (2) A (group 2) 4356 4357 /(?P<x>eks)(?P<x>eccs)/I 4358 Failed: error 143 at offset 15: two named subpatterns have the same name (PCRE2_DUPNAMES not set) 4359 4360 /(?P<abc>abc(?P<def>def)(?P<abc>xyz))/I 4361 Failed: error 143 at offset 30: two named subpatterns have the same name (PCRE2_DUPNAMES not set) 4362 4363 "\[((?P<elem>\d+)(,(?P>elem))*)\]"I 4364 Capturing subpattern count = 3 4365 Named capturing subpatterns: 4366 elem 2 4367 First code unit = '[' 4368 Last code unit = ']' 4369 Subject length lower bound = 3 4370 [10,20,30,5,5,4,4,2,43,23,4234] 4371 0: [10,20,30,5,5,4,4,2,43,23,4234] 4372 1: 10,20,30,5,5,4,4,2,43,23,4234 4373 2: 10 4374 3: ,4234 4375 \= Expect no match 4376 [] 4377 No match 4378 4379 "\[((?P<elem>\d+)(,(?P>elem))*)?\]"I 4380 Capturing subpattern count = 3 4381 Named capturing subpatterns: 4382 elem 2 4383 First code unit = '[' 4384 Last code unit = ']' 4385 Subject length lower bound = 2 4386 [10,20,30,5,5,4,4,2,43,23,4234] 4387 0: [10,20,30,5,5,4,4,2,43,23,4234] 4388 1: 10,20,30,5,5,4,4,2,43,23,4234 4389 2: 10 4390 3: ,4234 4391 [] 4392 0: [] 4393 4394 /(a(b(?2)c))?/IB 4395 ------------------------------------------------------------------ 4396 Bra 4397 Brazero 4398 CBra 1 4399 a 4400 CBra 2 4401 b 4402 Recurse 4403 c 4404 Ket 4405 Ket 4406 Ket 4407 End 4408 ------------------------------------------------------------------ 4409 Capturing subpattern count = 2 4410 May match empty string 4411 Subject length lower bound = 0 4412 4413 /(a(b(?2)c))*/IB 4414 ------------------------------------------------------------------ 4415 Bra 4416 Brazero 4417 CBra 1 4418 a 4419 CBra 2 4420 b 4421 Recurse 4422 c 4423 Ket 4424 KetRmax 4425 Ket 4426 End 4427 ------------------------------------------------------------------ 4428 Capturing subpattern count = 2 4429 May match empty string 4430 Subject length lower bound = 0 4431 4432 /(a(b(?2)c)){0,2}/IB 4433 ------------------------------------------------------------------ 4434 Bra 4435 Brazero 4436 Bra 4437 CBra 1 4438 a 4439 CBra 2 4440 b 4441 Recurse 4442 c 4443 Ket 4444 Ket 4445 Brazero 4446 CBra 1 4447 a 4448 CBra 2 4449 b 4450 Recurse 4451 c 4452 Ket 4453 Ket 4454 Ket 4455 Ket 4456 End 4457 ------------------------------------------------------------------ 4458 Capturing subpattern count = 2 4459 May match empty string 4460 Subject length lower bound = 0 4461 4462 /[ab]{1}+/B 4463 ------------------------------------------------------------------ 4464 Bra 4465 [ab] 4466 Ket 4467 End 4468 ------------------------------------------------------------------ 4469 4470 /()(?1){1}/B 4471 ------------------------------------------------------------------ 4472 Bra 4473 CBra 1 4474 Ket 4475 Recurse 4476 Ket 4477 End 4478 ------------------------------------------------------------------ 4479 4480 /()(?1)/B 4481 ------------------------------------------------------------------ 4482 Bra 4483 CBra 1 4484 Ket 4485 Recurse 4486 Ket 4487 End 4488 ------------------------------------------------------------------ 4489 4490 /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii 4491 Capturing subpattern count = 3 4492 Options: caseless 4493 Last code unit = 'g' (caseless) 4494 Subject length lower bound = 8 4495 Baby Bjorn Active Carrier - With free SHIPPING!! 4496 0: Baby Bjorn Active Carrier - With free SHIPPING!! 4497 1: Baby Bjorn Active Carrier - With free SHIPPING!! 4498 4499 /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii 4500 Capturing subpattern count = 3 4501 Options: caseless 4502 Last code unit = 'g' (caseless) 4503 Subject length lower bound = 8 4504 Baby Bjorn Active Carrier - With free SHIPPING!! 4505 0: Baby Bjorn Active Carrier - With free SHIPPING!! 4506 1: Baby Bjorn Active Carrier - With free SHIPPING!! 4507 4508 /a*.*b/IB 4509 ------------------------------------------------------------------ 4510 Bra 4511 a* 4512 Any* 4513 b 4514 Ket 4515 End 4516 ------------------------------------------------------------------ 4517 Capturing subpattern count = 0 4518 Last code unit = 'b' 4519 Subject length lower bound = 1 4520 4521 /(a|b)*.?c/IB 4522 ------------------------------------------------------------------ 4523 Bra 4524 Brazero 4525 CBra 1 4526 a 4527 Alt 4528 b 4529 KetRmax 4530 Any? 4531 c 4532 Ket 4533 End 4534 ------------------------------------------------------------------ 4535 Capturing subpattern count = 1 4536 Last code unit = 'c' 4537 Subject length lower bound = 1 4538 4539 /abc(?C255)de(?C)f/IB 4540 ------------------------------------------------------------------ 4541 Bra 4542 abc 4543 Callout 255 10 1 4544 de 4545 Callout 0 16 1 4546 f 4547 Ket 4548 End 4549 ------------------------------------------------------------------ 4550 Capturing subpattern count = 0 4551 First code unit = 'a' 4552 Last code unit = 'f' 4553 Subject length lower bound = 6 4554 4555 /abcde/IB,auto_callout 4556 ------------------------------------------------------------------ 4557 Bra 4558 Callout 255 0 1 4559 a 4560 Callout 255 1 1 4561 b 4562 Callout 255 2 1 4563 c 4564 Callout 255 3 1 4565 d 4566 Callout 255 4 1 4567 e 4568 Callout 255 5 0 4569 Ket 4570 End 4571 ------------------------------------------------------------------ 4572 Capturing subpattern count = 0 4573 Options: auto_callout 4574 First code unit = 'a' 4575 Last code unit = 'e' 4576 Subject length lower bound = 5 4577 abcde 4578 --->abcde 4579 +0 ^ a 4580 +1 ^^ b 4581 +2 ^ ^ c 4582 +3 ^ ^ d 4583 +4 ^ ^ e 4584 +5 ^ ^ 4585 0: abcde 4586 \= Expect no match 4587 abcdfe 4588 --->abcdfe 4589 +0 ^ a 4590 +1 ^^ b 4591 +2 ^ ^ c 4592 +3 ^ ^ d 4593 +4 ^ ^ e 4594 No match 4595 4596 /a*b/IB,auto_callout 4597 ------------------------------------------------------------------ 4598 Bra 4599 Callout 255 0 2 4600 a*+ 4601 Callout 255 2 1 4602 b 4603 Callout 255 3 0 4604 Ket 4605 End 4606 ------------------------------------------------------------------ 4607 Capturing subpattern count = 0 4608 Options: auto_callout 4609 Starting code units: a b 4610 Last code unit = 'b' 4611 Subject length lower bound = 1 4612 ab 4613 --->ab 4614 +0 ^ a* 4615 +2 ^^ b 4616 +3 ^ ^ 4617 0: ab 4618 aaaab 4619 --->aaaab 4620 +0 ^ a* 4621 +2 ^ ^ b 4622 +3 ^ ^ 4623 0: aaaab 4624 aaaacb 4625 --->aaaacb 4626 +0 ^ a* 4627 +2 ^ ^ b 4628 +0 ^ a* 4629 +2 ^ ^ b 4630 +0 ^ a* 4631 +2 ^ ^ b 4632 +0 ^ a* 4633 +2 ^^ b 4634 +0 ^ a* 4635 +2 ^ b 4636 +3 ^^ 4637 0: b 4638 4639 /a*b/IB,auto_callout 4640 ------------------------------------------------------------------ 4641 Bra 4642 Callout 255 0 2 4643 a*+ 4644 Callout 255 2 1 4645 b 4646 Callout 255 3 0 4647 Ket 4648 End 4649 ------------------------------------------------------------------ 4650 Capturing subpattern count = 0 4651 Options: auto_callout 4652 Starting code units: a b 4653 Last code unit = 'b' 4654 Subject length lower bound = 1 4655 ab 4656 --->ab 4657 +0 ^ a* 4658 +2 ^^ b 4659 +3 ^ ^ 4660 0: ab 4661 aaaab 4662 --->aaaab 4663 +0 ^ a* 4664 +2 ^ ^ b 4665 +3 ^ ^ 4666 0: aaaab 4667 aaaacb 4668 --->aaaacb 4669 +0 ^ a* 4670 +2 ^ ^ b 4671 +0 ^ a* 4672 +2 ^ ^ b 4673 +0 ^ a* 4674 +2 ^ ^ b 4675 +0 ^ a* 4676 +2 ^^ b 4677 +0 ^ a* 4678 +2 ^ b 4679 +3 ^^ 4680 0: b 4681 4682 /a+b/IB,auto_callout 4683 ------------------------------------------------------------------ 4684 Bra 4685 Callout 255 0 2 4686 a++ 4687 Callout 255 2 1 4688 b 4689 Callout 255 3 0 4690 Ket 4691 End 4692 ------------------------------------------------------------------ 4693 Capturing subpattern count = 0 4694 Options: auto_callout 4695 First code unit = 'a' 4696 Last code unit = 'b' 4697 Subject length lower bound = 2 4698 ab 4699 --->ab 4700 +0 ^ a+ 4701 +2 ^^ b 4702 +3 ^ ^ 4703 0: ab 4704 aaaab 4705 --->aaaab 4706 +0 ^ a+ 4707 +2 ^ ^ b 4708 +3 ^ ^ 4709 0: aaaab 4710 \= Expect no match 4711 aaaacb 4712 --->aaaacb 4713 +0 ^ a+ 4714 +2 ^ ^ b 4715 +0 ^ a+ 4716 +2 ^ ^ b 4717 +0 ^ a+ 4718 +2 ^ ^ b 4719 +0 ^ a+ 4720 +2 ^^ b 4721 No match 4722 4723 /(abc|def)x/IB,auto_callout 4724 ------------------------------------------------------------------ 4725 Bra 4726 Callout 255 0 9 4727 CBra 1 4728 Callout 255 1 1 4729 a 4730 Callout 255 2 1 4731 b 4732 Callout 255 3 1 4733 c 4734 Callout 255 4 0 4735 Alt 4736 Callout 255 5 1 4737 d 4738 Callout 255 6 1 4739 e 4740 Callout 255 7 1 4741 f 4742 Callout 255 8 0 4743 Ket 4744 Callout 255 9 1 4745 x 4746 Callout 255 10 0 4747 Ket 4748 End 4749 ------------------------------------------------------------------ 4750 Capturing subpattern count = 1 4751 Options: auto_callout 4752 Starting code units: a d 4753 Last code unit = 'x' 4754 Subject length lower bound = 4 4755 abcx 4756 --->abcx 4757 +0 ^ (abc|def) 4758 +1 ^ a 4759 +2 ^^ b 4760 +3 ^ ^ c 4761 +4 ^ ^ | 4762 +9 ^ ^ x 4763 +10 ^ ^ 4764 0: abcx 4765 1: abc 4766 defx 4767 --->defx 4768 +0 ^ (abc|def) 4769 +1 ^ a 4770 +5 ^ d 4771 +6 ^^ e 4772 +7 ^ ^ f 4773 +8 ^ ^ ) 4774 +9 ^ ^ x 4775 +10 ^ ^ 4776 0: defx 4777 1: def 4778 \= Expect no match 4779 abcdefzx 4780 --->abcdefzx 4781 +0 ^ (abc|def) 4782 +1 ^ a 4783 +2 ^^ b 4784 +3 ^ ^ c 4785 +4 ^ ^ | 4786 +9 ^ ^ x 4787 +5 ^ d 4788 +0 ^ (abc|def) 4789 +1 ^ a 4790 +5 ^ d 4791 +6 ^^ e 4792 +7 ^ ^ f 4793 +8 ^ ^ ) 4794 +9 ^ ^ x 4795 No match 4796 4797 /(abc|def)x/IB,auto_callout 4798 ------------------------------------------------------------------ 4799 Bra 4800 Callout 255 0 9 4801 CBra 1 4802 Callout 255 1 1 4803 a 4804 Callout 255 2 1 4805 b 4806 Callout 255 3 1 4807 c 4808 Callout 255 4 0 4809 Alt 4810 Callout 255 5 1 4811 d 4812 Callout 255 6 1 4813 e 4814 Callout 255 7 1 4815 f 4816 Callout 255 8 0 4817 Ket 4818 Callout 255 9 1 4819 x 4820 Callout 255 10 0 4821 Ket 4822 End 4823 ------------------------------------------------------------------ 4824 Capturing subpattern count = 1 4825 Options: auto_callout 4826 Starting code units: a d 4827 Last code unit = 'x' 4828 Subject length lower bound = 4 4829 abcx 4830 --->abcx 4831 +0 ^ (abc|def) 4832 +1 ^ a 4833 +2 ^^ b 4834 +3 ^ ^ c 4835 +4 ^ ^ | 4836 +9 ^ ^ x 4837 +10 ^ ^ 4838 0: abcx 4839 1: abc 4840 defx 4841 --->defx 4842 +0 ^ (abc|def) 4843 +1 ^ a 4844 +5 ^ d 4845 +6 ^^ e 4846 +7 ^ ^ f 4847 +8 ^ ^ ) 4848 +9 ^ ^ x 4849 +10 ^ ^ 4850 0: defx 4851 1: def 4852 \= Expect no match 4853 abcdefzx 4854 --->abcdefzx 4855 +0 ^ (abc|def) 4856 +1 ^ a 4857 +2 ^^ b 4858 +3 ^ ^ c 4859 +4 ^ ^ | 4860 +9 ^ ^ x 4861 +5 ^ d 4862 +0 ^ (abc|def) 4863 +1 ^ a 4864 +5 ^ d 4865 +6 ^^ e 4866 +7 ^ ^ f 4867 +8 ^ ^ ) 4868 +9 ^ ^ x 4869 No match 4870 4871 /(ab|cd){3,4}/I,auto_callout 4872 Capturing subpattern count = 1 4873 Options: auto_callout 4874 Starting code units: a c 4875 Subject length lower bound = 6 4876 ababab 4877 --->ababab 4878 +0 ^ (ab|cd){3,4} 4879 +1 ^ a 4880 +2 ^^ b 4881 +3 ^ ^ | 4882 +1 ^ ^ a 4883 +2 ^ ^ b 4884 +3 ^ ^ | 4885 +1 ^ ^ a 4886 +2 ^ ^ b 4887 +3 ^ ^ | 4888 +1 ^ ^ a 4889 +4 ^ ^ c 4890 +12 ^ ^ 4891 0: ababab 4892 1: ab 4893 abcdabcd 4894 --->abcdabcd 4895 +0 ^ (ab|cd){3,4} 4896 +1 ^ a 4897 +2 ^^ b 4898 +3 ^ ^ | 4899 +1 ^ ^ a 4900 +4 ^ ^ c 4901 +5 ^ ^ d 4902 +6 ^ ^ ) 4903 +1 ^ ^ a 4904 +2 ^ ^ b 4905 +3 ^ ^ | 4906 +1 ^ ^ a 4907 +4 ^ ^ c 4908 +5 ^ ^ d 4909 +6 ^ ^ ) 4910 +12 ^ ^ 4911 0: abcdabcd 4912 1: cd 4913 abcdcdcdcdcd 4914 --->abcdcdcdcdcd 4915 +0 ^ (ab|cd){3,4} 4916 +1 ^ a 4917 +2 ^^ b 4918 +3 ^ ^ | 4919 +1 ^ ^ a 4920 +4 ^ ^ c 4921 +5 ^ ^ d 4922 +6 ^ ^ ) 4923 +1 ^ ^ a 4924 +4 ^ ^ c 4925 +5 ^ ^ d 4926 +6 ^ ^ ) 4927 +1 ^ ^ a 4928 +4 ^ ^ c 4929 +5 ^ ^ d 4930 +6 ^ ^ ) 4931 +12 ^ ^ 4932 0: abcdcdcd 4933 1: cd 4934 4935 /([ab]{,4}c|xy)/IB,auto_callout 4936 ------------------------------------------------------------------ 4937 Bra 4938 Callout 255 0 14 4939 CBra 1 4940 Callout 255 1 4 4941 [ab] 4942 Callout 255 5 1 4943 { 4944 Callout 255 6 1 4945 , 4946 Callout 255 7 1 4947 4 4948 Callout 255 8 1 4949 } 4950 Callout 255 9 1 4951 c 4952 Callout 255 10 0 4953 Alt 4954 Callout 255 11 1 4955 x 4956 Callout 255 12 1 4957 y 4958 Callout 255 13 0 4959 Ket 4960 Callout 255 14 0 4961 Ket 4962 End 4963 ------------------------------------------------------------------ 4964 Capturing subpattern count = 1 4965 Options: auto_callout 4966 Starting code units: a b x 4967 Subject length lower bound = 2 4968 \= Expect no match 4969 Note: that { does NOT introduce a quantifier 4970 --->Note: that { does NOT introduce a quantifier 4971 +0 ^ ([ab]{,4}c|xy) 4972 +1 ^ [ab] 4973 +5 ^^ { 4974 +11 ^ x 4975 +0 ^ ([ab]{,4}c|xy) 4976 +1 ^ [ab] 4977 +5 ^^ { 4978 +11 ^ x 4979 +0 ^ ([ab]{,4}c|xy) 4980 +1 ^ [ab] 4981 +5 ^^ { 4982 +11 ^ x 4983 No match 4984 4985 /([ab]{,4}c|xy)/IB,auto_callout 4986 ------------------------------------------------------------------ 4987 Bra 4988 Callout 255 0 14 4989 CBra 1 4990 Callout 255 1 4 4991 [ab] 4992 Callout 255 5 1 4993 { 4994 Callout 255 6 1 4995 , 4996 Callout 255 7 1 4997 4 4998 Callout 255 8 1 4999 } 5000 Callout 255 9 1 5001 c 5002 Callout 255 10 0 5003 Alt 5004 Callout 255 11 1 5005 x 5006 Callout 255 12 1 5007 y 5008 Callout 255 13 0 5009 Ket 5010 Callout 255 14 0 5011 Ket 5012 End 5013 ------------------------------------------------------------------ 5014 Capturing subpattern count = 1 5015 Options: auto_callout 5016 Starting code units: a b x 5017 Subject length lower bound = 2 5018 \= Expect no match 5019 Note: that { does NOT introduce a quantifier 5020 --->Note: that { does NOT introduce a quantifier 5021 +0 ^ ([ab]{,4}c|xy) 5022 +1 ^ [ab] 5023 +5 ^^ { 5024 +11 ^ x 5025 +0 ^ ([ab]{,4}c|xy) 5026 +1 ^ [ab] 5027 +5 ^^ { 5028 +11 ^ x 5029 +0 ^ ([ab]{,4}c|xy) 5030 +1 ^ [ab] 5031 +5 ^^ { 5032 +11 ^ x 5033 No match 5034 5035 /([ab]{1,4}c|xy){4,5}?123/IB,auto_callout 5036 ------------------------------------------------------------------ 5037 Bra 5038 Callout 255 0 21 5039 CBra 1 5040 Callout 255 1 9 5041 [ab]{1,4}+ 5042 Callout 255 10 1 5043 c 5044 Callout 255 11 0 5045 Alt 5046 Callout 255 12 1 5047 x 5048 Callout 255 13 1 5049 y 5050 Callout 255 14 0 5051 Ket 5052 CBra 1 5053 Callout 255 1 9 5054 [ab]{1,4}+ 5055 Callout 255 10 1 5056 c 5057 Callout 255 11 0 5058 Alt 5059 Callout 255 12 1 5060 x 5061 Callout 255 13 1 5062 y 5063 Callout 255 14 0 5064 Ket 5065 CBra 1 5066 Callout 255 1 9 5067 [ab]{1,4}+ 5068 Callout 255 10 1 5069 c 5070 Callout 255 11 0 5071 Alt 5072 Callout 255 12 1 5073 x 5074 Callout 255 13 1 5075 y 5076 Callout 255 14 0 5077 Ket 5078 CBra 1 5079 Callout 255 1 9 5080 [ab]{1,4}+ 5081 Callout 255 10 1 5082 c 5083 Callout 255 11 0 5084 Alt 5085 Callout 255 12 1 5086 x 5087 Callout 255 13 1 5088 y 5089 Callout 255 14 0 5090 Ket 5091 Braminzero 5092 CBra 1 5093 Callout 255 1 9 5094 [ab]{1,4}+ 5095 Callout 255 10 1 5096 c 5097 Callout 255 11 0 5098 Alt 5099 Callout 255 12 1 5100 x 5101 Callout 255 13 1 5102 y 5103 Callout 255 14 0 5104 Ket 5105 Callout 255 21 1 5106 1 5107 Callout 255 22 1 5108 2 5109 Callout 255 23 1 5110 3 5111 Callout 255 24 0 5112 Ket 5113 End 5114 ------------------------------------------------------------------ 5115 Capturing subpattern count = 1 5116 Options: auto_callout 5117 Starting code units: a b x 5118 Last code unit = '3' 5119 Subject length lower bound = 11 5120 aacaacaacaacaac123 5121 --->aacaacaacaacaac123 5122 +0 ^ ([ab]{1,4}c|xy){4,5}? 5123 +1 ^ [ab]{1,4} 5124 +10 ^ ^ c 5125 +11 ^ ^ | 5126 +1 ^ ^ [ab]{1,4} 5127 +10 ^ ^ c 5128 +11 ^ ^ | 5129 +1 ^ ^ [ab]{1,4} 5130 +10 ^ ^ c 5131 +11 ^ ^ | 5132 +1 ^ ^ [ab]{1,4} 5133 +10 ^ ^ c 5134 +11 ^ ^ | 5135 +21 ^ ^ 1 5136 +1 ^ ^ [ab]{1,4} 5137 +10 ^ ^ c 5138 +11 ^ ^ | 5139 +21 ^ ^ 1 5140 +22 ^ ^ 2 5141 +23 ^ ^ 3 5142 +24 ^ ^ 5143 0: aacaacaacaacaac123 5144 1: aac 5145 5146 /\b.*/I 5147 Capturing subpattern count = 0 5148 Max lookbehind = 1 5149 May match empty string 5150 Subject length lower bound = 0 5151 ab cd\=offset=1 5152 0: cd 5153 5154 /\b.*/Is 5155 Capturing subpattern count = 0 5156 Max lookbehind = 1 5157 May match empty string 5158 Options: dotall 5159 Subject length lower bound = 0 5160 ab cd\=startoffset=1 5161 0: cd 5162 5163 /(?!.bcd).*/I 5164 Capturing subpattern count = 0 5165 May match empty string 5166 Subject length lower bound = 0 5167 Xbcd12345 5168 0: bcd12345 5169 5170 /abcde/I 5171 Capturing subpattern count = 0 5172 First code unit = 'a' 5173 Last code unit = 'e' 5174 Subject length lower bound = 5 5175 ab\=ps 5176 Partial match: ab 5177 abc\=ps 5178 Partial match: abc 5179 abcd\=ps 5180 Partial match: abcd 5181 abcde\=ps 5182 0: abcde 5183 the quick brown abc\=ps 5184 Partial match: abc 5185 \= Expect no match\=ps 5186 the quick brown abxyz fox\=ps 5187 No match 5188 5189 "^(0?[1-9]|[12][0-9]|3[01])/(0?[1-9]|1[012])/(20)?\d\d$"I 5190 Capturing subpattern count = 3 5191 Compile options: <none> 5192 Overall options: anchored 5193 Last code unit = '/' 5194 Subject length lower bound = 6 5195 13/05/04\=ps 5196 0: 13/05/04 5197 1: 13 5198 2: 05 5199 13/5/2004\=ps 5200 0: 13/5/2004 5201 1: 13 5202 2: 5 5203 3: 20 5204 02/05/09\=ps 5205 0: 02/05/09 5206 1: 02 5207 2: 05 5208 1\=ps 5209 Partial match: 1 5210 1/2\=ps 5211 Partial match: 1/2 5212 1/2/0\=ps 5213 Partial match: 1/2/0 5214 1/2/04\=ps 5215 0: 1/2/04 5216 1: 1 5217 2: 2 5218 0\=ps 5219 Partial match: 0 5220 02/\=ps 5221 Partial match: 02/ 5222 02/0\=ps 5223 Partial match: 02/0 5224 02/1\=ps 5225 Partial match: 02/1 5226 \= Expect no match\=ps 5227 \=ps 5228 No match 5229 123\=ps 5230 No match 5231 33/4/04\=ps 5232 No match 5233 3/13/04\=ps 5234 No match 5235 0/1/2003\=ps 5236 No match 5237 0/\=ps 5238 No match 5239 02/0/\=ps 5240 No match 5241 02/13\=ps 5242 No match 5243 5244 /0{0,2}ABC/I 5245 Capturing subpattern count = 0 5246 Starting code units: 0 A 5247 Last code unit = 'C' 5248 Subject length lower bound = 3 5249 5250 /\d{3,}ABC/I 5251 Capturing subpattern count = 0 5252 Starting code units: 0 1 2 3 4 5 6 7 8 9 5253 Last code unit = 'C' 5254 Subject length lower bound = 6 5255 5256 /\d*ABC/I 5257 Capturing subpattern count = 0 5258 Starting code units: 0 1 2 3 4 5 6 7 8 9 A 5259 Last code unit = 'C' 5260 Subject length lower bound = 3 5261 5262 /[abc]+DE/I 5263 Capturing subpattern count = 0 5264 Starting code units: a b c 5265 Last code unit = 'E' 5266 Subject length lower bound = 3 5267 5268 /[abc]?123/I 5269 Capturing subpattern count = 0 5270 Starting code units: 1 a b c 5271 Last code unit = '3' 5272 Subject length lower bound = 3 5273 123\=ps 5274 0: 123 5275 a\=ps 5276 Partial match: a 5277 b\=ps 5278 Partial match: b 5279 c\=ps 5280 Partial match: c 5281 c12\=ps 5282 Partial match: c12 5283 c123\=ps 5284 0: c123 5285 5286 /^(?:\d){3,5}X/I 5287 Capturing subpattern count = 0 5288 Compile options: <none> 5289 Overall options: anchored 5290 Last code unit = 'X' 5291 Subject length lower bound = 4 5292 1\=ps 5293 Partial match: 1 5294 123\=ps 5295 Partial match: 123 5296 123X 5297 0: 123X 5298 1234\=ps 5299 Partial match: 1234 5300 1234X 5301 0: 1234X 5302 12345\=ps 5303 Partial match: 12345 5304 12345X 5305 0: 12345X 5306 \= Expect no match 5307 1X 5308 No match 5309 123456\=ps 5310 No match 5311 5312 "<(\w+)/?>(.)*</(\1)>"Igms 5313 Capturing subpattern count = 3 5314 Max back reference = 1 5315 Options: dotall multiline 5316 First code unit = '<' 5317 Last code unit = '>' 5318 Subject length lower bound = 7 5319 <!DOCTYPE seite SYSTEM "http://www.lco.lineas.de/xmlCms.dtd">\n<seite>\n<dokumenteninformation>\n<seitentitel>Partner der LCO</seitentitel>\n<sprache>de</sprache>\n<seitenbeschreibung>Partner der LINEAS Consulting\nGmbH</seitenbeschreibung>\n<schluesselworte>LINEAS Consulting GmbH Hamburg\nPartnerfirmen</schluesselworte>\n<revisit>30 days</revisit>\n<robots>index,follow</robots>\n<menueinformation>\n<aktiv>ja</aktiv>\n<menueposition>3</menueposition>\n<menuetext>Partner</menuetext>\n</menueinformation>\n<lastedited>\n<autor>LCO</autor>\n<firma>LINEAS Consulting</firma>\n<datum>15.10.2003</datum>\n</lastedited>\n</dokumenteninformation>\n<inhalt>\n\n<absatzueberschrift>Die Partnerfirmen der LINEAS Consulting\nGmbH</absatzueberschrift>\n\n<absatz><link ziel="http://www.ca.com/" zielfenster="_blank">\n<bild name="logo_ca.gif" rahmen="no"/></link> <link\nziel="http://www.ey.com/" zielfenster="_blank"><bild\nname="logo_euy.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><link ziel="http://www.cisco.de/" zielfenster="_blank">\n<bild name="logo_cisco.gif" rahmen="ja"/></link></absatz>\n\n<absatz><link ziel="http://www.atelion.de/"\nzielfenster="_blank"><bild\nname="logo_atelion.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><link ziel="http://www.line-information.de/"\nzielfenster="_blank">\n<bild name="logo_line_information.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><bild name="logo_aw.gif" rahmen="no"/></absatz>\n\n<absatz><link ziel="http://www.incognis.de/"\nzielfenster="_blank"><bild\nname="logo_incognis.gif" rahmen="no"/></link></absatz>\n\n<absatz><link ziel="http://www.addcraft.com/"\nzielfenster="_blank"><bild\nname="logo_addcraft.gif" rahmen="no"/></link></absatz>\n\n<absatz><link ziel="http://www.comendo.com/"\nzielfenster="_blank"><bild\nname="logo_comendo.gif" rahmen="no"/></link></absatz>\n\n</inhalt>\n</seite>\=jitstack=1024 5320 0: <seite>\x0a<dokumenteninformation>\x0a<seitentitel>Partner der LCO</seitentitel>\x0a<sprache>de</sprache>\x0a<seitenbeschreibung>Partner der LINEAS Consulting\x0aGmbH</seitenbeschreibung>\x0a<schluesselworte>LINEAS Consulting GmbH Hamburg\x0aPartnerfirmen</schluesselworte>\x0a<revisit>30 days</revisit>\x0a<robots>index,follow</robots>\x0a<menueinformation>\x0a<aktiv>ja</aktiv>\x0a<menueposition>3</menueposition>\x0a<menuetext>Partner</menuetext>\x0a</menueinformation>\x0a<lastedited>\x0a<autor>LCO</autor>\x0a<firma>LINEAS Consulting</firma>\x0a<datum>15.10.2003</datum>\x0a</lastedited>\x0a</dokumenteninformation>\x0a<inhalt>\x0a\x0a<absatzueberschrift>Die Partnerfirmen der LINEAS Consulting\x0aGmbH</absatzueberschrift>\x0a\x0a<absatz><link ziel="http://www.ca.com/" zielfenster="_blank">\x0a<bild name="logo_ca.gif" rahmen="no"/></link> <link\x0aziel="http://www.ey.com/" zielfenster="_blank"><bild\x0aname="logo_euy.gif" rahmen="no"/></link>\x0a</absatz>\x0a\x0a<absatz><link ziel="http://www.cisco.de/" zielfenster="_blank">\x0a<bild name="logo_cisco.gif" rahmen="ja"/></link></absatz>\x0a\x0a<absatz><link ziel="http://www.atelion.de/"\x0azielfenster="_blank"><bild\x0aname="logo_atelion.gif" rahmen="no"/></link>\x0a</absatz>\x0a\x0a<absatz><link ziel="http://www.line-information.de/"\x0azielfenster="_blank">\x0a<bild name="logo_line_information.gif" rahmen="no"/></link>\x0a</absatz>\x0a\x0a<absatz><bild name="logo_aw.gif" rahmen="no"/></absatz>\x0a\x0a<absatz><link ziel="http://www.incognis.de/"\x0azielfenster="_blank"><bild\x0aname="logo_incognis.gif" rahmen="no"/></link></absatz>\x0a\x0a<absatz><link ziel="http://www.addcraft.com/"\x0azielfenster="_blank"><bild\x0aname="logo_addcraft.gif" rahmen="no"/></link></absatz>\x0a\x0a<absatz><link ziel="http://www.comendo.com/"\x0azielfenster="_blank"><bild\x0aname="logo_comendo.gif" rahmen="no"/></link></absatz>\x0a\x0a</inhalt>\x0a</seite> 5321 1: seite 5322 2: \x0a 5323 3: seite 5324 5325 /line\nbreak/I 5326 Capturing subpattern count = 0 5327 Contains explicit CR or LF match 5328 First code unit = 'l' 5329 Last code unit = 'k' 5330 Subject length lower bound = 10 5331 this is a line\nbreak 5332 0: line\x0abreak 5333 line one\nthis is a line\nbreak in the second line 5334 0: line\x0abreak 5335 5336 /line\nbreak/I,firstline 5337 Capturing subpattern count = 0 5338 Contains explicit CR or LF match 5339 Options: firstline 5340 First code unit = 'l' 5341 Last code unit = 'k' 5342 Subject length lower bound = 10 5343 this is a line\nbreak 5344 0: line\x0abreak 5345 \= Expect no match 5346 line one\nthis is a line\nbreak in the second line 5347 No match 5348 5349 /line\nbreak/Im,firstline 5350 Capturing subpattern count = 0 5351 Contains explicit CR or LF match 5352 Options: firstline multiline 5353 First code unit = 'l' 5354 Last code unit = 'k' 5355 Subject length lower bound = 10 5356 this is a line\nbreak 5357 0: line\x0abreak 5358 \= Expect no match 5359 line one\nthis is a line\nbreak in the second line 5360 No match 5361 5362 /(?i)(?-i)AbCd/I 5363 Capturing subpattern count = 0 5364 First code unit = 'A' 5365 Last code unit = 'd' 5366 Subject length lower bound = 4 5367 AbCd 5368 0: AbCd 5369 \= Expect no match 5370 abcd 5371 No match 5372 5373 /a{11111111111111111111}/I 5374 Failed: error 105 at offset 8: number too big in {} quantifier 5375 5376 /(){64294967295}/I 5377 Failed: error 105 at offset 9: number too big in {} quantifier 5378 5379 /(){2,4294967295}/I 5380 Failed: error 105 at offset 11: number too big in {} quantifier 5381 5382 "(?i:a)(?i:b)(?i:c)(?i:d)(?i:e)(?i:f)(?i:g)(?i:h)(?i:i)(?i:j)(k)(?i:l)A\1B"I 5383 Capturing subpattern count = 1 5384 Max back reference = 1 5385 First code unit = 'a' (caseless) 5386 Last code unit = 'B' 5387 Subject length lower bound = 15 5388 abcdefghijklAkB 5389 0: abcdefghijklAkB 5390 1: k 5391 5392 "(?P<n0>a)(?P<n1>b)(?P<n2>c)(?P<n3>d)(?P<n4>e)(?P<n5>f)(?P<n6>g)(?P<n7>h)(?P<n8>i)(?P<n9>j)(?P<n10>k)(?P<n11>l)A\11B"I 5393 Capturing subpattern count = 12 5394 Max back reference = 11 5395 Named capturing subpatterns: 5396 n0 1 5397 n1 2 5398 n10 11 5399 n11 12 5400 n2 3 5401 n3 4 5402 n4 5 5403 n5 6 5404 n6 7 5405 n7 8 5406 n8 9 5407 n9 10 5408 First code unit = 'a' 5409 Last code unit = 'B' 5410 Subject length lower bound = 15 5411 abcdefghijklAkB 5412 0: abcdefghijklAkB 5413 1: a 5414 2: b 5415 3: c 5416 4: d 5417 5: e 5418 6: f 5419 7: g 5420 8: h 5421 9: i 5422 10: j 5423 11: k 5424 12: l 5425 5426 "(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)A\11B"I 5427 Capturing subpattern count = 12 5428 Max back reference = 11 5429 First code unit = 'a' 5430 Last code unit = 'B' 5431 Subject length lower bound = 15 5432 abcdefghijklAkB 5433 0: abcdefghijklAkB 5434 1: a 5435 2: b 5436 3: c 5437 4: d 5438 5: e 5439 6: f 5440 7: g 5441 8: h 5442 9: i 5443 10: j 5444 11: k 5445 12: l 5446 5447 "(?P<name0>a)(?P<name1>a)(?P<name2>a)(?P<name3>a)(?P<name4>a)(?P<name5>a)(?P<name6>a)(?P<name7>a)(?P<name8>a)(?P<name9>a)(?P<name10>a)(?P<name11>a)(?P<name12>a)(?P<name13>a)(?P<name14>a)(?P<name15>a)(?P<name16>a)(?P<name17>a)(?P<name18>a)(?P<name19>a)(?P<name20>a)(?P<name21>a)(?P<name22>a)(?P<name23>a)(?P<name24>a)(?P<name25>a)(?P<name26>a)(?P<name27>a)(?P<name28>a)(?P<name29>a)(?P<name30>a)(?P<name31>a)(?P<name32>a)(?P<name33>a)(?P<name34>a)(?P<name35>a)(?P<name36>a)(?P<name37>a)(?P<name38>a)(?P<name39>a)(?P<name40>a)(?P<name41>a)(?P<name42>a)(?P<name43>a)(?P<name44>a)(?P<name45>a)(?P<name46>a)(?P<name47>a)(?P<name48>a)(?P<name49>a)(?P<name50>a)(?P<name51>a)(?P<name52>a)(?P<name53>a)(?P<name54>a)(?P<name55>a)(?P<name56>a)(?P<name57>a)(?P<name58>a)(?P<name59>a)(?P<name60>a)(?P<name61>a)(?P<name62>a)(?P<name63>a)(?P<name64>a)(?P<name65>a)(?P<name66>a)(?P<name67>a)(?P<name68>a)(?P<name69>a)(?P<name70>a)(?P<name71>a)(?P<name72>a)(?P<name73>a)(?P<name74>a)(?P<name75>a)(?P<name76>a)(?P<name77>a)(?P<name78>a)(?P<name79>a)(?P<name80>a)(?P<name81>a)(?P<name82>a)(?P<name83>a)(?P<name84>a)(?P<name85>a)(?P<name86>a)(?P<name87>a)(?P<name88>a)(?P<name89>a)(?P<name90>a)(?P<name91>a)(?P<name92>a)(?P<name93>a)(?P<name94>a)(?P<name95>a)(?P<name96>a)(?P<name97>a)(?P<name98>a)(?P<name99>a)(?P<name100>a)"I 5448 Capturing subpattern count = 101 5449 Named capturing subpatterns: 5450 name0 1 5451 name1 2 5452 name10 11 5453 name100 101 5454 name11 12 5455 name12 13 5456 name13 14 5457 name14 15 5458 name15 16 5459 name16 17 5460 name17 18 5461 name18 19 5462 name19 20 5463 name2 3 5464 name20 21 5465 name21 22 5466 name22 23 5467 name23 24 5468 name24 25 5469 name25 26 5470 name26 27 5471 name27 28 5472 name28 29 5473 name29 30 5474 name3 4 5475 name30 31 5476 name31 32 5477 name32 33 5478 name33 34 5479 name34 35 5480 name35 36 5481 name36 37 5482 name37 38 5483 name38 39 5484 name39 40 5485 name4 5 5486 name40 41 5487 name41 42 5488 name42 43 5489 name43 44 5490 name44 45 5491 name45 46 5492 name46 47 5493 name47 48 5494 name48 49 5495 name49 50 5496 name5 6 5497 name50 51 5498 name51 52 5499 name52 53 5500 name53 54 5501 name54 55 5502 name55 56 5503 name56 57 5504 name57 58 5505 name58 59 5506 name59 60 5507 name6 7 5508 name60 61 5509 name61 62 5510 name62 63 5511 name63 64 5512 name64 65 5513 name65 66 5514 name66 67 5515 name67 68 5516 name68 69 5517 name69 70 5518 name7 8 5519 name70 71 5520 name71 72 5521 name72 73 5522 name73 74 5523 name74 75 5524 name75 76 5525 name76 77 5526 name77 78 5527 name78 79 5528 name79 80 5529 name8 9 5530 name80 81 5531 name81 82 5532 name82 83 5533 name83 84 5534 name84 85 5535 name85 86 5536 name86 87 5537 name87 88 5538 name88 89 5539 name89 90 5540 name9 10 5541 name90 91 5542 name91 92 5543 name92 93 5544 name93 94 5545 name94 95 5546 name95 96 5547 name96 97 5548 name97 98 5549 name98 99 5550 name99 100 5551 First code unit = 'a' 5552 Last code unit = 'a' 5553 Subject length lower bound = 101 5554 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 5555 Matched, but too many substrings 5556 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 5557 1: a 5558 2: a 5559 3: a 5560 4: a 5561 5: a 5562 6: a 5563 7: a 5564 8: a 5565 9: a 5566 10: a 5567 11: a 5568 12: a 5569 13: a 5570 14: a 5571 5572 "(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)"I 5573 Capturing subpattern count = 101 5574 First code unit = 'a' 5575 Last code unit = 'a' 5576 Subject length lower bound = 101 5577 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 5578 Matched, but too many substrings 5579 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 5580 1: a 5581 2: a 5582 3: a 5583 4: a 5584 5: a 5585 6: a 5586 7: a 5587 8: a 5588 9: a 5589 10: a 5590 11: a 5591 12: a 5592 13: a 5593 14: a 5594 5595 /[^()]*(?:\((?R)\)[^()]*)*/I 5596 Capturing subpattern count = 0 5597 May match empty string 5598 Subject length lower bound = 0 5599 (this(and)that 5600 0: 5601 (this(and)that) 5602 0: (this(and)that) 5603 (this(and)that)stuff 5604 0: (this(and)that)stuff 5605 5606 /[^()]*(?:\((?>(?R))\)[^()]*)*/I 5607 Capturing subpattern count = 0 5608 May match empty string 5609 Subject length lower bound = 0 5610 (this(and)that 5611 0: 5612 (this(and)that) 5613 0: (this(and)that) 5614 5615 /[^()]*(?:\((?R)\))*[^()]*/I 5616 Capturing subpattern count = 0 5617 May match empty string 5618 Subject length lower bound = 0 5619 (this(and)that 5620 0: 5621 (this(and)that) 5622 0: (this(and)that) 5623 5624 /(?:\((?R)\))*[^()]*/I 5625 Capturing subpattern count = 0 5626 May match empty string 5627 Subject length lower bound = 0 5628 (this(and)that 5629 0: 5630 (this(and)that) 5631 0: 5632 ((this)) 5633 0: ((this)) 5634 5635 /(?:\((?R)\))|[^()]*/I 5636 Capturing subpattern count = 0 5637 May match empty string 5638 Subject length lower bound = 0 5639 (this(and)that 5640 0: 5641 (this(and)that) 5642 0: 5643 (this) 5644 0: (this) 5645 ((this)) 5646 0: ((this)) 5647 5648 /\x{0000ff}/I 5649 Capturing subpattern count = 0 5650 First code unit = \xff 5651 Subject length lower bound = 1 5652 5653 /^((?P<A>a1)|(?P<A>a2)b)/I 5654 Failed: error 143 at offset 17: two named subpatterns have the same name (PCRE2_DUPNAMES not set) 5655 5656 /^((?P<A>a1)|(?P<A>a2)b)/I,dupnames 5657 Capturing subpattern count = 3 5658 Named capturing subpatterns: 5659 A 2 5660 A 3 5661 Compile options: dupnames 5662 Overall options: anchored dupnames 5663 Subject length lower bound = 2 5664 a1b\=copy=A 5665 0: a1 5666 1: a1 5667 2: a1 5668 C a1 (2) A (non-unique) 5669 a2b\=copy=A 5670 0: a2b 5671 1: a2b 5672 2: <unset> 5673 3: a2 5674 C a2 (2) A (non-unique) 5675 a1b\=copy=Z,copy=A 5676 0: a1 5677 1: a1 5678 2: a1 5679 Number not found for group 'Z' 5680 Copy substring 'Z' failed (-49): unknown substring 5681 C a1 (2) A (non-unique) 5682 5683 /(?|(?<a>)(?<b>)(?<a>)|(?<a>)(?<b>)(?<a>))/I,dupnames 5684 Capturing subpattern count = 3 5685 Named capturing subpatterns: 5686 a 1 5687 a 3 5688 b 2 5689 May match empty string 5690 Options: dupnames 5691 Subject length lower bound = 0 5692 5693 /^(?P<A>a)(?P<A>b)/I,dupnames 5694 Capturing subpattern count = 2 5695 Named capturing subpatterns: 5696 A 1 5697 A 2 5698 Compile options: dupnames 5699 Overall options: anchored dupnames 5700 Subject length lower bound = 2 5701 ab\=copy=A 5702 0: ab 5703 1: a 5704 2: b 5705 C a (1) A (non-unique) 5706 5707 /^(?P<A>a)(?P<A>b)|cd/I,dupnames 5708 Capturing subpattern count = 2 5709 Named capturing subpatterns: 5710 A 1 5711 A 2 5712 Options: dupnames 5713 Subject length lower bound = 2 5714 ab\=copy=A 5715 0: ab 5716 1: a 5717 2: b 5718 C a (1) A (non-unique) 5719 cd\=copy=A 5720 0: cd 5721 Copy substring 'A' failed (-55): requested value is not set 5722 5723 /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/I,dupnames 5724 Capturing subpattern count = 4 5725 Named capturing subpatterns: 5726 A 1 5727 A 2 5728 A 3 5729 A 4 5730 Options: dupnames 5731 Subject length lower bound = 2 5732 cdefgh\=copy=A 5733 0: cdefgh 5734 1: <unset> 5735 2: <unset> 5736 3: ef 5737 4: gh 5738 C ef (2) A (non-unique) 5739 5740 /^((?P<A>a1)|(?P<A>a2)b)/I,dupnames 5741 Capturing subpattern count = 3 5742 Named capturing subpatterns: 5743 A 2 5744 A 3 5745 Compile options: dupnames 5746 Overall options: anchored dupnames 5747 Subject length lower bound = 2 5748 a1b\=get=A 5749 0: a1 5750 1: a1 5751 2: a1 5752 G a1 (2) A (non-unique) 5753 a2b\=get=A 5754 0: a2b 5755 1: a2b 5756 2: <unset> 5757 3: a2 5758 G a2 (2) A (non-unique) 5759 a1b\=get=Z,get=A 5760 0: a1 5761 1: a1 5762 2: a1 5763 Number not found for group 'Z' 5764 Get substring 'Z' failed (-49): unknown substring 5765 G a1 (2) A (non-unique) 5766 5767 /^(?P<A>a)(?P<A>b)/I,dupnames 5768 Capturing subpattern count = 2 5769 Named capturing subpatterns: 5770 A 1 5771 A 2 5772 Compile options: dupnames 5773 Overall options: anchored dupnames 5774 Subject length lower bound = 2 5775 ab\=get=A 5776 0: ab 5777 1: a 5778 2: b 5779 G a (1) A (non-unique) 5780 5781 /^(?P<A>a)(?P<A>b)|cd/I,dupnames 5782 Capturing subpattern count = 2 5783 Named capturing subpatterns: 5784 A 1 5785 A 2 5786 Options: dupnames 5787 Subject length lower bound = 2 5788 ab\=get=A 5789 0: ab 5790 1: a 5791 2: b 5792 G a (1) A (non-unique) 5793 cd\=get=A 5794 0: cd 5795 Get substring 'A' failed (-55): requested value is not set 5796 5797 /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/I,dupnames 5798 Capturing subpattern count = 4 5799 Named capturing subpatterns: 5800 A 1 5801 A 2 5802 A 3 5803 A 4 5804 Options: dupnames 5805 Subject length lower bound = 2 5806 cdefgh\=get=A 5807 0: cdefgh 5808 1: <unset> 5809 2: <unset> 5810 3: ef 5811 4: gh 5812 G ef (2) A (non-unique) 5813 5814 /(?J)^((?P<A>a1)|(?P<A>a2)b)/I 5815 Capturing subpattern count = 3 5816 Named capturing subpatterns: 5817 A 2 5818 A 3 5819 Compile options: <none> 5820 Overall options: anchored 5821 Duplicate name status changes 5822 Subject length lower bound = 2 5823 a1b\=copy=A 5824 0: a1 5825 1: a1 5826 2: a1 5827 C a1 (2) A (non-unique) 5828 a2b\=copy=A 5829 0: a2b 5830 1: a2b 5831 2: <unset> 5832 3: a2 5833 C a2 (2) A (non-unique) 5834 5835 /^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<A>d)/I 5836 Failed: error 143 at offset 37: two named subpatterns have the same name (PCRE2_DUPNAMES not set) 5837 5838 # In this next test, J is not set at the outer level; consequently it isn't set 5839 # in the pattern's options; consequently pcre2_substring_get_byname() produces 5840 # a random value. 5841 5842 /^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<C>d)/I 5843 Capturing subpattern count = 4 5844 Named capturing subpatterns: 5845 A 1 5846 B 2 5847 B 3 5848 C 4 5849 Compile options: <none> 5850 Overall options: anchored 5851 Duplicate name status changes 5852 Subject length lower bound = 6 5853 a bc d\=copy=A,copy=B,copy=C 5854 0: a bc d 5855 1: a 5856 2: b 5857 3: c 5858 4: d 5859 C a (1) A (group 1) 5860 C b (1) B (non-unique) 5861 C d (1) C (group 4) 5862 5863 /^(?P<A>a)?(?(A)a|b)/I 5864 Capturing subpattern count = 1 5865 Max back reference = 1 5866 Named capturing subpatterns: 5867 A 1 5868 Compile options: <none> 5869 Overall options: anchored 5870 Subject length lower bound = 1 5871 aabc 5872 0: aa 5873 1: a 5874 bc 5875 0: b 5876 \= Expect no match 5877 abc 5878 No match 5879 5880 /(?:(?(ZZ)a|b)(?P<ZZ>X))+/I 5881 Capturing subpattern count = 1 5882 Max back reference = 1 5883 Named capturing subpatterns: 5884 ZZ 1 5885 Last code unit = 'X' 5886 Subject length lower bound = 2 5887 bXaX 5888 0: bXaX 5889 1: X 5890 5891 /(?:(?(2y)a|b)(X))+/I 5892 Failed: error 126 at offset 7: malformed number or name after (?( 5893 5894 /(?:(?(ZA)a|b)(?P<ZZ>X))+/I 5895 Failed: error 115 at offset 9: reference to non-existent subpattern 5896 5897 /(?:(?(ZZ)a|b)(?(ZZ)a|b)(?P<ZZ>X))+/I 5898 Capturing subpattern count = 1 5899 Max back reference = 1 5900 Named capturing subpatterns: 5901 ZZ 1 5902 Last code unit = 'X' 5903 Subject length lower bound = 3 5904 bbXaaX 5905 0: bbXaaX 5906 1: X 5907 5908 /(?:(?(ZZ)a|\(b\))\\(?P<ZZ>X))+/I 5909 Capturing subpattern count = 1 5910 Max back reference = 1 5911 Named capturing subpatterns: 5912 ZZ 1 5913 Last code unit = 'X' 5914 Subject length lower bound = 3 5915 (b)\\Xa\\X 5916 0: (b)\Xa\X 5917 1: X 5918 5919 /(?P<ABC/I 5920 Failed: error 142 at offset 7: syntax error in subpattern name (missing terminator) 5921 5922 /(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/I 5923 Capturing subpattern count = 1 5924 Max back reference = 1 5925 Named capturing subpatterns: 5926 A 1 5927 Subject length lower bound = 2 5928 bXXaYYaY 5929 0: bXXaYYaY 5930 1: Y 5931 bXYaXXaX 5932 0: bX 5933 1: X 5934 5935 /()()()()()()()()()(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/I 5936 Capturing subpattern count = 10 5937 Max back reference = 10 5938 Named capturing subpatterns: 5939 A 10 5940 Subject length lower bound = 2 5941 bXXaYYaY 5942 0: bXXaYYaY 5943 1: 5944 2: 5945 3: 5946 4: 5947 5: 5948 6: 5949 7: 5950 8: 5951 9: 5952 10: Y 5953 5954 /\s*,\s*/I 5955 Capturing subpattern count = 0 5956 Starting code units: \x09 \x0a \x0b \x0c \x0d \x20 , 5957 Last code unit = ',' 5958 Subject length lower bound = 1 5959 \x0b,\x0b 5960 0: \x0b,\x0b 5961 \x0c,\x0d 5962 0: \x0c,\x0d 5963 5964 /^abc/Im,newline=lf 5965 Capturing subpattern count = 0 5966 Options: multiline 5967 Forced newline is LF 5968 First code unit at start or follows newline 5969 Last code unit = 'c' 5970 Subject length lower bound = 3 5971 xyz\nabc 5972 0: abc 5973 xyz\r\nabc 5974 0: abc 5975 \= Expect no match 5976 xyz\rabc 5977 No match 5978 xyzabc\r 5979 No match 5980 xyzabc\rpqr 5981 No match 5982 xyzabc\r\n 5983 No match 5984 xyzabc\r\npqr 5985 No match 5986 5987 /^abc/Im,newline=crlf 5988 Capturing subpattern count = 0 5989 Options: multiline 5990 Forced newline is CRLF 5991 First code unit at start or follows newline 5992 Last code unit = 'c' 5993 Subject length lower bound = 3 5994 xyz\r\nabclf> 5995 0: abc 5996 \= Expect no match 5997 xyz\nabclf 5998 No match 5999 xyz\rabclf 6000 No match 6001 6002 /^abc/Im,newline=cr 6003 Capturing subpattern count = 0 6004 Options: multiline 6005 Forced newline is CR 6006 First code unit at start or follows newline 6007 Last code unit = 'c' 6008 Subject length lower bound = 3 6009 xyz\rabc 6010 0: abc 6011 \= Expect no match 6012 xyz\nabc 6013 No match 6014 xyz\r\nabc 6015 No match 6016 6017 /^abc/Im,newline=bad 6018 ** Invalid value in 'newline=bad' 6019 6020 /.*/I,newline=lf 6021 Capturing subpattern count = 0 6022 May match empty string 6023 Forced newline is LF 6024 First code unit at start or follows newline 6025 Subject length lower bound = 0 6026 abc\ndef 6027 0: abc 6028 abc\rdef 6029 0: abc\x0ddef 6030 abc\r\ndef 6031 0: abc\x0d 6032 6033 /.*/I,newline=cr 6034 Capturing subpattern count = 0 6035 May match empty string 6036 Forced newline is CR 6037 First code unit at start or follows newline 6038 Subject length lower bound = 0 6039 abc\ndef 6040 0: abc\x0adef 6041 abc\rdef 6042 0: abc 6043 abc\r\ndef 6044 0: abc 6045 6046 /.*/I,newline=crlf 6047 Capturing subpattern count = 0 6048 May match empty string 6049 Forced newline is CRLF 6050 First code unit at start or follows newline 6051 Subject length lower bound = 0 6052 abc\ndef 6053 0: abc\x0adef 6054 abc\rdef 6055 0: abc\x0ddef 6056 abc\r\ndef 6057 0: abc 6058 6059 /\w+(.)(.)?def/Is 6060 Capturing subpattern count = 2 6061 Options: dotall 6062 Starting code units: 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P 6063 Q R S T U V W X Y Z _ a b c d e f g h i j k l m n o p q r s t u v w x y z 6064 Last code unit = 'f' 6065 Subject length lower bound = 5 6066 abc\ndef 6067 0: abc\x0adef 6068 1: \x0a 6069 abc\rdef 6070 0: abc\x0ddef 6071 1: \x0d 6072 abc\r\ndef 6073 0: abc\x0d\x0adef 6074 1: \x0d 6075 2: \x0a 6076 6077 /(?P<B>25[0-5]|2[0-4]\d|[01]?\d?\d)(?:\.(?P>B)){3}/I 6078 Capturing subpattern count = 1 6079 Named capturing subpatterns: 6080 B 1 6081 Starting code units: 0 1 2 3 4 5 6 7 8 9 6082 Last code unit = '.' 6083 Subject length lower bound = 7 6084 6085 /()()()()()()()()()()()()()()()()()()()() 6086 ()()()()()()()()()()()()()()()()()()()() 6087 ()()()()()()()()()()()()()()()()()()()() 6088 ()()()()()()()()()()()()()()()()()()()() 6089 ()()()()()()()()()()()()()()()()()()()() 6090 (.(.))/Ix 6091 Capturing subpattern count = 102 6092 Options: extended 6093 Subject length lower bound = 2 6094 XY\=ovector=133 6095 0: XY 6096 1: 6097 2: 6098 3: 6099 4: 6100 5: 6101 6: 6102 7: 6103 8: 6104 9: 6105 10: 6106 11: 6107 12: 6108 13: 6109 14: 6110 15: 6111 16: 6112 17: 6113 18: 6114 19: 6115 20: 6116 21: 6117 22: 6118 23: 6119 24: 6120 25: 6121 26: 6122 27: 6123 28: 6124 29: 6125 30: 6126 31: 6127 32: 6128 33: 6129 34: 6130 35: 6131 36: 6132 37: 6133 38: 6134 39: 6135 40: 6136 41: 6137 42: 6138 43: 6139 44: 6140 45: 6141 46: 6142 47: 6143 48: 6144 49: 6145 50: 6146 51: 6147 52: 6148 53: 6149 54: 6150 55: 6151 56: 6152 57: 6153 58: 6154 59: 6155 60: 6156 61: 6157 62: 6158 63: 6159 64: 6160 65: 6161 66: 6162 67: 6163 68: 6164 69: 6165 70: 6166 71: 6167 72: 6168 73: 6169 74: 6170 75: 6171 76: 6172 77: 6173 78: 6174 79: 6175 80: 6176 81: 6177 82: 6178 83: 6179 84: 6180 85: 6181 86: 6182 87: 6183 88: 6184 89: 6185 90: 6186 91: 6187 92: 6188 93: 6189 94: 6190 95: 6191 96: 6192 97: 6193 98: 6194 99: 6195 100: 6196 101: XY 6197 102: Y 6198 6199 /(a*b|(?i:c*(?-i)d))/I 6200 Capturing subpattern count = 1 6201 Starting code units: C a b c d 6202 Subject length lower bound = 1 6203 6204 /()[ab]xyz/I 6205 Capturing subpattern count = 1 6206 Starting code units: a b 6207 Last code unit = 'z' 6208 Subject length lower bound = 4 6209 6210 /(|)[ab]xyz/I 6211 Capturing subpattern count = 1 6212 Starting code units: a b 6213 Last code unit = 'z' 6214 Subject length lower bound = 4 6215 6216 /(|c)[ab]xyz/I 6217 Capturing subpattern count = 1 6218 Starting code units: a b c 6219 Last code unit = 'z' 6220 Subject length lower bound = 4 6221 6222 /(|c?)[ab]xyz/I 6223 Capturing subpattern count = 1 6224 Starting code units: a b c 6225 Last code unit = 'z' 6226 Subject length lower bound = 4 6227 6228 /(d?|c?)[ab]xyz/I 6229 Capturing subpattern count = 1 6230 Starting code units: a b c d 6231 Last code unit = 'z' 6232 Subject length lower bound = 4 6233 6234 /(d?|c)[ab]xyz/I 6235 Capturing subpattern count = 1 6236 Starting code units: a b c d 6237 Last code unit = 'z' 6238 Subject length lower bound = 4 6239 6240 /^a*b\d/IB 6241 ------------------------------------------------------------------ 6242 Bra 6243 ^ 6244 a*+ 6245 b 6246 \d 6247 Ket 6248 End 6249 ------------------------------------------------------------------ 6250 Capturing subpattern count = 0 6251 Compile options: <none> 6252 Overall options: anchored 6253 Last code unit = 'b' 6254 Subject length lower bound = 2 6255 6256 /^a*+b\d/IB 6257 ------------------------------------------------------------------ 6258 Bra 6259 ^ 6260 a*+ 6261 b 6262 \d 6263 Ket 6264 End 6265 ------------------------------------------------------------------ 6266 Capturing subpattern count = 0 6267 Compile options: <none> 6268 Overall options: anchored 6269 Last code unit = 'b' 6270 Subject length lower bound = 2 6271 6272 /^a*?b\d/IB 6273 ------------------------------------------------------------------ 6274 Bra 6275 ^ 6276 a*+ 6277 b 6278 \d 6279 Ket 6280 End 6281 ------------------------------------------------------------------ 6282 Capturing subpattern count = 0 6283 Compile options: <none> 6284 Overall options: anchored 6285 Last code unit = 'b' 6286 Subject length lower bound = 2 6287 6288 /^a+A\d/IB 6289 ------------------------------------------------------------------ 6290 Bra 6291 ^ 6292 a++ 6293 A 6294 \d 6295 Ket 6296 End 6297 ------------------------------------------------------------------ 6298 Capturing subpattern count = 0 6299 Compile options: <none> 6300 Overall options: anchored 6301 Last code unit = 'A' 6302 Subject length lower bound = 3 6303 aaaA5 6304 0: aaaA5 6305 \= Expect no match 6306 aaaa5 6307 No match 6308 6309 /^a*A\d/IBi 6310 ------------------------------------------------------------------ 6311 Bra 6312 ^ 6313 /i a* 6314 /i A 6315 \d 6316 Ket 6317 End 6318 ------------------------------------------------------------------ 6319 Capturing subpattern count = 0 6320 Compile options: caseless 6321 Overall options: anchored caseless 6322 Last code unit = 'A' (caseless) 6323 Subject length lower bound = 2 6324 aaaA5 6325 0: aaaA5 6326 aaaa5 6327 0: aaaa5 6328 6329 /(a*|b*)[cd]/I 6330 Capturing subpattern count = 1 6331 Starting code units: a b c d 6332 Subject length lower bound = 1 6333 6334 /(a+|b*)[cd]/I 6335 Capturing subpattern count = 1 6336 Starting code units: a b c d 6337 Subject length lower bound = 1 6338 6339 /(a*|b+)[cd]/I 6340 Capturing subpattern count = 1 6341 Starting code units: a b c d 6342 Subject length lower bound = 1 6343 6344 /(a+|b+)[cd]/I 6345 Capturing subpattern count = 1 6346 Starting code units: a b 6347 Subject length lower bound = 2 6348 6349 /(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((( 6350 (((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((( 6351 ((( 6352 a 6353 )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 6354 )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 6355 ))) 6356 /Ix 6357 Capturing subpattern count = 203 6358 Options: extended 6359 First code unit = 'a' 6360 Subject length lower bound = 1 6361 large nest 6362 Matched, but too many substrings 6363 0: a 6364 1: a 6365 2: a 6366 3: a 6367 4: a 6368 5: a 6369 6: a 6370 7: a 6371 8: a 6372 9: a 6373 10: a 6374 11: a 6375 12: a 6376 13: a 6377 14: a 6378 6379 /a*\d/B 6380 ------------------------------------------------------------------ 6381 Bra 6382 a*+ 6383 \d 6384 Ket 6385 End 6386 ------------------------------------------------------------------ 6387 6388 /a*\D/B 6389 ------------------------------------------------------------------ 6390 Bra 6391 a* 6392 \D 6393 Ket 6394 End 6395 ------------------------------------------------------------------ 6396 6397 /0*\d/B 6398 ------------------------------------------------------------------ 6399 Bra 6400 0* 6401 \d 6402 Ket 6403 End 6404 ------------------------------------------------------------------ 6405 6406 /0*\D/B 6407 ------------------------------------------------------------------ 6408 Bra 6409 0*+ 6410 \D 6411 Ket 6412 End 6413 ------------------------------------------------------------------ 6414 6415 /a*\s/B 6416 ------------------------------------------------------------------ 6417 Bra 6418 a*+ 6419 \s 6420 Ket 6421 End 6422 ------------------------------------------------------------------ 6423 6424 /a*\S/B 6425 ------------------------------------------------------------------ 6426 Bra 6427 a* 6428 \S 6429 Ket 6430 End 6431 ------------------------------------------------------------------ 6432 6433 / *\s/B 6434 ------------------------------------------------------------------ 6435 Bra 6436 * 6437 \s 6438 Ket 6439 End 6440 ------------------------------------------------------------------ 6441 6442 / *\S/B 6443 ------------------------------------------------------------------ 6444 Bra 6445 *+ 6446 \S 6447 Ket 6448 End 6449 ------------------------------------------------------------------ 6450 6451 /a*\w/B 6452 ------------------------------------------------------------------ 6453 Bra 6454 a* 6455 \w 6456 Ket 6457 End 6458 ------------------------------------------------------------------ 6459 6460 /a*\W/B 6461 ------------------------------------------------------------------ 6462 Bra 6463 a*+ 6464 \W 6465 Ket 6466 End 6467 ------------------------------------------------------------------ 6468 6469 /=*\w/B 6470 ------------------------------------------------------------------ 6471 Bra 6472 =*+ 6473 \w 6474 Ket 6475 End 6476 ------------------------------------------------------------------ 6477 6478 /=*\W/B 6479 ------------------------------------------------------------------ 6480 Bra 6481 =* 6482 \W 6483 Ket 6484 End 6485 ------------------------------------------------------------------ 6486 6487 /\d*a/B 6488 ------------------------------------------------------------------ 6489 Bra 6490 \d*+ 6491 a 6492 Ket 6493 End 6494 ------------------------------------------------------------------ 6495 6496 /\d*2/B 6497 ------------------------------------------------------------------ 6498 Bra 6499 \d* 6500 2 6501 Ket 6502 End 6503 ------------------------------------------------------------------ 6504 6505 /\d*\d/B 6506 ------------------------------------------------------------------ 6507 Bra 6508 \d* 6509 \d 6510 Ket 6511 End 6512 ------------------------------------------------------------------ 6513 6514 /\d*\D/B 6515 ------------------------------------------------------------------ 6516 Bra 6517 \d*+ 6518 \D 6519 Ket 6520 End 6521 ------------------------------------------------------------------ 6522 6523 /\d*\s/B 6524 ------------------------------------------------------------------ 6525 Bra 6526 \d*+ 6527 \s 6528 Ket 6529 End 6530 ------------------------------------------------------------------ 6531 6532 /\d*\S/B 6533 ------------------------------------------------------------------ 6534 Bra 6535 \d* 6536 \S 6537 Ket 6538 End 6539 ------------------------------------------------------------------ 6540 6541 /\d*\w/B 6542 ------------------------------------------------------------------ 6543 Bra 6544 \d* 6545 \w 6546 Ket 6547 End 6548 ------------------------------------------------------------------ 6549 6550 /\d*\W/B 6551 ------------------------------------------------------------------ 6552 Bra 6553 \d*+ 6554 \W 6555 Ket 6556 End 6557 ------------------------------------------------------------------ 6558 6559 /\D*a/B 6560 ------------------------------------------------------------------ 6561 Bra 6562 \D* 6563 a 6564 Ket 6565 End 6566 ------------------------------------------------------------------ 6567 6568 /\D*2/B 6569 ------------------------------------------------------------------ 6570 Bra 6571 \D*+ 6572 2 6573 Ket 6574 End 6575 ------------------------------------------------------------------ 6576 6577 /\D*\d/B 6578 ------------------------------------------------------------------ 6579 Bra 6580 \D*+ 6581 \d 6582 Ket 6583 End 6584 ------------------------------------------------------------------ 6585 6586 /\D*\D/B 6587 ------------------------------------------------------------------ 6588 Bra 6589 \D* 6590 \D 6591 Ket 6592 End 6593 ------------------------------------------------------------------ 6594 6595 /\D*\s/B 6596 ------------------------------------------------------------------ 6597 Bra 6598 \D* 6599 \s 6600 Ket 6601 End 6602 ------------------------------------------------------------------ 6603 6604 /\D*\S/B 6605 ------------------------------------------------------------------ 6606 Bra 6607 \D* 6608 \S 6609 Ket 6610 End 6611 ------------------------------------------------------------------ 6612 6613 /\D*\w/B 6614 ------------------------------------------------------------------ 6615 Bra 6616 \D* 6617 \w 6618 Ket 6619 End 6620 ------------------------------------------------------------------ 6621 6622 /\D*\W/B 6623 ------------------------------------------------------------------ 6624 Bra 6625 \D* 6626 \W 6627 Ket 6628 End 6629 ------------------------------------------------------------------ 6630 6631 /\s*a/B 6632 ------------------------------------------------------------------ 6633 Bra 6634 \s*+ 6635 a 6636 Ket 6637 End 6638 ------------------------------------------------------------------ 6639 6640 /\s*2/B 6641 ------------------------------------------------------------------ 6642 Bra 6643 \s*+ 6644 2 6645 Ket 6646 End 6647 ------------------------------------------------------------------ 6648 6649 /\s*\d/B 6650 ------------------------------------------------------------------ 6651 Bra 6652 \s*+ 6653 \d 6654 Ket 6655 End 6656 ------------------------------------------------------------------ 6657 6658 /\s*\D/B 6659 ------------------------------------------------------------------ 6660 Bra 6661 \s* 6662 \D 6663 Ket 6664 End 6665 ------------------------------------------------------------------ 6666 6667 /\s*\s/B 6668 ------------------------------------------------------------------ 6669 Bra 6670 \s* 6671 \s 6672 Ket 6673 End 6674 ------------------------------------------------------------------ 6675 6676 /\s*\S/B 6677 ------------------------------------------------------------------ 6678 Bra 6679 \s*+ 6680 \S 6681 Ket 6682 End 6683 ------------------------------------------------------------------ 6684 6685 /\s*\w/B 6686 ------------------------------------------------------------------ 6687 Bra 6688 \s*+ 6689 \w 6690 Ket 6691 End 6692 ------------------------------------------------------------------ 6693 6694 /\s*\W/B 6695 ------------------------------------------------------------------ 6696 Bra 6697 \s* 6698 \W 6699 Ket 6700 End 6701 ------------------------------------------------------------------ 6702 6703 /\S*a/B 6704 ------------------------------------------------------------------ 6705 Bra 6706 \S* 6707 a 6708 Ket 6709 End 6710 ------------------------------------------------------------------ 6711 6712 /\S*2/B 6713 ------------------------------------------------------------------ 6714 Bra 6715 \S* 6716 2 6717 Ket 6718 End 6719 ------------------------------------------------------------------ 6720 6721 /\S*\d/B 6722 ------------------------------------------------------------------ 6723 Bra 6724 \S* 6725 \d 6726 Ket 6727 End 6728 ------------------------------------------------------------------ 6729 6730 /\S*\D/B 6731 ------------------------------------------------------------------ 6732 Bra 6733 \S* 6734 \D 6735 Ket 6736 End 6737 ------------------------------------------------------------------ 6738 6739 /\S*\s/B 6740 ------------------------------------------------------------------ 6741 Bra 6742 \S*+ 6743 \s 6744 Ket 6745 End 6746 ------------------------------------------------------------------ 6747 6748 /\S*\S/B 6749 ------------------------------------------------------------------ 6750 Bra 6751 \S* 6752 \S 6753 Ket 6754 End 6755 ------------------------------------------------------------------ 6756 6757 /\S*\w/B 6758 ------------------------------------------------------------------ 6759 Bra 6760 \S* 6761 \w 6762 Ket 6763 End 6764 ------------------------------------------------------------------ 6765 6766 /\S*\W/B 6767 ------------------------------------------------------------------ 6768 Bra 6769 \S* 6770 \W 6771 Ket 6772 End 6773 ------------------------------------------------------------------ 6774 6775 /\w*a/B 6776 ------------------------------------------------------------------ 6777 Bra 6778 \w* 6779 a 6780 Ket 6781 End 6782 ------------------------------------------------------------------ 6783 6784 /\w*2/B 6785 ------------------------------------------------------------------ 6786 Bra 6787 \w* 6788 2 6789 Ket 6790 End 6791 ------------------------------------------------------------------ 6792 6793 /\w*\d/B 6794 ------------------------------------------------------------------ 6795 Bra 6796 \w* 6797 \d 6798 Ket 6799 End 6800 ------------------------------------------------------------------ 6801 6802 /\w*\D/B 6803 ------------------------------------------------------------------ 6804 Bra 6805 \w* 6806 \D 6807 Ket 6808 End 6809 ------------------------------------------------------------------ 6810 6811 /\w*\s/B 6812 ------------------------------------------------------------------ 6813 Bra 6814 \w*+ 6815 \s 6816 Ket 6817 End 6818 ------------------------------------------------------------------ 6819 6820 /\w*\S/B 6821 ------------------------------------------------------------------ 6822 Bra 6823 \w* 6824 \S 6825 Ket 6826 End 6827 ------------------------------------------------------------------ 6828 6829 /\w*\w/B 6830 ------------------------------------------------------------------ 6831 Bra 6832 \w* 6833 \w 6834 Ket 6835 End 6836 ------------------------------------------------------------------ 6837 6838 /\w*\W/B 6839 ------------------------------------------------------------------ 6840 Bra 6841 \w*+ 6842 \W 6843 Ket 6844 End 6845 ------------------------------------------------------------------ 6846 6847 /\W*a/B 6848 ------------------------------------------------------------------ 6849 Bra 6850 \W*+ 6851 a 6852 Ket 6853 End 6854 ------------------------------------------------------------------ 6855 6856 /\W*2/B 6857 ------------------------------------------------------------------ 6858 Bra 6859 \W*+ 6860 2 6861 Ket 6862 End 6863 ------------------------------------------------------------------ 6864 6865 /\W*\d/B 6866 ------------------------------------------------------------------ 6867 Bra 6868 \W*+ 6869 \d 6870 Ket 6871 End 6872 ------------------------------------------------------------------ 6873 6874 /\W*\D/B 6875 ------------------------------------------------------------------ 6876 Bra 6877 \W* 6878 \D 6879 Ket 6880 End 6881 ------------------------------------------------------------------ 6882 6883 /\W*\s/B 6884 ------------------------------------------------------------------ 6885 Bra 6886 \W* 6887 \s 6888 Ket 6889 End 6890 ------------------------------------------------------------------ 6891 6892 /\W*\S/B 6893 ------------------------------------------------------------------ 6894 Bra 6895 \W* 6896 \S 6897 Ket 6898 End 6899 ------------------------------------------------------------------ 6900 6901 /\W*\w/B 6902 ------------------------------------------------------------------ 6903 Bra 6904 \W*+ 6905 \w 6906 Ket 6907 End 6908 ------------------------------------------------------------------ 6909 6910 /\W*\W/B 6911 ------------------------------------------------------------------ 6912 Bra 6913 \W* 6914 \W 6915 Ket 6916 End 6917 ------------------------------------------------------------------ 6918 6919 /[^a]+a/B 6920 ------------------------------------------------------------------ 6921 Bra 6922 [^a]++ 6923 a 6924 Ket 6925 End 6926 ------------------------------------------------------------------ 6927 6928 /[^a]+a/Bi 6929 ------------------------------------------------------------------ 6930 Bra 6931 /i [^a]++ 6932 /i a 6933 Ket 6934 End 6935 ------------------------------------------------------------------ 6936 6937 /[^a]+A/Bi 6938 ------------------------------------------------------------------ 6939 Bra 6940 /i [^a]++ 6941 /i A 6942 Ket 6943 End 6944 ------------------------------------------------------------------ 6945 6946 /[^a]+b/B 6947 ------------------------------------------------------------------ 6948 Bra 6949 [^a]+ 6950 b 6951 Ket 6952 End 6953 ------------------------------------------------------------------ 6954 6955 /[^a]+\d/B 6956 ------------------------------------------------------------------ 6957 Bra 6958 [^a]+ 6959 \d 6960 Ket 6961 End 6962 ------------------------------------------------------------------ 6963 6964 /a*[^a]/B 6965 ------------------------------------------------------------------ 6966 Bra 6967 a*+ 6968 [^a] 6969 Ket 6970 End 6971 ------------------------------------------------------------------ 6972 6973 /(?P<abc>x)(?P<xyz>y)/I 6974 Capturing subpattern count = 2 6975 Named capturing subpatterns: 6976 abc 1 6977 xyz 2 6978 First code unit = 'x' 6979 Last code unit = 'y' 6980 Subject length lower bound = 2 6981 xy\=copy=abc,copy=xyz 6982 0: xy 6983 1: x 6984 2: y 6985 C x (1) abc (group 1) 6986 C y (1) xyz (group 2) 6987 6988 /(?<abc>x)(?'xyz'y)/I 6989 Capturing subpattern count = 2 6990 Named capturing subpatterns: 6991 abc 1 6992 xyz 2 6993 First code unit = 'x' 6994 Last code unit = 'y' 6995 Subject length lower bound = 2 6996 xy\=copy=abc,copy=xyz 6997 0: xy 6998 1: x 6999 2: y 7000 C x (1) abc (group 1) 7001 C y (1) xyz (group 2) 7002 7003 /(?<abc'x)(?'xyz'y)/I 7004 Failed: error 142 at offset 6: syntax error in subpattern name (missing terminator) 7005 7006 /(?<abc>x)(?'xyz>y)/I 7007 Failed: error 142 at offset 15: syntax error in subpattern name (missing terminator) 7008 7009 /(?P'abc'x)(?P<xyz>y)/I 7010 Failed: error 141 at offset 3: unrecognized character after (?P 7011 7012 /^(?:(?(ZZ)a|b)(?<ZZ>X))+/ 7013 bXaX 7014 0: bXaX 7015 1: X 7016 bXbX 7017 0: bX 7018 1: X 7019 \= Expect no match 7020 aXaX 7021 No match 7022 aXbX 7023 No match 7024 7025 /^(?P>abc)(?<abcd>xxx)/ 7026 Failed: error 115 at offset 8: reference to non-existent subpattern 7027 7028 /^(?P>abc)(?<abc>x|y)/ 7029 xx 7030 0: xx 7031 1: x 7032 xy 7033 0: xy 7034 1: y 7035 yy 7036 0: yy 7037 1: y 7038 yx 7039 0: yx 7040 1: x 7041 7042 /^(?P>abc)(?P<abc>x|y)/ 7043 xx 7044 0: xx 7045 1: x 7046 xy 7047 0: xy 7048 1: y 7049 yy 7050 0: yy 7051 1: y 7052 yx 7053 0: yx 7054 1: x 7055 7056 /^((?(abc)a|b)(?<abc>x|y))+/ 7057 bxay 7058 0: bxay 7059 1: ay 7060 2: y 7061 bxby 7062 0: bx 7063 1: bx 7064 2: x 7065 \= Expect no match 7066 axby 7067 No match 7068 7069 /^(((?P=abc)|X)(?<abc>x|y))+/ 7070 XxXxxx 7071 0: XxXxxx 7072 1: xx 7073 2: x 7074 3: x 7075 XxXyyx 7076 0: XxXyyx 7077 1: yx 7078 2: y 7079 3: x 7080 XxXyxx 7081 0: XxXy 7082 1: Xy 7083 2: X 7084 3: y 7085 \= Expect no match 7086 x 7087 No match 7088 7089 /^(?1)(abc)/ 7090 abcabc 7091 0: abcabc 7092 1: abc 7093 7094 /^(?:(?:\1|X)(a|b))+/ 7095 Xaaa 7096 0: Xaaa 7097 1: a 7098 Xaba 7099 0: Xa 7100 1: a 7101 7102 /^[\E\Qa\E-\Qz\E]+/B 7103 ------------------------------------------------------------------ 7104 Bra 7105 ^ 7106 [a-z]++ 7107 Ket 7108 End 7109 ------------------------------------------------------------------ 7110 7111 /^[a\Q]bc\E]/B 7112 ------------------------------------------------------------------ 7113 Bra 7114 ^ 7115 [\]a-c] 7116 Ket 7117 End 7118 ------------------------------------------------------------------ 7119 7120 /^[a-\Q\E]/B 7121 ------------------------------------------------------------------ 7122 Bra 7123 ^ 7124 [\-a] 7125 Ket 7126 End 7127 ------------------------------------------------------------------ 7128 7129 /^(?P>abc)[()](?<abc>)/B 7130 ------------------------------------------------------------------ 7131 Bra 7132 ^ 7133 Recurse 7134 [()] 7135 CBra 1 7136 Ket 7137 Ket 7138 End 7139 ------------------------------------------------------------------ 7140 7141 /^((?(abc)y)[()](?P<abc>x))+/B 7142 ------------------------------------------------------------------ 7143 Bra 7144 ^ 7145 CBra 1 7146 Cond 7147 2 Cond ref 7148 y 7149 Ket 7150 [()] 7151 CBra 2 7152 x 7153 Ket 7154 KetRmax 7155 Ket 7156 End 7157 ------------------------------------------------------------------ 7158 (xy)x 7159 0: (xy)x 7160 1: y)x 7161 2: x 7162 7163 /^(?P>abc)\Q()\E(?<abc>)/B 7164 ------------------------------------------------------------------ 7165 Bra 7166 ^ 7167 Recurse 7168 () 7169 CBra 1 7170 Ket 7171 Ket 7172 End 7173 ------------------------------------------------------------------ 7174 7175 /^(?P>abc)[a\Q(]\E(](?<abc>)/B 7176 ------------------------------------------------------------------ 7177 Bra 7178 ^ 7179 Recurse 7180 [(\]a] 7181 CBra 1 7182 Ket 7183 Ket 7184 End 7185 ------------------------------------------------------------------ 7186 7187 /^(?P>abc) # this is (a comment) 7188 (?<abc>)/Bx 7189 ------------------------------------------------------------------ 7190 Bra 7191 ^ 7192 Recurse 7193 CBra 1 7194 Ket 7195 Ket 7196 End 7197 ------------------------------------------------------------------ 7198 7199 /^\W*(?:(?<one>(?<two>.)\W*(?&one)\W*\k<two>|)|(?<three>(?<four>.)\W*(?&three)\W*\k'four'|\W*.\W*))\W*$/Ii 7200 Capturing subpattern count = 4 7201 Max back reference = 4 7202 Named capturing subpatterns: 7203 four 4 7204 one 1 7205 three 3 7206 two 2 7207 May match empty string 7208 Compile options: caseless 7209 Overall options: anchored caseless 7210 Subject length lower bound = 0 7211 1221 7212 0: 1221 7213 1: 1221 7214 2: 1 7215 Satan, oscillate my metallic sonatas! 7216 0: Satan, oscillate my metallic sonatas! 7217 1: <unset> 7218 2: <unset> 7219 3: Satan, oscillate my metallic sonatas 7220 4: S 7221 A man, a plan, a canal: Panama! 7222 0: A man, a plan, a canal: Panama! 7223 1: <unset> 7224 2: <unset> 7225 3: A man, a plan, a canal: Panama 7226 4: A 7227 Able was I ere I saw Elba. 7228 0: Able was I ere I saw Elba. 7229 1: <unset> 7230 2: <unset> 7231 3: Able was I ere I saw Elba 7232 4: A 7233 \= Expect no match 7234 The quick brown fox 7235 No match 7236 7237 /(?=(\w+))\1:/I 7238 Capturing subpattern count = 1 7239 Max back reference = 1 7240 Starting code units: 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P 7241 Q R S T U V W X Y Z _ a b c d e f g h i j k l m n o p q r s t u v w x y z 7242 Last code unit = ':' 7243 Subject length lower bound = 2 7244 abcd: 7245 0: abcd: 7246 1: abcd 7247 7248 /(?=(?'abc'\w+))\k<abc>:/I 7249 Capturing subpattern count = 1 7250 Max back reference = 1 7251 Named capturing subpatterns: 7252 abc 1 7253 Starting code units: 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P 7254 Q R S T U V W X Y Z _ a b c d e f g h i j k l m n o p q r s t u v w x y z 7255 Last code unit = ':' 7256 Subject length lower bound = 2 7257 abcd: 7258 0: abcd: 7259 1: abcd 7260 7261 /(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/dupnames 7262 adaa 7263 0: adaa 7264 1: a 7265 2: d 7266 \= Expect no match 7267 addd 7268 No match 7269 adbb 7270 No match 7271 7272 /(?'abc'a|b)(?<abc>d|e)(?&abc){2}/dupnames 7273 bdaa 7274 0: bdaa 7275 1: b 7276 2: d 7277 bdab 7278 0: bdab 7279 1: b 7280 2: d 7281 \= Expect no match 7282 bddd 7283 No match 7284 7285 /(?(<bc))/ 7286 Failed: error 126 at offset 6: malformed number or name after (?( 7287 7288 /(?(''))/ 7289 Failed: error 128 at offset 4: assertion expected after (?( or (?(?C) 7290 7291 /(?('R')stuff)/ 7292 Failed: error 115 at offset 7: reference to non-existent subpattern 7293 7294 /((abc (?(R) (?(R1)1) (?(R2)2) X | (?1) (?2) (?R) ))) /x 7295 abcabc1Xabc2XabcXabcabc 7296 0: abcabc1Xabc2XabcX 7297 1: abcabc1Xabc2XabcX 7298 2: abcabc1Xabc2XabcX 7299 7300 /(?<A> (?'B' abc (?(R) (?(R&A)1) (?(R&B)2) X | (?1) (?2) (?R) ))) /x 7301 abcabc1Xabc2XabcXabcabc 7302 0: abcabc1Xabc2XabcX 7303 1: abcabc1Xabc2XabcX 7304 2: abcabc1Xabc2XabcX 7305 7306 /(?<A> (?'B' abc (?(R) (?(R&C)1) (?(R&B)2) X | (?1) (?2) (?R) ))) /x 7307 Failed: error 115 at offset 29: reference to non-existent subpattern 7308 7309 /^(?(DEFINE) abc | xyz ) /x 7310 Failed: error 154 at offset 22: DEFINE group contains more than one branch 7311 7312 /(?(DEFINE) abc) xyz/Ix 7313 Capturing subpattern count = 0 7314 Options: extended 7315 First code unit = 'x' 7316 Last code unit = 'z' 7317 Subject length lower bound = 3 7318 7319 /(a|)*\d/ 7320 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4\=ovector=0 7321 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4 7322 1: 7323 \= Expect no match 7324 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\=ovector=0 7325 No match 7326 7327 /^a.b/newline=lf 7328 a\rb 7329 0: a\x0db 7330 \= Expect no match 7331 a\nb 7332 No match 7333 7334 /^a.b/newline=cr 7335 a\nb 7336 0: a\x0ab 7337 \= Expect no match 7338 a\rb 7339 No match 7340 7341 /^a.b/newline=anycrlf 7342 a\x85b 7343 0: a\x85b 7344 \= Expect no match 7345 a\rb 7346 No match 7347 7348 /^a.b/newline=any 7349 \= Expect no match 7350 a\nb 7351 No match 7352 a\rb 7353 No match 7354 a\x85b 7355 No match 7356 7357 /^abc./gmx,newline=any 7358 abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x85abc7 JUNK 7359 0: abc1 7360 0: abc2 7361 0: abc3 7362 0: abc4 7363 0: abc5 7364 0: abc6 7365 0: abc7 7366 7367 /abc.$/gmx,newline=any 7368 abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc7 abc9 7369 0: abc1 7370 0: abc2 7371 0: abc3 7372 0: abc4 7373 0: abc5 7374 0: abc6 7375 0: abc9 7376 7377 /^a\Rb/bsr=unicode 7378 a\nb 7379 0: a\x0ab 7380 a\rb 7381 0: a\x0db 7382 a\r\nb 7383 0: a\x0d\x0ab 7384 a\x0bb 7385 0: a\x0bb 7386 a\x0cb 7387 0: a\x0cb 7388 a\x85b 7389 0: a\x85b 7390 \= Expect no match 7391 a\n\rb 7392 No match 7393 7394 /^a\R*b/bsr=unicode 7395 ab 7396 0: ab 7397 a\nb 7398 0: a\x0ab 7399 a\rb 7400 0: a\x0db 7401 a\r\nb 7402 0: a\x0d\x0ab 7403 a\x0bb 7404 0: a\x0bb 7405 a\x0cb 7406 0: a\x0cb 7407 a\x85b 7408 0: a\x85b 7409 a\n\rb 7410 0: a\x0a\x0db 7411 a\n\r\x85\x0cb 7412 0: a\x0a\x0d\x85\x0cb 7413 7414 /^a\R+b/bsr=unicode 7415 a\nb 7416 0: a\x0ab 7417 a\rb 7418 0: a\x0db 7419 a\r\nb 7420 0: a\x0d\x0ab 7421 a\x0bb 7422 0: a\x0bb 7423 a\x0cb 7424 0: a\x0cb 7425 a\x85b 7426 0: a\x85b 7427 a\n\rb 7428 0: a\x0a\x0db 7429 a\n\r\x85\x0cb 7430 0: a\x0a\x0d\x85\x0cb 7431 \= Expect no match 7432 ab 7433 No match 7434 7435 /^a\R{1,3}b/bsr=unicode 7436 a\nb 7437 0: a\x0ab 7438 a\n\rb 7439 0: a\x0a\x0db 7440 a\n\r\x85b 7441 0: a\x0a\x0d\x85b 7442 a\r\n\r\nb 7443 0: a\x0d\x0a\x0d\x0ab 7444 a\r\n\r\n\r\nb 7445 0: a\x0d\x0a\x0d\x0a\x0d\x0ab 7446 a\n\r\n\rb 7447 0: a\x0a\x0d\x0a\x0db 7448 a\n\n\r\nb 7449 0: a\x0a\x0a\x0d\x0ab 7450 \= Expect no match 7451 a\n\n\n\rb 7452 No match 7453 a\r 7454 No match 7455 7456 /(?&abc)X(?<abc>P)/I 7457 Capturing subpattern count = 1 7458 Named capturing subpatterns: 7459 abc 1 7460 Last code unit = 'P' 7461 Subject length lower bound = 3 7462 abcPXP123 7463 0: PXP 7464 1: P 7465 7466 /(?1)X(?<abc>P)/I 7467 Capturing subpattern count = 1 7468 Named capturing subpatterns: 7469 abc 1 7470 Last code unit = 'P' 7471 Subject length lower bound = 3 7472 abcPXP123 7473 0: PXP 7474 1: P 7475 7476 /(?:a(?&abc)b)*(?<abc>x)/ 7477 123axbaxbaxbx456 7478 0: axbaxbaxbx 7479 1: x 7480 123axbaxbaxb456 7481 0: x 7482 1: x 7483 7484 /(?:a(?&abc)b){1,5}(?<abc>x)/ 7485 123axbaxbaxbx456 7486 0: axbaxbaxbx 7487 1: x 7488 7489 /(?:a(?&abc)b){2,5}(?<abc>x)/ 7490 123axbaxbaxbx456 7491 0: axbaxbaxbx 7492 1: x 7493 7494 /(?:a(?&abc)b){2,}(?<abc>x)/ 7495 123axbaxbaxbx456 7496 0: axbaxbaxbx 7497 1: x 7498 7499 /(abc)(?i:(?1))/ 7500 defabcabcxyz 7501 0: abcabc 7502 1: abc 7503 \= Expect no match 7504 DEFabcABCXYZ 7505 No match 7506 7507 /(abc)(?:(?i)(?1))/ 7508 defabcabcxyz 7509 0: abcabc 7510 1: abc 7511 \= Expect no match 7512 DEFabcABCXYZ 7513 No match 7514 7515 /^(a)\g-2/ 7516 Failed: error 115 at offset 7: reference to non-existent subpattern 7517 7518 /^(a)\g/ 7519 Failed: error 158 at offset 5: a numbered reference must not be zero 7520 7521 /^(a)\g{0}/ 7522 Failed: error 158 at offset 8: a numbered reference must not be zero 7523 7524 /^(a)\g{3/ 7525 Failed: error 157 at offset 8: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number 7526 7527 /^(a)\g{aa}/ 7528 Failed: error 115 at offset 9: reference to non-existent subpattern 7529 7530 /^a.b/newline=lf 7531 a\rb 7532 0: a\x0db 7533 \= Expect no match 7534 a\nb 7535 No match 7536 7537 /.+foo/ 7538 afoo 7539 0: afoo 7540 \= Expect no match 7541 \r\nfoo 7542 No match 7543 \nfoo 7544 No match 7545 7546 /.+foo/newline=crlf 7547 afoo 7548 0: afoo 7549 \nfoo 7550 0: \x0afoo 7551 \= Expect no match 7552 \r\nfoo 7553 No match 7554 7555 /.+foo/newline=any 7556 afoo 7557 0: afoo 7558 \= Expect no match 7559 \nfoo 7560 No match 7561 \r\nfoo 7562 No match 7563 7564 /.+foo/s 7565 afoo 7566 0: afoo 7567 \r\nfoo 7568 0: \x0d\x0afoo 7569 \nfoo 7570 0: \x0afoo 7571 7572 /^$/gm,newline=any 7573 abc\r\rxyz 7574 0: 7575 abc\n\rxyz 7576 0: 7577 \= Expect no match 7578 abc\r\nxyz 7579 No match 7580 7581 /(?m)^$/g,newline=any,aftertext 7582 abc\r\n\r\n 7583 0: 7584 0+ \x0d\x0a 7585 7586 /(?m)^$|^\r\n/g,newline=any,aftertext 7587 abc\r\n\r\n 7588 0: 7589 0+ \x0d\x0a 7590 0: \x0d\x0a 7591 0+ 7592 7593 /(?m)$/g,newline=any,aftertext 7594 abc\r\n\r\n 7595 0: 7596 0+ \x0d\x0a\x0d\x0a 7597 0: 7598 0+ \x0d\x0a 7599 0: 7600 0+ 7601 7602 /abc.$/gmx,newline=anycrlf 7603 abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc9 7604 0: abc1 7605 0: abc4 7606 0: abc5 7607 0: abc9 7608 7609 /^X/m 7610 XABC 7611 0: X 7612 \= Expect no match 7613 XABC\=notbol 7614 No match 7615 7616 /(ab|c)(?-1)/B 7617 ------------------------------------------------------------------ 7618 Bra 7619 CBra 1 7620 ab 7621 Alt 7622 c 7623 Ket 7624 Recurse 7625 Ket 7626 End 7627 ------------------------------------------------------------------ 7628 abc 7629 0: abc 7630 1: ab 7631 7632 /xy(?+1)(abc)/B 7633 ------------------------------------------------------------------ 7634 Bra 7635 xy 7636 Recurse 7637 CBra 1 7638 abc 7639 Ket 7640 Ket 7641 End 7642 ------------------------------------------------------------------ 7643 xyabcabc 7644 0: xyabcabc 7645 1: abc 7646 \= Expect no match 7647 xyabc 7648 No match 7649 7650 /x(?-0)y/ 7651 Failed: error 158 at offset 5: a numbered reference must not be zero 7652 7653 /x(?-1)y/ 7654 Failed: error 115 at offset 5: reference to non-existent subpattern 7655 7656 /x(?+0)y/ 7657 Failed: error 158 at offset 5: a numbered reference must not be zero 7658 7659 /x(?+1)y/ 7660 Failed: error 115 at offset 5: reference to non-existent subpattern 7661 7662 /^(abc)?(?(-1)X|Y)/B 7663 ------------------------------------------------------------------ 7664 Bra 7665 ^ 7666 Brazero 7667 CBra 1 7668 abc 7669 Ket 7670 Cond 7671 1 Cond ref 7672 X 7673 Alt 7674 Y 7675 Ket 7676 Ket 7677 End 7678 ------------------------------------------------------------------ 7679 abcX 7680 0: abcX 7681 1: abc 7682 Y 7683 0: Y 7684 \= Expect no match 7685 abcY 7686 No match 7687 7688 /^((?(+1)X|Y)(abc))+/B 7689 ------------------------------------------------------------------ 7690 Bra 7691 ^ 7692 CBra 1 7693 Cond 7694 2 Cond ref 7695 X 7696 Alt 7697 Y 7698 Ket 7699 CBra 2 7700 abc 7701 Ket 7702 KetRmax 7703 Ket 7704 End 7705 ------------------------------------------------------------------ 7706 YabcXabc 7707 0: YabcXabc 7708 1: Xabc 7709 2: abc 7710 YabcXabcXabc 7711 0: YabcXabcXabc 7712 1: Xabc 7713 2: abc 7714 \= Expect no match 7715 XabcXabc 7716 No match 7717 7718 /(?(-1)a)/B 7719 Failed: error 115 at offset 6: reference to non-existent subpattern 7720 7721 /((?(-1)a))/B 7722 ------------------------------------------------------------------ 7723 Bra 7724 CBra 1 7725 Cond 7726 1 Cond ref 7727 a 7728 Ket 7729 Ket 7730 Ket 7731 End 7732 ------------------------------------------------------------------ 7733 7734 /((?(-2)a))/B 7735 Failed: error 115 at offset 7: reference to non-existent subpattern 7736 7737 /^(?(+1)X|Y)(.)/B 7738 ------------------------------------------------------------------ 7739 Bra 7740 ^ 7741 Cond 7742 1 Cond ref 7743 X 7744 Alt 7745 Y 7746 Ket 7747 CBra 1 7748 Any 7749 Ket 7750 Ket 7751 End 7752 ------------------------------------------------------------------ 7753 Y! 7754 0: Y! 7755 1: ! 7756 7757 /(?<A>tom|bon)-\k{A}/ 7758 tom-tom 7759 0: tom-tom 7760 1: tom 7761 bon-bon 7762 0: bon-bon 7763 1: bon 7764 \= Expect no match 7765 tom-bon 7766 No match 7767 7768 /\g{A/ 7769 Failed: error 142 at offset 4: syntax error in subpattern name (missing terminator) 7770 7771 /(?|(abc)|(xyz))/B 7772 ------------------------------------------------------------------ 7773 Bra 7774 Bra 7775 CBra 1 7776 abc 7777 Ket 7778 Alt 7779 CBra 1 7780 xyz 7781 Ket 7782 Ket 7783 Ket 7784 End 7785 ------------------------------------------------------------------ 7786 >abc< 7787 0: abc 7788 1: abc 7789 >xyz< 7790 0: xyz 7791 1: xyz 7792 7793 /(x)(?|(abc)|(xyz))(x)/B 7794 ------------------------------------------------------------------ 7795 Bra 7796 CBra 1 7797 x 7798 Ket 7799 Bra 7800 CBra 2 7801 abc 7802 Ket 7803 Alt 7804 CBra 2 7805 xyz 7806 Ket 7807 Ket 7808 CBra 3 7809 x 7810 Ket 7811 Ket 7812 End 7813 ------------------------------------------------------------------ 7814 xabcx 7815 0: xabcx 7816 1: x 7817 2: abc 7818 3: x 7819 xxyzx 7820 0: xxyzx 7821 1: x 7822 2: xyz 7823 3: x 7824 7825 /(x)(?|(abc)(pqr)|(xyz))(x)/B 7826 ------------------------------------------------------------------ 7827 Bra 7828 CBra 1 7829 x 7830 Ket 7831 Bra 7832 CBra 2 7833 abc 7834 Ket 7835 CBra 3 7836 pqr 7837 Ket 7838 Alt 7839 CBra 2 7840 xyz 7841 Ket 7842 Ket 7843 CBra 4 7844 x 7845 Ket 7846 Ket 7847 End 7848 ------------------------------------------------------------------ 7849 xabcpqrx 7850 0: xabcpqrx 7851 1: x 7852 2: abc 7853 3: pqr 7854 4: x 7855 xxyzx 7856 0: xxyzx 7857 1: x 7858 2: xyz 7859 3: <unset> 7860 4: x 7861 7862 /\H++X/B 7863 ------------------------------------------------------------------ 7864 Bra 7865 \H++ 7866 X 7867 Ket 7868 End 7869 ------------------------------------------------------------------ 7870 \= Expect no match 7871 XXXX 7872 No match 7873 7874 /\H+\hY/B 7875 ------------------------------------------------------------------ 7876 Bra 7877 \H++ 7878 \h 7879 Y 7880 Ket 7881 End 7882 ------------------------------------------------------------------ 7883 XXXX Y 7884 0: XXXX Y 7885 7886 /\H+ Y/B 7887 ------------------------------------------------------------------ 7888 Bra 7889 \H++ 7890 Y 7891 Ket 7892 End 7893 ------------------------------------------------------------------ 7894 7895 /\h+A/B 7896 ------------------------------------------------------------------ 7897 Bra 7898 \h++ 7899 A 7900 Ket 7901 End 7902 ------------------------------------------------------------------ 7903 7904 /\v*B/B 7905 ------------------------------------------------------------------ 7906 Bra 7907 \v*+ 7908 B 7909 Ket 7910 End 7911 ------------------------------------------------------------------ 7912 7913 /\V+\x0a/B 7914 ------------------------------------------------------------------ 7915 Bra 7916 \V++ 7917 \x0a 7918 Ket 7919 End 7920 ------------------------------------------------------------------ 7921 7922 /A+\h/B 7923 ------------------------------------------------------------------ 7924 Bra 7925 A++ 7926 \h 7927 Ket 7928 End 7929 ------------------------------------------------------------------ 7930 7931 / *\H/B 7932 ------------------------------------------------------------------ 7933 Bra 7934 *+ 7935 \H 7936 Ket 7937 End 7938 ------------------------------------------------------------------ 7939 7940 /A*\v/B 7941 ------------------------------------------------------------------ 7942 Bra 7943 A*+ 7944 \v 7945 Ket 7946 End 7947 ------------------------------------------------------------------ 7948 7949 /\x0b*\V/B 7950 ------------------------------------------------------------------ 7951 Bra 7952 \x0b*+ 7953 \V 7954 Ket 7955 End 7956 ------------------------------------------------------------------ 7957 7958 /\d+\h/B 7959 ------------------------------------------------------------------ 7960 Bra 7961 \d++ 7962 \h 7963 Ket 7964 End 7965 ------------------------------------------------------------------ 7966 7967 /\d*\v/B 7968 ------------------------------------------------------------------ 7969 Bra 7970 \d*+ 7971 \v 7972 Ket 7973 End 7974 ------------------------------------------------------------------ 7975 7976 /S+\h\S+\v/B 7977 ------------------------------------------------------------------ 7978 Bra 7979 S++ 7980 \h 7981 \S++ 7982 \v 7983 Ket 7984 End 7985 ------------------------------------------------------------------ 7986 7987 /\w{3,}\h\w+\v/B 7988 ------------------------------------------------------------------ 7989 Bra 7990 \w{3} 7991 \w*+ 7992 \h 7993 \w++ 7994 \v 7995 Ket 7996 End 7997 ------------------------------------------------------------------ 7998 7999 /\h+\d\h+\w\h+\S\h+\H/B 8000 ------------------------------------------------------------------ 8001 Bra 8002 \h++ 8003 \d 8004 \h++ 8005 \w 8006 \h++ 8007 \S 8008 \h++ 8009 \H 8010 Ket 8011 End 8012 ------------------------------------------------------------------ 8013 8014 /\v+\d\v+\w\v+\S\v+\V/B 8015 ------------------------------------------------------------------ 8016 Bra 8017 \v++ 8018 \d 8019 \v++ 8020 \w 8021 \v++ 8022 \S 8023 \v++ 8024 \V 8025 Ket 8026 End 8027 ------------------------------------------------------------------ 8028 8029 /\H+\h\H+\d/B 8030 ------------------------------------------------------------------ 8031 Bra 8032 \H++ 8033 \h 8034 \H+ 8035 \d 8036 Ket 8037 End 8038 ------------------------------------------------------------------ 8039 8040 /\V+\v\V+\w/B 8041 ------------------------------------------------------------------ 8042 Bra 8043 \V++ 8044 \v 8045 \V+ 8046 \w 8047 Ket 8048 End 8049 ------------------------------------------------------------------ 8050 8051 /\( (?: [^()]* | (?R) )* \)/x 8052 (0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(00)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)\=jitstack=1024 8053 0: (0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(00)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0) 8054 8055 /[\E]AAA/ 8056 Failed: error 106 at offset 7: missing terminating ] for character class 8057 8058 /[\Q\E]AAA/ 8059 Failed: error 106 at offset 9: missing terminating ] for character class 8060 8061 /[^\E]AAA/ 8062 Failed: error 106 at offset 8: missing terminating ] for character class 8063 8064 /[^\Q\E]AAA/ 8065 Failed: error 106 at offset 10: missing terminating ] for character class 8066 8067 /[\E^]AAA/ 8068 Failed: error 106 at offset 8: missing terminating ] for character class 8069 8070 /[\Q\E^]AAA/ 8071 Failed: error 106 at offset 10: missing terminating ] for character class 8072 8073 /A(*PRUNE)B(*SKIP)C(*THEN)D(*COMMIT)E(*F)F(*FAIL)G(?!)H(*ACCEPT)I/B 8074 ------------------------------------------------------------------ 8075 Bra 8076 A 8077 *PRUNE 8078 B 8079 *SKIP 8080 C 8081 *THEN 8082 D 8083 *COMMIT 8084 E 8085 *FAIL 8086 F 8087 *FAIL 8088 G 8089 *FAIL 8090 H 8091 *ACCEPT 8092 I 8093 Ket 8094 End 8095 ------------------------------------------------------------------ 8096 8097 /^a+(*FAIL)/auto_callout 8098 \= Expect no match 8099 aaaaaa 8100 --->aaaaaa 8101 +0 ^ ^ 8102 +1 ^ a+ 8103 +3 ^ ^ (*FAIL) 8104 +3 ^ ^ (*FAIL) 8105 +3 ^ ^ (*FAIL) 8106 +3 ^ ^ (*FAIL) 8107 +3 ^ ^ (*FAIL) 8108 +3 ^^ (*FAIL) 8109 No match 8110 8111 /a+b?c+(*FAIL)/auto_callout 8112 \= Expect no match 8113 aaabccc 8114 --->aaabccc 8115 +0 ^ a+ 8116 +2 ^ ^ b? 8117 +4 ^ ^ c+ 8118 +6 ^ ^ (*FAIL) 8119 +6 ^ ^ (*FAIL) 8120 +6 ^ ^ (*FAIL) 8121 +0 ^ a+ 8122 +2 ^ ^ b? 8123 +4 ^ ^ c+ 8124 +6 ^ ^ (*FAIL) 8125 +6 ^ ^ (*FAIL) 8126 +6 ^ ^ (*FAIL) 8127 +0 ^ a+ 8128 +2 ^^ b? 8129 +4 ^ ^ c+ 8130 +6 ^ ^ (*FAIL) 8131 +6 ^ ^ (*FAIL) 8132 +6 ^ ^ (*FAIL) 8133 No match 8134 8135 /a+b?(*PRUNE)c+(*FAIL)/auto_callout 8136 \= Expect no match 8137 aaabccc 8138 --->aaabccc 8139 +0 ^ a+ 8140 +2 ^ ^ b? 8141 +4 ^ ^ (*PRUNE) 8142 +12 ^ ^ c+ 8143 +14 ^ ^ (*FAIL) 8144 +14 ^ ^ (*FAIL) 8145 +14 ^ ^ (*FAIL) 8146 +0 ^ a+ 8147 +2 ^ ^ b? 8148 +4 ^ ^ (*PRUNE) 8149 +12 ^ ^ c+ 8150 +14 ^ ^ (*FAIL) 8151 +14 ^ ^ (*FAIL) 8152 +14 ^ ^ (*FAIL) 8153 +0 ^ a+ 8154 +2 ^^ b? 8155 +4 ^ ^ (*PRUNE) 8156 +12 ^ ^ c+ 8157 +14 ^ ^ (*FAIL) 8158 +14 ^ ^ (*FAIL) 8159 +14 ^ ^ (*FAIL) 8160 No match 8161 8162 /a+b?(*COMMIT)c+(*FAIL)/auto_callout 8163 \= Expect no match 8164 aaabccc 8165 --->aaabccc 8166 +0 ^ a+ 8167 +2 ^ ^ b? 8168 +4 ^ ^ (*COMMIT) 8169 +13 ^ ^ c+ 8170 +15 ^ ^ (*FAIL) 8171 +15 ^ ^ (*FAIL) 8172 +15 ^ ^ (*FAIL) 8173 No match 8174 8175 /a+b?(*SKIP)c+(*FAIL)/auto_callout 8176 \= Expect no match 8177 aaabcccaaabccc 8178 --->aaabcccaaabccc 8179 +0 ^ a+ 8180 +2 ^ ^ b? 8181 +4 ^ ^ (*SKIP) 8182 +11 ^ ^ c+ 8183 +13 ^ ^ (*FAIL) 8184 +13 ^ ^ (*FAIL) 8185 +13 ^ ^ (*FAIL) 8186 +0 ^ a+ 8187 +2 ^ ^ b? 8188 +4 ^ ^ (*SKIP) 8189 +11 ^ ^ c+ 8190 +13 ^ ^ (*FAIL) 8191 +13 ^ ^ (*FAIL) 8192 +13 ^ ^ (*FAIL) 8193 No match 8194 8195 /a+b?(*THEN)c+(*FAIL)/auto_callout 8196 \= Expect no match 8197 aaabccc 8198 --->aaabccc 8199 +0 ^ a+ 8200 +2 ^ ^ b? 8201 +4 ^ ^ (*THEN) 8202 +11 ^ ^ c+ 8203 +13 ^ ^ (*FAIL) 8204 +13 ^ ^ (*FAIL) 8205 +13 ^ ^ (*FAIL) 8206 +0 ^ a+ 8207 +2 ^ ^ b? 8208 +4 ^ ^ (*THEN) 8209 +11 ^ ^ c+ 8210 +13 ^ ^ (*FAIL) 8211 +13 ^ ^ (*FAIL) 8212 +13 ^ ^ (*FAIL) 8213 +0 ^ a+ 8214 +2 ^^ b? 8215 +4 ^ ^ (*THEN) 8216 +11 ^ ^ c+ 8217 +13 ^ ^ (*FAIL) 8218 +13 ^ ^ (*FAIL) 8219 +13 ^ ^ (*FAIL) 8220 No match 8221 8222 /a(*MARK)b/ 8223 Failed: error 166 at offset 7: (*MARK) must have an argument 8224 8225 /(?i:A{1,}\6666666666)/ 8226 Failed: error 161 at offset 19: number is too big 8227 8228 /\g6666666666/ 8229 Failed: error 161 at offset 11: number is too big 8230 8231 /[\g6666666666]/B 8232 ------------------------------------------------------------------ 8233 Bra 8234 [6g] 8235 Ket 8236 End 8237 ------------------------------------------------------------------ 8238 8239 /(?1)\c[/ 8240 Failed: error 115 at offset 3: reference to non-existent subpattern 8241 8242 /.+A/newline=crlf 8243 \= Expect no match 8244 \r\nA 8245 No match 8246 8247 /\nA/newline=crlf 8248 \r\nA 8249 0: \x0aA 8250 8251 /[\r\n]A/newline=crlf 8252 \r\nA 8253 0: \x0aA 8254 8255 /(\r|\n)A/newline=crlf 8256 \r\nA 8257 0: \x0aA 8258 1: \x0a 8259 8260 /a(*CR)b/ 8261 Failed: error 160 at offset 5: (*VERB) not recognized or malformed 8262 8263 /(*CR)a.b/ 8264 a\nb 8265 0: a\x0ab 8266 \= Expect no match 8267 a\rb 8268 No match 8269 8270 /(*CR)a.b/newline=lf 8271 a\nb 8272 0: a\x0ab 8273 \= Expect no match 8274 a\rb 8275 No match 8276 8277 /(*LF)a.b/newline=CRLF 8278 a\rb 8279 0: a\x0db 8280 \= Expect no match 8281 a\nb 8282 No match 8283 8284 /(*CRLF)a.b/ 8285 a\rb 8286 0: a\x0db 8287 a\nb 8288 0: a\x0ab 8289 \= Expect no match 8290 a\r\nb 8291 No match 8292 8293 /(*ANYCRLF)a.b/newline=CR 8294 \= Expect no match 8295 a\rb 8296 No match 8297 a\nb 8298 No match 8299 a\r\nb 8300 No match 8301 8302 /(*ANY)a.b/newline=cr 8303 \= Expect no match 8304 a\rb 8305 No match 8306 a\nb 8307 No match 8308 a\r\nb 8309 No match 8310 a\x85b 8311 No match 8312 8313 /(*ANY).*/g 8314 abc\r\ndef 8315 0: abc 8316 0: 8317 0: def 8318 0: 8319 8320 /(*ANYCRLF).*/g 8321 abc\r\ndef 8322 0: abc 8323 0: 8324 0: def 8325 0: 8326 8327 /(*CRLF).*/g 8328 abc\r\ndef 8329 0: abc 8330 0: 8331 0: def 8332 0: 8333 8334 /a\Rb/I,bsr=anycrlf 8335 Capturing subpattern count = 0 8336 \R matches CR, LF, or CRLF 8337 First code unit = 'a' 8338 Last code unit = 'b' 8339 Subject length lower bound = 3 8340 a\rb 8341 0: a\x0db 8342 a\nb 8343 0: a\x0ab 8344 a\r\nb 8345 0: a\x0d\x0ab 8346 \= Expect no match 8347 a\x85b 8348 No match 8349 a\x0bb 8350 No match 8351 8352 /a\Rb/I,bsr=unicode 8353 Capturing subpattern count = 0 8354 \R matches any Unicode newline 8355 First code unit = 'a' 8356 Last code unit = 'b' 8357 Subject length lower bound = 3 8358 a\rb 8359 0: a\x0db 8360 a\nb 8361 0: a\x0ab 8362 a\r\nb 8363 0: a\x0d\x0ab 8364 a\x85b 8365 0: a\x85b 8366 a\x0bb 8367 0: a\x0bb 8368 8369 /a\R?b/I,bsr=anycrlf 8370 Capturing subpattern count = 0 8371 \R matches CR, LF, or CRLF 8372 First code unit = 'a' 8373 Last code unit = 'b' 8374 Subject length lower bound = 2 8375 a\rb 8376 0: a\x0db 8377 a\nb 8378 0: a\x0ab 8379 a\r\nb 8380 0: a\x0d\x0ab 8381 \= Expect no match 8382 a\x85b 8383 No match 8384 a\x0bb 8385 No match 8386 8387 /a\R?b/I,bsr=unicode 8388 Capturing subpattern count = 0 8389 \R matches any Unicode newline 8390 First code unit = 'a' 8391 Last code unit = 'b' 8392 Subject length lower bound = 2 8393 a\rb 8394 0: a\x0db 8395 a\nb 8396 0: a\x0ab 8397 a\r\nb 8398 0: a\x0d\x0ab 8399 a\x85b 8400 0: a\x85b 8401 a\x0bb 8402 0: a\x0bb 8403 8404 /a\R{2,4}b/I,bsr=anycrlf 8405 Capturing subpattern count = 0 8406 \R matches CR, LF, or CRLF 8407 First code unit = 'a' 8408 Last code unit = 'b' 8409 Subject length lower bound = 4 8410 a\r\n\nb 8411 0: a\x0d\x0a\x0ab 8412 a\n\r\rb 8413 0: a\x0a\x0d\x0db 8414 a\r\n\r\n\r\n\r\nb 8415 0: a\x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0ab 8416 \= Expect no match 8417 a\x85\x85b 8418 No match 8419 a\x0b\x0bb 8420 No match 8421 8422 /a\R{2,4}b/I,bsr=unicode 8423 Capturing subpattern count = 0 8424 \R matches any Unicode newline 8425 First code unit = 'a' 8426 Last code unit = 'b' 8427 Subject length lower bound = 4 8428 a\r\rb 8429 0: a\x0d\x0db 8430 a\n\n\nb 8431 0: a\x0a\x0a\x0ab 8432 a\r\n\n\r\rb 8433 0: a\x0d\x0a\x0a\x0d\x0db 8434 a\x85\x85b 8435 0: a\x85\x85b 8436 a\x0b\x0bb 8437 0: a\x0b\x0bb 8438 \= Expect no match 8439 a\r\r\r\r\rb 8440 No match 8441 8442 /(*BSR_ANYCRLF)a\Rb/I 8443 Capturing subpattern count = 0 8444 \R matches CR, LF, or CRLF 8445 First code unit = 'a' 8446 Last code unit = 'b' 8447 Subject length lower bound = 3 8448 a\nb 8449 0: a\x0ab 8450 a\rb 8451 0: a\x0db 8452 8453 /(*BSR_UNICODE)a\Rb/I 8454 Capturing subpattern count = 0 8455 \R matches any Unicode newline 8456 First code unit = 'a' 8457 Last code unit = 'b' 8458 Subject length lower bound = 3 8459 a\x85b 8460 0: a\x85b 8461 8462 /(*BSR_ANYCRLF)(*CRLF)a\Rb/I 8463 Capturing subpattern count = 0 8464 \R matches CR, LF, or CRLF 8465 Forced newline is CRLF 8466 First code unit = 'a' 8467 Last code unit = 'b' 8468 Subject length lower bound = 3 8469 a\nb 8470 0: a\x0ab 8471 a\rb 8472 0: a\x0db 8473 8474 /(*CRLF)(*BSR_UNICODE)a\Rb/I 8475 Capturing subpattern count = 0 8476 \R matches any Unicode newline 8477 Forced newline is CRLF 8478 First code unit = 'a' 8479 Last code unit = 'b' 8480 Subject length lower bound = 3 8481 a\x85b 8482 0: a\x85b 8483 8484 /(*CRLF)(*BSR_ANYCRLF)(*CR)ab/I 8485 Capturing subpattern count = 0 8486 \R matches CR, LF, or CRLF 8487 Forced newline is CR 8488 First code unit = 'a' 8489 Last code unit = 'b' 8490 Subject length lower bound = 2 8491 8492 /(?<a>)(?&)/ 8493 Failed: error 162 at offset 9: subpattern name expected 8494 8495 /(?<abc>)(?&a)/ 8496 Failed: error 115 at offset 12: reference to non-existent subpattern 8497 8498 /(?<a>)(?&aaaaaaaaaaaaaaaaaaaaaaa)/ 8499 Failed: error 115 at offset 32: reference to non-existent subpattern 8500 8501 /(?+-a)/ 8502 Failed: error 163 at offset 3: digit expected after (?+ 8503 8504 /(?-+a)/ 8505 Failed: error 111 at offset 3: unrecognized character after (? or (?- 8506 8507 /(?(-1))/ 8508 Failed: error 115 at offset 6: reference to non-existent subpattern 8509 8510 /(?(+10))/ 8511 Failed: error 115 at offset 7: reference to non-existent subpattern 8512 8513 /(?(10))/ 8514 Failed: error 115 at offset 6: reference to non-existent subpattern 8515 8516 /(?(+2))()()/ 8517 8518 /(?(2))()()/ 8519 8520 /\k''/ 8521 Failed: error 162 at offset 3: subpattern name expected 8522 8523 /\k<>/ 8524 Failed: error 162 at offset 3: subpattern name expected 8525 8526 /\k{}/ 8527 Failed: error 162 at offset 3: subpattern name expected 8528 8529 /\k/ 8530 Failed: error 169 at offset 1: \k is not followed by a braced, angle-bracketed, or quoted name 8531 8532 /\kabc/ 8533 Failed: error 169 at offset 1: \k is not followed by a braced, angle-bracketed, or quoted name 8534 8535 /(?P=)/ 8536 Failed: error 162 at offset 4: subpattern name expected 8537 8538 /(?P>)/ 8539 Failed: error 162 at offset 4: subpattern name expected 8540 8541 /[[:foo:]]/ 8542 Failed: error 130 at offset 3: unknown POSIX class name 8543 8544 /[[:1234:]]/ 8545 Failed: error 130 at offset 3: unknown POSIX class name 8546 8547 /[[:f\oo:]]/ 8548 Failed: error 130 at offset 3: unknown POSIX class name 8549 8550 /[[: :]]/ 8551 Failed: error 130 at offset 3: unknown POSIX class name 8552 8553 /[[:...:]]/ 8554 Failed: error 130 at offset 3: unknown POSIX class name 8555 8556 /[[:l\ower:]]/ 8557 Failed: error 130 at offset 3: unknown POSIX class name 8558 8559 /[[:abc\:]]/ 8560 Failed: error 130 at offset 3: unknown POSIX class name 8561 8562 /[abc[:x\]pqr:]]/ 8563 Failed: error 130 at offset 6: unknown POSIX class name 8564 8565 /[[:a\dz:]]/ 8566 Failed: error 130 at offset 3: unknown POSIX class name 8567 8568 /(^(a|b\g<-1'c))/ 8569 Failed: error 157 at offset 8: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number 8570 8571 /^(?+1)(?<a>x|y){0}z/ 8572 xzxx 8573 0: xz 8574 yzyy 8575 0: yz 8576 \= Expect no match 8577 xxz 8578 No match 8579 8580 /(\3)(\1)(a)/ 8581 \= Expect no match 8582 cat 8583 No match 8584 8585 /(\3)(\1)(a)/alt_bsux,allow_empty_class,match_unset_backref,dupnames 8586 cat 8587 0: a 8588 1: 8589 2: 8590 3: a 8591 8592 /TA]/ 8593 The ACTA] comes 8594 0: TA] 8595 8596 /TA]/alt_bsux,allow_empty_class,match_unset_backref,dupnames 8597 The ACTA] comes 8598 0: TA] 8599 8600 /(?2)[]a()b](abc)/ 8601 Failed: error 115 at offset 3: reference to non-existent subpattern 8602 abcbabc 8603 8604 /(?2)[^]a()b](abc)/ 8605 Failed: error 115 at offset 3: reference to non-existent subpattern 8606 abcbabc 8607 8608 /(?1)[]a()b](abc)/ 8609 abcbabc 8610 0: abcbabc 8611 1: abc 8612 \= Expect no match 8613 abcXabc 8614 No match 8615 8616 /(?1)[^]a()b](abc)/ 8617 abcXabc 8618 0: abcXabc 8619 1: abc 8620 \= Expect no match 8621 abcbabc 8622 No match 8623 8624 /(?2)[]a()b](abc)(xyz)/ 8625 xyzbabcxyz 8626 0: xyzbabcxyz 8627 1: abc 8628 2: xyz 8629 8630 /(?&N)[]a(?<N>)](?<M>abc)/ 8631 Failed: error 115 at offset 4: reference to non-existent subpattern 8632 abc<abc 8633 8634 /(?&N)[]a(?<N>)](abc)/ 8635 Failed: error 115 at offset 4: reference to non-existent subpattern 8636 abc<abc 8637 8638 /a[]b/ 8639 Failed: error 106 at offset 4: missing terminating ] for character class 8640 8641 /a[^]b/ 8642 Failed: error 106 at offset 5: missing terminating ] for character class 8643 8644 /a[]b/alt_bsux,allow_empty_class,match_unset_backref,dupnames 8645 \= Expect no match 8646 ab 8647 No match 8648 8649 /a[]+b/alt_bsux,allow_empty_class,match_unset_backref,dupnames 8650 \= Expect no match 8651 ab 8652 No match 8653 8654 /a[]*+b/alt_bsux,allow_empty_class,match_unset_backref,dupnames 8655 \= Expect no match 8656 ab 8657 No match 8658 8659 /a[^]b/alt_bsux,allow_empty_class,match_unset_backref,dupnames 8660 aXb 8661 0: aXb 8662 a\nb 8663 0: a\x0ab 8664 \= Expect no match 8665 ab 8666 No match 8667 8668 /a[^]+b/alt_bsux,allow_empty_class,match_unset_backref,dupnames 8669 aXb 8670 0: aXb 8671 a\nX\nXb 8672 0: a\x0aX\x0aXb 8673 \= Expect no match 8674 ab 8675 No match 8676 8677 /a(?!)b/B 8678 ------------------------------------------------------------------ 8679 Bra 8680 a 8681 *FAIL 8682 b 8683 Ket 8684 End 8685 ------------------------------------------------------------------ 8686 8687 /(?!)?a/B 8688 ------------------------------------------------------------------ 8689 Bra 8690 Brazero 8691 Assert not 8692 Ket 8693 a 8694 Ket 8695 End 8696 ------------------------------------------------------------------ 8697 ab 8698 0: a 8699 8700 /a(*FAIL)+b/ 8701 Failed: error 109 at offset 8: quantifier does not follow a repeatable item 8702 8703 /(abc|pqr|123){0}[xyz]/I 8704 Capturing subpattern count = 1 8705 Starting code units: x y z 8706 Subject length lower bound = 1 8707 8708 /(?(?=.*b)b|^)/I,auto_callout 8709 Capturing subpattern count = 0 8710 May match empty string 8711 Options: auto_callout 8712 Subject length lower bound = 0 8713 adc 8714 --->adc 8715 +0 ^ (?(?=.*b)b|^) 8716 +2 ^ (?=.*b) 8717 +5 ^ .* 8718 +7 ^ ^ b 8719 +7 ^ ^ b 8720 +7 ^^ b 8721 +7 ^ b 8722 +11 ^ ^ 8723 +12 ^ ) 8724 +13 ^ 8725 0: 8726 abc 8727 --->abc 8728 +0 ^ (?(?=.*b)b|^) 8729 +2 ^ (?=.*b) 8730 +5 ^ .* 8731 +7 ^ ^ b 8732 +7 ^ ^ b 8733 +7 ^^ b 8734 +8 ^ ^ ) 8735 +9 ^ b 8736 +0 ^ (?(?=.*b)b|^) 8737 +2 ^ (?=.*b) 8738 +5 ^ .* 8739 +7 ^ ^ b 8740 +7 ^^ b 8741 +7 ^ b 8742 +8 ^^ ) 8743 +9 ^ b 8744 +10 ^^ | 8745 +13 ^^ 8746 0: b 8747 8748 /(?(?=b).*b|^d)/I 8749 Capturing subpattern count = 0 8750 Subject length lower bound = 1 8751 8752 /(?(?=.*b).*b|^d)/I 8753 Capturing subpattern count = 0 8754 First code unit at start or follows newline 8755 Subject length lower bound = 1 8756 8757 /xyz/auto_callout 8758 xyz 8759 --->xyz 8760 +0 ^ x 8761 +1 ^^ y 8762 +2 ^ ^ z 8763 +3 ^ ^ 8764 0: xyz 8765 abcxyz 8766 --->abcxyz 8767 +0 ^ x 8768 +1 ^^ y 8769 +2 ^ ^ z 8770 +3 ^ ^ 8771 0: xyz 8772 \= Expect no match 8773 abc 8774 No match 8775 abcxypqr 8776 No match 8777 8778 /xyz/auto_callout,no_start_optimize 8779 abcxyz 8780 --->abcxyz 8781 +0 ^ x 8782 +0 ^ x 8783 +0 ^ x 8784 +0 ^ x 8785 +1 ^^ y 8786 +2 ^ ^ z 8787 +3 ^ ^ 8788 0: xyz 8789 \= Expect no match 8790 abc 8791 --->abc 8792 +0 ^ x 8793 +0 ^ x 8794 +0 ^ x 8795 +0 ^ x 8796 No match 8797 abcxypqr 8798 --->abcxypqr 8799 +0 ^ x 8800 +0 ^ x 8801 +0 ^ x 8802 +0 ^ x 8803 +1 ^^ y 8804 +2 ^ ^ z 8805 +0 ^ x 8806 +0 ^ x 8807 +0 ^ x 8808 +0 ^ x 8809 +0 ^ x 8810 No match 8811 8812 /(*NO_START_OPT)xyz/auto_callout 8813 abcxyz 8814 --->abcxyz 8815 +15 ^ x 8816 +15 ^ x 8817 +15 ^ x 8818 +15 ^ x 8819 +16 ^^ y 8820 +17 ^ ^ z 8821 +18 ^ ^ 8822 0: xyz 8823 8824 /(*NO_AUTO_POSSESS)a+b/B 8825 ------------------------------------------------------------------ 8826 Bra 8827 a+ 8828 b 8829 Ket 8830 End 8831 ------------------------------------------------------------------ 8832 8833 /xyz/auto_callout,no_start_optimize 8834 abcxyz 8835 --->abcxyz 8836 +0 ^ x 8837 +0 ^ x 8838 +0 ^ x 8839 +0 ^ x 8840 +1 ^^ y 8841 +2 ^ ^ z 8842 +3 ^ ^ 8843 0: xyz 8844 8845 /^"((?(?=[a])[^"])|b)*"$/auto_callout 8846 "ab" 8847 --->"ab" 8848 +0 ^ ^ 8849 +1 ^ " 8850 +2 ^^ ((?(?=[a])[^"])|b)* 8851 +3 ^^ (?(?=[a])[^"]) 8852 +5 ^^ (?=[a]) 8853 +8 ^^ [a] 8854 +11 ^ ^ ) 8855 +12 ^^ [^"] 8856 +16 ^ ^ ) 8857 +17 ^ ^ | 8858 +3 ^ ^ (?(?=[a])[^"]) 8859 +5 ^ ^ (?=[a]) 8860 +8 ^ ^ [a] 8861 +17 ^ ^ | 8862 +21 ^ ^ " 8863 +18 ^ ^ b 8864 +19 ^ ^ ) 8865 +3 ^ ^ (?(?=[a])[^"]) 8866 +5 ^ ^ (?=[a]) 8867 +8 ^ ^ [a] 8868 +17 ^ ^ | 8869 +21 ^ ^ " 8870 +22 ^ ^ $ 8871 +23 ^ ^ 8872 0: "ab" 8873 1: 8874 8875 /^"((?(?=[a])[^"])|b)*"$/ 8876 "ab" 8877 0: "ab" 8878 1: 8879 8880 /^X(?5)(a)(?|(b)|(q))(c)(d)Y/ 8881 Failed: error 115 at offset 5: reference to non-existent subpattern 8882 XYabcdY 8883 8884 /^X(?&N)(a)(?|(b)|(q))(c)(d)(?<N>Y)/ 8885 XYabcdY 8886 0: XYabcdY 8887 1: a 8888 2: b 8889 3: c 8890 4: d 8891 5: Y 8892 8893 /Xa{2,4}b/ 8894 X\=ps 8895 Partial match: X 8896 Xa\=ps 8897 Partial match: Xa 8898 Xaa\=ps 8899 Partial match: Xaa 8900 Xaaa\=ps 8901 Partial match: Xaaa 8902 Xaaaa\=ps 8903 Partial match: Xaaaa 8904 8905 /Xa{2,4}?b/ 8906 X\=ps 8907 Partial match: X 8908 Xa\=ps 8909 Partial match: Xa 8910 Xaa\=ps 8911 Partial match: Xaa 8912 Xaaa\=ps 8913 Partial match: Xaaa 8914 Xaaaa\=ps 8915 Partial match: Xaaaa 8916 8917 /Xa{2,4}+b/ 8918 X\=ps 8919 Partial match: X 8920 Xa\=ps 8921 Partial match: Xa 8922 Xaa\=ps 8923 Partial match: Xaa 8924 Xaaa\=ps 8925 Partial match: Xaaa 8926 Xaaaa\=ps 8927 Partial match: Xaaaa 8928 8929 /X\d{2,4}b/ 8930 X\=ps 8931 Partial match: X 8932 X3\=ps 8933 Partial match: X3 8934 X33\=ps 8935 Partial match: X33 8936 X333\=ps 8937 Partial match: X333 8938 X3333\=ps 8939 Partial match: X3333 8940 8941 /X\d{2,4}?b/ 8942 X\=ps 8943 Partial match: X 8944 X3\=ps 8945 Partial match: X3 8946 X33\=ps 8947 Partial match: X33 8948 X333\=ps 8949 Partial match: X333 8950 X3333\=ps 8951 Partial match: X3333 8952 8953 /X\d{2,4}+b/ 8954 X\=ps 8955 Partial match: X 8956 X3\=ps 8957 Partial match: X3 8958 X33\=ps 8959 Partial match: X33 8960 X333\=ps 8961 Partial match: X333 8962 X3333\=ps 8963 Partial match: X3333 8964 8965 /X\D{2,4}b/ 8966 X\=ps 8967 Partial match: X 8968 Xa\=ps 8969 Partial match: Xa 8970 Xaa\=ps 8971 Partial match: Xaa 8972 Xaaa\=ps 8973 Partial match: Xaaa 8974 Xaaaa\=ps 8975 Partial match: Xaaaa 8976 8977 /X\D{2,4}?b/ 8978 X\=ps 8979 Partial match: X 8980 Xa\=ps 8981 Partial match: Xa 8982 Xaa\=ps 8983 Partial match: Xaa 8984 Xaaa\=ps 8985 Partial match: Xaaa 8986 Xaaaa\=ps 8987 Partial match: Xaaaa 8988 8989 /X\D{2,4}+b/ 8990 X\=ps 8991 Partial match: X 8992 Xa\=ps 8993 Partial match: Xa 8994 Xaa\=ps 8995 Partial match: Xaa 8996 Xaaa\=ps 8997 Partial match: Xaaa 8998 Xaaaa\=ps 8999 Partial match: Xaaaa 9000 9001 /X[abc]{2,4}b/ 9002 X\=ps 9003 Partial match: X 9004 Xa\=ps 9005 Partial match: Xa 9006 Xaa\=ps 9007 Partial match: Xaa 9008 Xaaa\=ps 9009 Partial match: Xaaa 9010 Xaaaa\=ps 9011 Partial match: Xaaaa 9012 9013 /X[abc]{2,4}?b/ 9014 X\=ps 9015 Partial match: X 9016 Xa\=ps 9017 Partial match: Xa 9018 Xaa\=ps 9019 Partial match: Xaa 9020 Xaaa\=ps 9021 Partial match: Xaaa 9022 Xaaaa\=ps 9023 Partial match: Xaaaa 9024 9025 /X[abc]{2,4}+b/ 9026 X\=ps 9027 Partial match: X 9028 Xa\=ps 9029 Partial match: Xa 9030 Xaa\=ps 9031 Partial match: Xaa 9032 Xaaa\=ps 9033 Partial match: Xaaa 9034 Xaaaa\=ps 9035 Partial match: Xaaaa 9036 9037 /X[^a]{2,4}b/ 9038 X\=ps 9039 Partial match: X 9040 Xz\=ps 9041 Partial match: Xz 9042 Xzz\=ps 9043 Partial match: Xzz 9044 Xzzz\=ps 9045 Partial match: Xzzz 9046 Xzzzz\=ps 9047 Partial match: Xzzzz 9048 9049 /X[^a]{2,4}?b/ 9050 X\=ps 9051 Partial match: X 9052 Xz\=ps 9053 Partial match: Xz 9054 Xzz\=ps 9055 Partial match: Xzz 9056 Xzzz\=ps 9057 Partial match: Xzzz 9058 Xzzzz\=ps 9059 Partial match: Xzzzz 9060 9061 /X[^a]{2,4}+b/ 9062 X\=ps 9063 Partial match: X 9064 Xz\=ps 9065 Partial match: Xz 9066 Xzz\=ps 9067 Partial match: Xzz 9068 Xzzz\=ps 9069 Partial match: Xzzz 9070 Xzzzz\=ps 9071 Partial match: Xzzzz 9072 9073 /(Y)X\1{2,4}b/ 9074 YX\=ps 9075 Partial match: YX 9076 YXY\=ps 9077 Partial match: YXY 9078 YXYY\=ps 9079 Partial match: YXYY 9080 YXYYY\=ps 9081 Partial match: YXYYY 9082 YXYYYY\=ps 9083 Partial match: YXYYYY 9084 9085 /(Y)X\1{2,4}?b/ 9086 YX\=ps 9087 Partial match: YX 9088 YXY\=ps 9089 Partial match: YXY 9090 YXYY\=ps 9091 Partial match: YXYY 9092 YXYYY\=ps 9093 Partial match: YXYYY 9094 YXYYYY\=ps 9095 Partial match: YXYYYY 9096 9097 /(Y)X\1{2,4}+b/ 9098 YX\=ps 9099 Partial match: YX 9100 YXY\=ps 9101 Partial match: YXY 9102 YXYY\=ps 9103 Partial match: YXYY 9104 YXYYY\=ps 9105 Partial match: YXYYY 9106 YXYYYY\=ps 9107 Partial match: YXYYYY 9108 9109 /\++\KZ|\d+X|9+Y/startchar 9110 ++++123999\=ps 9111 Partial match: 123999 9112 ++++123999Y\=ps 9113 0: 999Y 9114 ++++Z1234\=ps 9115 0: ++++Z 9116 ^^^^ 9117 9118 /Z(*F)/ 9119 \= Expect no match 9120 Z\=ps 9121 No match 9122 ZA\=ps 9123 No match 9124 9125 /Z(?!)/ 9126 \= Expect no match 9127 Z\=ps 9128 No match 9129 ZA\=ps 9130 No match 9131 9132 /dog(sbody)?/ 9133 dogs\=ps 9134 0: dog 9135 dogs\=ph 9136 Partial match: dogs 9137 9138 /dog(sbody)??/ 9139 dogs\=ps 9140 0: dog 9141 dogs\=ph 9142 0: dog 9143 9144 /dog|dogsbody/ 9145 dogs\=ps 9146 0: dog 9147 dogs\=ph 9148 0: dog 9149 9150 /dogsbody|dog/ 9151 dogs\=ps 9152 0: dog 9153 dogs\=ph 9154 Partial match: dogs 9155 9156 /\bthe cat\b/ 9157 the cat\=ps 9158 0: the cat 9159 the cat\=ph 9160 Partial match: the cat 9161 9162 /abc/ 9163 abc\=ps 9164 0: abc 9165 abc\=ph 9166 0: abc 9167 9168 /abc\K123/startchar 9169 xyzabc123pqr 9170 0: abc123 9171 ^^^ 9172 xyzabc12\=ps 9173 Partial match: abc12 9174 xyzabc12\=ph 9175 Partial match: abc12 9176 9177 /(?<=abc)123/ 9178 xyzabc123pqr 9179 0: 123 9180 xyzabc12\=ps 9181 Partial match: abc12 9182 <<< 9183 xyzabc12\=ph 9184 Partial match: abc12 9185 <<< 9186 9187 /\babc\b/ 9188 +++abc+++ 9189 0: abc 9190 +++ab\=ps 9191 Partial match: +ab 9192 < 9193 +++ab\=ph 9194 Partial match: +ab 9195 < 9196 9197 /(?&word)(?&element)(?(DEFINE)(?<element><[^m][^>]>[^<])(?<word>\w*+))/B 9198 ------------------------------------------------------------------ 9199 Bra 9200 Recurse 9201 Recurse 9202 Cond 9203 Cond false 9204 CBra 1 9205 < 9206 [^m] 9207 [^>] 9208 > 9209 [^<] 9210 Ket 9211 CBra 2 9212 \w*+ 9213 Ket 9214 Ket 9215 Ket 9216 End 9217 ------------------------------------------------------------------ 9218 9219 /(?&word)(?&element)(?(DEFINE)(?<element><[^\d][^>]>[^<])(?<word>\w*+))/B 9220 ------------------------------------------------------------------ 9221 Bra 9222 Recurse 9223 Recurse 9224 Cond 9225 Cond false 9226 CBra 1 9227 < 9228 [\x00-/:-\xff] (neg) 9229 [^>] 9230 > 9231 [^<] 9232 Ket 9233 CBra 2 9234 \w*+ 9235 Ket 9236 Ket 9237 Ket 9238 End 9239 ------------------------------------------------------------------ 9240 9241 /(ab)(x(y)z(cd(*ACCEPT)))pq/B 9242 ------------------------------------------------------------------ 9243 Bra 9244 CBra 1 9245 ab 9246 Ket 9247 CBra 2 9248 x 9249 CBra 3 9250 y 9251 Ket 9252 z 9253 CBra 4 9254 cd 9255 Close 4 9256 Close 2 9257 *ACCEPT 9258 Ket 9259 Ket 9260 pq 9261 Ket 9262 End 9263 ------------------------------------------------------------------ 9264 9265 /abc\K/aftertext,startchar 9266 abcdef 9267 0: abc 9268 ^^^ 9269 0+ def 9270 abcdef\=notempty_atstart 9271 0: abc 9272 ^^^ 9273 0+ def 9274 xyzabcdef\=notempty_atstart 9275 0: abc 9276 ^^^ 9277 0+ def 9278 \= Expect no match 9279 abcdef\=notempty 9280 No match 9281 xyzabcdef\=notempty 9282 No match 9283 9284 /^(?:(?=abc)|abc\K)/aftertext,startchar 9285 abcdef 9286 0: 9287 0+ abcdef 9288 abcdef\=notempty_atstart 9289 0: abc 9290 ^^^ 9291 0+ def 9292 \= Expect no match 9293 abcdef\=notempty 9294 No match 9295 9296 /a?b?/aftertext 9297 xyz 9298 0: 9299 0+ xyz 9300 xyzabc 9301 0: 9302 0+ xyzabc 9303 xyzabc\=notempty 9304 0: ab 9305 0+ c 9306 xyzabc\=notempty_atstart 9307 0: 9308 0+ yzabc 9309 xyz\=notempty_atstart 9310 0: 9311 0+ yz 9312 \= Expect no match 9313 xyz\=notempty 9314 No match 9315 9316 /^a?b?/aftertext 9317 xyz 9318 0: 9319 0+ xyz 9320 xyzabc 9321 0: 9322 0+ xyzabc 9323 \= Expect no match 9324 xyzabc\=notempty 9325 No match 9326 xyzabc\=notempty_atstart 9327 No match 9328 xyz\=notempty_atstart 9329 No match 9330 xyz\=notempty 9331 No match 9332 9333 /^(?<name>a|b\g<name>c)/ 9334 aaaa 9335 0: a 9336 1: a 9337 bacxxx 9338 0: bac 9339 1: bac 9340 bbaccxxx 9341 0: bbacc 9342 1: bbacc 9343 bbbacccxx 9344 0: bbbaccc 9345 1: bbbaccc 9346 9347 /^(?<name>a|b\g'name'c)/ 9348 aaaa 9349 0: a 9350 1: a 9351 bacxxx 9352 0: bac 9353 1: bac 9354 bbaccxxx 9355 0: bbacc 9356 1: bbacc 9357 bbbacccxx 9358 0: bbbaccc 9359 1: bbbaccc 9360 9361 /^(a|b\g<1>c)/ 9362 aaaa 9363 0: a 9364 1: a 9365 bacxxx 9366 0: bac 9367 1: bac 9368 bbaccxxx 9369 0: bbacc 9370 1: bbacc 9371 bbbacccxx 9372 0: bbbaccc 9373 1: bbbaccc 9374 9375 /^(a|b\g'1'c)/ 9376 aaaa 9377 0: a 9378 1: a 9379 bacxxx 9380 0: bac 9381 1: bac 9382 bbaccxxx 9383 0: bbacc 9384 1: bbacc 9385 bbbacccxx 9386 0: bbbaccc 9387 1: bbbaccc 9388 9389 /^(a|b\g'-1'c)/ 9390 aaaa 9391 0: a 9392 1: a 9393 bacxxx 9394 0: bac 9395 1: bac 9396 bbaccxxx 9397 0: bbacc 9398 1: bbacc 9399 bbbacccxx 9400 0: bbbaccc 9401 1: bbbaccc 9402 9403 /(^(a|b\g<-1>c))/ 9404 aaaa 9405 0: a 9406 1: a 9407 2: a 9408 bacxxx 9409 0: bac 9410 1: bac 9411 2: bac 9412 bbaccxxx 9413 0: bbacc 9414 1: bbacc 9415 2: bbacc 9416 bbbacccxx 9417 0: bbbaccc 9418 1: bbbaccc 9419 2: bbbaccc 9420 9421 /(?-i:\g<name>)(?i:(?<name>a))/ 9422 XaaX 9423 0: aa 9424 1: a 9425 XAAX 9426 0: AA 9427 1: A 9428 9429 /(?i:\g<name>)(?-i:(?<name>a))/ 9430 XaaX 9431 0: aa 9432 1: a 9433 \= Expect no match 9434 XAAX 9435 No match 9436 9437 /(?-i:\g<+1>)(?i:(a))/ 9438 XaaX 9439 0: aa 9440 1: a 9441 XAAX 9442 0: AA 9443 1: A 9444 9445 /(?=(?<regex>(?#simplesyntax)\$(?<name>[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)(?:\[(?<index>[a-zA-Z0-9_\x{7f}-\x{ff}]+|\$\g<name>)\]|->\g<name>(\(.*?\))?)?|(?#simple syntax withbraces)\$\{(?:\g<name>(?<indices>\[(?:\g<index>|'(?:\\.|[^'\\])*'|"(?:\g<regex>|\\.|[^"\\])*")\])?|\g<complex>|\$\{\g<complex>\})\}|(?#complexsyntax)\{(?<complex>\$(?<segment>\g<name>(\g<indices>*|\(.*?\))?)(?:->\g<segment>)*|\$\g<complex>|\$\{\g<complex>\})\}))\{/ 9446 9447 /(?<n>a|b|c)\g<n>*/ 9448 abc 9449 0: abc 9450 1: a 9451 accccbbb 9452 0: accccbbb 9453 1: a 9454 9455 /^X(?7)(a)(?|(b)|(q)(r)(s))(c)(d)(Y)/ 9456 XYabcdY 9457 0: XYabcdY 9458 1: a 9459 2: b 9460 3: <unset> 9461 4: <unset> 9462 5: c 9463 6: d 9464 7: Y 9465 9466 /(?<=b(?1)|zzz)(a)/ 9467 xbaax 9468 0: a 9469 1: a 9470 xzzzax 9471 0: a 9472 1: a 9473 9474 /(a)(?<=b\1)/ 9475 Failed: error 125 at offset 10: lookbehind assertion is not fixed length 9476 9477 /(a)(?<=b+(?1))/ 9478 Failed: error 125 at offset 13: lookbehind assertion is not fixed length 9479 9480 /(a+)(?<=b(?1))/ 9481 Failed: error 125 at offset 14: lookbehind assertion is not fixed length 9482 9483 /(a(?<=b(?1)))/ 9484 Failed: error 125 at offset 13: lookbehind assertion is not fixed length 9485 9486 /(?<=b(?1))xyz/ 9487 Failed: error 115 at offset 8: reference to non-existent subpattern 9488 9489 /(?<=b(?1))xyz(b+)pqrstuvew/ 9490 Failed: error 125 at offset 26: lookbehind assertion is not fixed length 9491 9492 /(a|bc)\1/I 9493 Capturing subpattern count = 1 9494 Max back reference = 1 9495 Starting code units: a b 9496 Subject length lower bound = 2 9497 9498 /(a|bc)\1{2,3}/I 9499 Capturing subpattern count = 1 9500 Max back reference = 1 9501 Starting code units: a b 9502 Subject length lower bound = 3 9503 9504 /(a|bc)(?1)/I 9505 Capturing subpattern count = 1 9506 Starting code units: a b 9507 Subject length lower bound = 2 9508 9509 /(a|b\1)(a|b\1)/I 9510 Capturing subpattern count = 2 9511 Max back reference = 1 9512 Starting code units: a b 9513 Subject length lower bound = 2 9514 9515 /(a|b\1){2}/I 9516 Capturing subpattern count = 1 9517 Max back reference = 1 9518 Starting code units: a b 9519 Subject length lower bound = 2 9520 9521 /(a|bbbb\1)(a|bbbb\1)/I 9522 Capturing subpattern count = 2 9523 Max back reference = 1 9524 Starting code units: a b 9525 Subject length lower bound = 2 9526 9527 /(a|bbbb\1){2}/I 9528 Capturing subpattern count = 1 9529 Max back reference = 1 9530 Starting code units: a b 9531 Subject length lower bound = 2 9532 9533 /^From +([^ ]+) +[a-zA-Z][a-zA-Z][a-zA-Z] +[a-zA-Z][a-zA-Z][a-zA-Z] +[0-9]?[0-9] +[0-9][0-9]:[0-9][0-9]/I 9534 Capturing subpattern count = 1 9535 Compile options: <none> 9536 Overall options: anchored 9537 Last code unit = ':' 9538 Subject length lower bound = 22 9539 9540 /<tr([\w\W\s\d][^<>]{0,})><TD([\w\W\s\d][^<>]{0,})>([\d]{0,}\.)(.*)((<BR>([\w\W\s\d][^<>]{0,})|[\s]{0,}))<\/a><\/TD><TD([\w\W\s\d][^<>]{0,})>([\w\W\s\d][^<>]{0,})<\/TD><TD([\w\W\s\d][^<>]{0,})>([\w\W\s\d][^<>]{0,})<\/TD><\/TR>/Iis 9541 Capturing subpattern count = 11 9542 Options: caseless dotall 9543 First code unit = '<' 9544 Last code unit = '>' 9545 Subject length lower bound = 47 9546 9547 "(?>.*/)foo"I 9548 Capturing subpattern count = 0 9549 Last code unit = 'o' 9550 Subject length lower bound = 4 9551 9552 /(?(?=[^a-z]+[a-z]) \d{2}-[a-z]{3}-\d{2} | \d{2}-\d{2}-\d{2} ) /Ix 9553 Capturing subpattern count = 0 9554 Options: extended 9555 Last code unit = '-' 9556 Subject length lower bound = 8 9557 9558 /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))/Ii 9559 Capturing subpattern count = 1 9560 Options: caseless 9561 Starting code units: A B C a b c 9562 Subject length lower bound = 1 9563 9564 /(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/I 9565 Capturing subpattern count = 0 9566 Starting code units: c d 9567 Last code unit = 'b' 9568 Subject length lower bound = 41 9569 9570 /<a[\s]+href[\s]*=[\s]* # find <a href= 9571 ([\"\'])? # find single or double quote 9572 (?(1) (.*?)\1 | ([^\s]+)) # if quote found, match up to next matching 9573 # quote, otherwise match up to next space 9574 /Iisx 9575 Capturing subpattern count = 3 9576 Max back reference = 1 9577 Options: caseless dotall extended 9578 First code unit = '<' 9579 Last code unit = '=' 9580 Subject length lower bound = 9 9581 9582 /^(?!:) # colon disallowed at start 9583 (?: # start of item 9584 (?: [0-9a-f]{1,4} | # 1-4 hex digits or 9585 (?(1)0 | () ) ) # if null previously matched, fail; else null 9586 : # followed by colon 9587 ){1,7} # end item; 1-7 of them required 9588 [0-9a-f]{1,4} $ # final hex number at end of string 9589 (?(1)|.) # check that there was an empty component 9590 /Iix 9591 Capturing subpattern count = 1 9592 Max back reference = 1 9593 Compile options: caseless extended 9594 Overall options: anchored caseless extended 9595 Last code unit = ':' 9596 Subject length lower bound = 2 9597 9598 /(?|(?<a>A)|(?<a>B))/I 9599 Capturing subpattern count = 1 9600 Named capturing subpatterns: 9601 a 1 9602 Starting code units: A B 9603 Subject length lower bound = 1 9604 AB\=copy=a 9605 0: A 9606 1: A 9607 C A (1) a (group 1) 9608 BA\=copy=a 9609 0: B 9610 1: B 9611 C B (1) a (group 1) 9612 9613 /(?|(?<a>A)|(?<b>B))/ 9614 Failed: error 165 at offset 15: different names for subpatterns of the same number are not allowed 9615 9616 /(?:a(?<quote> (?<apostrophe>')|(?<realquote>")) | 9617 b(?<quote> (?<apostrophe>')|(?<realquote>")) ) 9618 (?('quote')[a-z]+|[0-9]+)/Ix,dupnames 9619 Capturing subpattern count = 6 9620 Max back reference = 4 9621 Named capturing subpatterns: 9622 apostrophe 2 9623 apostrophe 5 9624 quote 1 9625 quote 4 9626 realquote 3 9627 realquote 6 9628 Options: dupnames extended 9629 Starting code units: a b 9630 Subject length lower bound = 3 9631 a"aaaaa 9632 0: a"aaaaa 9633 1: " 9634 2: <unset> 9635 3: " 9636 b"aaaaa 9637 0: b"aaaaa 9638 1: <unset> 9639 2: <unset> 9640 3: <unset> 9641 4: " 9642 5: <unset> 9643 6: " 9644 \= Expect no match 9645 b"11111 9646 No match 9647 a"11111 9648 No match 9649 9650 /^(?|(a)(b)(c)(?<D>d)|(?<D>e)) (?('D')X|Y)/IBx,dupnames 9651 ------------------------------------------------------------------ 9652 Bra 9653 ^ 9654 Bra 9655 CBra 1 9656 a 9657 Ket 9658 CBra 2 9659 b 9660 Ket 9661 CBra 3 9662 c 9663 Ket 9664 CBra 4 9665 d 9666 Ket 9667 Alt 9668 CBra 1 9669 e 9670 Ket 9671 Ket 9672 Cond 9673 Cond ref <D>2 9674 X 9675 Alt 9676 Y 9677 Ket 9678 Ket 9679 End 9680 ------------------------------------------------------------------ 9681 Capturing subpattern count = 4 9682 Max back reference = 4 9683 Named capturing subpatterns: 9684 D 4 9685 D 1 9686 Compile options: dupnames extended 9687 Overall options: anchored dupnames extended 9688 Subject length lower bound = 2 9689 abcdX 9690 0: abcdX 9691 1: a 9692 2: b 9693 3: c 9694 4: d 9695 eX 9696 0: eX 9697 1: e 9698 \= Expect no match 9699 abcdY 9700 No match 9701 ey 9702 No match 9703 9704 /(?<A>a) (b)(c) (?<A>d (?(R&A)$ | (?4)) )/IBx,dupnames 9705 ------------------------------------------------------------------ 9706 Bra 9707 CBra 1 9708 a 9709 Ket 9710 CBra 2 9711 b 9712 Ket 9713 CBra 3 9714 c 9715 Ket 9716 CBra 4 9717 d 9718 Cond 9719 Cond recurse <A>2 9720 $ 9721 Alt 9722 Recurse 9723 Ket 9724 Ket 9725 Ket 9726 End 9727 ------------------------------------------------------------------ 9728 Capturing subpattern count = 4 9729 Max back reference = 4 9730 Named capturing subpatterns: 9731 A 1 9732 A 4 9733 Options: dupnames extended 9734 First code unit = 'a' 9735 Last code unit = 'd' 9736 Subject length lower bound = 4 9737 abcdd 9738 0: abcdd 9739 1: a 9740 2: b 9741 3: c 9742 4: dd 9743 \= Expect no match 9744 abcdde 9745 No match 9746 9747 /abcd*/ 9748 xxxxabcd\=ps 9749 0: abcd 9750 xxxxabcd\=ph 9751 Partial match: abcd 9752 9753 /abcd*/i 9754 xxxxabcd\=ps 9755 0: abcd 9756 xxxxabcd\=ph 9757 Partial match: abcd 9758 XXXXABCD\=ps 9759 0: ABCD 9760 XXXXABCD\=ph 9761 Partial match: ABCD 9762 9763 /abc\d*/ 9764 xxxxabc1\=ps 9765 0: abc1 9766 xxxxabc1\=ph 9767 Partial match: abc1 9768 9769 /(a)bc\1*/ 9770 xxxxabca\=ps 9771 0: abca 9772 1: a 9773 xxxxabca\=ph 9774 Partial match: abca 9775 9776 /abc[de]*/ 9777 xxxxabcde\=ps 9778 0: abcde 9779 xxxxabcde\=ph 9780 Partial match: abcde 9781 9782 # This is not in the Perl-compatible test because Perl seems currently to be 9783 # broken and not behaving as specified in that it *does* bumpalong after 9784 # hitting (*COMMIT). 9785 9786 /(?1)(A(*COMMIT)|B)D/ 9787 ABD 9788 0: ABD 9789 1: B 9790 XABD 9791 0: ABD 9792 1: B 9793 BAD 9794 0: BAD 9795 1: A 9796 ABXABD 9797 0: ABD 9798 1: B 9799 \= Expect no match 9800 ABX 9801 No match 9802 BAXBAD 9803 No match 9804 9805 /(\3)(\1)(a)/alt_bsux,allow_empty_class,match_unset_backref,dupnames 9806 cat 9807 0: a 9808 1: 9809 2: 9810 3: a 9811 9812 /(\3)(\1)(a)/I,alt_bsux,allow_empty_class,match_unset_backref,dupnames 9813 Capturing subpattern count = 3 9814 Max back reference = 3 9815 Options: alt_bsux allow_empty_class dupnames match_unset_backref 9816 Last code unit = 'a' 9817 Subject length lower bound = 1 9818 cat 9819 0: a 9820 1: 9821 2: 9822 3: a 9823 9824 /(\3)(\1)(a)/I 9825 Capturing subpattern count = 3 9826 Max back reference = 3 9827 Last code unit = 'a' 9828 Subject length lower bound = 3 9829 \= Expect no match 9830 cat 9831 No match 9832 9833 /i(?(DEFINE)(?<s>a))/I 9834 Capturing subpattern count = 1 9835 Named capturing subpatterns: 9836 s 1 9837 First code unit = 'i' 9838 Subject length lower bound = 1 9839 i 9840 0: i 9841 9842 /()i(?(1)a)/I 9843 Capturing subpattern count = 1 9844 Max back reference = 1 9845 First code unit = 'i' 9846 Subject length lower bound = 1 9847 ia 9848 0: ia 9849 1: 9850 9851 /(?i)a(?-i)b|c/B 9852 ------------------------------------------------------------------ 9853 Bra 9854 /i a 9855 b 9856 Alt 9857 c 9858 Ket 9859 End 9860 ------------------------------------------------------------------ 9861 XabX 9862 0: ab 9863 XAbX 9864 0: Ab 9865 CcC 9866 0: c 9867 \= Expect no match 9868 XABX 9869 No match 9870 9871 /(?i)a(?s)b|c/B 9872 ------------------------------------------------------------------ 9873 Bra 9874 /i ab 9875 Alt 9876 /i c 9877 Ket 9878 End 9879 ------------------------------------------------------------------ 9880 9881 /(?i)a(?s-i)b|c/B 9882 ------------------------------------------------------------------ 9883 Bra 9884 /i a 9885 b 9886 Alt 9887 c 9888 Ket 9889 End 9890 ------------------------------------------------------------------ 9891 9892 /^(ab(c\1)d|x){2}$/B 9893 ------------------------------------------------------------------ 9894 Bra 9895 ^ 9896 Once 9897 CBra 1 9898 ab 9899 CBra 2 9900 c 9901 \1 9902 Ket 9903 d 9904 Alt 9905 x 9906 Ket 9907 Ket 9908 Once 9909 CBra 1 9910 ab 9911 CBra 2 9912 c 9913 \1 9914 Ket 9915 d 9916 Alt 9917 x 9918 Ket 9919 Ket 9920 $ 9921 Ket 9922 End 9923 ------------------------------------------------------------------ 9924 xabcxd 9925 0: xabcxd 9926 1: abcxd 9927 2: cx 9928 9929 /^(?&t)*+(?(DEFINE)(?<t>.))$/B 9930 ------------------------------------------------------------------ 9931 Bra 9932 ^ 9933 Braposzero 9934 SBraPos 9935 Recurse 9936 KetRpos 9937 Cond 9938 Cond false 9939 CBra 1 9940 Any 9941 Ket 9942 Ket 9943 $ 9944 Ket 9945 End 9946 ------------------------------------------------------------------ 9947 9948 /^(?&t)*(?(DEFINE)(?<t>.))$/B 9949 ------------------------------------------------------------------ 9950 Bra 9951 ^ 9952 Brazero 9953 Once 9954 Recurse 9955 KetRmax 9956 Cond 9957 Cond false 9958 CBra 1 9959 Any 9960 Ket 9961 Ket 9962 $ 9963 Ket 9964 End 9965 ------------------------------------------------------------------ 9966 9967 # This one is here because Perl gives the match as "b" rather than "ab". I 9968 # believe this to be a Perl bug. 9969 9970 /(?>a\Kb)z|(ab)/ 9971 ab\=startchar 9972 0: ab 9973 1: ab 9974 9975 /(?P<L1>(?P<L2>0|)|(?P>L2)(?P>L1))/ 9976 abcd 9977 0: 9978 1: 9979 2: 9980 0abc 9981 0: 0 9982 1: 0 9983 2: 0 9984 9985 /abc(*MARK:)pqr/ 9986 Failed: error 166 at offset 10: (*MARK) must have an argument 9987 9988 /abc(*:)pqr/ 9989 Failed: error 166 at offset 6: (*MARK) must have an argument 9990 9991 /abc(*FAIL:123)xyz/ 9992 Failed: error 159 at offset 13: an argument is not allowed for (*ACCEPT), (*FAIL), or (*COMMIT) 9993 9994 # This should, and does, fail. In Perl, it does not, which I think is a 9995 # bug because replacing the B in the pattern by (B|D) does make it fail. 9996 9997 /A(*COMMIT)B/aftertext,mark 9998 \= Expect no match 9999 ACABX 10000 No match 10001 10002 # These should be different, but in Perl they are not, which I think 10003 # is a bug in Perl. 10004 10005 /A(*THEN)B|A(*THEN)C/mark 10006 AC 10007 0: AC 10008 10009 /A(*PRUNE)B|A(*PRUNE)C/mark 10010 \= Expect no match 10011 AC 10012 No match 10013 10014 # Mark names can be duplicated. Perl doesn't give a mark for this one, 10015 # though PCRE2 does. 10016 10017 /^A(*:A)B|^X(*:A)Y/mark 10018 \= Expect no match 10019 XAQQ 10020 No match, mark = A 10021 10022 # COMMIT at the start of a pattern should be the same as an anchor. Perl 10023 # optimizations defeat this. So does the PCRE2 optimization unless we disable 10024 # it. 10025 10026 /(*COMMIT)ABC/ 10027 ABCDEFG 10028 0: ABC 10029 10030 /(*COMMIT)ABC/no_start_optimize 10031 \= Expect no match 10032 DEFGABC 10033 No match 10034 10035 /^(ab (c+(*THEN)cd) | xyz)/x 10036 \= Expect no match 10037 abcccd 10038 No match 10039 10040 /^(ab (c+(*PRUNE)cd) | xyz)/x 10041 \= Expect no match 10042 abcccd 10043 No match 10044 10045 /^(ab (c+(*FAIL)cd) | xyz)/x 10046 \= Expect no match 10047 abcccd 10048 No match 10049 10050 # Perl gets some of these wrong 10051 10052 /(?>.(*ACCEPT))*?5/ 10053 abcde 10054 0: a 10055 10056 /(.(*ACCEPT))*?5/ 10057 abcde 10058 0: a 10059 1: a 10060 10061 /(.(*ACCEPT))5/ 10062 abcde 10063 0: a 10064 1: a 10065 10066 /(.(*ACCEPT))*5/ 10067 abcde 10068 0: a 10069 1: a 10070 10071 /A\NB./B 10072 ------------------------------------------------------------------ 10073 Bra 10074 A 10075 Any 10076 B 10077 Any 10078 Ket 10079 End 10080 ------------------------------------------------------------------ 10081 ACBD 10082 0: ACBD 10083 \= Expect no match 10084 A\nB 10085 No match 10086 ACB\n 10087 No match 10088 10089 /A\NB./Bs 10090 ------------------------------------------------------------------ 10091 Bra 10092 A 10093 Any 10094 B 10095 AllAny 10096 Ket 10097 End 10098 ------------------------------------------------------------------ 10099 ACBD 10100 0: ACBD 10101 ACB\n 10102 0: ACB\x0a 10103 \= Expect no match 10104 A\nB 10105 No match 10106 10107 /A\NB/newline=crlf 10108 A\nB 10109 0: A\x0aB 10110 A\rB 10111 0: A\x0dB 10112 \= Expect no match 10113 A\r\nB 10114 No match 10115 10116 /\R+b/B 10117 ------------------------------------------------------------------ 10118 Bra 10119 \R++ 10120 b 10121 Ket 10122 End 10123 ------------------------------------------------------------------ 10124 10125 /\R+\n/B 10126 ------------------------------------------------------------------ 10127 Bra 10128 \R+ 10129 \x0a 10130 Ket 10131 End 10132 ------------------------------------------------------------------ 10133 10134 /\R+\d/B 10135 ------------------------------------------------------------------ 10136 Bra 10137 \R++ 10138 \d 10139 Ket 10140 End 10141 ------------------------------------------------------------------ 10142 10143 /\d*\R/B 10144 ------------------------------------------------------------------ 10145 Bra 10146 \d*+ 10147 \R 10148 Ket 10149 End 10150 ------------------------------------------------------------------ 10151 10152 /\s*\R/B 10153 ------------------------------------------------------------------ 10154 Bra 10155 \s* 10156 \R 10157 Ket 10158 End 10159 ------------------------------------------------------------------ 10160 \x20\x0a 10161 0: \x0a 10162 \x20\x0d 10163 0: \x0d 10164 \x20\x0d\x0a 10165 0: \x0d\x0a 10166 10167 /\S*\R/B 10168 ------------------------------------------------------------------ 10169 Bra 10170 \S*+ 10171 \R 10172 Ket 10173 End 10174 ------------------------------------------------------------------ 10175 a\x0a 10176 0: a\x0a 10177 10178 /X\h*\R/B 10179 ------------------------------------------------------------------ 10180 Bra 10181 X 10182 \h*+ 10183 \R 10184 Ket 10185 End 10186 ------------------------------------------------------------------ 10187 X\x20\x0a 10188 0: X \x0a 10189 10190 /X\H*\R/B 10191 ------------------------------------------------------------------ 10192 Bra 10193 X 10194 \H* 10195 \R 10196 Ket 10197 End 10198 ------------------------------------------------------------------ 10199 X\x0d\x0a 10200 0: X\x0d\x0a 10201 10202 /X\H+\R/B 10203 ------------------------------------------------------------------ 10204 Bra 10205 X 10206 \H+ 10207 \R 10208 Ket 10209 End 10210 ------------------------------------------------------------------ 10211 X\x0d\x0a 10212 0: X\x0d\x0a 10213 10214 /X\H++\R/B 10215 ------------------------------------------------------------------ 10216 Bra 10217 X 10218 \H++ 10219 \R 10220 Ket 10221 End 10222 ------------------------------------------------------------------ 10223 \= Expect no match 10224 X\x0d\x0a 10225 No match 10226 10227 /(?<=abc)def/ 10228 abc\=ph 10229 Partial match: abc 10230 <<< 10231 10232 /abc$/ 10233 abc 10234 0: abc 10235 abc\=ps 10236 0: abc 10237 abc\=ph 10238 Partial match: abc 10239 10240 /abc$/m 10241 abc 10242 0: abc 10243 abc\n 10244 0: abc 10245 abc\=ph 10246 Partial match: abc 10247 abc\n\=ph 10248 0: abc 10249 abc\=ps 10250 0: abc 10251 abc\n\=ps 10252 0: abc 10253 10254 /abc\z/ 10255 abc 10256 0: abc 10257 abc\=ps 10258 0: abc 10259 abc\=ph 10260 Partial match: abc 10261 10262 /abc\Z/ 10263 abc 10264 0: abc 10265 abc\=ps 10266 0: abc 10267 abc\=ph 10268 Partial match: abc 10269 10270 /abc\b/ 10271 abc 10272 0: abc 10273 abc\=ps 10274 0: abc 10275 abc\=ph 10276 Partial match: abc 10277 10278 /abc\B/ 10279 abc\=ps 10280 Partial match: abc 10281 abc\=ph 10282 Partial match: abc 10283 \= Expect no match 10284 abc 10285 No match 10286 10287 /.+/ 10288 \= Bad offsets 10289 abc\=offset=4 10290 Failed: error -33: bad offset value 10291 abc\=offset=-4 10292 ** Invalid value in 'offset=-4' 10293 \= Valid data 10294 abc\=offset=0 10295 0: abc 10296 abc\=offset=1 10297 0: bc 10298 abc\=offset=2 10299 0: c 10300 \= Expect no match 10301 abc\=offset=3 10302 No match 10303 10304 /^\c/ 10305 Failed: error 168 at offset 3: \c must be followed by a printable ASCII character 10306 10307 /(?P<abn>(?P=abn)xxx)/B 10308 ------------------------------------------------------------------ 10309 Bra 10310 Once 10311 CBra 1 10312 \1 10313 xxx 10314 Ket 10315 Ket 10316 Ket 10317 End 10318 ------------------------------------------------------------------ 10319 10320 /(a\1z)/B 10321 ------------------------------------------------------------------ 10322 Bra 10323 Once 10324 CBra 1 10325 a 10326 \1 10327 z 10328 Ket 10329 Ket 10330 Ket 10331 End 10332 ------------------------------------------------------------------ 10333 10334 /(?P<abn>(?P=abn)(?<badstufxxx)/B 10335 Failed: error 142 at offset 29: syntax error in subpattern name (missing terminator) 10336 10337 /(?P<abn>(?P=axn)xxx)/B 10338 Failed: error 115 at offset 15: reference to non-existent subpattern 10339 10340 /(?P<abn>(?P=axn)xxx)(?<axn>yy)/B 10341 ------------------------------------------------------------------ 10342 Bra 10343 CBra 1 10344 \2 10345 xxx 10346 Ket 10347 CBra 2 10348 yy 10349 Ket 10350 Ket 10351 End 10352 ------------------------------------------------------------------ 10353 10354 # These tests are here because Perl gets the first one wrong. 10355 10356 /(\R*)(.)/s 10357 \r\n 10358 0: \x0d 10359 1: 10360 2: \x0d 10361 \r\r\n\n\r 10362 0: \x0d\x0d\x0a\x0a\x0d 10363 1: \x0d\x0d\x0a\x0a 10364 2: \x0d 10365 \r\r\n\n\r\n 10366 0: \x0d\x0d\x0a\x0a\x0d 10367 1: \x0d\x0d\x0a\x0a 10368 2: \x0d 10369 10370 /(\R)*(.)/s 10371 \r\n 10372 0: \x0d 10373 1: <unset> 10374 2: \x0d 10375 \r\r\n\n\r 10376 0: \x0d\x0d\x0a\x0a\x0d 10377 1: \x0a 10378 2: \x0d 10379 \r\r\n\n\r\n 10380 0: \x0d\x0d\x0a\x0a\x0d 10381 1: \x0a 10382 2: \x0d 10383 10384 /((?>\r\n|\n|\x0b|\f|\r|\x85)*)(.)/s 10385 \r\n 10386 0: \x0d 10387 1: 10388 2: \x0d 10389 \r\r\n\n\r 10390 0: \x0d\x0d\x0a\x0a\x0d 10391 1: \x0d\x0d\x0a\x0a 10392 2: \x0d 10393 \r\r\n\n\r\n 10394 0: \x0d\x0d\x0a\x0a\x0d 10395 1: \x0d\x0d\x0a\x0a 10396 2: \x0d 10397 10398 # ------------- 10399 10400 /^abc$/B 10401 ------------------------------------------------------------------ 10402 Bra 10403 ^ 10404 abc 10405 $ 10406 Ket 10407 End 10408 ------------------------------------------------------------------ 10409 10410 /^abc$/Bm 10411 ------------------------------------------------------------------ 10412 Bra 10413 /m ^ 10414 abc 10415 /m $ 10416 Ket 10417 End 10418 ------------------------------------------------------------------ 10419 10420 /^(a)*+(\w)/ 10421 aaaaX 10422 0: aaaaX 10423 1: a 10424 2: X 10425 \= Expect no match 10426 aaaa 10427 No match 10428 10429 /^(?:a)*+(\w)/ 10430 aaaaX 10431 0: aaaaX 10432 1: X 10433 \= Expect no match 10434 aaaa 10435 No match 10436 10437 /(a)++1234/IB 10438 ------------------------------------------------------------------ 10439 Bra 10440 CBraPos 1 10441 a 10442 KetRpos 10443 1234 10444 Ket 10445 End 10446 ------------------------------------------------------------------ 10447 Capturing subpattern count = 1 10448 First code unit = 'a' 10449 Last code unit = '4' 10450 Subject length lower bound = 5 10451 10452 /([abc])++1234/I 10453 Capturing subpattern count = 1 10454 Starting code units: a b c 10455 Last code unit = '4' 10456 Subject length lower bound = 5 10457 10458 /(?<=(abc)+)X/ 10459 Failed: error 125 at offset 10: lookbehind assertion is not fixed length 10460 10461 /(^ab)/I 10462 Capturing subpattern count = 1 10463 Compile options: <none> 10464 Overall options: anchored 10465 Subject length lower bound = 2 10466 10467 /(^ab)++/I 10468 Capturing subpattern count = 1 10469 Compile options: <none> 10470 Overall options: anchored 10471 Subject length lower bound = 2 10472 10473 /(^ab|^)+/I 10474 Capturing subpattern count = 1 10475 May match empty string 10476 Compile options: <none> 10477 Overall options: anchored 10478 Subject length lower bound = 0 10479 10480 /(^ab|^)++/I 10481 Capturing subpattern count = 1 10482 May match empty string 10483 Compile options: <none> 10484 Overall options: anchored 10485 Subject length lower bound = 0 10486 10487 /(?:^ab)/I 10488 Capturing subpattern count = 0 10489 Compile options: <none> 10490 Overall options: anchored 10491 Subject length lower bound = 2 10492 10493 /(?:^ab)++/I 10494 Capturing subpattern count = 0 10495 Compile options: <none> 10496 Overall options: anchored 10497 Subject length lower bound = 2 10498 10499 /(?:^ab|^)+/I 10500 Capturing subpattern count = 0 10501 May match empty string 10502 Compile options: <none> 10503 Overall options: anchored 10504 Subject length lower bound = 0 10505 10506 /(?:^ab|^)++/I 10507 Capturing subpattern count = 0 10508 May match empty string 10509 Compile options: <none> 10510 Overall options: anchored 10511 Subject length lower bound = 0 10512 10513 /(.*ab)/I 10514 Capturing subpattern count = 1 10515 First code unit at start or follows newline 10516 Last code unit = 'b' 10517 Subject length lower bound = 2 10518 10519 /(.*ab)++/I 10520 Capturing subpattern count = 1 10521 First code unit at start or follows newline 10522 Last code unit = 'b' 10523 Subject length lower bound = 2 10524 10525 /(.*ab|.*)+/I 10526 Capturing subpattern count = 1 10527 May match empty string 10528 First code unit at start or follows newline 10529 Subject length lower bound = 0 10530 10531 /(.*ab|.*)++/I 10532 Capturing subpattern count = 1 10533 May match empty string 10534 First code unit at start or follows newline 10535 Subject length lower bound = 0 10536 10537 /(?:.*ab)/I 10538 Capturing subpattern count = 0 10539 First code unit at start or follows newline 10540 Last code unit = 'b' 10541 Subject length lower bound = 2 10542 10543 /(?:.*ab)++/I 10544 Capturing subpattern count = 0 10545 First code unit at start or follows newline 10546 Last code unit = 'b' 10547 Subject length lower bound = 2 10548 10549 /(?:.*ab|.*)+/I 10550 Capturing subpattern count = 0 10551 May match empty string 10552 First code unit at start or follows newline 10553 Subject length lower bound = 0 10554 10555 /(?:.*ab|.*)++/I 10556 Capturing subpattern count = 0 10557 May match empty string 10558 First code unit at start or follows newline 10559 Subject length lower bound = 0 10560 10561 /(?=a)[bcd]/I 10562 Capturing subpattern count = 0 10563 First code unit = 'a' 10564 Subject length lower bound = 1 10565 10566 /((?=a))[bcd]/I 10567 Capturing subpattern count = 1 10568 First code unit = 'a' 10569 Subject length lower bound = 1 10570 10571 /((?=a))+[bcd]/I 10572 Capturing subpattern count = 1 10573 First code unit = 'a' 10574 Subject length lower bound = 1 10575 10576 /((?=a))++[bcd]/I 10577 Capturing subpattern count = 1 10578 First code unit = 'a' 10579 Subject length lower bound = 1 10580 10581 /(?=a+)[bcd]/Ii 10582 Capturing subpattern count = 0 10583 Options: caseless 10584 First code unit = 'a' (caseless) 10585 Subject length lower bound = 1 10586 10587 /(?=a+?)[bcd]/Ii 10588 Capturing subpattern count = 0 10589 Options: caseless 10590 First code unit = 'a' (caseless) 10591 Subject length lower bound = 1 10592 10593 /(?=a++)[bcd]/Ii 10594 Capturing subpattern count = 0 10595 Options: caseless 10596 First code unit = 'a' (caseless) 10597 Subject length lower bound = 1 10598 10599 /(?=a{3})[bcd]/Ii 10600 Capturing subpattern count = 0 10601 Options: caseless 10602 First code unit = 'a' (caseless) 10603 Last code unit = 'a' (caseless) 10604 Subject length lower bound = 1 10605 10606 /(abc)\1+/ 10607 10608 # Perl doesn't get these right IMO (the 3rd is PCRE2-specific) 10609 10610 /(?1)(?:(b(*ACCEPT))){0}/ 10611 b 10612 0: b 10613 10614 /(?1)(?:(b(*ACCEPT))){0}c/ 10615 bc 10616 0: bc 10617 \= Expect no match 10618 b 10619 No match 10620 10621 /(?1)(?:((*ACCEPT))){0}c/ 10622 c 10623 0: c 10624 c\=notempty 10625 0: c 10626 10627 /^.*?(?(?=a)a|b(*THEN)c)/ 10628 \= Expect no match 10629 ba 10630 No match 10631 10632 /^.*?(?(?=a)a|bc)/ 10633 ba 10634 0: ba 10635 10636 /^.*?(?(?=a)a(*THEN)b|c)/ 10637 \= Expect no match 10638 ac 10639 No match 10640 10641 /^.*?(?(?=a)a(*THEN)b)c/ 10642 \= Expect no match 10643 ac 10644 No match 10645 10646 /^.*?(a(*THEN)b)c/ 10647 \= Expect no match 10648 aabc 10649 No match 10650 10651 /^.*? (?1) c (?(DEFINE)(a(*THEN)b))/x 10652 aabc 10653 0: aabc 10654 10655 /^.*?(a(*THEN)b|z)c/ 10656 aabc 10657 0: aabc 10658 1: ab 10659 10660 /^.*?(z|a(*THEN)b)c/ 10661 aabc 10662 0: aabc 10663 1: ab 10664 10665 # These are here because they are not Perl-compatible; the studying means the 10666 # mark is not seen. 10667 10668 /(*MARK:A)(*SKIP:B)(C|X)/mark 10669 C 10670 0: C 10671 1: C 10672 MK: A 10673 \= Expect no match 10674 D 10675 No match, mark = A 10676 10677 /(*:A)A+(*SKIP:A)(B|Z)/mark 10678 \= Expect no match 10679 AAAC 10680 No match, mark = A 10681 10682 # ---------------------------- 10683 10684 "(?=a*(*ACCEPT)b)c" 10685 c 10686 0: c 10687 c\=notempty 10688 0: c 10689 10690 /(?1)c(?(DEFINE)((*ACCEPT)b))/ 10691 c 10692 0: c 10693 c\=notempty 10694 0: c 10695 10696 /(?>(*ACCEPT)b)c/ 10697 c 10698 0: 10699 \= Expect no match 10700 c\=notempty 10701 No match 10702 10703 /(?:(?>(a)))+a%/allaftertext 10704 %aa% 10705 0: aa% 10706 0+ 10707 1: a 10708 1+ a% 10709 10710 /(a)b|ac/allaftertext 10711 ac\=ovector=1 10712 0: ac 10713 0+ 10714 10715 /(a)(b)x|abc/allaftertext 10716 abc\=ovector=2 10717 0: abc 10718 0+ 10719 10720 /(a)bc|(a)(b)\2/ 10721 abc\=ovector=1 10722 Matched, but too many substrings 10723 0: abc 10724 abc\=ovector=2 10725 0: abc 10726 1: a 10727 aba\=ovector=1 10728 Matched, but too many substrings 10729 0: aba 10730 aba\=ovector=2 10731 Matched, but too many substrings 10732 0: aba 10733 1: <unset> 10734 aba\=ovector=3 10735 Matched, but too many substrings 10736 0: aba 10737 1: <unset> 10738 2: a 10739 aba\=ovector=4 10740 0: aba 10741 1: <unset> 10742 2: a 10743 3: b 10744 10745 /(?(DEFINE)(a(?2)|b)(b(?1)|a))(?:(?1)|(?2))/I 10746 Capturing subpattern count = 2 10747 Subject length lower bound = 1 10748 10749 /(a(?2)|b)(b(?1)|a)(?:(?1)|(?2))/I 10750 Capturing subpattern count = 2 10751 Starting code units: a b 10752 Subject length lower bound = 3 10753 10754 /(a(?2)|b)(b(?1)|a)(?1)(?2)/I 10755 Capturing subpattern count = 2 10756 Starting code units: a b 10757 Subject length lower bound = 4 10758 10759 /(abc)(?1)/I 10760 Capturing subpattern count = 1 10761 First code unit = 'a' 10762 Last code unit = 'c' 10763 Subject length lower bound = 6 10764 10765 /(?:(foo)|(bar)|(baz))X/allcaptures 10766 bazfooX 10767 0: fooX 10768 1: foo 10769 2: <unset> 10770 3: <unset> 10771 foobazbarX 10772 0: barX 10773 1: <unset> 10774 2: bar 10775 3: <unset> 10776 barfooX 10777 0: fooX 10778 1: foo 10779 2: <unset> 10780 3: <unset> 10781 bazX 10782 0: bazX 10783 1: <unset> 10784 2: <unset> 10785 3: baz 10786 foobarbazX 10787 0: bazX 10788 1: <unset> 10789 2: <unset> 10790 3: baz 10791 bazfooX\=ovector=0 10792 0: fooX 10793 1: foo 10794 2: <unset> 10795 3: <unset> 10796 bazfooX\=ovector=1 10797 Matched, but too many substrings 10798 0: fooX 10799 bazfooX\=ovector=2 10800 0: fooX 10801 1: foo 10802 bazfooX\=ovector=3 10803 0: fooX 10804 1: foo 10805 2: <unset> 10806 10807 /(?=abc){3}abc/B 10808 ------------------------------------------------------------------ 10809 Bra 10810 Assert 10811 abc 10812 Ket 10813 abc 10814 Ket 10815 End 10816 ------------------------------------------------------------------ 10817 10818 /(?=abc)+abc/B 10819 ------------------------------------------------------------------ 10820 Bra 10821 Assert 10822 abc 10823 Ket 10824 abc 10825 Ket 10826 End 10827 ------------------------------------------------------------------ 10828 10829 /(?=abc)++abc/B 10830 ------------------------------------------------------------------ 10831 Bra 10832 Assert 10833 abc 10834 Ket 10835 abc 10836 Ket 10837 End 10838 ------------------------------------------------------------------ 10839 10840 /(?=abc){0}xyz/B 10841 ------------------------------------------------------------------ 10842 Bra 10843 Skip zero 10844 Assert 10845 abc 10846 Ket 10847 xyz 10848 Ket 10849 End 10850 ------------------------------------------------------------------ 10851 10852 /(?=(a))?./B 10853 ------------------------------------------------------------------ 10854 Bra 10855 Brazero 10856 Assert 10857 CBra 1 10858 a 10859 Ket 10860 Ket 10861 Any 10862 Ket 10863 End 10864 ------------------------------------------------------------------ 10865 10866 /(?=(a))??./B 10867 ------------------------------------------------------------------ 10868 Bra 10869 Braminzero 10870 Assert 10871 CBra 1 10872 a 10873 Ket 10874 Ket 10875 Any 10876 Ket 10877 End 10878 ------------------------------------------------------------------ 10879 10880 /^(?=(a)){0}b(?1)/B 10881 ------------------------------------------------------------------ 10882 Bra 10883 ^ 10884 Skip zero 10885 Assert 10886 CBra 1 10887 a 10888 Ket 10889 Ket 10890 b 10891 Recurse 10892 Ket 10893 End 10894 ------------------------------------------------------------------ 10895 10896 /(?(DEFINE)(a))?b(?1)/B 10897 ------------------------------------------------------------------ 10898 Bra 10899 Cond 10900 Cond false 10901 CBra 1 10902 a 10903 Ket 10904 Ket 10905 b 10906 Recurse 10907 Ket 10908 End 10909 ------------------------------------------------------------------ 10910 10911 /^(?=(?1))?[az]([abc])d/B 10912 ------------------------------------------------------------------ 10913 Bra 10914 ^ 10915 Brazero 10916 Assert 10917 Recurse 10918 Ket 10919 [az] 10920 CBra 1 10921 [a-c] 10922 Ket 10923 d 10924 Ket 10925 End 10926 ------------------------------------------------------------------ 10927 10928 /^(?!a){0}\w+/B 10929 ------------------------------------------------------------------ 10930 Bra 10931 ^ 10932 Skip zero 10933 Assert not 10934 a 10935 Ket 10936 \w++ 10937 Ket 10938 End 10939 ------------------------------------------------------------------ 10940 10941 /(?<=(abc))?xyz/B 10942 ------------------------------------------------------------------ 10943 Bra 10944 Brazero 10945 AssertB 10946 Reverse 10947 CBra 1 10948 abc 10949 Ket 10950 Ket 10951 xyz 10952 Ket 10953 End 10954 ------------------------------------------------------------------ 10955 10956 /[:a[:abc]b:]/B 10957 ------------------------------------------------------------------ 10958 Bra 10959 [:[a-c] 10960 b:] 10961 Ket 10962 End 10963 ------------------------------------------------------------------ 10964 10965 /^(a(*:A)(d|e(*:B))z|aeq)/auto_callout 10966 adz 10967 --->adz 10968 +0 ^ ^ 10969 +1 ^ (a(*:A)(d|e(*:B))z|aeq) 10970 +2 ^ a 10971 +3 ^^ (*:A) 10972 +8 ^^ (d|e(*:B)) 10973 Latest Mark: A 10974 +9 ^^ d 10975 +10 ^ ^ | 10976 +18 ^ ^ z 10977 +19 ^ ^ | 10978 +24 ^ ^ 10979 0: adz 10980 1: adz 10981 2: d 10982 aez 10983 --->aez 10984 +0 ^ ^ 10985 +1 ^ (a(*:A)(d|e(*:B))z|aeq) 10986 +2 ^ a 10987 +3 ^^ (*:A) 10988 +8 ^^ (d|e(*:B)) 10989 Latest Mark: A 10990 +9 ^^ d 10991 +11 ^^ e 10992 +12 ^ ^ (*:B) 10993 +17 ^ ^ ) 10994 Latest Mark: B 10995 +18 ^ ^ z 10996 +19 ^ ^ | 10997 +24 ^ ^ 10998 0: aez 10999 1: aez 11000 2: e 11001 aeqwerty 11002 --->aeqwerty 11003 +0 ^ ^ 11004 +1 ^ (a(*:A)(d|e(*:B))z|aeq) 11005 +2 ^ a 11006 +3 ^^ (*:A) 11007 +8 ^^ (d|e(*:B)) 11008 Latest Mark: A 11009 +9 ^^ d 11010 +11 ^^ e 11011 +12 ^ ^ (*:B) 11012 +17 ^ ^ ) 11013 Latest Mark: B 11014 +18 ^ ^ z 11015 +20 ^ a 11016 +21 ^^ e 11017 +22 ^ ^ q 11018 +23 ^ ^ ) 11019 +24 ^ ^ 11020 0: aeq 11021 1: aeq 11022 11023 /.(*F)/ 11024 \= Expect no match 11025 abc\=ph 11026 No match 11027 11028 /\btype\b\W*?\btext\b\W*?\bjavascript\b/I 11029 Capturing subpattern count = 0 11030 Max lookbehind = 1 11031 First code unit = 't' 11032 Last code unit = 't' 11033 Subject length lower bound = 18 11034 11035 /\btype\b\W*?\btext\b\W*?\bjavascript\b|\burl\b\W*?\bshell:|<input\b.*?\btype\b\W*?\bimage\b|\bonkeyup\b\W*?\=/I 11036 Capturing subpattern count = 0 11037 Max lookbehind = 1 11038 Starting code units: < o t u 11039 Subject length lower bound = 8 11040 11041 /a(*SKIP)c|b(*ACCEPT)|/I,aftertext 11042 Capturing subpattern count = 0 11043 May match empty string 11044 Subject length lower bound = 0 11045 a 11046 0: 11047 0+ 11048 11049 /a(*SKIP)c|b(*ACCEPT)cd(*ACCEPT)|x/I 11050 Capturing subpattern count = 0 11051 Starting code units: a b x 11052 Subject length lower bound = 0 11053 ax 11054 0: x 11055 11056 'a*(*ACCEPT)b'aftertext 11057 abc\=notempty_atstart 11058 0: a 11059 0+ bc 11060 bbb\=notempty_atstart 11061 0: 11062 0+ bb 11063 \= Expect no match 11064 \=notempty_atstart 11065 No match 11066 11067 /(*ACCEPT)a/I,aftertext 11068 Capturing subpattern count = 0 11069 Subject length lower bound = 0 11070 bax 11071 0: 11072 0+ bax 11073 11074 /z(*ACCEPT)a/I,aftertext 11075 Capturing subpattern count = 0 11076 First code unit = 'z' 11077 Subject length lower bound = 0 11078 baxzbx 11079 0: z 11080 0+ bx 11081 11082 /^(?>a+)(?>(z+))\w/B 11083 ------------------------------------------------------------------ 11084 Bra 11085 ^ 11086 Once_NC 11087 a++ 11088 Ket 11089 Once 11090 CBra 1 11091 z++ 11092 Ket 11093 Ket 11094 \w 11095 Ket 11096 End 11097 ------------------------------------------------------------------ 11098 aaaazzzzb 11099 0: aaaazzzzb 11100 1: zzzz 11101 \= Expect no match 11102 aazz 11103 No match 11104 11105 /(.)(\1|a(?2))/ 11106 bab 11107 0: bab 11108 1: b 11109 2: ab 11110 11111 /\1|(.)(?R)\1/ 11112 cbbbc 11113 0: cbbbc 11114 1: c 11115 11116 /(.)((?(1)c|a)|a(?2))/ 11117 \= Expect no match 11118 baa 11119 No match 11120 11121 /(?P<abn>(?P=abn)xxx)/B 11122 ------------------------------------------------------------------ 11123 Bra 11124 Once 11125 CBra 1 11126 \1 11127 xxx 11128 Ket 11129 Ket 11130 Ket 11131 End 11132 ------------------------------------------------------------------ 11133 11134 /(a\1z)/B 11135 ------------------------------------------------------------------ 11136 Bra 11137 Once 11138 CBra 1 11139 a 11140 \1 11141 z 11142 Ket 11143 Ket 11144 Ket 11145 End 11146 ------------------------------------------------------------------ 11147 11148 /^a\x41z/alt_bsux,allow_empty_class,match_unset_backref,dupnames 11149 aAz 11150 0: aAz 11151 \= Expect no match 11152 ax41z 11153 No match 11154 11155 /^a[m\x41]z/alt_bsux,allow_empty_class,match_unset_backref,dupnames 11156 aAz 11157 0: aAz 11158 11159 /^a\x1z/alt_bsux,allow_empty_class,match_unset_backref,dupnames 11160 ax1z 11161 0: ax1z 11162 11163 /^a\u0041z/alt_bsux,allow_empty_class,match_unset_backref,dupnames 11164 aAz 11165 0: aAz 11166 \= Expect no match 11167 au0041z 11168 No match 11169 11170 /^a[m\u0041]z/alt_bsux,allow_empty_class,match_unset_backref,dupnames 11171 aAz 11172 0: aAz 11173 11174 /^a\u041z/alt_bsux,allow_empty_class,match_unset_backref,dupnames 11175 au041z 11176 0: au041z 11177 \= Expect no match 11178 aAz 11179 No match 11180 11181 /^a\U0041z/alt_bsux,allow_empty_class,match_unset_backref,dupnames 11182 aU0041z 11183 0: aU0041z 11184 \= Expect no match 11185 aAz 11186 No match 11187 11188 /(?(?=c)c|d)++Y/B 11189 ------------------------------------------------------------------ 11190 Bra 11191 BraPos 11192 Cond 11193 Assert 11194 c 11195 Ket 11196 c 11197 Alt 11198 d 11199 Ket 11200 KetRpos 11201 Y 11202 Ket 11203 End 11204 ------------------------------------------------------------------ 11205 11206 /(?(?=c)c|d)*+Y/B 11207 ------------------------------------------------------------------ 11208 Bra 11209 Braposzero 11210 BraPos 11211 Cond 11212 Assert 11213 c 11214 Ket 11215 c 11216 Alt 11217 d 11218 Ket 11219 KetRpos 11220 Y 11221 Ket 11222 End 11223 ------------------------------------------------------------------ 11224 11225 /a[\NB]c/ 11226 Failed: error 171 at offset 3: \N is not supported in a class 11227 aNc 11228 11229 /a[B-\Nc]/ 11230 Failed: error 150 at offset 5: invalid range in character class 11231 11232 /a[B\Nc]/ 11233 Failed: error 171 at offset 4: \N is not supported in a class 11234 11235 /(a)(?2){0,1999}?(b)/ 11236 11237 /(a)(?(DEFINE)(b))(?2){0,1999}?(?2)/ 11238 11239 # This test, with something more complicated than individual letters, causes 11240 # different behaviour in Perl. Perhaps it disables some optimization; no tag is 11241 # passed back for the failures, whereas in PCRE2 there is a tag. 11242 11243 /(A|P)(*:A)(B|P) | (X|P)(X|P)(*:B)(Y|P)/x,mark 11244 AABC 11245 0: AB 11246 1: A 11247 2: B 11248 MK: A 11249 XXYZ 11250 0: XXY 11251 1: <unset> 11252 2: <unset> 11253 3: X 11254 4: X 11255 5: Y 11256 MK: B 11257 \= Expect no match 11258 XAQQ 11259 No match, mark = A 11260 XAQQXZZ 11261 No match, mark = A 11262 AXQQQ 11263 No match, mark = A 11264 AXXQQQ 11265 No match, mark = B 11266 11267 # Perl doesn't give marks for these, though it does if the alternatives are 11268 # replaced by single letters. 11269 11270 /(b|q)(*:m)f|a(*:n)w/mark 11271 aw 11272 0: aw 11273 MK: n 11274 \= Expect no match 11275 abc 11276 No match, mark = m 11277 11278 /(q|b)(*:m)f|a(*:n)w/mark 11279 aw 11280 0: aw 11281 MK: n 11282 \= Expect no match 11283 abc 11284 No match, mark = m 11285 11286 # After a partial match, the behaviour is as for a failure. 11287 11288 /^a(*:X)bcde/mark 11289 abc\=ps 11290 Partial match, mark=X: abc 11291 11292 # These are here because Perl doesn't return a mark, except for the first. 11293 11294 /(?=(*:x))(q|)/aftertext,mark 11295 abc 11296 0: 11297 0+ abc 11298 1: 11299 MK: x 11300 11301 /(?=(*:x))((*:y)q|)/aftertext,mark 11302 abc 11303 0: 11304 0+ abc 11305 1: 11306 MK: x 11307 11308 /(?=(*:x))(?:(*:y)q|)/aftertext,mark 11309 abc 11310 0: 11311 0+ abc 11312 MK: x 11313 11314 /(?=(*:x))(?>(*:y)q|)/aftertext,mark 11315 abc 11316 0: 11317 0+ abc 11318 MK: x 11319 11320 /(?=a(*:x))(?!a(*:y)c)/aftertext,mark 11321 ab 11322 0: 11323 0+ ab 11324 MK: x 11325 11326 /(?=a(*:x))(?=a(*:y)c|)/aftertext,mark 11327 ab 11328 0: 11329 0+ ab 11330 MK: x 11331 11332 /(..)\1/ 11333 ab\=ps 11334 Partial match: ab 11335 aba\=ps 11336 Partial match: aba 11337 abab\=ps 11338 0: abab 11339 1: ab 11340 11341 /(..)\1/i 11342 ab\=ps 11343 Partial match: ab 11344 abA\=ps 11345 Partial match: abA 11346 aBAb\=ps 11347 0: aBAb 11348 1: aB 11349 11350 /(..)\1{2,}/ 11351 ab\=ps 11352 Partial match: ab 11353 aba\=ps 11354 Partial match: aba 11355 abab\=ps 11356 Partial match: abab 11357 ababa\=ps 11358 Partial match: ababa 11359 ababab\=ps 11360 0: ababab 11361 1: ab 11362 ababab\=ph 11363 Partial match: ababab 11364 abababa\=ps 11365 0: ababab 11366 1: ab 11367 abababa\=ph 11368 Partial match: abababa 11369 11370 /(..)\1{2,}/i 11371 ab\=ps 11372 Partial match: ab 11373 aBa\=ps 11374 Partial match: aBa 11375 aBAb\=ps 11376 Partial match: aBAb 11377 AbaBA\=ps 11378 Partial match: AbaBA 11379 abABAb\=ps 11380 0: abABAb 11381 1: ab 11382 aBAbaB\=ph 11383 Partial match: aBAbaB 11384 abABabA\=ps 11385 0: abABab 11386 1: ab 11387 abaBABa\=ph 11388 Partial match: abaBABa 11389 11390 /(..)\1{2,}?x/i 11391 ab\=ps 11392 Partial match: ab 11393 abA\=ps 11394 Partial match: abA 11395 aBAb\=ps 11396 Partial match: aBAb 11397 abaBA\=ps 11398 Partial match: abaBA 11399 abAbaB\=ps 11400 Partial match: abAbaB 11401 abaBabA\=ps 11402 Partial match: abaBabA 11403 abAbABaBx\=ps 11404 0: abAbABaBx 11405 1: ab 11406 11407 /^(..)\1/ 11408 aba\=ps 11409 Partial match: aba 11410 11411 /^(..)\1{2,3}x/ 11412 aba\=ps 11413 Partial match: aba 11414 ababa\=ps 11415 Partial match: ababa 11416 ababa\=ph 11417 Partial match: ababa 11418 abababx 11419 0: abababx 11420 1: ab 11421 ababababx 11422 0: ababababx 11423 1: ab 11424 11425 /^(..)\1{2,3}?x/ 11426 aba\=ps 11427 Partial match: aba 11428 ababa\=ps 11429 Partial match: ababa 11430 ababa\=ph 11431 Partial match: ababa 11432 abababx 11433 0: abababx 11434 1: ab 11435 ababababx 11436 0: ababababx 11437 1: ab 11438 11439 /^(..)(\1{2,3})ab/ 11440 abababab 11441 0: abababab 11442 1: ab 11443 2: abab 11444 11445 /^\R/ 11446 \r\=ps 11447 0: \x0d 11448 \r\=ph 11449 Partial match: \x0d 11450 11451 /^\R{2,3}x/ 11452 \r\=ps 11453 Partial match: \x0d 11454 \r\=ph 11455 Partial match: \x0d 11456 \r\r\=ps 11457 Partial match: \x0d\x0d 11458 \r\r\=ph 11459 Partial match: \x0d\x0d 11460 \r\r\r\=ps 11461 Partial match: \x0d\x0d\x0d 11462 \r\r\r\=ph 11463 Partial match: \x0d\x0d\x0d 11464 \r\rx 11465 0: \x0d\x0dx 11466 \r\r\rx 11467 0: \x0d\x0d\x0dx 11468 11469 /^\R{2,3}?x/ 11470 \r\=ps 11471 Partial match: \x0d 11472 \r\=ph 11473 Partial match: \x0d 11474 \r\r\=ps 11475 Partial match: \x0d\x0d 11476 \r\r\=ph 11477 Partial match: \x0d\x0d 11478 \r\r\r\=ps 11479 Partial match: \x0d\x0d\x0d 11480 \r\r\r\=ph 11481 Partial match: \x0d\x0d\x0d 11482 \r\rx 11483 0: \x0d\x0dx 11484 \r\r\rx 11485 0: \x0d\x0d\x0dx 11486 11487 /^\R?x/ 11488 \r\=ps 11489 Partial match: \x0d 11490 \r\=ph 11491 Partial match: \x0d 11492 x 11493 0: x 11494 \rx 11495 0: \x0dx 11496 11497 /^\R+x/ 11498 \r\=ps 11499 Partial match: \x0d 11500 \r\=ph 11501 Partial match: \x0d 11502 \r\n\=ps 11503 Partial match: \x0d\x0a 11504 \r\n\=ph 11505 Partial match: \x0d\x0a 11506 \rx 11507 0: \x0dx 11508 11509 /^a$/newline=crlf 11510 a\r\=ps 11511 Partial match: a\x0d 11512 a\r\=ph 11513 Partial match: a\x0d 11514 11515 /^a$/m,newline=crlf 11516 a\r\=ps 11517 Partial match: a\x0d 11518 a\r\=ph 11519 Partial match: a\x0d 11520 11521 /^(a$|a\r)/newline=crlf 11522 a\r\=ps 11523 0: a\x0d 11524 1: a\x0d 11525 a\r\=ph 11526 Partial match: a\x0d 11527 11528 /^(a$|a\r)/m,newline=crlf 11529 a\r\=ps 11530 0: a\x0d 11531 1: a\x0d 11532 a\r\=ph 11533 Partial match: a\x0d 11534 11535 /./newline=crlf 11536 \r\=ps 11537 0: \x0d 11538 \r\=ph 11539 Partial match: \x0d 11540 11541 /.{2,3}/newline=crlf 11542 \r\=ps 11543 Partial match: \x0d 11544 \r\=ph 11545 Partial match: \x0d 11546 \r\r\=ps 11547 0: \x0d\x0d 11548 \r\r\=ph 11549 Partial match: \x0d\x0d 11550 \r\r\r\=ps 11551 0: \x0d\x0d\x0d 11552 \r\r\r\=ph 11553 Partial match: \x0d\x0d\x0d 11554 11555 /.{2,3}?/newline=crlf 11556 \r\=ps 11557 Partial match: \x0d 11558 \r\=ph 11559 Partial match: \x0d 11560 \r\r\=ps 11561 0: \x0d\x0d 11562 \r\r\=ph 11563 Partial match: \x0d\x0d 11564 \r\r\r\=ps 11565 0: \x0d\x0d 11566 \r\r\r\=ph 11567 0: \x0d\x0d 11568 11569 "AB(C(D))(E(F))?(?(?=\2)(?=\4))" 11570 ABCDGHI\=ovector=01 11571 Matched, but too many substrings 11572 0: ABCD 11573 11574 # These are all run as real matches in test 1; here we are just checking the 11575 # settings of the anchored and startline bits. 11576 11577 /(?>.*?a)(?<=ba)/I 11578 Capturing subpattern count = 0 11579 Max lookbehind = 2 11580 Last code unit = 'a' 11581 Subject length lower bound = 1 11582 11583 /(?:.*?a)(?<=ba)/I 11584 Capturing subpattern count = 0 11585 Max lookbehind = 2 11586 First code unit at start or follows newline 11587 Last code unit = 'a' 11588 Subject length lower bound = 1 11589 11590 /.*?a(*PRUNE)b/I 11591 Capturing subpattern count = 0 11592 Last code unit = 'b' 11593 Subject length lower bound = 2 11594 11595 /.*?a(*PRUNE)b/Is 11596 Capturing subpattern count = 0 11597 Options: dotall 11598 Last code unit = 'b' 11599 Subject length lower bound = 2 11600 11601 /^a(*PRUNE)b/Is 11602 Capturing subpattern count = 0 11603 Compile options: dotall 11604 Overall options: anchored dotall 11605 Subject length lower bound = 2 11606 11607 /.*?a(*SKIP)b/I 11608 Capturing subpattern count = 0 11609 Last code unit = 'b' 11610 Subject length lower bound = 2 11611 11612 /(?>.*?a)b/Is 11613 Capturing subpattern count = 0 11614 Options: dotall 11615 Last code unit = 'b' 11616 Subject length lower bound = 2 11617 11618 /(?>.*?a)b/I 11619 Capturing subpattern count = 0 11620 Last code unit = 'b' 11621 Subject length lower bound = 2 11622 11623 /(?>^a)b/Is 11624 Capturing subpattern count = 0 11625 Compile options: dotall 11626 Overall options: anchored dotall 11627 Subject length lower bound = 2 11628 11629 /(?>.*?)(?<=(abcd)|(wxyz))/I 11630 Capturing subpattern count = 2 11631 Max lookbehind = 4 11632 May match empty string 11633 Subject length lower bound = 0 11634 11635 /(?>.*)(?<=(abcd)|(wxyz))/I 11636 Capturing subpattern count = 2 11637 Max lookbehind = 4 11638 May match empty string 11639 Subject length lower bound = 0 11640 11641 "(?>.*)foo"I 11642 Capturing subpattern count = 0 11643 Last code unit = 'o' 11644 Subject length lower bound = 3 11645 11646 "(?>.*?)foo"I 11647 Capturing subpattern count = 0 11648 Last code unit = 'o' 11649 Subject length lower bound = 3 11650 11651 /(?>^abc)/Im 11652 Capturing subpattern count = 0 11653 Options: multiline 11654 First code unit at start or follows newline 11655 Last code unit = 'c' 11656 Subject length lower bound = 3 11657 11658 /(?>.*abc)/Im 11659 Capturing subpattern count = 0 11660 Options: multiline 11661 Last code unit = 'c' 11662 Subject length lower bound = 3 11663 11664 /(?:.*abc)/Im 11665 Capturing subpattern count = 0 11666 Options: multiline 11667 First code unit at start or follows newline 11668 Last code unit = 'c' 11669 Subject length lower bound = 3 11670 11671 /(?:(a)+(?C1)bb|aa(?C2)b)/ 11672 aab\=callout_capture 11673 Callout 1: last capture = 1 11674 0: <unset> 11675 1: a 11676 --->aab 11677 ^ ^ b 11678 Callout 1: last capture = 1 11679 0: <unset> 11680 1: a 11681 --->aab 11682 ^^ b 11683 Callout 2: last capture = 0 11684 0: <unset> 11685 --->aab 11686 ^ ^ b 11687 0: aab 11688 11689 /(?:(a)++(?C1)bb|aa(?C2)b)/ 11690 aab\=callout_capture 11691 Callout 1: last capture = 1 11692 0: <unset> 11693 1: a 11694 --->aab 11695 ^ ^ b 11696 Callout 2: last capture = 0 11697 0: <unset> 11698 --->aab 11699 ^ ^ b 11700 0: aab 11701 11702 /(?:(?>(a))(?C1)bb|aa(?C2)b)/ 11703 aab\=callout_capture 11704 Callout 1: last capture = 1 11705 0: <unset> 11706 1: a 11707 --->aab 11708 ^^ b 11709 Callout 2: last capture = 0 11710 0: <unset> 11711 --->aab 11712 ^ ^ b 11713 0: aab 11714 11715 /(?:(?1)(?C1)x|ab(?C2))((a)){0}/ 11716 aab\=callout_capture 11717 Callout 1: last capture = 0 11718 0: <unset> 11719 --->aab 11720 ^^ x 11721 Callout 1: last capture = 0 11722 0: <unset> 11723 --->aab 11724 ^^ x 11725 Callout 2: last capture = 0 11726 0: <unset> 11727 --->aab 11728 ^ ^ ) 11729 0: ab 11730 11731 /(?1)(?C1)((a)(?C2)){0}/ 11732 aab\=callout_capture 11733 Callout 2: last capture = 2 11734 0: <unset> 11735 1: <unset> 11736 2: a 11737 --->aab 11738 ^^ ) 11739 Callout 1: last capture = 0 11740 0: <unset> 11741 --->aab 11742 ^^ ((a)(?C2)){0} 11743 0: a 11744 11745 /(?:(a)+(?C1)bb|aa(?C2)b)++/ 11746 aab\=callout_capture 11747 Callout 1: last capture = 1 11748 0: <unset> 11749 1: a 11750 --->aab 11751 ^ ^ b 11752 Callout 1: last capture = 1 11753 0: <unset> 11754 1: a 11755 --->aab 11756 ^^ b 11757 Callout 2: last capture = 0 11758 0: <unset> 11759 --->aab 11760 ^ ^ b 11761 0: aab 11762 aab\=callout_capture,ovector=1 11763 Callout 1: last capture = 1 11764 0: <unset> 11765 --->aab 11766 ^ ^ b 11767 Callout 1: last capture = 1 11768 0: <unset> 11769 --->aab 11770 ^^ b 11771 Callout 2: last capture = 0 11772 0: <unset> 11773 --->aab 11774 ^ ^ b 11775 0: aab 11776 11777 /(ab)x|ab/ 11778 ab\=ovector=0 11779 0: ab 11780 ab\=ovector=1 11781 0: ab 11782 11783 /(?<=123)(*MARK:xx)abc/mark 11784 xxxx123a\=ph 11785 Partial match, mark=xx: 123a 11786 <<< 11787 xxxx123a\=ps 11788 Partial match, mark=xx: 123a 11789 <<< 11790 11791 /123\Kabc/startchar 11792 xxxx123a\=ph 11793 Partial match: 123a 11794 xxxx123a\=ps 11795 Partial match: 123a 11796 11797 /^(?(?=a)aa|bb)/auto_callout 11798 bb 11799 --->bb 11800 +0 ^ ^ 11801 +1 ^ (?(?=a)aa|bb) 11802 +3 ^ (?=a) 11803 +6 ^ a 11804 +11 ^ b 11805 +12 ^^ b 11806 +13 ^ ^ ) 11807 +14 ^ ^ 11808 0: bb 11809 11810 /(?C1)^(?C2)(?(?C99)(?=(?C3)a(?C4))(?C5)a(?C6)a(?C7)|(?C8)b(?C9)b(?C10))(?C11)/ 11811 bb 11812 --->bb 11813 1 ^ ^ 11814 2 ^ (?(?C99)(?=(?C3)a(?C4))(?C5)a(?C6)a(?C7)|(?C8)b(?C9)b(?C10)) 11815 99 ^ (?=(?C3)a(?C4)) 11816 3 ^ a 11817 8 ^ b 11818 9 ^^ b 11819 10 ^ ^ ) 11820 11 ^ ^ 11821 0: bb 11822 11823 # Perl seems to have a bug with this one. 11824 11825 /aaaaa(*COMMIT)(*PRUNE)b|a+c/ 11826 aaaaaac 11827 0: aaaac 11828 11829 # Here are some that Perl treats differently because of the way it handles 11830 # backtracking verbs. 11831 11832 /(?!a(*COMMIT)b)ac|ad/ 11833 ac 11834 0: ac 11835 ad 11836 0: ad 11837 11838 /^(?!a(*THEN)b|ac)../ 11839 ad 11840 0: ad 11841 \= Expect no match 11842 ac 11843 No match 11844 11845 /^(?=a(*THEN)b|ac)/ 11846 ac 11847 0: 11848 11849 /\A.*?(?:a|b(*THEN)c)/ 11850 ba 11851 0: ba 11852 11853 /\A.*?(?:a|b(*THEN)c)++/ 11854 ba 11855 0: ba 11856 11857 /\A.*?(?:a|b(*THEN)c|d)/ 11858 ba 11859 0: ba 11860 11861 /(?:(a(*MARK:X)a+(*SKIP:X)b)){0}(?:(?1)|aac)/ 11862 aac 11863 0: aac 11864 11865 /\A.*?(a|b(*THEN)c)/ 11866 ba 11867 0: ba 11868 1: a 11869 11870 /^(A(*THEN)B|A(*THEN)D)/ 11871 AD 11872 0: AD 11873 1: AD 11874 11875 /(?!b(*THEN)a)bn|bnn/ 11876 bnn 11877 0: bn 11878 11879 /(?(?=b(*SKIP)a)bn|bnn)/ 11880 \= Expect no match 11881 bnn 11882 No match 11883 11884 /(?=b(*THEN)a|)bn|bnn/ 11885 bnn 11886 0: bn 11887 11888 # This test causes a segfault with Perl 5.18.0 11889 11890 /^(?=(a)){0}b(?1)/ 11891 backgammon 11892 0: ba 11893 11894 /(?|(?<n>f)|(?<n>b))/I,dupnames 11895 Capturing subpattern count = 1 11896 Named capturing subpatterns: 11897 n 1 11898 Options: dupnames 11899 Starting code units: b f 11900 Subject length lower bound = 1 11901 11902 /(?<a>abc)(?<a>z)\k<a>()/IB,dupnames 11903 ------------------------------------------------------------------ 11904 Bra 11905 CBra 1 11906 abc 11907 Ket 11908 CBra 2 11909 z 11910 Ket 11911 \k<a>2 11912 CBra 3 11913 Ket 11914 Ket 11915 End 11916 ------------------------------------------------------------------ 11917 Capturing subpattern count = 3 11918 Max back reference = 2 11919 Named capturing subpatterns: 11920 a 1 11921 a 2 11922 Options: dupnames 11923 First code unit = 'a' 11924 Last code unit = 'z' 11925 Subject length lower bound = 5 11926 11927 /a*[bcd]/B 11928 ------------------------------------------------------------------ 11929 Bra 11930 a*+ 11931 [b-d] 11932 Ket 11933 End 11934 ------------------------------------------------------------------ 11935 11936 /[bcd]*a/B 11937 ------------------------------------------------------------------ 11938 Bra 11939 [b-d]*+ 11940 a 11941 Ket 11942 End 11943 ------------------------------------------------------------------ 11944 11945 # A complete set of tests for auto-possessification of character types, but 11946 # omitting \C because it might be disabled (it has its own tests). 11947 11948 /\D+\D \D+\d \D+\S \D+\s \D+\W \D+\w \D+. \D+\R \D+\H \D+\h \D+\V \D+\v \D+\Z \D+\z \D+$/Bx 11949 ------------------------------------------------------------------ 11950 Bra 11951 \D+ 11952 \D 11953 \D++ 11954 \d 11955 \D+ 11956 \S 11957 \D+ 11958 \s 11959 \D+ 11960 \W 11961 \D+ 11962 \w 11963 \D+ 11964 Any 11965 \D+ 11966 \R 11967 \D+ 11968 \H 11969 \D+ 11970 \h 11971 \D+ 11972 \V 11973 \D+ 11974 \v 11975 \D+ 11976 \Z 11977 \D++ 11978 \z 11979 \D+ 11980 $ 11981 Ket 11982 End 11983 ------------------------------------------------------------------ 11984 11985 /\d+\D \d+\d \d+\S \d+\s \d+\W \d+\w \d+. \d+\R \d+\H \d+\h \d+\V \d+\v \d+\Z \d+\z \d+$/Bx 11986 ------------------------------------------------------------------ 11987 Bra 11988 \d++ 11989 \D 11990 \d+ 11991 \d 11992 \d+ 11993 \S 11994 \d++ 11995 \s 11996 \d++ 11997 \W 11998 \d+ 11999 \w 12000 \d+ 12001 Any 12002 \d++ 12003 \R 12004 \d+ 12005 \H 12006 \d++ 12007 \h 12008 \d+ 12009 \V 12010 \d++ 12011 \v 12012 \d++ 12013 \Z 12014 \d++ 12015 \z 12016 \d++ 12017 $ 12018 Ket 12019 End 12020 ------------------------------------------------------------------ 12021 12022 /\S+\D \S+\d \S+\S \S+\s \S+\W \S+\w \S+. \S+\R \S+\H \S+\h \S+\V \S+\v \S+\Z \S+\z \S+$/Bx 12023 ------------------------------------------------------------------ 12024 Bra 12025 \S+ 12026 \D 12027 \S+ 12028 \d 12029 \S+ 12030 \S 12031 \S++ 12032 \s 12033 \S+ 12034 \W 12035 \S+ 12036 \w 12037 \S+ 12038 Any 12039 \S++ 12040 \R 12041 \S+ 12042 \H 12043 \S++ 12044 \h 12045 \S+ 12046 \V 12047 \S++ 12048 \v 12049 \S++ 12050 \Z 12051 \S++ 12052 \z 12053 \S++ 12054 $ 12055 Ket 12056 End 12057 ------------------------------------------------------------------ 12058 12059 /\s+\D \s+\d \s+\S \s+\s \s+\W \s+\w \s+. \s+\R \s+\H \s+\h \s+\V \s+\v \s+\Z \s+\z \s+$/Bx 12060 ------------------------------------------------------------------ 12061 Bra 12062 \s+ 12063 \D 12064 \s++ 12065 \d 12066 \s++ 12067 \S 12068 \s+ 12069 \s 12070 \s+ 12071 \W 12072 \s++ 12073 \w 12074 \s+ 12075 Any 12076 \s+ 12077 \R 12078 \s+ 12079 \H 12080 \s+ 12081 \h 12082 \s+ 12083 \V 12084 \s+ 12085 \v 12086 \s+ 12087 \Z 12088 \s++ 12089 \z 12090 \s+ 12091 $ 12092 Ket 12093 End 12094 ------------------------------------------------------------------ 12095 12096 /\W+\D \W+\d \W+\S \W+\s \W+\W \W+\w \W+. \W+\R \W+\H \W+\h \W+\V \W+\v \W+\Z \W+\z \W+$/Bx 12097 ------------------------------------------------------------------ 12098 Bra 12099 \W+ 12100 \D 12101 \W++ 12102 \d 12103 \W+ 12104 \S 12105 \W+ 12106 \s 12107 \W+ 12108 \W 12109 \W++ 12110 \w 12111 \W+ 12112 Any 12113 \W+ 12114 \R 12115 \W+ 12116 \H 12117 \W+ 12118 \h 12119 \W+ 12120 \V 12121 \W+ 12122 \v 12123 \W+ 12124 \Z 12125 \W++ 12126 \z 12127 \W+ 12128 $ 12129 Ket 12130 End 12131 ------------------------------------------------------------------ 12132 12133 /\w+\D \w+\d \w+\S \w+\s \w+\W \w+\w \w+. \w+\R \w+\H \w+\h \w+\V \w+\v \w+\Z \w+\z \w+$/Bx 12134 ------------------------------------------------------------------ 12135 Bra 12136 \w+ 12137 \D 12138 \w+ 12139 \d 12140 \w+ 12141 \S 12142 \w++ 12143 \s 12144 \w++ 12145 \W 12146 \w+ 12147 \w 12148 \w+ 12149 Any 12150 \w++ 12151 \R 12152 \w+ 12153 \H 12154 \w++ 12155 \h 12156 \w+ 12157 \V 12158 \w++ 12159 \v 12160 \w++ 12161 \Z 12162 \w++ 12163 \z 12164 \w++ 12165 $ 12166 Ket 12167 End 12168 ------------------------------------------------------------------ 12169 12170 /\R+\D \R+\d \R+\S \R+\s \R+\W \R+\w \R+. \R+\R \R+\H \R+\h \R+\V \R+\v \R+\Z \R+\z \R+$/Bx 12171 ------------------------------------------------------------------ 12172 Bra 12173 \R+ 12174 \D 12175 \R++ 12176 \d 12177 \R+ 12178 \S 12179 \R++ 12180 \s 12181 \R+ 12182 \W 12183 \R++ 12184 \w 12185 \R++ 12186 Any 12187 \R+ 12188 \R 12189 \R+ 12190 \H 12191 \R++ 12192 \h 12193 \R+ 12194 \V 12195 \R+ 12196 \v 12197 \R+ 12198 \Z 12199 \R++ 12200 \z 12201 \R+ 12202 $ 12203 Ket 12204 End 12205 ------------------------------------------------------------------ 12206 12207 /\H+\D \H+\d \H+\S \H+\s \H+\W \H+\w \H+. \H+\R \H+\H \H+\h \H+\V \H+\v \H+\Z \H+\z \H+$/Bx 12208 ------------------------------------------------------------------ 12209 Bra 12210 \H+ 12211 \D 12212 \H+ 12213 \d 12214 \H+ 12215 \S 12216 \H+ 12217 \s 12218 \H+ 12219 \W 12220 \H+ 12221 \w 12222 \H+ 12223 Any 12224 \H+ 12225 \R 12226 \H+ 12227 \H 12228 \H++ 12229 \h 12230 \H+ 12231 \V 12232 \H+ 12233 \v 12234 \H+ 12235 \Z 12236 \H++ 12237 \z 12238 \H+ 12239 $ 12240 Ket 12241 End 12242 ------------------------------------------------------------------ 12243 12244 /\h+\D \h+\d \h+\S \h+\s \h+\W \h+\w \h+. \h+\R \h+\H \h+\h \h+\V \h+\v \h+\Z \h+\z \h+$/Bx 12245 ------------------------------------------------------------------ 12246 Bra 12247 \h+ 12248 \D 12249 \h++ 12250 \d 12251 \h++ 12252 \S 12253 \h+ 12254 \s 12255 \h+ 12256 \W 12257 \h++ 12258 \w 12259 \h+ 12260 Any 12261 \h++ 12262 \R 12263 \h++ 12264 \H 12265 \h+ 12266 \h 12267 \h+ 12268 \V 12269 \h++ 12270 \v 12271 \h+ 12272 \Z 12273 \h++ 12274 \z 12275 \h+ 12276 $ 12277 Ket 12278 End 12279 ------------------------------------------------------------------ 12280 12281 /\V+\D \V+\d \V+\S \V+\s \V+\W \V+\w \V+. \V+\R \V+\H \V+\h \V+\V \V+\v \V+\Z \V+\z \V+$/Bx 12282 ------------------------------------------------------------------ 12283 Bra 12284 \V+ 12285 \D 12286 \V+ 12287 \d 12288 \V+ 12289 \S 12290 \V+ 12291 \s 12292 \V+ 12293 \W 12294 \V+ 12295 \w 12296 \V+ 12297 Any 12298 \V++ 12299 \R 12300 \V+ 12301 \H 12302 \V+ 12303 \h 12304 \V+ 12305 \V 12306 \V++ 12307 \v 12308 \V+ 12309 \Z 12310 \V++ 12311 \z 12312 \V+ 12313 $ 12314 Ket 12315 End 12316 ------------------------------------------------------------------ 12317 12318 /\v+\D \v+\d \v+\S \v+\s \v+\W \v+\w \v+. \v+\R \v+\H \v+\h \v+\V \v+\v \v+\Z \v+\z \v+$/Bx 12319 ------------------------------------------------------------------ 12320 Bra 12321 \v+ 12322 \D 12323 \v++ 12324 \d 12325 \v++ 12326 \S 12327 \v+ 12328 \s 12329 \v+ 12330 \W 12331 \v++ 12332 \w 12333 \v+ 12334 Any 12335 \v+ 12336 \R 12337 \v+ 12338 \H 12339 \v++ 12340 \h 12341 \v++ 12342 \V 12343 \v+ 12344 \v 12345 \v+ 12346 \Z 12347 \v++ 12348 \z 12349 \v+ 12350 $ 12351 Ket 12352 End 12353 ------------------------------------------------------------------ 12354 12355 / a+\D a+\d a+\S a+\s a+\W a+\w a+. a+\R a+\H a+\h a+\V a+\v a+\Z a+\z a+$/Bx 12356 ------------------------------------------------------------------ 12357 Bra 12358 a+ 12359 \D 12360 a++ 12361 \d 12362 a+ 12363 \S 12364 a++ 12365 \s 12366 a++ 12367 \W 12368 a+ 12369 \w 12370 a+ 12371 Any 12372 a++ 12373 \R 12374 a+ 12375 \H 12376 a++ 12377 \h 12378 a+ 12379 \V 12380 a++ 12381 \v 12382 a++ 12383 \Z 12384 a++ 12385 \z 12386 a++ 12387 $ 12388 Ket 12389 End 12390 ------------------------------------------------------------------ 12391 12392 /\n+\D \n+\d \n+\S \n+\s \n+\W \n+\w \n+. \n+\R \n+\H \n+\h \n+\V \n+\v \n+\Z \n+\z \n+$/Bx 12393 ------------------------------------------------------------------ 12394 Bra 12395 \x0a+ 12396 \D 12397 \x0a++ 12398 \d 12399 \x0a++ 12400 \S 12401 \x0a+ 12402 \s 12403 \x0a+ 12404 \W 12405 \x0a++ 12406 \w 12407 \x0a+ 12408 Any 12409 \x0a+ 12410 \R 12411 \x0a+ 12412 \H 12413 \x0a++ 12414 \h 12415 \x0a++ 12416 \V 12417 \x0a+ 12418 \v 12419 \x0a+ 12420 \Z 12421 \x0a++ 12422 \z 12423 \x0a+ 12424 $ 12425 Ket 12426 End 12427 ------------------------------------------------------------------ 12428 12429 / .+\D .+\d .+\S .+\s .+\W .+\w .+. .+\R .+\H .+\h .+\V .+\v .+\Z .+\z .+$/Bx 12430 ------------------------------------------------------------------ 12431 Bra 12432 Any+ 12433 \D 12434 Any+ 12435 \d 12436 Any+ 12437 \S 12438 Any+ 12439 \s 12440 Any+ 12441 \W 12442 Any+ 12443 \w 12444 Any+ 12445 Any 12446 Any++ 12447 \R 12448 Any+ 12449 \H 12450 Any+ 12451 \h 12452 Any+ 12453 \V 12454 Any+ 12455 \v 12456 Any+ 12457 \Z 12458 Any++ 12459 \z 12460 Any+ 12461 $ 12462 Ket 12463 End 12464 ------------------------------------------------------------------ 12465 12466 / .+\D .+\d .+\S .+\s .+\W .+\w .+. .+\R .+\H .+\h .+\V .+\v .+\Z .+\z .+$/Bsx 12467 ------------------------------------------------------------------ 12468 Bra 12469 AllAny+ 12470 \D 12471 AllAny+ 12472 \d 12473 AllAny+ 12474 \S 12475 AllAny+ 12476 \s 12477 AllAny+ 12478 \W 12479 AllAny+ 12480 \w 12481 AllAny+ 12482 AllAny 12483 AllAny+ 12484 \R 12485 AllAny+ 12486 \H 12487 AllAny+ 12488 \h 12489 AllAny+ 12490 \V 12491 AllAny+ 12492 \v 12493 AllAny+ 12494 \Z 12495 AllAny++ 12496 \z 12497 AllAny+ 12498 $ 12499 Ket 12500 End 12501 ------------------------------------------------------------------ 12502 12503 / \D+$ \d+$ \S+$ \s+$ \W+$ \w+$ \R+$ \H+$ \h+$ \V+$ \v+$ a+$ \n+$ .+$ .+$/Bmx 12504 ------------------------------------------------------------------ 12505 Bra 12506 \D+ 12507 /m $ 12508 \d++ 12509 /m $ 12510 \S++ 12511 /m $ 12512 \s+ 12513 /m $ 12514 \W+ 12515 /m $ 12516 \w++ 12517 /m $ 12518 \R+ 12519 /m $ 12520 \H+ 12521 /m $ 12522 \h+ 12523 /m $ 12524 \V+ 12525 /m $ 12526 \v+ 12527 /m $ 12528 a+ 12529 /m $ 12530 \x0a+ 12531 /m $ 12532 Any+ 12533 /m $ 12534 Any+ 12535 /m $ 12536 Ket 12537 End 12538 ------------------------------------------------------------------ 12539 12540 /(?=a+)a(a+)++a/B 12541 ------------------------------------------------------------------ 12542 Bra 12543 Assert 12544 a++ 12545 Ket 12546 a 12547 CBraPos 1 12548 a++ 12549 KetRpos 12550 a 12551 Ket 12552 End 12553 ------------------------------------------------------------------ 12554 12555 /a+(bb|cc)a+(?:bb|cc)a+(?>bb|cc)a+(?:bb|cc)+a+(aa)a+(?:bb|aa)/B 12556 ------------------------------------------------------------------ 12557 Bra 12558 a++ 12559 CBra 1 12560 bb 12561 Alt 12562 cc 12563 Ket 12564 a++ 12565 Bra 12566 bb 12567 Alt 12568 cc 12569 Ket 12570 a++ 12571 Once_NC 12572 bb 12573 Alt 12574 cc 12575 Ket 12576 a++ 12577 Bra 12578 bb 12579 Alt 12580 cc 12581 KetRmax 12582 a+ 12583 CBra 2 12584 aa 12585 Ket 12586 a+ 12587 Bra 12588 bb 12589 Alt 12590 aa 12591 Ket 12592 Ket 12593 End 12594 ------------------------------------------------------------------ 12595 12596 /a+(bb|cc)?#a+(?:bb|cc)??#a+(?:bb|cc)?+#a+(?:bb|cc)*#a+(bb|cc)?a#a+(?:aa)?/B 12597 ------------------------------------------------------------------ 12598 Bra 12599 a++ 12600 Brazero 12601 CBra 1 12602 bb 12603 Alt 12604 cc 12605 Ket 12606 # 12607 a++ 12608 Braminzero 12609 Bra 12610 bb 12611 Alt 12612 cc 12613 Ket 12614 # 12615 a++ 12616 Once 12617 Brazero 12618 Bra 12619 bb 12620 Alt 12621 cc 12622 Ket 12623 Ket 12624 # 12625 a++ 12626 Brazero 12627 Bra 12628 bb 12629 Alt 12630 cc 12631 KetRmax 12632 # 12633 a+ 12634 Brazero 12635 CBra 2 12636 bb 12637 Alt 12638 cc 12639 Ket 12640 a# 12641 a+ 12642 Brazero 12643 Bra 12644 aa 12645 Ket 12646 Ket 12647 End 12648 ------------------------------------------------------------------ 12649 12650 /a+(?:bb)?a#a+(?:|||)#a+(?:|b)a#a+(?:|||)?a/B 12651 ------------------------------------------------------------------ 12652 Bra 12653 a+ 12654 Brazero 12655 Bra 12656 bb 12657 Ket 12658 a# 12659 a++ 12660 Bra 12661 Alt 12662 Alt 12663 Alt 12664 Ket 12665 # 12666 a+ 12667 Bra 12668 Alt 12669 b 12670 Ket 12671 a# 12672 a+ 12673 Brazero 12674 Bra 12675 Alt 12676 Alt 12677 Alt 12678 Ket 12679 a 12680 Ket 12681 End 12682 ------------------------------------------------------------------ 12683 12684 /[ab]*/B 12685 ------------------------------------------------------------------ 12686 Bra 12687 [ab]*+ 12688 Ket 12689 End 12690 ------------------------------------------------------------------ 12691 aaaa 12692 0: aaaa 12693 12694 /[ab]*?/B 12695 ------------------------------------------------------------------ 12696 Bra 12697 [ab]*? 12698 Ket 12699 End 12700 ------------------------------------------------------------------ 12701 aaaa 12702 0: 12703 12704 /[ab]?/B 12705 ------------------------------------------------------------------ 12706 Bra 12707 [ab]?+ 12708 Ket 12709 End 12710 ------------------------------------------------------------------ 12711 aaaa 12712 0: a 12713 12714 /[ab]??/B 12715 ------------------------------------------------------------------ 12716 Bra 12717 [ab]?? 12718 Ket 12719 End 12720 ------------------------------------------------------------------ 12721 aaaa 12722 0: 12723 12724 /[ab]+/B 12725 ------------------------------------------------------------------ 12726 Bra 12727 [ab]++ 12728 Ket 12729 End 12730 ------------------------------------------------------------------ 12731 aaaa 12732 0: aaaa 12733 12734 /[ab]+?/B 12735 ------------------------------------------------------------------ 12736 Bra 12737 [ab]+? 12738 Ket 12739 End 12740 ------------------------------------------------------------------ 12741 aaaa 12742 0: a 12743 12744 /[ab]{2,3}/B 12745 ------------------------------------------------------------------ 12746 Bra 12747 [ab]{2,3}+ 12748 Ket 12749 End 12750 ------------------------------------------------------------------ 12751 aaaa 12752 0: aaa 12753 12754 /[ab]{2,3}?/B 12755 ------------------------------------------------------------------ 12756 Bra 12757 [ab]{2,3}? 12758 Ket 12759 End 12760 ------------------------------------------------------------------ 12761 aaaa 12762 0: aa 12763 12764 /[ab]{2,}/B 12765 ------------------------------------------------------------------ 12766 Bra 12767 [ab]{2,}+ 12768 Ket 12769 End 12770 ------------------------------------------------------------------ 12771 aaaa 12772 0: aaaa 12773 12774 /[ab]{2,}?/B 12775 ------------------------------------------------------------------ 12776 Bra 12777 [ab]{2,}? 12778 Ket 12779 End 12780 ------------------------------------------------------------------ 12781 aaaa 12782 0: aa 12783 12784 /\d+\s{0,5}=\s*\S?=\w{0,4}\W*/B 12785 ------------------------------------------------------------------ 12786 Bra 12787 \d++ 12788 \s{0,5}+ 12789 = 12790 \s*+ 12791 \S? 12792 = 12793 \w{0,4}+ 12794 \W*+ 12795 Ket 12796 End 12797 ------------------------------------------------------------------ 12798 12799 /[a-d]{5,12}[e-z0-9]*#[^a-z]+[b-y]*a[2-7]?[^0-9a-z]+/B 12800 ------------------------------------------------------------------ 12801 Bra 12802 [a-d]{5,12}+ 12803 [0-9e-z]*+ 12804 # 12805 [\x00-`{-\xff] (neg)++ 12806 [b-y]*+ 12807 a 12808 [2-7]?+ 12809 [\x00-/:-`{-\xff] (neg)++ 12810 Ket 12811 End 12812 ------------------------------------------------------------------ 12813 12814 /[a-z]*\s#[ \t]?\S#[a-c]*\S#[C-G]+?\d#[4-8]*\D#[4-9,]*\D#[!$]{0,5}\w#[M-Xf-l]+\W#[a-c,]?\W/B 12815 ------------------------------------------------------------------ 12816 Bra 12817 [a-z]*+ 12818 \s 12819 # 12820 [\x09 ]?+ 12821 \S 12822 # 12823 [a-c]* 12824 \S 12825 # 12826 [C-G]++ 12827 \d 12828 # 12829 [4-8]*+ 12830 \D 12831 # 12832 [,4-9]* 12833 \D 12834 # 12835 [!$]{0,5}+ 12836 \w 12837 # 12838 [M-Xf-l]++ 12839 \W 12840 # 12841 [,a-c]? 12842 \W 12843 Ket 12844 End 12845 ------------------------------------------------------------------ 12846 12847 /a+(aa|bb)*c#a*(bb|cc)*a#a?(bb|cc)*d#[a-f]*(g|hh)*f/B 12848 ------------------------------------------------------------------ 12849 Bra 12850 a+ 12851 Brazero 12852 CBra 1 12853 aa 12854 Alt 12855 bb 12856 KetRmax 12857 c# 12858 a* 12859 Brazero 12860 CBra 2 12861 bb 12862 Alt 12863 cc 12864 KetRmax 12865 a# 12866 a?+ 12867 Brazero 12868 CBra 3 12869 bb 12870 Alt 12871 cc 12872 KetRmax 12873 d# 12874 [a-f]* 12875 Brazero 12876 CBra 4 12877 g 12878 Alt 12879 hh 12880 KetRmax 12881 f 12882 Ket 12883 End 12884 ------------------------------------------------------------------ 12885 12886 /[a-f]*(g|hh|i)*i#[a-x]{4,}(y{0,6})*y#[a-k]+(ll|mm)+n/B 12887 ------------------------------------------------------------------ 12888 Bra 12889 [a-f]*+ 12890 Brazero 12891 CBra 1 12892 g 12893 Alt 12894 hh 12895 Alt 12896 i 12897 KetRmax 12898 i# 12899 [a-x]{4,} 12900 Brazero 12901 SCBra 2 12902 y{0,6} 12903 KetRmax 12904 y# 12905 [a-k]++ 12906 CBra 3 12907 ll 12908 Alt 12909 mm 12910 KetRmax 12911 n 12912 Ket 12913 End 12914 ------------------------------------------------------------------ 12915 12916 /[a-f]*(?>gg|hh)+#[a-f]*(?>gg|hh)?#[a-f]*(?>gg|hh)*a#[a-f]*(?>gg|hh)*h/B 12917 ------------------------------------------------------------------ 12918 Bra 12919 [a-f]*+ 12920 Once_NC 12921 gg 12922 Alt 12923 hh 12924 KetRmax 12925 # 12926 [a-f]*+ 12927 Brazero 12928 Once_NC 12929 gg 12930 Alt 12931 hh 12932 Ket 12933 # 12934 [a-f]* 12935 Brazero 12936 Once_NC 12937 gg 12938 Alt 12939 hh 12940 KetRmax 12941 a# 12942 [a-f]*+ 12943 Brazero 12944 Once_NC 12945 gg 12946 Alt 12947 hh 12948 KetRmax 12949 h 12950 Ket 12951 End 12952 ------------------------------------------------------------------ 12953 12954 /[a-c]*d/IB 12955 ------------------------------------------------------------------ 12956 Bra 12957 [a-c]*+ 12958 d 12959 Ket 12960 End 12961 ------------------------------------------------------------------ 12962 Capturing subpattern count = 0 12963 Starting code units: a b c d 12964 Last code unit = 'd' 12965 Subject length lower bound = 1 12966 12967 /[a-c]+d/IB 12968 ------------------------------------------------------------------ 12969 Bra 12970 [a-c]++ 12971 d 12972 Ket 12973 End 12974 ------------------------------------------------------------------ 12975 Capturing subpattern count = 0 12976 Starting code units: a b c 12977 Last code unit = 'd' 12978 Subject length lower bound = 2 12979 12980 /[a-c]?d/IB 12981 ------------------------------------------------------------------ 12982 Bra 12983 [a-c]?+ 12984 d 12985 Ket 12986 End 12987 ------------------------------------------------------------------ 12988 Capturing subpattern count = 0 12989 Starting code units: a b c d 12990 Last code unit = 'd' 12991 Subject length lower bound = 1 12992 12993 /[a-c]{4,6}d/IB 12994 ------------------------------------------------------------------ 12995 Bra 12996 [a-c]{4,6}+ 12997 d 12998 Ket 12999 End 13000 ------------------------------------------------------------------ 13001 Capturing subpattern count = 0 13002 Starting code units: a b c 13003 Last code unit = 'd' 13004 Subject length lower bound = 5 13005 13006 /[a-c]{0,6}d/IB 13007 ------------------------------------------------------------------ 13008 Bra 13009 [a-c]{0,6}+ 13010 d 13011 Ket 13012 End 13013 ------------------------------------------------------------------ 13014 Capturing subpattern count = 0 13015 Starting code units: a b c d 13016 Last code unit = 'd' 13017 Subject length lower bound = 1 13018 13019 # End of special auto-possessive tests 13020 13021 /^A\o{1239}B/ 13022 Failed: error 164 at offset 8: non-octal character in \o{} (closing brace missing?) 13023 A\123B 13024 13025 /^A\oB/ 13026 Failed: error 155 at offset 3: missing opening brace after \o 13027 13028 /^A\x{zz}B/ 13029 Failed: error 167 at offset 5: non-hex character in \x{} (closing brace missing?) 13030 13031 /^A\x{12Z/ 13032 Failed: error 167 at offset 7: non-hex character in \x{} (closing brace missing?) 13033 13034 /^A\x{/ 13035 Failed: error 167 at offset 5: non-hex character in \x{} (closing brace missing?) 13036 13037 /[ab]++/B,no_auto_possess 13038 ------------------------------------------------------------------ 13039 Bra 13040 [ab]++ 13041 Ket 13042 End 13043 ------------------------------------------------------------------ 13044 13045 /[^ab]*+/B,no_auto_possess 13046 ------------------------------------------------------------------ 13047 Bra 13048 [\x00-`c-\xff] (neg)*+ 13049 Ket 13050 End 13051 ------------------------------------------------------------------ 13052 13053 /a{4}+/B,no_auto_possess 13054 ------------------------------------------------------------------ 13055 Bra 13056 a{4} 13057 Ket 13058 End 13059 ------------------------------------------------------------------ 13060 13061 /a{4}+/Bi,no_auto_possess 13062 ------------------------------------------------------------------ 13063 Bra 13064 /i a{4} 13065 Ket 13066 End 13067 ------------------------------------------------------------------ 13068 13069 /[a-[:digit:]]+/ 13070 Failed: error 150 at offset 3: invalid range in character class 13071 13072 /[A-[:digit:]]+/ 13073 Failed: error 150 at offset 3: invalid range in character class 13074 13075 /[a-[.xxx.]]+/ 13076 Failed: error 150 at offset 3: invalid range in character class 13077 13078 /[a-[=xxx=]]+/ 13079 Failed: error 150 at offset 3: invalid range in character class 13080 13081 /[a-[!xxx!]]+/ 13082 Failed: error 108 at offset 3: range out of order in character class 13083 13084 /[A-[!xxx!]]+/ 13085 A]]] 13086 0: A]]] 13087 13088 /[a-\d]+/ 13089 Failed: error 150 at offset 4: invalid range in character class 13090 13091 /(?<0abc>xx)/ 13092 Failed: error 144 at offset 3: group name must start with a non-digit 13093 13094 /(?&1abc)xx(?<1abc>y)/ 13095 Failed: error 144 at offset 13: group name must start with a non-digit 13096 13097 /(?<ab-cd>xx)/ 13098 Failed: error 142 at offset 5: syntax error in subpattern name (missing terminator) 13099 13100 /(?'0abc'xx)/ 13101 Failed: error 144 at offset 3: group name must start with a non-digit 13102 13103 /(?P<0abc>xx)/ 13104 Failed: error 144 at offset 4: group name must start with a non-digit 13105 13106 /\k<5ghj>/ 13107 Failed: error 144 at offset 3: group name must start with a non-digit 13108 13109 /\k'5ghj'/ 13110 Failed: error 144 at offset 3: group name must start with a non-digit 13111 13112 /\k{2fgh}/ 13113 Failed: error 144 at offset 3: group name must start with a non-digit 13114 13115 /(?P=8yuki)/ 13116 Failed: error 144 at offset 4: group name must start with a non-digit 13117 13118 /\g{4df}/ 13119 Failed: error 144 at offset 3: group name must start with a non-digit 13120 13121 /(?&1abc)xx(?<1abc>y)/ 13122 Failed: error 144 at offset 13: group name must start with a non-digit 13123 13124 /(?P>1abc)xx(?<1abc>y)/ 13125 Failed: error 144 at offset 14: group name must start with a non-digit 13126 13127 /\g'3gh'/ 13128 Failed: error 157 at offset 2: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number 13129 13130 /\g<5fg>/ 13131 Failed: error 157 at offset 2: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number 13132 13133 /(?(<4gh>)abc)/ 13134 Failed: error 144 at offset 4: group name must start with a non-digit 13135 13136 /(?('4gh')abc)/ 13137 Failed: error 144 at offset 4: group name must start with a non-digit 13138 13139 /(?(4gh)abc)/ 13140 Failed: error 126 at offset 4: malformed number or name after (?( 13141 13142 /(?(R&6yh)abc)/ 13143 Failed: error 144 at offset 5: group name must start with a non-digit 13144 13145 /(((a\2)|(a*)\g<-1>))*a?/B 13146 ------------------------------------------------------------------ 13147 Bra 13148 Brazero 13149 SCBra 1 13150 Once 13151 CBra 2 13152 CBra 3 13153 a 13154 \2 13155 Ket 13156 Alt 13157 CBra 4 13158 a* 13159 Ket 13160 Recurse 13161 Ket 13162 Ket 13163 KetRmax 13164 a?+ 13165 Ket 13166 End 13167 ------------------------------------------------------------------ 13168 13169 # Test the ugly "start or end of word" compatibility syntax. 13170 13171 /[[:<:]]red[[:>:]]/B 13172 ------------------------------------------------------------------ 13173 Bra 13174 \b 13175 Assert 13176 \w 13177 Ket 13178 red 13179 \b 13180 AssertB 13181 Reverse 13182 \w 13183 Ket 13184 Ket 13185 End 13186 ------------------------------------------------------------------ 13187 little red riding hood 13188 0: red 13189 a /red/ thing 13190 0: red 13191 red is a colour 13192 0: red 13193 put it all on red 13194 0: red 13195 \= Expect no match 13196 no reduction 13197 No match 13198 Alfred Winifred 13199 No match 13200 13201 /[a[:<:]] should give error/ 13202 Failed: error 130 at offset 4: unknown POSIX class name 13203 13204 /(?=ab\K)/aftertext 13205 abcd\=startchar 13206 Start of matched string is beyond its end - displaying from end to start. 13207 0: ab 13208 0+ abcd 13209 13210 /abcd/newline=lf,firstline 13211 \= Expect no match 13212 xx\nxabcd 13213 No match 13214 13215 # Test stack guard external calls. 13216 13217 /(((a)))/stackguard=1 13218 Failed: error 133 at offset 2: parentheses are too deeply nested (stack check) 13219 13220 /(((a)))/stackguard=2 13221 Failed: error 133 at offset 3: parentheses are too deeply nested (stack check) 13222 13223 /(((a)))/stackguard=3 13224 13225 /(((((a)))))/ 13226 13227 # End stack guard tests 13228 13229 /^\w+(?>\s*)(?<=\w)/B 13230 ------------------------------------------------------------------ 13231 Bra 13232 ^ 13233 \w+ 13234 Once_NC 13235 \s*+ 13236 Ket 13237 AssertB 13238 Reverse 13239 \w 13240 Ket 13241 Ket 13242 End 13243 ------------------------------------------------------------------ 13244 13245 /\othing/ 13246 Failed: error 155 at offset 1: missing opening brace after \o 13247 13248 /\o{}/ 13249 Failed: error 178 at offset 1: digits missing in \x{} or \o{} 13250 13251 /\o{whatever}/ 13252 Failed: error 164 at offset 3: non-octal character in \o{} (closing brace missing?) 13253 13254 /\xthing/ 13255 13256 /\x{}/ 13257 Failed: error 178 at offset 3: digits missing in \x{} or \o{} 13258 13259 /\x{whatever}/ 13260 Failed: error 167 at offset 3: non-hex character in \x{} (closing brace missing?) 13261 13262 /A\8B/ 13263 Failed: error 115 at offset 2: reference to non-existent subpattern 13264 13265 /A\9B/ 13266 Failed: error 115 at offset 2: reference to non-existent subpattern 13267 13268 # This one is here because Perl fails to match "12" for this pattern when the $ 13269 # is present. 13270 13271 /^(?(?=abc)\w{3}:|\d\d)$/ 13272 abc: 13273 0: abc: 13274 12 13275 0: 12 13276 \= Expect no match 13277 123 13278 No match 13279 xyz 13280 No match 13281 13282 # Perl gets this one wrong, giving "a" as the after text for ca and failing to 13283 # match for cd. 13284 13285 /(?(?=ab)ab)/aftertext 13286 abxxx 13287 0: ab 13288 0+ xxx 13289 ca 13290 0: 13291 0+ ca 13292 cd 13293 0: 13294 0+ cd 13295 13296 # This should test both paths for processing OP_RECURSE. 13297 13298 /(?(R)a+|(?R)b)/ 13299 aaaabcde 13300 0: aaaab 13301 aaaabcde\=ovector=100 13302 0: aaaab 13303 13304 /a*?b*?/ 13305 ab 13306 0: 13307 13308 /(*NOTEMPTY)a*?b*?/ 13309 ab 13310 0: a 13311 ba 13312 0: b 13313 cb 13314 0: b 13315 13316 /(*NOTEMPTY_ATSTART)a*?b*?/aftertext 13317 ab 13318 0: a 13319 0+ b 13320 cdab 13321 0: 13322 0+ dab 13323 13324 /(?(VERSION>=10.0)yes|no)/I 13325 Capturing subpattern count = 0 13326 Subject length lower bound = 2 13327 yesno 13328 0: yes 13329 13330 /(?(VERSION=8)yes){3}/BI,aftertext 13331 ------------------------------------------------------------------ 13332 Bra 13333 Cond 13334 Cond false 13335 yes 13336 Ket 13337 Ket 13338 End 13339 ------------------------------------------------------------------ 13340 Capturing subpattern count = 0 13341 May match empty string 13342 Subject length lower bound = 0 13343 yesno 13344 0: 13345 0+ yesno 13346 13347 /(?(VERSION=8)yes|no){3}/I 13348 Capturing subpattern count = 0 13349 Subject length lower bound = 6 13350 yesnononoyes 13351 0: nonono 13352 \= Expect no match 13353 yesno 13354 No match 13355 13356 /(?:(?<VERSION>abc)|xyz)(?(VERSION)yes|no)/I 13357 Capturing subpattern count = 1 13358 Max back reference = 1 13359 Named capturing subpatterns: 13360 VERSION 1 13361 Starting code units: a x 13362 Subject length lower bound = 5 13363 abcyes 13364 0: abcyes 13365 1: abc 13366 xyzno 13367 0: xyzno 13368 \= Expect no match 13369 abcno 13370 No match 13371 xyzyes 13372 No match 13373 13374 /(?(VERSION<10)yes|no)/ 13375 Failed: error 179 at offset 10: syntax error in (?(VERSION condition 13376 13377 /(?(VERSION>10)yes|no)/ 13378 Failed: error 179 at offset 11: syntax error in (?(VERSION condition 13379 13380 /(?(VERSION>=10.0.0)yes|no)/ 13381 Failed: error 179 at offset 16: syntax error in (?(VERSION condition 13382 13383 /(?(VERSION=10.101)yes|no)/ 13384 Failed: error 179 at offset 17: syntax error in (?(VERSION condition 13385 13386 /abcd/I 13387 Capturing subpattern count = 0 13388 First code unit = 'a' 13389 Last code unit = 'd' 13390 Subject length lower bound = 4 13391 13392 /abcd/I,no_start_optimize 13393 Capturing subpattern count = 0 13394 Options: no_start_optimize 13395 Subject length lower bound = 0 13396 13397 /(|ab)*?d/I 13398 Capturing subpattern count = 1 13399 Starting code units: a d 13400 Last code unit = 'd' 13401 Subject length lower bound = 1 13402 abd 13403 0: abd 13404 1: ab 13405 xyd 13406 0: d 13407 13408 /(|ab)*?d/I,no_start_optimize 13409 Capturing subpattern count = 1 13410 Options: no_start_optimize 13411 Last code unit = 'd' 13412 Subject length lower bound = 0 13413 abd 13414 0: abd 13415 1: ab 13416 xyd 13417 0: d 13418 13419 /\k<A>*(?<A>aa)(?<A>bb)/match_unset_backref,dupnames 13420 aabb 13421 0: aabb 13422 1: aa 13423 2: bb 13424 13425 /(((((a)))))/parens_nest_limit=2 13426 Failed: error 119 at offset 3: parentheses are too deeply nested 13427 13428 /abc/replace=XYZ 13429 123123 13430 0: 123123 13431 123abc123 13432 1: 123XYZ123 13433 123abc123abc123 13434 1: 123XYZ123abc123 13435 123123\=zero_terminate 13436 0: 123123 13437 123abc123\=zero_terminate 13438 1: 123XYZ123 13439 123abc123abc123\=zero_terminate 13440 1: 123XYZ123abc123 13441 13442 /abc/g,replace=XYZ 13443 123abc123 13444 1: 123XYZ123 13445 123abc123abc123 13446 2: 123XYZ123XYZ123 13447 13448 /abc/replace=X$$Z 13449 123abc123 13450 1: 123X$Z123 13451 13452 /abc/g,replace=X$$Z 13453 123abc123abc123 13454 2: 123X$Z123X$Z123 13455 13456 /a(b)c(d)e/replace=X$1Y${2}Z 13457 "abcde" 13458 1: "XbYdZ" 13459 13460 /a(b)c(d)e/replace=X$1Y${2}Z,global 13461 "abcde-abcde" 13462 2: "XbYdZ-XbYdZ" 13463 13464 /a(?<ONE>b)c(?<TWO>d)e/replace=X$ONE+${TWO}Z 13465 "abcde" 13466 1: "Xb+dZ" 13467 13468 /a(?<ONE>b)c(?<TWO>d)e/g,replace=X$ONE+${TWO}Z 13469 "abcde-abcde-" 13470 2: "Xb+dZ-Xb+dZ-" 13471 13472 /abc/replace=a$++ 13473 123abc 13474 Failed: error -35 at offset 2 in replacement: invalid replacement string 13475 13476 /abc/replace=a$bad 13477 123abc 13478 Failed: error -49 at offset 5 in replacement: unknown substring 13479 13480 /abc/replace=a${A234567890123456789_123456789012}z 13481 123abc 13482 Failed: error -49 at offset 36 in replacement: unknown substring 13483 13484 /abc/replace=a${A23456789012345678901234567890123}z 13485 123abc 13486 Failed: error -35 at offset 35 in replacement: invalid replacement string 13487 13488 /abc/replace=a${bcd 13489 123abc 13490 Failed: error -58 at offset 6 in replacement: expected closing curly bracket in replacement string 13491 13492 /abc/replace=a${b+d}z 13493 123abc 13494 Failed: error -58 at offset 4 in replacement: expected closing curly bracket in replacement string 13495 13496 /abc/replace=[10]XYZ 13497 123abc123 13498 1: 123XYZ123 13499 13500 /abc/replace=[9]XYZ 13501 123abc123 13502 Failed: error -48: no more memory 13503 13504 /abc/replace=xyz 13505 1abc2\=partial_hard 13506 Failed: error -34: bad option value 13507 13508 /abc/replace=xyz 13509 123abc456 13510 1: 123xyz456 13511 123abc456\=replace=pqr 13512 1: 123pqr456 13513 123abc456abc789 13514 1: 123xyz456abc789 13515 123abc456abc789\=g 13516 2: 123xyz456xyz789 13517 13518 /(?<=abc)(|def)/g,replace=<$0> 13519 123abcxyzabcdef789abcpqr 13520 4: 123abc<>xyzabc<><def>789abc<>pqr 13521 13522 /./replace=$0 13523 a 13524 1: a 13525 13526 /(.)(.)/replace=$2+$1 13527 abc 13528 1: b+ac 13529 13530 /(?<A>.)(?<B>.)/replace=$B+$A 13531 abc 13532 1: b+ac 13533 13534 /(.)(.)/g,replace=$2$1 13535 abcdefgh 13536 4: badcfehg 13537 13538 /(*:pear)apple|(*:orange)lemon|(*:strawberry)blackberry/g,replace=${*MARK} 13539 apple lemon blackberry 13540 3: pear orange strawberry 13541 apple strudel 13542 1: pear strudel 13543 fruitless 13544 0: fruitless 13545 13546 /(*:pear)apple|(*:orange)lemon|(*:strawberry)blackberry/replace=${*MARK} sauce, 13547 apple lemon blackberry 13548 1: pear sauce lemon blackberry 13549 13550 /(*:pear)apple|(*:orange)lemon|(*:strawberry)blackberry/g,replace=<$*MARK> 13551 apple lemon blackberry 13552 3: <pear> <orange> <strawberry> 13553 apple strudel 13554 1: <pear> strudel 13555 fruitless 13556 0: fruitless 13557 13558 /(*:pear)apple/g,replace=${*MARKING} 13559 apple lemon blackberry 13560 Failed: error -35 at offset 11 in replacement: invalid replacement string 13561 13562 /(*:pear)apple/g,replace=${*MARK-time 13563 apple lemon blackberry 13564 Failed: error -58 at offset 7 in replacement: expected closing curly bracket in replacement string 13565 13566 /(*:pear)apple/g,replace=${*mark} 13567 apple lemon blackberry 13568 Failed: error -35 at offset 8 in replacement: invalid replacement string 13569 13570 /(*:pear)apple|(*:orange)lemon|(*:strawberry)blackberry/g,replace=<$*MARKET> 13571 apple lemon blackberry 13572 Failed: error -35 at offset 9 in replacement: invalid replacement string 13573 13574 /(*:pear)apple|(*:orange)lemon|(*:strawberry)blackberry/g,replace=[22]${*MARK} 13575 apple lemon blackberry 13576 Failed: error -48: no more memory 13577 apple lemon blackberry\=substitute_overflow_length 13578 Failed: error -48: no more memory: 23 code units are needed 13579 13580 /(*:pear)apple|(*:orange)lemon|(*:strawberry)blackberry/g,replace=[23]${*MARK} 13581 apple lemon blackberry 13582 3: pear orange strawberry 13583 13584 /abc/ 13585 123abc123\=replace=[9]XYZ 13586 Failed: error -48: no more memory 13587 123abc123\=substitute_overflow_length,replace=[9]XYZ 13588 Failed: error -48: no more memory: 10 code units are needed 13589 123abc123\=substitute_overflow_length,replace=[6]XYZ 13590 Failed: error -48: no more memory: 10 code units are needed 13591 123abc123\=substitute_overflow_length,replace=[1]XYZ 13592 Failed: error -48: no more memory: 10 code units are needed 13593 123abc123\=substitute_overflow_length,replace=[0]XYZ 13594 Failed: error -48: no more memory: 10 code units are needed 13595 13596 /a(b)c/ 13597 123abc123\=replace=[9]x$1z 13598 Failed: error -48: no more memory 13599 123abc123\=substitute_overflow_length,replace=[9]x$1z 13600 Failed: error -48: no more memory: 10 code units are needed 13601 123abc123\=substitute_overflow_length,replace=[6]x$1z 13602 Failed: error -48: no more memory: 10 code units are needed 13603 123abc123\=substitute_overflow_length,replace=[1]x$1z 13604 Failed: error -48: no more memory: 10 code units are needed 13605 123abc123\=substitute_overflow_length,replace=[0]x$1z 13606 Failed: error -48: no more memory: 10 code units are needed 13607 13608 "((?=(?(?=(?(?=(?(?=()))))))))" 13609 a 13610 0: 13611 1: 13612 2: 13613 13614 "(?(?=)==)(((((((((?=)))))))))" 13615 \= Expect no match 13616 a 13617 No match 13618 13619 /(a)(b)|(c)/ 13620 XcX\=ovector=2,get=1,get=2,get=3,get=4,getall 13621 Matched, but too many substrings 13622 0: c 13623 1: <unset> 13624 Get substring 1 failed (-55): requested value is not set 13625 Get substring 2 failed (-54): requested value is not available 13626 Get substring 3 failed (-54): requested value is not available 13627 Get substring 4 failed (-49): unknown substring 13628 0L c 13629 1L 13630 13631 /x(?=ab\K)/ 13632 xab\=get=0 13633 Start of matched string is beyond its end - displaying from end to start. 13634 0: ab 13635 0G (0) 13636 xab\=copy=0 13637 Start of matched string is beyond its end - displaying from end to start. 13638 0: ab 13639 0C (0) 13640 xab\=getall 13641 Start of matched string is beyond its end - displaying from end to start. 13642 0: ab 13643 0L 13644 13645 /(?<A>a)|(?<A>b)/dupnames 13646 a\=ovector=1,copy=A,get=A,get=2 13647 Matched, but too many substrings 13648 0: a 13649 Copy substring 'A' failed (-54): requested value is not available 13650 Get substring 2 failed (-54): requested value is not available 13651 Get substring 'A' failed (-54): requested value is not available 13652 a\=ovector=2,copy=A,get=A,get=2 13653 0: a 13654 1: a 13655 C a (1) A (non-unique) 13656 Get substring 2 failed (-54): requested value is not available 13657 G a (1) A (non-unique) 13658 b\=ovector=2,copy=A,get=A,get=2 13659 Matched, but too many substrings 13660 0: b 13661 1: <unset> 13662 Copy substring 'A' failed (-55): requested value is not set 13663 Get substring 2 failed (-54): requested value is not available 13664 Get substring 'A' failed (-55): requested value is not set 13665 13666 /a(b)c(d)/ 13667 abc\=ph,copy=0,copy=1,getall 13668 Partial match: abc 13669 0C abc (3) 13670 Copy substring 1 failed (-2): partial match 13671 get substring list failed (-2): partial match 13672 13673 /^abc/info 13674 Capturing subpattern count = 0 13675 Compile options: <none> 13676 Overall options: anchored 13677 Subject length lower bound = 3 13678 13679 /^abc/info,no_dotstar_anchor 13680 Capturing subpattern count = 0 13681 Compile options: no_dotstar_anchor 13682 Overall options: anchored no_dotstar_anchor 13683 Subject length lower bound = 3 13684 13685 /.*\d/info,auto_callout 13686 Capturing subpattern count = 0 13687 Options: auto_callout 13688 First code unit at start or follows newline 13689 Subject length lower bound = 1 13690 \= Expect no match 13691 aaa 13692 --->aaa 13693 +0 ^ .* 13694 +2 ^ ^ \d 13695 +2 ^ ^ \d 13696 +2 ^^ \d 13697 +2 ^ \d 13698 No match 13699 13700 /.*\d/info,no_dotstar_anchor,auto_callout 13701 Capturing subpattern count = 0 13702 Options: auto_callout no_dotstar_anchor 13703 Subject length lower bound = 1 13704 \= Expect no match 13705 aaa 13706 --->aaa 13707 +0 ^ .* 13708 +2 ^ ^ \d 13709 +2 ^ ^ \d 13710 +2 ^^ \d 13711 +2 ^ \d 13712 +0 ^ .* 13713 +2 ^ ^ \d 13714 +2 ^^ \d 13715 +2 ^ \d 13716 +0 ^ .* 13717 +2 ^^ \d 13718 +2 ^ \d 13719 No match 13720 13721 /.*\d/dotall,info 13722 Capturing subpattern count = 0 13723 Compile options: dotall 13724 Overall options: anchored dotall 13725 Subject length lower bound = 1 13726 13727 /.*\d/dotall,no_dotstar_anchor,info 13728 Capturing subpattern count = 0 13729 Options: dotall no_dotstar_anchor 13730 Subject length lower bound = 1 13731 13732 /(*NO_DOTSTAR_ANCHOR)(?s).*\d/info 13733 Capturing subpattern count = 0 13734 Compile options: <none> 13735 Overall options: no_dotstar_anchor 13736 Subject length lower bound = 1 13737 13738 '^(?:(a)|b)(?(1)A|B)' 13739 aA123\=ovector=1 13740 Matched, but too many substrings 13741 0: aA 13742 aA123\=ovector=2 13743 0: aA 13744 1: a 13745 13746 '^(?:(?<AA>a)|b)(?(<AA>)A|B)' 13747 aA123\=ovector=1 13748 Matched, but too many substrings 13749 0: aA 13750 aA123\=ovector=2 13751 0: aA 13752 1: a 13753 13754 '^(?<AA>)(?:(?<AA>a)|b)(?(<AA>)A|B)'dupnames 13755 aA123\=ovector=1 13756 Matched, but too many substrings 13757 0: aA 13758 aA123\=ovector=2 13759 Matched, but too many substrings 13760 0: aA 13761 1: 13762 aA123\=ovector=3 13763 0: aA 13764 1: 13765 2: a 13766 13767 '^(?:(?<AA>X)|)(?:(?<AA>a)|b)\k{AA}'dupnames 13768 aa123\=ovector=1 13769 Matched, but too many substrings 13770 0: aa 13771 aa123\=ovector=2 13772 Matched, but too many substrings 13773 0: aa 13774 1: <unset> 13775 aa123\=ovector=3 13776 0: aa 13777 1: <unset> 13778 2: a 13779 13780 /(?<N111>(?J)(?<N111>1(111111)11|)1|1|)(?(<N111>)1)/ 13781 13782 /(?<N>(?J)(?<N>))(?-J)\k<N>/ 13783 13784 # Quantifiers are not allowed on condition assertions, but are otherwise 13785 # OK in conditions. 13786 13787 /(?(?=0)?)+/ 13788 Failed: error 109 at offset 7: quantifier does not follow a repeatable item 13789 13790 /(?(?=0)(?=00)?00765)/ 13791 00765 13792 0: 00765 13793 13794 /(?(?=0)(?=00)?00765|(?!3).56)/ 13795 00765 13796 0: 00765 13797 456 13798 0: 456 13799 \= Expect no match 13800 356 13801 No match 13802 13803 '^(a)*+(\w)' 13804 g 13805 0: g 13806 1: <unset> 13807 2: g 13808 g\=ovector=1 13809 Matched, but too many substrings 13810 0: g 13811 13812 '^(?:a)*+(\w)' 13813 g 13814 0: g 13815 1: g 13816 g\=ovector=1 13817 Matched, but too many substrings 13818 0: g 13819 13820 # These two pattern showeds up compile-time bugs 13821 13822 "((?2){0,1999}())?" 13823 13824 /((?+1)(\1))/B 13825 ------------------------------------------------------------------ 13826 Bra 13827 Once 13828 CBra 1 13829 Recurse 13830 CBra 2 13831 \1 13832 Ket 13833 Ket 13834 Ket 13835 Ket 13836 End 13837 ------------------------------------------------------------------ 13838 13839 # Callouts with string arguments 13840 13841 /a(?C"/ 13842 Failed: error 181 at offset 4: missing terminating delimiter for callout with string argument 13843 13844 /a(?C"a/ 13845 Failed: error 181 at offset 4: missing terminating delimiter for callout with string argument 13846 13847 /a(?C"a"/ 13848 Failed: error 139 at offset 7: closing parenthesis for (?C expected 13849 13850 /a(?C"a"bcde(?C"b")xyz/ 13851 Failed: error 139 at offset 7: closing parenthesis for (?C expected 13852 13853 /a(?C"a)b""c")/B 13854 ------------------------------------------------------------------ 13855 Bra 13856 a 13857 CalloutStr "a)b"c" 5 13 0 13858 Ket 13859 End 13860 ------------------------------------------------------------------ 13861 13862 /ab(?C" any text with spaces ")cde/B 13863 ------------------------------------------------------------------ 13864 Bra 13865 ab 13866 CalloutStr " any text with spaces " 6 30 1 13867 cde 13868 Ket 13869 End 13870 ------------------------------------------------------------------ 13871 abcde 13872 Callout (6): " any text with spaces " 13873 --->abcde 13874 ^ ^ c 13875 0: abcde 13876 12abcde 13877 Callout (6): " any text with spaces " 13878 --->12abcde 13879 ^ ^ c 13880 0: abcde 13881 13882 /^a(b)c(?C1)def/ 13883 abcdef 13884 --->abcdef 13885 1 ^ ^ d 13886 0: abcdef 13887 1: b 13888 13889 /^a(b)c(?C"AB")def/ 13890 abcdef 13891 Callout (10): "AB" 13892 --->abcdef 13893 ^ ^ d 13894 0: abcdef 13895 1: b 13896 13897 /^a(b)c(?C1)def/ 13898 abcdef\=callout_capture 13899 Callout 1: last capture = 1 13900 0: <unset> 13901 1: b 13902 --->abcdef 13903 ^ ^ d 13904 0: abcdef 13905 1: b 13906 13907 /^a(b)c(?C{AB})def/B 13908 ------------------------------------------------------------------ 13909 Bra 13910 ^ 13911 a 13912 CBra 1 13913 b 13914 Ket 13915 c 13916 CalloutStr {AB} 10 14 1 13917 def 13918 Ket 13919 End 13920 ------------------------------------------------------------------ 13921 abcdef\=callout_capture 13922 Callout (10): {AB} last capture = 1 13923 0: <unset> 13924 1: b 13925 --->abcdef 13926 ^ ^ d 13927 0: abcdef 13928 1: b 13929 13930 /(?C`a``b`)(?C'a''b')(?C"a""b")(?C^a^^b^)(?C%a%%b%)(?C#a##b#)(?C$a$$b$)(?C{a}}b})/B,callout_info 13931 ------------------------------------------------------------------ 13932 Bra 13933 CalloutStr `a`b` 4 10 0 13934 CalloutStr 'a'b' 14 20 0 13935 CalloutStr "a"b" 24 30 0 13936 CalloutStr ^a^b^ 34 40 0 13937 CalloutStr %a%b% 44 50 0 13938 CalloutStr #a#b# 54 60 0 13939 CalloutStr $a$b$ 64 70 0 13940 CalloutStr {a}b} 74 80 0 13941 Ket 13942 End 13943 ------------------------------------------------------------------ 13944 Callout `a`b` ( 13945 Callout 'a'b' ( 13946 Callout "a"b" ( 13947 Callout ^a^b^ ( 13948 Callout %a%b% ( 13949 Callout #a#b# ( 13950 Callout $a$b$ ( 13951 Callout {a}b} 13952 13953 /(?:a(?C`code`)){3}/B 13954 ------------------------------------------------------------------ 13955 Bra 13956 Bra 13957 a 13958 CalloutStr `code` 8 14 0 13959 Ket 13960 Bra 13961 a 13962 CalloutStr `code` 8 14 0 13963 Ket 13964 Bra 13965 a 13966 CalloutStr `code` 8 14 0 13967 Ket 13968 Ket 13969 End 13970 ------------------------------------------------------------------ 13971 13972 /^(?(?C25)(?=abc)abcd|xyz)/B,callout_info 13973 ------------------------------------------------------------------ 13974 Bra 13975 ^ 13976 Cond 13977 Callout 25 9 7 13978 Assert 13979 abc 13980 Ket 13981 abcd 13982 Alt 13983 xyz 13984 Ket 13985 Ket 13986 End 13987 ------------------------------------------------------------------ 13988 Callout 25 (?=abc) 13989 abcdefg 13990 --->abcdefg 13991 25 ^ (?=abc) 13992 0: abcd 13993 xyz123 13994 --->xyz123 13995 25 ^ (?=abc) 13996 0: xyz 13997 13998 /^(?(?C$abc$)(?=abc)abcd|xyz)/B 13999 ------------------------------------------------------------------ 14000 Bra 14001 ^ 14002 Cond 14003 CalloutStr $abc$ 7 12 7 14004 Assert 14005 abc 14006 Ket 14007 abcd 14008 Alt 14009 xyz 14010 Ket 14011 Ket 14012 End 14013 ------------------------------------------------------------------ 14014 abcdefg 14015 Callout (7): $abc$ 14016 --->abcdefg 14017 ^ (?=abc) 14018 0: abcd 14019 xyz123 14020 Callout (7): $abc$ 14021 --->xyz123 14022 ^ (?=abc) 14023 0: xyz 14024 14025 /^ab(?C'first')cd(?C"second")ef/ 14026 abcdefg 14027 Callout (7): 'first' 14028 --->abcdefg 14029 ^ ^ c 14030 Callout (20): "second" 14031 --->abcdefg 14032 ^ ^ e 14033 0: abcdef 14034 14035 /(?:a(?C`code`)){3}X/ 14036 aaaXY 14037 Callout (8): `code` 14038 --->aaaXY 14039 ^^ ) 14040 Callout (8): `code` 14041 --->aaaXY 14042 ^ ^ ) 14043 Callout (8): `code` 14044 --->aaaXY 14045 ^ ^ ) 14046 0: aaaX 14047 14048 # Binary zero in callout string 14049 # a ( ? C ' x z ' ) b 14050 / 61 28 3f 43 27 78 00 7a 27 29 62/hex,callout_info 14051 Callout 'x\x00z' b 14052 abcdefgh 14053 Callout (5): 'x\x00z' 14054 --->abcdefgh 14055 ^^ b 14056 0: ab 14057 14058 /(?(?!)^)/ 14059 14060 /(?(?!)a|b)/ 14061 bbb 14062 0: b 14063 \= Expect no match 14064 aaa 14065 No match 14066 14067 # JIT gives a different error message for the infinite recursion 14068 14069 "(*NO_JIT)((?2)+)((?1)){" 14070 abcd{ 14071 Failed: error -52: nested recursion at the same subject position 14072 14073 # Perl fails to diagnose the absence of an assertion 14074 14075 "(?(?<E>.*!.*)?)" 14076 Failed: error 128 at offset 3: assertion expected after (?( or (?(?C) 14077 14078 "X((?2)()*+){2}+"B 14079 ------------------------------------------------------------------ 14080 Bra 14081 X 14082 Once 14083 CBra 1 14084 Recurse 14085 Braposzero 14086 SCBraPos 2 14087 KetRpos 14088 Ket 14089 CBra 1 14090 Recurse 14091 Braposzero 14092 SCBraPos 2 14093 KetRpos 14094 Ket 14095 Ket 14096 Ket 14097 End 14098 ------------------------------------------------------------------ 14099 14100 "X((?2)()*+){2}"B 14101 ------------------------------------------------------------------ 14102 Bra 14103 X 14104 CBra 1 14105 Recurse 14106 Braposzero 14107 SCBraPos 2 14108 KetRpos 14109 Ket 14110 CBra 1 14111 Recurse 14112 Braposzero 14113 SCBraPos 2 14114 KetRpos 14115 Ket 14116 Ket 14117 End 14118 ------------------------------------------------------------------ 14119 14120 /(?<=\bABQ(3(?-7)))/ 14121 Failed: error 115 at offset 15: reference to non-existent subpattern 14122 14123 /(?<=\bABQ(3(?+7)))/ 14124 Failed: error 115 at offset 15: reference to non-existent subpattern 14125 14126 ";(?<=()((?3))((?2)))" 14127 Failed: error 125 at offset 20: lookbehind assertion is not fixed length 14128 14129 # Perl loops on this (PCRE2 used to!) 14130 14131 /(?<=\Ka)/g,aftertext 14132 aaaaa 14133 0: a 14134 0+ aaaa 14135 0: a 14136 0+ aaa 14137 0: a 14138 0+ aa 14139 0: a 14140 0+ a 14141 0: a 14142 0+ 14143 14144 /(?<=\Ka)/altglobal,aftertext 14145 aaaaa 14146 0: a 14147 0+ aaaa 14148 0: a 14149 0+ aaa 14150 0: a 14151 0+ aa 14152 0: a 14153 0+ a 14154 0: a 14155 0+ 14156 14157 /((?2){73}(?2))((?1))/info 14158 Capturing subpattern count = 2 14159 May match empty string 14160 Subject length lower bound = 0 14161 14162 /abc/ 14163 \= Expect no match 14164 \[9x!xxx(]{9999} 14165 No match 14166 14167 /(abc)*/ 14168 \[abc]{5} 14169 0: abcabcabcabcabc 14170 1: abc 14171 14172 /^/gm 14173 \n\n\n 14174 0: 14175 0: 14176 0: 14177 14178 /^/gm,alt_circumflex 14179 \n\n\n 14180 0: 14181 0: 14182 0: 14183 0: 14184 14185 /((((((((x))))))))\81/ 14186 Failed: error 115 at offset 19: reference to non-existent subpattern 14187 xx1 14188 14189 /((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((x))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))\80/ 14190 xx 14191 Matched, but too many substrings 14192 0: xx 14193 1: x 14194 2: x 14195 3: x 14196 4: x 14197 5: x 14198 6: x 14199 7: x 14200 8: x 14201 9: x 14202 10: x 14203 11: x 14204 12: x 14205 13: x 14206 14: x 14207 14208 /\80/ 14209 Failed: error 115 at offset 2: reference to non-existent subpattern 14210 14211 /A\8B\9C/ 14212 Failed: error 115 at offset 2: reference to non-existent subpattern 14213 A8B9C 14214 14215 /(?x:((?'a')) # comment (with parentheses) and | vertical 14216 (?-x:#not a comment (?'b')) # this is a comment () 14217 (?'c')) # not a comment (?'d')/info 14218 Capturing subpattern count = 5 14219 Named capturing subpatterns: 14220 a 2 14221 b 3 14222 c 4 14223 d 5 14224 First code unit = '#' 14225 Last code unit = ' ' 14226 Subject length lower bound = 32 14227 14228 /(?|(?'a')(2)(?'b')|(?'a')(?'a')(3))/I,dupnames 14229 Capturing subpattern count = 3 14230 Named capturing subpatterns: 14231 a 1 14232 a 2 14233 b 3 14234 Options: dupnames 14235 Starting code units: 2 3 14236 Subject length lower bound = 1 14237 A23B 14238 0: 2 14239 1: 14240 2: 2 14241 3: 14242 B32A 14243 0: 3 14244 1: 14245 2: 14246 3: 3 14247 14248 # These are some patterns that used to cause buffer overflows or other errors 14249 # while compiling. 14250 14251 /.((?2)(?R)|\1|$)()/B 14252 ------------------------------------------------------------------ 14253 Bra 14254 Any 14255 Once 14256 CBra 1 14257 Recurse 14258 Recurse 14259 Alt 14260 \1 14261 Alt 14262 $ 14263 Ket 14264 Ket 14265 CBra 2 14266 Ket 14267 Ket 14268 End 14269 ------------------------------------------------------------------ 14270 14271 /.((?3)(?R)()(?2)|\1|$)()/B 14272 ------------------------------------------------------------------ 14273 Bra 14274 Any 14275 Once 14276 CBra 1 14277 Recurse 14278 Recurse 14279 CBra 2 14280 Ket 14281 Recurse 14282 Alt 14283 \1 14284 Alt 14285 $ 14286 Ket 14287 Ket 14288 CBra 3 14289 Ket 14290 Ket 14291 End 14292 ------------------------------------------------------------------ 14293 14294 /(\9*+(?2);\3++()2|)++{/ 14295 Failed: error 115 at offset 2: reference to non-existent subpattern 14296 14297 /\V\x85\9*+((?2)\3++()2)*:2/ 14298 Failed: error 115 at offset 7: reference to non-existent subpattern 14299 14300 /(((?(R)){0,2}) (?'x'((?'R')((?'R')))))/dupnames 14301 14302 /(((?(X)){0,2}) (?'x'((?'X')((?'X')))))/dupnames 14303 14304 /(((?(R)){0,2}) (?'x'((?'X')((?'R')))))/ 14305 14306 "(?J)(?'d'(?'d'\g{d}))" 14307 14308 "(?=!((?2)(?))({8(?<=(?1){29}8bbbb\x16\xd\xc6^($(\xa9H4){4}h}?1)B))\x15')" 14309 Failed: error 125 at offset 72: lookbehind assertion is not fixed length 14310 14311 /A(?'')Z/ 14312 Failed: error 162 at offset 4: subpattern name expected 14313 14314 "(?J:(?|(?'R')(\k'R')|((?'R'))))" 14315 14316 /(?<=|(\,\$(?73591620449005828816)\xa8.{7}){6}\x09)/ 14317 Failed: error 161 at offset 32: number is too big 14318 14319 /^(?:(?(1)x|)+)+$()/B 14320 ------------------------------------------------------------------ 14321 Bra 14322 ^ 14323 SBra 14324 SCond 14325 1 Cond ref 14326 x 14327 Alt 14328 KetRmax 14329 KetRmax 14330 $ 14331 CBra 1 14332 Ket 14333 Ket 14334 End 14335 ------------------------------------------------------------------ 14336 14337 /[[:>:]](?<)/ 14338 Failed: error 124 at offset 10: letter or underscore expected after (?< or (?' 14339 14340 /((?x)(*:0))#(?'/ 14341 Failed: error 124 at offset 15: letter or underscore expected after (?< or (?' 14342 14343 /(?C$[$)(?<]/ 14344 Failed: error 124 at offset 10: letter or underscore expected after (?< or (?' 14345 14346 /(?C$)$)(?<]/ 14347 Failed: error 124 at offset 10: letter or underscore expected after (?< or (?' 14348 14349 /(?(R))*+/B 14350 ------------------------------------------------------------------ 14351 Bra 14352 Braposzero 14353 SBraPos 14354 SCond 14355 Cond recurse any 14356 Ket 14357 KetRpos 14358 Ket 14359 End 14360 ------------------------------------------------------------------ 14361 abcd 14362 0: 14363 14364 /((?x)(?#))#(?'/ 14365 Failed: error 124 at offset 14: letter or underscore expected after (?< or (?' 14366 14367 /((?x)(?#))#(?'abc')/I 14368 Capturing subpattern count = 2 14369 Named capturing subpatterns: 14370 abc 2 14371 First code unit = '#' 14372 Subject length lower bound = 1 14373 14374 /[[:\\](?<[::]/ 14375 Failed: error 124 at offset 9: letter or underscore expected after (?< or (?' 14376 14377 /[[:\\](?'abc')[a:]/I 14378 Capturing subpattern count = 1 14379 Named capturing subpatterns: 14380 abc 1 14381 Starting code units: : [ \ 14382 Subject length lower bound = 2 14383 14384 "[[[.\xe8Nq\xffq\xff\xe0\x2|||::Nq\xffq\xff\xe0\x6\x2|||::[[[:[::::::[[[[[::::::::[:[[[:[:::[[[[[[[[[[[[:::::::::::::::::[[.\xe8Nq\xffq\xff\xe0\x2|||::Nq\xffq\xff\xe0\x6\x2|||::[[[:[::::::[[[[[::::::::[:[[[:[:::[[[[[[[[[[[[[[:::E[[[:[:[[:[:::[[:::E[[[:[:[[:'[:::::E[[[:[::::::[[[:[[[[[[[::E[[[:[::::::[[[:[[[[[[[[:[[::[::::[[:::::::[[:[[[[[[[:[[::[:[[:[~" 14385 Failed: error 106 at offset 353: missing terminating ] for character class 14386 14387 /()(?(R)0)*+/B 14388 ------------------------------------------------------------------ 14389 Bra 14390 CBra 1 14391 Ket 14392 Braposzero 14393 SBraPos 14394 SCond 14395 Cond recurse any 14396 0 14397 Ket 14398 KetRpos 14399 Ket 14400 End 14401 ------------------------------------------------------------------ 14402 14403 /(?R-:(?</ 14404 Failed: error 114 at offset 8: missing closing parenthesis 14405 14406 /(?R-:(?<)/ 14407 Failed: error 129 at offset 3: (?R or (?[+-]digits must be followed by ) 14408 14409 /(?(?C{\Q})(?!(?'/ 14410 Failed: error 124 at offset 16: letter or underscore expected after (?< or (?' 14411 14412 /(?(?C{\Q})(?!(?'abc')))/I 14413 Capturing subpattern count = 1 14414 Named capturing subpatterns: 14415 abc 1 14416 May match empty string 14417 Subject length lower bound = 0 14418 14419 /(?1){3918}(((((0(\k'R'))))(?J)(?'R'(?'R'\3){99})))/I 14420 Capturing subpattern count = 8 14421 Max back reference = 8 14422 Named capturing subpatterns: 14423 R 7 14424 R 8 14425 Duplicate name status changes 14426 Last code unit = '0' 14427 Subject length lower bound = 65535 14428 14429 /(?|(aaa)|(b))\g{1}/I 14430 Capturing subpattern count = 1 14431 Max back reference = 1 14432 Starting code units: a b 14433 Subject length lower bound = 0 14434 14435 /(?|(aaa)|(b))(?1)/I 14436 Capturing subpattern count = 1 14437 Starting code units: a b 14438 Subject length lower bound = 4 14439 14440 /(?|(aaa)|(b))/I 14441 Capturing subpattern count = 1 14442 Starting code units: a b 14443 Subject length lower bound = 1 14444 14445 /(?|(?'a'aaa)|(?'a'b))\k'a'/I 14446 Capturing subpattern count = 1 14447 Max back reference = 1 14448 Named capturing subpatterns: 14449 a 1 14450 Starting code units: a b 14451 Subject length lower bound = 0 14452 14453 /(?|(?'a'aaa)|(?'a'b))(?'a'cccc)\k'a'/I,dupnames 14454 Capturing subpattern count = 2 14455 Max back reference = 2 14456 Named capturing subpatterns: 14457 a 1 14458 a 2 14459 Options: dupnames 14460 Starting code units: a b 14461 Last code unit = 'c' 14462 Subject length lower bound = 0 14463 14464 /ab{3cd/ 14465 ab{3cd 14466 0: ab{3cd 14467 14468 /ab{3,cd/ 14469 ab{3,cd 14470 0: ab{3,cd 14471 14472 /ab{3,4a}cd/ 14473 ab{3,4a}cd 14474 0: ab{3,4a}cd 14475 14476 /{4,5a}bc/ 14477 {4,5a}bc 14478 0: {4,5a}bc 14479 14480 /\x0{ab}/ 14481 \0{ab} 14482 0: \x00{ab} 14483 14484 /^(a(b))\1\g1\g{1}\g-1\g{-1}\g{-02}Z/ 14485 ababababbbabZXXXX 14486 0: ababababbbabZ 14487 1: ab 14488 2: b 14489 14490 /.*?a(*PRUNE)b/ 14491 aab 14492 0: ab 14493 14494 /.*?a(*PRUNE)b/s 14495 aab 14496 0: ab 14497 14498 /^a(*PRUNE)b/s 14499 \= Expect no match 14500 aab 14501 No match 14502 14503 /.*?a(*SKIP)b/ 14504 aab 14505 0: ab 14506 14507 /(?(8000000000/ 14508 Failed: error 114 at offset 13: missing closing parenthesis 14509 14510 /((?(R8000000000)))/ 14511 Failed: error 161 at offset 16: number is too big 14512 14513 /0(?0)|(1)(*THEN)(*SKIP:0)(*FAIL)/ 14514 \= Expect no match 14515 01 14516 No match 14517 14518 /(?(1)()\983040\2)/ 14519 Failed: error 115 at offset 13: reference to non-existent subpattern 14520 14521 /(*LIMIT_MATCH=)abc/ 14522 Failed: error 160 at offset 14: (*VERB) not recognized or malformed 14523 14524 /(*CRLF)(*LIMIT_MATCH=)abc/ 14525 Failed: error 160 at offset 21: (*VERB) not recognized or malformed 14526 14527 /(?:ab)?(?:ab)(?:ab)/ 14528 abab 14529 0: abab 14530 ababab 14531 0: ababab 14532 \= Expect no match 14533 aba 14534 No match 14535 14536 /((*MARK:A))++a(*SKIP:B)b/ 14537 \= Expect no match 14538 aacb 14539 No match 14540 14541 /(*MARK:a\zb)z/alt_verbnames 14542 Failed: error 140 at offset 9: invalid escape sequence in (*VERB) name 14543 14544 /(*:ab\t(d\)c)xxx/ 14545 Failed: error 122 at offset 12: unmatched closing parenthesis 14546 14547 /(*:ab\t(d\)c)xxx/alt_verbnames,mark 14548 cxxxz 14549 0: xxx 14550 MK: ab\x09(d)c 14551 14552 /(*:A\Qxx)x\EB)x/alt_verbnames,mark 14553 x 14554 0: x 14555 MK: Axx)xB 14556 14557 /(*:A\ExxxB)x/alt_verbnames,mark 14558 x 14559 0: x 14560 MK: AxxxB 14561 14562 /(*: A \ and #comment 14563 \ B)x/x,alt_verbnames,mark 14564 x 14565 0: x 14566 MK: A and B 14567 14568 /(*:A 14569 B)x/alt_verbnames,mark 14570 x 14571 0: x 14572 MK: A\x0aB 14573 14574 /(*:abc\Qpqr)/alt_verbnames 14575 Failed: error 160 at offset 12: (*VERB) not recognized or malformed 14576 14577 /abc/use_offset_limit 14578 1234abcde\=offset_limit=100 14579 0: abc 14580 1234abcde\=offset_limit=9 14581 0: abc 14582 1234abcde\=offset_limit=4 14583 0: abc 14584 1234abcde\=offset_limit=4,offset=4 14585 0: abc 14586 \= Expect no match 14587 1234abcde\=offset_limit=4,offset=5 14588 No match 14589 1234abcde\=offset_limit=3 14590 No match 14591 14592 /(?<=abc)/use_offset_limit 14593 1234abc\=offset_limit=7 14594 0: 14595 \= Expect no match 14596 1234abc\=offset_limit=6 14597 No match 14598 14599 /A/g,replace=-,use_offset_limit 14600 XAXAXAXAXA\=offset_limit=4 14601 2: X-X-XAXAXA 14602 14603 /abc/ 14604 \= Expect error 14605 1234abcde\=offset_limit=4 14606 Failed: error -56: offset limit set without PCRE2_USE_OFFSET_LIMIT 14607 14608 /^\w/m,use_offset_limit 14609 \n..\naa\=offset_limit=3 14610 No match 14611 \n..\naa\=offset_limit=4 14612 0: a 14613 14614 /abcd/null_context 14615 abcd\=null_context 14616 0: abcd 14617 \= Expect error 14618 abcd\=null_context,find_limits 14619 ** Not allowed together: find_limits null_context 14620 abcd\=allusedtext,startchar 14621 ** Not allowed together: allusedtext startchar 14622 14623 /abcd/replace=w\rx\x82y\o{333}z(\Q12\$34$$\x34\E5$$),substitute_extended 14624 abcd 14625 1: w\x0dx\x82y\xdbz(12\$34$$\x345$) 14626 14627 /a(bc)(DE)/replace=a\u$1\U$1\E$1\l$2\L$2\Eab\Uab\LYZ\EDone,substitute_extended 14628 abcDE 14629 1: aBcBCbcdEdeabAByzDone 14630 14631 /abcd/replace=xy\kz,substitute_extended 14632 abcd 14633 Failed: error -57 at offset 4 in replacement: bad escape sequence in replacement string 14634 14635 /a(?:(b)|(c))/substitute_extended,replace=X${1:+1:-1}X${2:+2:-2} 14636 ab 14637 1: X1X-2 14638 ac 14639 1: X-1X2 14640 ab\=replace=${1:+$1\:$1:$2} 14641 1: b:b 14642 ac\=replace=${1:+$1\:$1:$2} 14643 1: c 14644 14645 /a(?:(b)|(c))/substitute_extended,replace=X${1:-1:-1}X${2:-2:-2} 14646 ab 14647 1: XbX2:-2 14648 ac 14649 1: X1:-1Xc 14650 14651 /(a)/substitute_extended,replace=>${1:+\Q$1:{}$$\E+\U$1}< 14652 a 14653 1: >$1:{}$$+A< 14654 14655 /X(b)Y/substitute_extended 14656 XbY\=replace=x${1:+$1\U$1}y 14657 1: xbBY 14658 XbY\=replace=\Ux${1:+$1$1}y 14659 1: XBBY 14660 14661 /a/substitute_extended,replace=${*MARK:+a:b} 14662 a 14663 Failed: error -58 at offset 7 in replacement: expected closing curly bracket in replacement string 14664 14665 /(abcd)/replace=${1:+xy\kz},substitute_extended 14666 abcd 14667 Failed: error -57 at offset 8 in replacement: bad escape sequence in replacement string 14668 14669 /(abcd)/ 14670 abcd\=replace=${1:+xy\kz},substitute_extended 14671 Failed: error -57 at offset 8 in replacement: bad escape sequence in replacement string 14672 14673 /abcd/substitute_extended,replace=>$1< 14674 abcd 14675 Failed: error -49 at offset 3 in replacement: unknown substring 14676 14677 /abcd/substitute_extended,replace=>xxx${xyz}<<< 14678 abcd 14679 Failed: error -49 at offset 10 in replacement: unknown substring 14680 14681 /(?J)(?:(?<A>a)|(?<A>b))/replace=<$A> 14682 [a] 14683 1: [<a>] 14684 [b] 14685 1: [<b>] 14686 \= Expect error 14687 (a)\=ovector=1 14688 Failed: error -54 at offset 3 in replacement: requested value is not available 14689 14690 /(a)|(b)/replace=<$1> 14691 \= Expect error 14692 b 14693 Failed: error -55 at offset 3 in replacement: requested value is not set 14694 14695 /(aa)(BB)/substitute_extended,replace=\U$1\L$2\E$1..\U$1\l$2$1 14696 aaBB 14697 1: AAbbaa..AAbBaa 14698 14699 /^(o(\1{72}{\"{\\{00000059079}\d*){74}}){19}/I 14700 Capturing subpattern count = 2 14701 Max back reference = 1 14702 Compile options: <none> 14703 Overall options: anchored 14704 Last code unit = '}' 14705 Subject length lower bound = 65535 14706 14707 /((p(?'K/ 14708 Failed: error 142 at offset 7: syntax error in subpattern name (missing terminator) 14709 14710 /((p(?'K/no_auto_capture 14711 Failed: error 142 at offset 7: syntax error in subpattern name (missing terminator) 14712 14713 /abc/replace=A$3123456789Z 14714 abc 14715 Failed: error -49 at offset 3 in replacement: unknown substring 14716 14717 /(?<!a{65535}a{5})x/I 14718 Failed: error 187 at offset 16: lookbehind assertion is too long 14719 14720 /(?<!a{65535})x/I 14721 Capturing subpattern count = 0 14722 Max lookbehind = 65535 14723 First code unit = 'x' 14724 Subject length lower bound = 1 14725 14726 /(?=a\K)/replace=z 14727 BaCaD 14728 Failed: error -60: match with end before start is not supported 14729 14730 /(?'abcdefghijklmnopqrstuvwxyzABCDEFG'toolong)/ 14731 Failed: error 148 at offset 36: subpattern name is too long (maximum 32 characters) 14732 14733 /(?'abcdefghijklmnopqrstuvwxyzABCDEF'justright)/ 14734 14735 # These two use zero-termination 14736 /abcd/max_pattern_length=3 14737 Failed: error 188 at offset 0: pattern string is longer than the limit set by the application 14738 14739 /abc/max_pattern_length=3 14740 14741 # These two, being hex, pass the length 14742 /abcdefab/hex,max_pattern_length=3 14743 Failed: error 188 at offset 0: pattern string is longer than the limit set by the application 14744 14745 /abcdef/hex,max_pattern_length=3 14746 14747 # These two patterns used to take a long time to compile 14748 14749 "(.*) 14750 ((?-2)(?-2))((?-2)(?-2))((?-2)(?-2))((?-2)(?-2)) 14751 ((?-2)(?-2))((?-2)(?-2))((?-2)(?-2))((?-2)(?-2)) 14752 ((?-2)(?-2))((?-2)(?-2))((?-2)(?-2))"xI 14753 Capturing subpattern count = 12 14754 May match empty string 14755 Options: extended 14756 First code unit at start or follows newline 14757 Subject length lower bound = 0 14758 14759 "(?<=a() 14760 ((?-2)(?-2))((?-2)(?-2))((?-2)(?-2))((?-2)(?-2)) 14761 ((?-2)(?-2))((?-2)(?-2))((?-2)(?-2))((?-2)(?-2)) 14762 ((?-2)(?-2))((?-2)(?-2))((?-2)(?-2)) 14763 a)"xI 14764 Capturing subpattern count = 12 14765 Max lookbehind = 2 14766 May match empty string 14767 Options: extended 14768 Subject length lower bound = 0 14769 14770 # When (?| is used and groups of the same number may be different, 14771 # we have to rely on a count to catch overly complicated patterns. 14772 14773 "(?|()|())(.*) 14774 ((?-2)(?-2))((?-2)(?-2))((?-2)(?-2))((?-2)(?-2)) 14775 ((?-2)(?-2))((?-2)(?-2))((?-2)(?-2))((?-2)(?-2)) 14776 ((?-2)(?-2))((?-2)(?-2))((?-2)(?-2))"xI 14777 Failed: error 186 at offset 148: regular expression is too complicated 14778 14779 "(?|()|())(?<=a() 14780 ((?-2)(?-2))((?-2)(?-2))((?-2)(?-2))((?-2)(?-2)) 14781 ((?-2)(?-2))((?-2)(?-2))((?-2)(?-2))((?-2)(?-2)) 14782 ((?-2)(?-2))((?-2)(?-2))((?-2)(?-2)) 14783 a)"xI 14784 Failed: error 186 at offset 154: regular expression is too complicated 14785 14786 # Test the use of malloc for caching group information when there are more 14787 # groups than fit into the on-stack workspace. 14788 14789 /\[()]{1024}/I,expand 14790 Expanded: ()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()() 14791 Capturing subpattern count = 1024 14792 May match empty string 14793 Subject length lower bound = 0 14794 14795 # Test minlength capped at 65535 14796 14797 /(A{65000})\1{65000}/I 14798 Capturing subpattern count = 1 14799 Max back reference = 1 14800 First code unit = 'A' 14801 Last code unit = 'A' 14802 Subject length lower bound = 65535 14803 14804 # Test group scans when numbers are not unique 14805 14806 /(?|()+|(a)+)/BI 14807 ------------------------------------------------------------------ 14808 Bra 14809 Bra 14810 SCBra 1 14811 KetRmax 14812 Alt 14813 CBra 1 14814 a 14815 KetRmax 14816 Ket 14817 Ket 14818 End 14819 ------------------------------------------------------------------ 14820 Capturing subpattern count = 1 14821 May match empty string 14822 Subject length lower bound = 0 14823 14824 /(?|(a)+|()+)/BI 14825 ------------------------------------------------------------------ 14826 Bra 14827 Bra 14828 CBra 1 14829 a 14830 KetRmax 14831 Alt 14832 SCBra 1 14833 KetRmax 14834 Ket 14835 Ket 14836 End 14837 ------------------------------------------------------------------ 14838 Capturing subpattern count = 1 14839 May match empty string 14840 Subject length lower bound = 0 14841 14842 /(?|()|(a))/BI 14843 ------------------------------------------------------------------ 14844 Bra 14845 Bra 14846 CBra 1 14847 Ket 14848 Alt 14849 CBra 1 14850 a 14851 Ket 14852 Ket 14853 Ket 14854 End 14855 ------------------------------------------------------------------ 14856 Capturing subpattern count = 1 14857 May match empty string 14858 Subject length lower bound = 0 14859 14860 /(?|(a)|())/BI 14861 ------------------------------------------------------------------ 14862 Bra 14863 Bra 14864 CBra 1 14865 a 14866 Ket 14867 Alt 14868 CBra 1 14869 Ket 14870 Ket 14871 Ket 14872 End 14873 ------------------------------------------------------------------ 14874 Capturing subpattern count = 1 14875 May match empty string 14876 Subject length lower bound = 0 14877 14878 # Test CRLF handling in empty string substitutions 14879 14880 /^$/gm,newline=anycrlf,replace=- 14881 X\r\n\r\nY 14882 1: X\x0d\x0a-\x0d\x0aY 14883 14884 /^$/gm,newline=crlf,replace=- 14885 X\r\n\r\nY 14886 1: X\x0d\x0a-\x0d\x0aY 14887 14888 /^$/gm,newline=any,replace=- 14889 X\r\n\r\nY 14890 1: X\x0d\x0a-\x0d\x0aY 14891 14892 "(*ANYCRLF)(?m)^(.*[^0-9\r\n].*|)$"g,replace=NaN 14893 15\r\nfoo\r\n20\r\nbar\r\nbaz\r\n\r\n20 14894 4: 15\x0d\x0aNaN\x0d\x0a20\x0d\x0aNaN\x0d\x0aNaN\x0d\x0aNaN\x0d\x0a20 14895 14896 /a[[:punct:]b]/bincode 14897 ------------------------------------------------------------------ 14898 Bra 14899 a 14900 [!-/:-@[-`b{-~] 14901 Ket 14902 End 14903 ------------------------------------------------------------------ 14904 14905 /a[b[:punct:]]/bincode 14906 ------------------------------------------------------------------ 14907 Bra 14908 a 14909 [!-/:-@[-`b{-~] 14910 Ket 14911 End 14912 ------------------------------------------------------------------ 14913 14914 /L(?#(|++<!(2)?/B 14915 ------------------------------------------------------------------ 14916 Bra 14917 L?+ 14918 Ket 14919 End 14920 ------------------------------------------------------------------ 14921 14922 /L(?#(|++<!(2)?/B,no_auto_possess 14923 ------------------------------------------------------------------ 14924 Bra 14925 L? 14926 Ket 14927 End 14928 ------------------------------------------------------------------ 14929 14930 /L(?#(|++<!(2)?/B,auto_callout 14931 ------------------------------------------------------------------ 14932 Bra 14933 Callout 255 0 14 14934 L?+ 14935 Callout 255 14 0 14936 Ket 14937 End 14938 ------------------------------------------------------------------ 14939 14940 /L(?#(|++<!(2)?/B,no_auto_possess,auto_callout 14941 ------------------------------------------------------------------ 14942 Bra 14943 Callout 255 0 14 14944 L? 14945 Callout 255 14 0 14946 Ket 14947 End 14948 ------------------------------------------------------------------ 14949 14950 /(A*)\E+/B,auto_callout 14951 ------------------------------------------------------------------ 14952 Bra 14953 Callout 255 0 7 14954 SCBra 1 14955 Callout 255 1 2 14956 A* 14957 Callout 255 3 0 14958 KetRmax 14959 Callout 255 7 0 14960 Ket 14961 End 14962 ------------------------------------------------------------------ 14963 14964 /()\Q\E*]/B,auto_callout 14965 ------------------------------------------------------------------ 14966 Bra 14967 Callout 255 0 7 14968 Brazero 14969 SCBra 1 14970 Callout 255 1 0 14971 KetRmax 14972 Callout 255 7 1 14973 ] 14974 Callout 255 8 0 14975 Ket 14976 End 14977 ------------------------------------------------------------------ 14978 a[bc]d 14979 --->a[bc]d 14980 +0 ^ ()\Q\E* 14981 +1 ^ ) 14982 +7 ^ ] 14983 +8 ^^ 14984 0: ] 14985 1: 14986 14987 /\x8a+f|;T?(*:;.'?`(\xeap ){![^()!y*''C*(?';]{1;(\x08)/B,alt_verbnames,dupnames,extended 14988 ------------------------------------------------------------------ 14989 Bra 14990 \x{8a}++ 14991 f 14992 Alt 14993 ; 14994 T? 14995 *MARK ;.'?`(\x{ea}p 14996 {! 14997 [\x00- "-&+-:<->@-BD-xz-\xff] (neg) 14998 {1; 14999 CBra 1 15000 \x08 15001 Ket 15002 Ket 15003 End 15004 ------------------------------------------------------------------ 15005 15006 # Tests for NULL characters in comments and verb "names" and callouts 15007 15008 # /A#B\x00C\x0aZ/ 15009 /41 23 42 00 43 0a 5a/Bx,hex 15010 ------------------------------------------------------------------ 15011 Bra 15012 AZ 15013 Ket 15014 End 15015 ------------------------------------------------------------------ 15016 15017 # /A+#B\x00C\x0a+/ 15018 /41 2b 23 42 00 43 0a 2b/Bx,hex 15019 ------------------------------------------------------------------ 15020 Bra 15021 A++ 15022 Ket 15023 End 15024 ------------------------------------------------------------------ 15025 15026 # /A(*:B\x00W#X\00Y\x0aC)Z/ 15027 /41 28 2a 3a 42 00 57 23 58 00 59 0a 43 29 5a/Bx,hex,alt_verbnames 15028 ------------------------------------------------------------------ 15029 Bra 15030 A 15031 *MARK B\x{0}WC 15032 Z 15033 Ket 15034 End 15035 ------------------------------------------------------------------ 15036 15037 # /A(*:B\x00W#X\00Y\x0aC)Z/ 15038 /41 28 2a 3a 42 00 57 23 58 00 59 0a 43 29 5a/Bx,hex 15039 ------------------------------------------------------------------ 15040 Bra 15041 A 15042 *MARK B\x{0}W#X\x{0}Y\x{a}C 15043 Z 15044 Ket 15045 End 15046 ------------------------------------------------------------------ 15047 15048 # /A(?C{X\x00Y})B/ 15049 /41 28 3f 43 7b 58 00 59 7d 29 42/B,hex 15050 ------------------------------------------------------------------ 15051 Bra 15052 A 15053 CalloutStr {X\x{0}Y} 5 10 1 15054 B 15055 Ket 15056 End 15057 ------------------------------------------------------------------ 15058 15059 # /A(?#X\x00Y)B/ 15060 /41 28 3f 23 7b 00 7d 29 42/B,hex 15061 ------------------------------------------------------------------ 15062 Bra 15063 AB 15064 Ket 15065 End 15066 ------------------------------------------------------------------ 15067 15068 # Tests for leading comment in extended patterns 15069 15070 / (?-x):?/extended 15071 15072 /(?-x):?/extended 15074 15075 /0b 28 3f 2d 78 29 3a/hex,extended 15076 15077 /#comment 15078 (?-x):?/extended 15079 15080 /(8(*:6^\x09x\xa6l\)6!|\xd0:[^:|)\x09d\Z\d{85*m(?'(?<1!)*\W[*\xff]!!h\w]*\xbe;/alt_bsux,alt_verbnames,allow_empty_class,dollar_endonly,extended,multiline,never_utf,no_dotstar_anchor,no_start_optimize 15081 Failed: error 124 at offset 49: letter or underscore expected after (?< or (?' 15082 15083 /a|(b)c/replace=>$1<,substitute_unset_empty 15084 cat 15085 1: c><t 15086 xbcom 15087 1: x>b<om 15088 15089 /a|(b)c/ 15090 cat\=replace=>$1< 15091 Failed: error -55 at offset 3 in replacement: requested value is not set 15092 cat\=replace=>$1<,substitute_unset_empty 15093 1: c><t 15094 xbcom\=replace=>$1<,substitute_unset_empty 15095 1: x>b<om 15096 15097 /a|(b)c/substitute_extended 15098 cat\=replace=>${2:-xx}< 15099 Failed: error -49 at offset 9 in replacement: unknown substring 15100 cat\=replace=>${2:-xx}<,substitute_unknown_unset 15101 1: c>xx<t 15102 cat\=replace=>${X:-xx}<,substitute_unknown_unset 15103 1: c>xx<t 15104 15105 /a|(?'X'b)c/replace=>$X<,substitute_unset_empty 15106 cat 15107 1: c><t 15108 xbcom 15109 1: x>b<om 15110 15111 /a|(?'X'b)c/replace=>$Y<,substitute_unset_empty 15112 cat 15113 Failed: error -49 at offset 3 in replacement: unknown substring 15114 cat\=substitute_unknown_unset 15115 1: c><t 15116 cat\=substitute_unknown_unset,-substitute_unset_empty 15117 Failed: error -55 at offset 3 in replacement: requested value is not set 15118 15119 /a|(b)c/replace=>$2<,substitute_unset_empty 15120 cat 15121 Failed: error -49 at offset 3 in replacement: unknown substring 15122 cat\=substitute_unknown_unset 15123 1: c><t 15124 cat\=substitute_unknown_unset,-substitute_unset_empty 15125 Failed: error -55 at offset 3 in replacement: requested value is not set 15126 15127 /()()()/use_offset_limit 15128 \=ovector=11000000000 15129 ** Invalid value in 'ovector=11000000000' 15130 \=callout_fail=11000000000 15131 ** Invalid value in 'callout_fail=11000000000' 15132 \=callout_fail=1:11000000000 15133 ** Invalid value in 'callout_fail=1:11000000000' 15134 \=callout_data=11000000000 15135 ** Invalid value in 'callout_data=11000000000' 15136 \=callout_data=-11000000000 15137 ** Invalid value in 'callout_data=-11000000000' 15138 \=offset_limit=1100000000000000000000 15139 ** Invalid value in 'offset_limit=1100000000000000000000' 15140 \=copy=11000000000 15141 ** Invalid value in 'copy=11000000000' 15142 15143 /(*MARK:A\x00b)/mark 15144 abc 15145 0: 15146 MK: A\x00b 15147 15148 /(*MARK:A\x00b)/mark,alt_verbnames 15149 abc 15150 0: 15151 MK: A\x00b 15152 15153 /"(*MARK:A" 00 "b)"/mark,hex 15154 abc 15155 0: 15156 MK: A\x00b 15157 15158 /"(*MARK:A" 00 "b)"/mark,hex,alt_verbnames 15159 abc 15160 0: 15161 MK: A\x00b 15162 15163 /efg/hex 15164 ** Unexpected non-hex-digit 'g' in hex pattern: quote missing? 15165 15166 /eff/hex 15167 ** Odd number of digits in hex pattern 15168 15169 /effg/hex 15170 ** Unexpected non-hex-digit 'g' in hex pattern: quote missing? 15171 15172 /(?J)(?'a'))(?'a')/ 15173 Failed: error 122 at offset 10: unmatched closing parenthesis 15174 15175 /(?<=((?C)0))/ 15176 9010 15177 --->9010 15178 0 ^ 0 15179 0 ^ 0 15180 0: 15181 1: 0 15182 \= Expect no match 15183 abc 15184 --->abc 15185 0 ^ 0 15186 0 ^ 0 15187 0 ^ 0 15188 No match 15189 15190 /aaa/ 15191 \[abc]{10000000000000000000000000000} 15192 ** Repeat count too large 15193 \[a]{3} 15194 0: aaa 15195 15196 /\[AB]{6000000000000000000000}/expand 15197 ** Pattern repeat count too large 15198 15199 # End of testinput2 15200 Error -63: PCRE2_ERROR_BADDATA (unknown error number) 15201 Error -62: bad serialized data 15202 Error -2: partial match 15203 Error -1: no match 15204 Error 0: PCRE2_ERROR_BADDATA (unknown error number) 15205 Error 100: no error 15206 Error 188: pattern string is longer than the limit set by the application 15207 Error 189: PCRE2_ERROR_BADDATA (unknown error number) 15208