1 /-- This set of tests is not Perl-compatible. It checks on special features 2 of PCRE's API, error diagnostics, and the compiled code of some patterns. 3 It also checks the non-Perl syntax the PCRE supports (Python, .NET, 4 Oniguruma). Finally, there are some tests where PCRE and Perl differ, 5 either because PCRE 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, and if Unicode Property Support is needed, use test 7. --/ 10 11 < forbid 8W 12 13 /(a)b|/I 14 Capturing subpattern count = 1 15 May match empty string 16 No options 17 No first char 18 No need char 19 20 /abc/I 21 Capturing subpattern count = 0 22 No options 23 First char = 'a' 24 Need char = 'c' 25 abc 26 0: abc 27 defabc 28 0: abc 29 \Aabc 30 0: abc 31 *** Failers 32 No match 33 \Adefabc 34 No match 35 ABC 36 No match 37 38 /^abc/I 39 Capturing subpattern count = 0 40 Options: anchored 41 No first char 42 No need char 43 abc 44 0: abc 45 \Aabc 46 0: abc 47 *** Failers 48 No match 49 defabc 50 No match 51 \Adefabc 52 No match 53 54 /a+bc/I 55 Capturing subpattern count = 0 56 No options 57 First char = 'a' 58 Need char = 'c' 59 60 /a*bc/I 61 Capturing subpattern count = 0 62 No options 63 No first char 64 Need char = 'c' 65 66 /a{3}bc/I 67 Capturing subpattern count = 0 68 No options 69 First char = 'a' 70 Need char = 'c' 71 72 /(abc|a+z)/I 73 Capturing subpattern count = 1 74 No options 75 First char = 'a' 76 No need char 77 78 /^abc$/I 79 Capturing subpattern count = 0 80 Options: anchored 81 No first char 82 No need char 83 abc 84 0: abc 85 *** Failers 86 No match 87 def\nabc 88 No match 89 90 /ab\idef/X 91 Failed: unrecognized character follows \ at offset 3 92 93 /(?X)ab\idef/X 94 Failed: unrecognized character follows \ at offset 7 95 96 /x{5,4}/ 97 Failed: numbers out of order in {} quantifier at offset 5 98 99 /z{65536}/ 100 Failed: number too big in {} quantifier at offset 7 101 102 /[abcd/ 103 Failed: missing terminating ] for character class at offset 5 104 105 /(?X)[\B]/ 106 Failed: invalid escape sequence in character class at offset 6 107 108 /(?X)[\R]/ 109 Failed: invalid escape sequence in character class at offset 6 110 111 /(?X)[\X]/ 112 Failed: invalid escape sequence in character class at offset 6 113 114 /[\B]/BZ 115 ------------------------------------------------------------------ 116 Bra 117 B 118 Ket 119 End 120 ------------------------------------------------------------------ 121 122 /[\R]/BZ 123 ------------------------------------------------------------------ 124 Bra 125 R 126 Ket 127 End 128 ------------------------------------------------------------------ 129 130 /[\X]/BZ 131 ------------------------------------------------------------------ 132 Bra 133 X 134 Ket 135 End 136 ------------------------------------------------------------------ 137 138 /[z-a]/ 139 Failed: range out of order in character class at offset 3 140 141 /^*/ 142 Failed: nothing to repeat at offset 1 143 144 /(abc/ 145 Failed: missing ) at offset 4 146 147 /(?# abc/ 148 Failed: missing ) after comment at offset 7 149 150 /(?z)abc/ 151 Failed: unrecognized character after (? or (?- at offset 2 152 153 /.*b/I 154 Capturing subpattern count = 0 155 No options 156 First char at start or follows newline 157 Need char = 'b' 158 159 /.*?b/I 160 Capturing subpattern count = 0 161 No options 162 First char at start or follows newline 163 Need char = 'b' 164 165 /cat|dog|elephant/I 166 Capturing subpattern count = 0 167 No options 168 No first char 169 No need char 170 this sentence eventually mentions a cat 171 0: cat 172 this sentences rambles on and on for a while and then reaches elephant 173 0: elephant 174 175 /cat|dog|elephant/IS 176 Capturing subpattern count = 0 177 No options 178 No first char 179 No need char 180 Subject length lower bound = 3 181 Starting chars: c d e 182 this sentence eventually mentions a cat 183 0: cat 184 this sentences rambles on and on for a while and then reaches elephant 185 0: elephant 186 187 /cat|dog|elephant/IiS 188 Capturing subpattern count = 0 189 Options: caseless 190 No first char 191 No need char 192 Subject length lower bound = 3 193 Starting chars: C D E c d e 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]/IS 200 Capturing subpattern count = 0 201 No options 202 No first char 203 No need char 204 Subject length lower bound = 1 205 Starting chars: a b c d 206 207 /(a|[^\dZ])/IS 208 Capturing subpattern count = 1 209 No options 210 No first char 211 No need char 212 Subject length lower bound = 1 213 Starting chars: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a 214 \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 215 \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = > 216 ? @ 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 217 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 218 \x84 \x85 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f \x90 \x91 \x92 219 \x93 \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e \x9f \xa0 \xa1 220 \xa2 \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae \xaf \xb0 221 \xb1 \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd \xbe \xbf 222 \xc0 \xc1 \xc2 \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc \xcd \xce 223 \xcf \xd0 \xd1 \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb \xdc \xdd 224 \xde \xdf \xe0 \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb \xec 225 \xed \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb 226 \xfc \xfd \xfe \xff 227 228 /(a|b)*[\s]/IS 229 Capturing subpattern count = 1 230 No options 231 No first char 232 No need char 233 Subject length lower bound = 1 234 Starting chars: \x09 \x0a \x0b \x0c \x0d \x20 a b 235 236 /(ab\2)/ 237 Failed: reference to non-existent subpattern at offset 6 238 239 /{4,5}abc/ 240 Failed: nothing to repeat at offset 4 241 242 /(a)(b)(c)\2/I 243 Capturing subpattern count = 3 244 Max back reference = 2 245 No options 246 First char = 'a' 247 Need char = 'c' 248 abcb 249 0: abcb 250 1: a 251 2: b 252 3: c 253 \O0abcb 254 Matched, but too many substrings 255 \O3abcb 256 Matched, but too many substrings 257 0: abcb 258 \O6abcb 259 Matched, but too many substrings 260 0: abcb 261 1: a 262 \O9abcb 263 Matched, but too many substrings 264 0: abcb 265 1: a 266 2: b 267 \O12abcb 268 0: abcb 269 1: a 270 2: b 271 3: c 272 273 /(a)bc|(a)(b)\2/I 274 Capturing subpattern count = 3 275 Max back reference = 2 276 No options 277 First char = 'a' 278 No need char 279 abc 280 0: abc 281 1: a 282 \O0abc 283 Matched, but too many substrings 284 \O3abc 285 Matched, but too many substrings 286 0: abc 287 \O6abc 288 0: abc 289 1: a 290 aba 291 0: aba 292 1: <unset> 293 2: a 294 3: b 295 \O0aba 296 Matched, but too many substrings 297 \O3aba 298 Matched, but too many substrings 299 0: aba 300 \O6aba 301 Matched, but too many substrings 302 0: aba 303 1: <unset> 304 \O9aba 305 Matched, but too many substrings 306 0: aba 307 1: <unset> 308 2: a 309 \O12aba 310 0: aba 311 1: <unset> 312 2: a 313 3: b 314 315 /abc$/IE 316 Capturing subpattern count = 0 317 Options: dollar_endonly 318 First char = 'a' 319 Need char = 'c' 320 abc 321 0: abc 322 *** Failers 323 No match 324 abc\n 325 No match 326 abc\ndef 327 No match 328 329 /(a)(b)(c)(d)(e)\6/ 330 Failed: reference to non-existent subpattern at offset 17 331 332 /the quick brown fox/I 333 Capturing subpattern count = 0 334 No options 335 First char = 't' 336 Need char = 'x' 337 the quick brown fox 338 0: the quick brown fox 339 this is a line with the quick brown fox 340 0: the quick brown fox 341 342 /the quick brown fox/IA 343 Capturing subpattern count = 0 344 Options: anchored 345 No first char 346 No need char 347 the quick brown fox 348 0: the quick brown fox 349 *** Failers 350 No match 351 this is a line with the quick brown fox 352 No match 353 354 /ab(?z)cd/ 355 Failed: unrecognized character after (? or (?- at offset 4 356 357 /^abc|def/I 358 Capturing subpattern count = 0 359 No options 360 No first char 361 No need char 362 abcdef 363 0: abc 364 abcdef\B 365 0: def 366 367 /.*((abc)$|(def))/I 368 Capturing subpattern count = 3 369 No options 370 First char at start or follows newline 371 No need char 372 defabc 373 0: defabc 374 1: abc 375 2: abc 376 \Zdefabc 377 0: def 378 1: def 379 2: <unset> 380 3: def 381 382 /)/ 383 Failed: unmatched parentheses at offset 0 384 385 /a[]b/ 386 Failed: missing terminating ] for character class at offset 4 387 388 /[^aeiou ]{3,}/I 389 Capturing subpattern count = 0 390 No options 391 No first char 392 No need char 393 co-processors, and for 394 0: -pr 395 396 /<.*>/I 397 Capturing subpattern count = 0 398 No options 399 First char = '<' 400 Need char = '>' 401 abc<def>ghi<klm>nop 402 0: <def>ghi<klm> 403 404 /<.*?>/I 405 Capturing subpattern count = 0 406 No options 407 First char = '<' 408 Need char = '>' 409 abc<def>ghi<klm>nop 410 0: <def> 411 412 /<.*>/IU 413 Capturing subpattern count = 0 414 Options: ungreedy 415 First char = '<' 416 Need char = '>' 417 abc<def>ghi<klm>nop 418 0: <def> 419 420 /(?U)<.*>/I 421 Capturing subpattern count = 0 422 Options: ungreedy 423 First char = '<' 424 Need char = '>' 425 abc<def>ghi<klm>nop 426 0: <def> 427 428 /<.*?>/IU 429 Capturing subpattern count = 0 430 Options: ungreedy 431 First char = '<' 432 Need char = '>' 433 abc<def>ghi<klm>nop 434 0: <def>ghi<klm> 435 436 /={3,}/IU 437 Capturing subpattern count = 0 438 Options: ungreedy 439 First char = '=' 440 Need char = '=' 441 abc========def 442 0: === 443 444 /(?U)={3,}?/I 445 Capturing subpattern count = 0 446 Options: ungreedy 447 First char = '=' 448 Need char = '=' 449 abc========def 450 0: ======== 451 452 /(?<!bar|cattle)foo/I 453 Capturing subpattern count = 0 454 Max lookbehind = 6 455 No options 456 First char = 'f' 457 Need char = 'o' 458 foo 459 0: foo 460 catfoo 461 0: foo 462 *** Failers 463 No match 464 the barfoo 465 No match 466 and cattlefoo 467 No match 468 469 /(?<=a+)b/ 470 Failed: lookbehind assertion is not fixed length at offset 6 471 472 /(?<=aaa|b{0,3})b/ 473 Failed: lookbehind assertion is not fixed length at offset 14 474 475 /(?<!(foo)a\1)bar/ 476 Failed: lookbehind assertion is not fixed length at offset 12 477 478 /(?i)abc/I 479 Capturing subpattern count = 0 480 Options: caseless 481 First char = 'a' (caseless) 482 Need char = 'c' (caseless) 483 484 /(a|(?m)a)/I 485 Capturing subpattern count = 1 486 No options 487 First char = 'a' 488 No need char 489 490 /(?i)^1234/I 491 Capturing subpattern count = 0 492 Options: anchored caseless 493 No first char 494 No need char 495 496 /(^b|(?i)^d)/I 497 Capturing subpattern count = 1 498 Options: anchored 499 No first char 500 No need char 501 502 /(?s).*/I 503 Capturing subpattern count = 0 504 May match empty string 505 Options: anchored dotall 506 No first char 507 No need char 508 509 /[abcd]/IS 510 Capturing subpattern count = 0 511 No options 512 No first char 513 No need char 514 Subject length lower bound = 1 515 Starting chars: a b c d 516 517 /(?i)[abcd]/IS 518 Capturing subpattern count = 0 519 Options: caseless 520 No first char 521 No need char 522 Subject length lower bound = 1 523 Starting chars: A B C D a b c d 524 525 /(?m)[xy]|(b|c)/IS 526 Capturing subpattern count = 1 527 Options: multiline 528 No first char 529 No need char 530 Subject length lower bound = 1 531 Starting chars: b c x y 532 533 /(^a|^b)/Im 534 Capturing subpattern count = 1 535 Options: multiline 536 First char at start or follows newline 537 No need char 538 539 /(?i)(^a|^b)/Im 540 Capturing subpattern count = 1 541 Options: caseless multiline 542 First char at start or follows newline 543 No need char 544 545 /(a)(?(1)a|b|c)/ 546 Failed: conditional group contains more than two branches at offset 13 547 548 /(?(?=a)a|b|c)/ 549 Failed: conditional group contains more than two branches at offset 12 550 551 /(?(1a)/ 552 Failed: malformed number or name after (?( at offset 4 553 554 /(?(1a))/ 555 Failed: malformed number or name after (?( at offset 4 556 557 /(?(?i))/ 558 Failed: assertion expected after (?( at offset 3 559 560 /(?(abc))/ 561 Failed: reference to non-existent subpattern at offset 7 562 563 /(?(?<ab))/ 564 Failed: syntax error in subpattern name (missing terminator) at offset 7 565 566 /((?s)blah)\s+\1/I 567 Capturing subpattern count = 1 568 Max back reference = 1 569 No options 570 First char = 'b' 571 Need char = 'h' 572 573 /((?i)blah)\s+\1/I 574 Capturing subpattern count = 1 575 Max back reference = 1 576 No options 577 First char = 'b' (caseless) 578 Need char = 'h' (caseless) 579 580 /((?i)b)/IDZS 581 ------------------------------------------------------------------ 582 Bra 583 CBra 1 584 /i b 585 Ket 586 Ket 587 End 588 ------------------------------------------------------------------ 589 Capturing subpattern count = 1 590 No options 591 First char = 'b' (caseless) 592 No need char 593 Subject length lower bound = 1 594 No starting char list 595 596 /(a*b|(?i:c*(?-i)d))/IS 597 Capturing subpattern count = 1 598 No options 599 No first char 600 No need char 601 Subject length lower bound = 1 602 Starting chars: C a b c d 603 604 /a$/I 605 Capturing subpattern count = 0 606 No options 607 First char = 'a' 608 No need char 609 a 610 0: a 611 a\n 612 0: a 613 *** Failers 614 No match 615 \Za 616 No match 617 \Za\n 618 No match 619 620 /a$/Im 621 Capturing subpattern count = 0 622 Options: multiline 623 First char = 'a' 624 No need char 625 a 626 0: a 627 a\n 628 0: a 629 \Za\n 630 0: a 631 *** Failers 632 No match 633 \Za 634 No match 635 636 /\Aabc/Im 637 Capturing subpattern count = 0 638 Max lookbehind = 1 639 Options: anchored multiline 640 No first char 641 No need char 642 643 /^abc/Im 644 Capturing subpattern count = 0 645 Options: multiline 646 First char at start or follows newline 647 Need char = 'c' 648 649 /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I 650 Capturing subpattern count = 5 651 Options: anchored 652 No first char 653 No need char 654 aaaaabbbbbcccccdef 655 0: aaaaabbbbbcccccdef 656 1: aaaaabbbbbcccccdef 657 2: aaaaa 658 3: b 659 4: bbbbccccc 660 5: def 661 662 /(?<=foo)[ab]/IS 663 Capturing subpattern count = 0 664 Max lookbehind = 3 665 No options 666 No first char 667 No need char 668 Subject length lower bound = 1 669 Starting chars: a b 670 671 /(?<!foo)(alpha|omega)/IS 672 Capturing subpattern count = 1 673 Max lookbehind = 3 674 No options 675 No first char 676 Need char = 'a' 677 Subject length lower bound = 5 678 Starting chars: a o 679 680 /(?!alphabet)[ab]/IS 681 Capturing subpattern count = 0 682 No options 683 No first char 684 No need char 685 Subject length lower bound = 1 686 Starting chars: a b 687 688 /(?<=foo\n)^bar/Im 689 Capturing subpattern count = 0 690 Max lookbehind = 4 691 Contains explicit CR or LF match 692 Options: multiline 693 No first char 694 Need char = 'r' 695 foo\nbarbar 696 0: bar 697 ***Failers 698 No match 699 rhubarb 700 No match 701 barbell 702 No match 703 abc\nbarton 704 No match 705 706 /^(?<=foo\n)bar/Im 707 Capturing subpattern count = 0 708 Max lookbehind = 4 709 Contains explicit CR or LF match 710 Options: multiline 711 First char at start or follows newline 712 Need char = 'r' 713 foo\nbarbar 714 0: bar 715 ***Failers 716 No match 717 rhubarb 718 No match 719 barbell 720 No match 721 abc\nbarton 722 No match 723 724 /(?>^abc)/Im 725 Capturing subpattern count = 0 726 Options: multiline 727 First char at start or follows newline 728 Need char = 'c' 729 abc 730 0: abc 731 def\nabc 732 0: abc 733 *** Failers 734 No match 735 defabc 736 No match 737 738 /(?<=ab(c+)d)ef/ 739 Failed: lookbehind assertion is not fixed length at offset 11 740 741 /(?<=ab(?<=c+)d)ef/ 742 Failed: lookbehind assertion is not fixed length at offset 12 743 744 /(?<=ab(c|de)f)g/ 745 Failed: lookbehind assertion is not fixed length at offset 13 746 747 /The next three are in testinput2 because they have variable length branches/ 748 749 /(?<=bullock|donkey)-cart/I 750 Capturing subpattern count = 0 751 Max lookbehind = 7 752 No options 753 First char = '-' 754 Need char = 't' 755 the bullock-cart 756 0: -cart 757 a donkey-cart race 758 0: -cart 759 *** Failers 760 No match 761 cart 762 No match 763 horse-and-cart 764 No match 765 766 /(?<=ab(?i)x|y|z)/I 767 Capturing subpattern count = 0 768 Max lookbehind = 3 769 May match empty string 770 No options 771 No first char 772 No need char 773 774 /(?>.*)(?<=(abcd)|(xyz))/I 775 Capturing subpattern count = 2 776 Max lookbehind = 4 777 May match empty string 778 No options 779 No first char 780 No need char 781 alphabetabcd 782 0: alphabetabcd 783 1: abcd 784 endingxyz 785 0: endingxyz 786 1: <unset> 787 2: xyz 788 789 /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/I 790 Capturing subpattern count = 0 791 Max lookbehind = 4 792 No options 793 First char = 'Z' 794 Need char = 'Z' 795 abxyZZ 796 0: ZZ 797 abXyZZ 798 0: ZZ 799 ZZZ 800 0: ZZ 801 zZZ 802 0: ZZ 803 bZZ 804 0: ZZ 805 BZZ 806 0: ZZ 807 *** Failers 808 No match 809 ZZ 810 No match 811 abXYZZ 812 No match 813 zzz 814 No match 815 bzz 816 No match 817 818 /(?<!(foo)a)bar/I 819 Capturing subpattern count = 1 820 Max lookbehind = 4 821 No options 822 First char = 'b' 823 Need char = 'r' 824 bar 825 0: bar 826 foobbar 827 0: bar 828 *** Failers 829 No match 830 fooabar 831 No match 832 833 /This one is here because Perl behaves differently; see also the following/I 834 Capturing subpattern count = 0 835 No options 836 First char = 'T' 837 Need char = 'g' 838 839 /^(a\1?){4}$/I 840 Capturing subpattern count = 1 841 Max back reference = 1 842 Options: anchored 843 No first char 844 No need char 845 aaaa 846 No match 847 aaaaaa 848 No match 849 850 /Perl does not fail these two for the final subjects. Neither did PCRE until/ 851 /release 8.01. The problem is in backtracking into a subpattern that contains/ 852 No match 853 /a recursive reference to itself. PCRE has now made these into atomic patterns./ 854 No match 855 856 /^(xa|=?\1a){2}$/ 857 xa=xaa 858 0: xa=xaa 859 1: =xaa 860 ** Failers 861 No match 862 xa=xaaa 863 No match 864 865 /^(xa|=?\1a)+$/ 866 xa=xaa 867 0: xa=xaa 868 1: =xaa 869 ** Failers 870 No match 871 xa=xaaa 872 No match 873 874 /These are syntax tests from Perl 5.005/I 875 Capturing subpattern count = 0 876 No options 877 First char = 'T' 878 Need char = '5' 879 880 /a[b-a]/ 881 Failed: range out of order in character class at offset 4 882 883 /a[]b/ 884 Failed: missing terminating ] for character class at offset 4 885 886 /a[/ 887 Failed: missing terminating ] for character class at offset 2 888 889 /*a/ 890 Failed: nothing to repeat at offset 0 891 892 /(*)b/ 893 Failed: nothing to repeat at offset 1 894 895 /abc)/ 896 Failed: unmatched parentheses at offset 3 897 898 /(abc/ 899 Failed: missing ) at offset 4 900 901 /a**/ 902 Failed: nothing to repeat at offset 2 903 904 /)(/ 905 Failed: unmatched parentheses at offset 0 906 907 /\1/ 908 Failed: reference to non-existent subpattern at offset 2 909 910 /\2/ 911 Failed: reference to non-existent subpattern at offset 2 912 913 /(a)|\2/ 914 Failed: reference to non-existent subpattern at offset 6 915 916 /a[b-a]/Ii 917 Failed: range out of order in character class at offset 4 918 919 /a[]b/Ii 920 Failed: missing terminating ] for character class at offset 4 921 922 /a[/Ii 923 Failed: missing terminating ] for character class at offset 2 924 925 /*a/Ii 926 Failed: nothing to repeat at offset 0 927 928 /(*)b/Ii 929 Failed: nothing to repeat at offset 1 930 931 /abc)/Ii 932 Failed: unmatched parentheses at offset 3 933 934 /(abc/Ii 935 Failed: missing ) at offset 4 936 937 /a**/Ii 938 Failed: nothing to repeat at offset 2 939 940 /)(/Ii 941 Failed: unmatched parentheses at offset 0 942 943 /:(?:/ 944 Failed: missing ) at offset 4 945 946 /(?<%)b/ 947 Failed: unrecognized character after (?< at offset 3 948 949 /a(?{)b/ 950 Failed: unrecognized character after (? or (?- at offset 3 951 952 /a(?{{})b/ 953 Failed: unrecognized character after (? or (?- at offset 3 954 955 /a(?{}})b/ 956 Failed: unrecognized character after (? or (?- at offset 3 957 958 /a(?{"{"})b/ 959 Failed: unrecognized character after (? or (?- at offset 3 960 961 /a(?{"{"}})b/ 962 Failed: unrecognized character after (? or (?- at offset 3 963 964 /(?(1?)a|b)/ 965 Failed: malformed number or name after (?( at offset 4 966 967 /[a[:xyz:/ 968 Failed: missing terminating ] for character class at offset 8 969 970 /(?<=x+)y/ 971 Failed: lookbehind assertion is not fixed length at offset 6 972 973 /a{37,17}/ 974 Failed: numbers out of order in {} quantifier at offset 7 975 976 /abc/\ 977 Failed: \ at end of pattern at offset 4 978 979 /abc/\i 980 Failed: \ at end of pattern at offset 4 981 982 /(a)bc(d)/I 983 Capturing subpattern count = 2 984 No options 985 First char = 'a' 986 Need char = 'd' 987 abcd 988 0: abcd 989 1: a 990 2: d 991 abcd\C2 992 0: abcd 993 1: a 994 2: d 995 2C d (1) 996 abcd\C5 997 0: abcd 998 1: a 999 2: d 1000 copy substring 5 failed -7 1001 1002 /(.{20})/I 1003 Capturing subpattern count = 1 1004 No options 1005 No first char 1006 No need char 1007 abcdefghijklmnopqrstuvwxyz 1008 0: abcdefghijklmnopqrst 1009 1: abcdefghijklmnopqrst 1010 abcdefghijklmnopqrstuvwxyz\C1 1011 0: abcdefghijklmnopqrst 1012 1: abcdefghijklmnopqrst 1013 1C abcdefghijklmnopqrst (20) 1014 abcdefghijklmnopqrstuvwxyz\G1 1015 0: abcdefghijklmnopqrst 1016 1: abcdefghijklmnopqrst 1017 1G abcdefghijklmnopqrst (20) 1018 1019 /(.{15})/I 1020 Capturing subpattern count = 1 1021 No options 1022 No first char 1023 No need char 1024 abcdefghijklmnopqrstuvwxyz 1025 0: abcdefghijklmno 1026 1: abcdefghijklmno 1027 abcdefghijklmnopqrstuvwxyz\C1\G1 1028 0: abcdefghijklmno 1029 1: abcdefghijklmno 1030 1C abcdefghijklmno (15) 1031 1G abcdefghijklmno (15) 1032 1033 /(.{16})/I 1034 Capturing subpattern count = 1 1035 No options 1036 No first char 1037 No need char 1038 abcdefghijklmnopqrstuvwxyz 1039 0: abcdefghijklmnop 1040 1: abcdefghijklmnop 1041 abcdefghijklmnopqrstuvwxyz\C1\G1\L 1042 0: abcdefghijklmnop 1043 1: abcdefghijklmnop 1044 1C abcdefghijklmnop (16) 1045 1G abcdefghijklmnop (16) 1046 0L abcdefghijklmnop 1047 1L abcdefghijklmnop 1048 1049 /^(a|(bc))de(f)/I 1050 Capturing subpattern count = 3 1051 Options: anchored 1052 No first char 1053 No need char 1054 adef\G1\G2\G3\G4\L 1055 0: adef 1056 1: a 1057 2: <unset> 1058 3: f 1059 1G a (1) 1060 2G (0) 1061 3G f (1) 1062 get substring 4 failed -7 1063 0L adef 1064 1L a 1065 2L 1066 3L f 1067 bcdef\G1\G2\G3\G4\L 1068 0: bcdef 1069 1: bc 1070 2: bc 1071 3: f 1072 1G bc (2) 1073 2G bc (2) 1074 3G f (1) 1075 get substring 4 failed -7 1076 0L bcdef 1077 1L bc 1078 2L bc 1079 3L f 1080 adefghijk\C0 1081 0: adef 1082 1: a 1083 2: <unset> 1084 3: f 1085 0C adef (4) 1086 1087 /^abc\00def/I 1088 Capturing subpattern count = 0 1089 Options: anchored 1090 No first char 1091 No need char 1092 abc\00def\L\C0 1093 0: abc\x00def 1094 0C abc\x00def (7) 1095 0L abc 1096 1097 /word ((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ 1098 )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ 1099 )?)?)?)?)?)?)?)?)?otherword/I 1100 Capturing subpattern count = 8 1101 Contains explicit CR or LF match 1102 No options 1103 First char = 'w' 1104 Need char = 'd' 1105 1106 /.*X/IDZ 1107 ------------------------------------------------------------------ 1108 Bra 1109 Any* 1110 X 1111 Ket 1112 End 1113 ------------------------------------------------------------------ 1114 Capturing subpattern count = 0 1115 No options 1116 First char at start or follows newline 1117 Need char = 'X' 1118 1119 /.*X/IDZs 1120 ------------------------------------------------------------------ 1121 Bra 1122 AllAny* 1123 X 1124 Ket 1125 End 1126 ------------------------------------------------------------------ 1127 Capturing subpattern count = 0 1128 Options: anchored dotall 1129 No first char 1130 Need char = 'X' 1131 1132 /(.*X|^B)/IDZ 1133 ------------------------------------------------------------------ 1134 Bra 1135 CBra 1 1136 Any* 1137 X 1138 Alt 1139 ^ 1140 B 1141 Ket 1142 Ket 1143 End 1144 ------------------------------------------------------------------ 1145 Capturing subpattern count = 1 1146 No options 1147 First char at start or follows newline 1148 No need char 1149 1150 /(.*X|^B)/IDZs 1151 ------------------------------------------------------------------ 1152 Bra 1153 CBra 1 1154 AllAny* 1155 X 1156 Alt 1157 ^ 1158 B 1159 Ket 1160 Ket 1161 End 1162 ------------------------------------------------------------------ 1163 Capturing subpattern count = 1 1164 Options: anchored dotall 1165 No first char 1166 No need char 1167 1168 /(?s)(.*X|^B)/IDZ 1169 ------------------------------------------------------------------ 1170 Bra 1171 CBra 1 1172 AllAny* 1173 X 1174 Alt 1175 ^ 1176 B 1177 Ket 1178 Ket 1179 End 1180 ------------------------------------------------------------------ 1181 Capturing subpattern count = 1 1182 Options: anchored dotall 1183 No first char 1184 No need char 1185 1186 /(?s:.*X|^B)/IDZ 1187 ------------------------------------------------------------------ 1188 Bra 1189 Bra 1190 AllAny* 1191 X 1192 Alt 1193 ^ 1194 B 1195 Ket 1196 Ket 1197 End 1198 ------------------------------------------------------------------ 1199 Capturing subpattern count = 0 1200 Options: anchored 1201 No first char 1202 No need char 1203 1204 /\Biss\B/I+ 1205 Capturing subpattern count = 0 1206 Max lookbehind = 1 1207 No options 1208 First char = 'i' 1209 Need char = 's' 1210 Mississippi 1211 0: iss 1212 0+ issippi 1213 1214 /iss/IG+ 1215 Capturing subpattern count = 0 1216 No options 1217 First char = 'i' 1218 Need char = 's' 1219 Mississippi 1220 0: iss 1221 0+ issippi 1222 0: iss 1223 0+ ippi 1224 1225 /\Biss\B/IG+ 1226 Capturing subpattern count = 0 1227 Max lookbehind = 1 1228 No options 1229 First char = 'i' 1230 Need char = 's' 1231 Mississippi 1232 0: iss 1233 0+ issippi 1234 1235 /\Biss\B/Ig+ 1236 Capturing subpattern count = 0 1237 Max lookbehind = 1 1238 No options 1239 First char = 'i' 1240 Need char = 's' 1241 Mississippi 1242 0: iss 1243 0+ issippi 1244 0: iss 1245 0+ ippi 1246 *** Failers 1247 No match 1248 Mississippi\A 1249 No match 1250 1251 /(?<=[Ms])iss/Ig+ 1252 Capturing subpattern count = 0 1253 Max lookbehind = 1 1254 No options 1255 First char = 'i' 1256 Need char = 's' 1257 Mississippi 1258 0: iss 1259 0+ issippi 1260 0: iss 1261 0+ ippi 1262 1263 /(?<=[Ms])iss/IG+ 1264 Capturing subpattern count = 0 1265 Max lookbehind = 1 1266 No options 1267 First char = 'i' 1268 Need char = 's' 1269 Mississippi 1270 0: iss 1271 0+ issippi 1272 1273 /^iss/Ig+ 1274 Capturing subpattern count = 0 1275 Options: anchored 1276 No first char 1277 No need char 1278 ississippi 1279 0: iss 1280 0+ issippi 1281 1282 /.*iss/Ig+ 1283 Capturing subpattern count = 0 1284 No options 1285 First char at start or follows newline 1286 Need char = 's' 1287 abciss\nxyzisspqr 1288 0: abciss 1289 0+ \x0axyzisspqr 1290 0: xyziss 1291 0+ pqr 1292 1293 /.i./I+g 1294 Capturing subpattern count = 0 1295 No options 1296 No first char 1297 Need char = 'i' 1298 Mississippi 1299 0: Mis 1300 0+ sissippi 1301 0: sis 1302 0+ sippi 1303 0: sip 1304 0+ pi 1305 Mississippi\A 1306 0: Mis 1307 0+ sissippi 1308 0: sis 1309 0+ sippi 1310 0: sip 1311 0+ pi 1312 Missouri river 1313 0: Mis 1314 0+ souri river 1315 0: ri 1316 0+ river 1317 0: riv 1318 0+ er 1319 Missouri river\A 1320 0: Mis 1321 0+ souri river 1322 1323 /^.is/I+g 1324 Capturing subpattern count = 0 1325 Options: anchored 1326 No first char 1327 No need char 1328 Mississippi 1329 0: Mis 1330 0+ sissippi 1331 1332 /^ab\n/Ig+ 1333 Capturing subpattern count = 0 1334 Contains explicit CR or LF match 1335 Options: anchored 1336 No first char 1337 No need char 1338 ab\nab\ncd 1339 0: ab\x0a 1340 0+ ab\x0acd 1341 1342 /^ab\n/Img+ 1343 Capturing subpattern count = 0 1344 Contains explicit CR or LF match 1345 Options: multiline 1346 First char at start or follows newline 1347 Need char = \x0a 1348 ab\nab\ncd 1349 0: ab\x0a 1350 0+ ab\x0acd 1351 0: ab\x0a 1352 0+ cd 1353 1354 /abc/I 1355 Capturing subpattern count = 0 1356 No options 1357 First char = 'a' 1358 Need char = 'c' 1359 1360 /abc|bac/I 1361 Capturing subpattern count = 0 1362 No options 1363 No first char 1364 Need char = 'c' 1365 1366 /(abc|bac)/I 1367 Capturing subpattern count = 1 1368 No options 1369 No first char 1370 Need char = 'c' 1371 1372 /(abc|(c|dc))/I 1373 Capturing subpattern count = 2 1374 No options 1375 No first char 1376 Need char = 'c' 1377 1378 /(abc|(d|de)c)/I 1379 Capturing subpattern count = 2 1380 No options 1381 No first char 1382 Need char = 'c' 1383 1384 /a*/I 1385 Capturing subpattern count = 0 1386 May match empty string 1387 No options 1388 No first char 1389 No need char 1390 1391 /a+/I 1392 Capturing subpattern count = 0 1393 No options 1394 First char = 'a' 1395 No need char 1396 1397 /(baa|a+)/I 1398 Capturing subpattern count = 1 1399 No options 1400 No first char 1401 Need char = 'a' 1402 1403 /a{0,3}/I 1404 Capturing subpattern count = 0 1405 May match empty string 1406 No options 1407 No first char 1408 No need char 1409 1410 /baa{3,}/I 1411 Capturing subpattern count = 0 1412 No options 1413 First char = 'b' 1414 Need char = 'a' 1415 1416 /"([^\\"]+|\\.)*"/I 1417 Capturing subpattern count = 1 1418 No options 1419 First char = '"' 1420 Need char = '"' 1421 1422 /(abc|ab[cd])/I 1423 Capturing subpattern count = 1 1424 No options 1425 First char = 'a' 1426 No need char 1427 1428 /(a|.)/I 1429 Capturing subpattern count = 1 1430 No options 1431 No first char 1432 No need char 1433 1434 /a|ba|\w/I 1435 Capturing subpattern count = 0 1436 No options 1437 No first char 1438 No need char 1439 1440 /abc(?=pqr)/I 1441 Capturing subpattern count = 0 1442 No options 1443 First char = 'a' 1444 Need char = 'r' 1445 1446 /...(?<=abc)/I 1447 Capturing subpattern count = 0 1448 Max lookbehind = 3 1449 No options 1450 No first char 1451 No need char 1452 1453 /abc(?!pqr)/I 1454 Capturing subpattern count = 0 1455 No options 1456 First char = 'a' 1457 Need char = 'c' 1458 1459 /ab./I 1460 Capturing subpattern count = 0 1461 No options 1462 First char = 'a' 1463 Need char = 'b' 1464 1465 /ab[xyz]/I 1466 Capturing subpattern count = 0 1467 No options 1468 First char = 'a' 1469 Need char = 'b' 1470 1471 /abc*/I 1472 Capturing subpattern count = 0 1473 No options 1474 First char = 'a' 1475 Need char = 'b' 1476 1477 /ab.c*/I 1478 Capturing subpattern count = 0 1479 No options 1480 First char = 'a' 1481 Need char = 'b' 1482 1483 /a.c*/I 1484 Capturing subpattern count = 0 1485 No options 1486 First char = 'a' 1487 No need char 1488 1489 /.c*/I 1490 Capturing subpattern count = 0 1491 No options 1492 No first char 1493 No need char 1494 1495 /ac*/I 1496 Capturing subpattern count = 0 1497 No options 1498 First char = 'a' 1499 No need char 1500 1501 /(a.c*|b.c*)/I 1502 Capturing subpattern count = 1 1503 No options 1504 No first char 1505 No need char 1506 1507 /a.c*|aba/I 1508 Capturing subpattern count = 0 1509 No options 1510 First char = 'a' 1511 No need char 1512 1513 /.+a/I 1514 Capturing subpattern count = 0 1515 No options 1516 No first char 1517 Need char = 'a' 1518 1519 /(?=abcda)a.*/I 1520 Capturing subpattern count = 0 1521 No options 1522 First char = 'a' 1523 Need char = 'a' 1524 1525 /(?=a)a.*/I 1526 Capturing subpattern count = 0 1527 No options 1528 First char = 'a' 1529 No need char 1530 1531 /a(b)*/I 1532 Capturing subpattern count = 1 1533 No options 1534 First char = 'a' 1535 No need char 1536 1537 /a\d*/I 1538 Capturing subpattern count = 0 1539 No options 1540 First char = 'a' 1541 No need char 1542 1543 /ab\d*/I 1544 Capturing subpattern count = 0 1545 No options 1546 First char = 'a' 1547 Need char = 'b' 1548 1549 /a(\d)*/I 1550 Capturing subpattern count = 1 1551 No options 1552 First char = 'a' 1553 No need char 1554 1555 /abcde{0,0}/I 1556 Capturing subpattern count = 0 1557 No options 1558 First char = 'a' 1559 Need char = 'd' 1560 1561 /ab\d+/I 1562 Capturing subpattern count = 0 1563 No options 1564 First char = 'a' 1565 Need char = 'b' 1566 1567 /a(?(1)b)(.)/I 1568 Capturing subpattern count = 1 1569 No options 1570 First char = 'a' 1571 No need char 1572 1573 /a(?(1)bag|big)(.)/I 1574 Capturing subpattern count = 1 1575 No options 1576 First char = 'a' 1577 Need char = 'g' 1578 1579 /a(?(1)bag|big)*(.)/I 1580 Capturing subpattern count = 1 1581 No options 1582 First char = 'a' 1583 No need char 1584 1585 /a(?(1)bag|big)+(.)/I 1586 Capturing subpattern count = 1 1587 No options 1588 First char = 'a' 1589 Need char = 'g' 1590 1591 /a(?(1)b..|b..)(.)/I 1592 Capturing subpattern count = 1 1593 No options 1594 First char = 'a' 1595 Need char = 'b' 1596 1597 /ab\d{0}e/I 1598 Capturing subpattern count = 0 1599 No options 1600 First char = 'a' 1601 Need char = 'e' 1602 1603 /a?b?/I 1604 Capturing subpattern count = 0 1605 May match empty string 1606 No options 1607 No first char 1608 No need char 1609 a 1610 0: a 1611 b 1612 0: b 1613 ab 1614 0: ab 1615 \ 1616 0: 1617 *** Failers 1618 0: 1619 \N 1620 No match 1621 1622 /|-/I 1623 Capturing subpattern count = 0 1624 May match empty string 1625 No options 1626 No first char 1627 No need char 1628 abcd 1629 0: 1630 -abc 1631 0: 1632 \Nab-c 1633 0: - 1634 *** Failers 1635 0: 1636 \Nabc 1637 No match 1638 1639 /^.?abcd/IS 1640 Capturing subpattern count = 0 1641 Options: anchored 1642 No first char 1643 Need char = 'd' 1644 Subject length lower bound = 4 1645 No starting char list 1646 1647 /\( # ( at start 1648 (?: # Non-capturing bracket 1649 (?>[^()]+) # Either a sequence of non-brackets (no backtracking) 1650 | # Or 1651 (?R) # Recurse - i.e. nested bracketed string 1652 )* # Zero or more contents 1653 \) # Closing ) 1654 /Ix 1655 Capturing subpattern count = 0 1656 Options: extended 1657 First char = '(' 1658 Need char = ')' 1659 (abcd) 1660 0: (abcd) 1661 (abcd)xyz 1662 0: (abcd) 1663 xyz(abcd) 1664 0: (abcd) 1665 (ab(xy)cd)pqr 1666 0: (ab(xy)cd) 1667 (ab(xycd)pqr 1668 0: (xycd) 1669 () abc () 1670 0: () 1671 12(abcde(fsh)xyz(foo(bar))lmno)89 1672 0: (abcde(fsh)xyz(foo(bar))lmno) 1673 *** Failers 1674 No match 1675 abcd 1676 No match 1677 abcd) 1678 No match 1679 (abcd 1680 No match 1681 1682 /\( ( (?>[^()]+) | (?R) )* \) /Ixg 1683 Capturing subpattern count = 1 1684 Options: extended 1685 First char = '(' 1686 Need char = ')' 1687 (ab(xy)cd)pqr 1688 0: (ab(xy)cd) 1689 1: cd 1690 1(abcd)(x(y)z)pqr 1691 0: (abcd) 1692 1: abcd 1693 0: (x(y)z) 1694 1: z 1695 1696 /\( (?: (?>[^()]+) | (?R) ) \) /Ix 1697 Capturing subpattern count = 0 1698 Options: extended 1699 First char = '(' 1700 Need char = ')' 1701 (abcd) 1702 0: (abcd) 1703 (ab(xy)cd) 1704 0: (xy) 1705 (a(b(c)d)e) 1706 0: (c) 1707 ((ab)) 1708 0: ((ab)) 1709 *** Failers 1710 No match 1711 () 1712 No match 1713 1714 /\( (?: (?>[^()]+) | (?R) )? \) /Ix 1715 Capturing subpattern count = 0 1716 Options: extended 1717 First char = '(' 1718 Need char = ')' 1719 () 1720 0: () 1721 12(abcde(fsh)xyz(foo(bar))lmno)89 1722 0: (fsh) 1723 1724 /\( ( (?>[^()]+) | (?R) )* \) /Ix 1725 Capturing subpattern count = 1 1726 Options: extended 1727 First char = '(' 1728 Need char = ')' 1729 (ab(xy)cd) 1730 0: (ab(xy)cd) 1731 1: cd 1732 1733 /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix 1734 Capturing subpattern count = 2 1735 Options: extended 1736 First char = '(' 1737 Need char = ')' 1738 (ab(xy)cd) 1739 0: (ab(xy)cd) 1740 1: ab(xy)cd 1741 2: cd 1742 1743 /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix 1744 Capturing subpattern count = 3 1745 Options: extended 1746 First char = '(' 1747 Need char = ')' 1748 (ab(xy)cd) 1749 0: (ab(xy)cd) 1750 1: <unset> 1751 2: ab(xy)cd 1752 3: cd 1753 (123ab(xy)cd) 1754 0: (123ab(xy)cd) 1755 1: 123 1756 2: ab(xy)cd 1757 3: cd 1758 1759 /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix 1760 Capturing subpattern count = 3 1761 Options: extended 1762 First char = '(' 1763 Need char = ')' 1764 (ab(xy)cd) 1765 0: (ab(xy)cd) 1766 1: ab(xy)cd 1767 2: <unset> 1768 3: cd 1769 (123ab(xy)cd) 1770 0: (123ab(xy)cd) 1771 1: 123ab(xy)cd 1772 2: 123 1773 3: cd 1774 1775 /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix 1776 Capturing subpattern count = 11 1777 Options: extended 1778 First char = '(' 1779 Need char = ')' 1780 (ab(xy)cd) 1781 0: (ab(xy)cd) 1782 1: ab(xy)cd 1783 2: ab(xy)cd 1784 3: ab(xy)cd 1785 4: ab(xy)cd 1786 5: ab(xy)cd 1787 6: ab(xy)cd 1788 7: ab(xy)cd 1789 8: ab(xy)cd 1790 9: ab(xy)cd 1791 10: ab(xy)cd 1792 11: cd 1793 1794 /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix 1795 Capturing subpattern count = 3 1796 Options: extended 1797 First char = '(' 1798 Need char = ')' 1799 (abcd(xyz<p>qrs)123) 1800 0: (abcd(xyz<p>qrs)123) 1801 1: abcd(xyz<p>qrs)123 1802 2: 123 1803 1804 /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix 1805 Capturing subpattern count = 3 1806 Options: extended 1807 First char = '(' 1808 Need char = ')' 1809 (ab(cd)ef) 1810 0: (ab(cd)ef) 1811 1: ab(cd)ef 1812 2: ef 1813 3: (cd) 1814 (ab(cd(ef)gh)ij) 1815 0: (ab(cd(ef)gh)ij) 1816 1: ab(cd(ef)gh)ij 1817 2: ij 1818 3: (cd(ef)gh) 1819 1820 /^[[:alnum:]]/DZ 1821 ------------------------------------------------------------------ 1822 Bra 1823 ^ 1824 [0-9A-Za-z] 1825 Ket 1826 End 1827 ------------------------------------------------------------------ 1828 Capturing subpattern count = 0 1829 Options: anchored 1830 No first char 1831 No need char 1832 1833 /^[[:^alnum:]]/DZ 1834 ------------------------------------------------------------------ 1835 Bra 1836 ^ 1837 [\x00-/:-@[-`{-\xff] (neg) 1838 Ket 1839 End 1840 ------------------------------------------------------------------ 1841 Capturing subpattern count = 0 1842 Options: anchored 1843 No first char 1844 No need char 1845 1846 /^[[:alpha:]]/DZ 1847 ------------------------------------------------------------------ 1848 Bra 1849 ^ 1850 [A-Za-z] 1851 Ket 1852 End 1853 ------------------------------------------------------------------ 1854 Capturing subpattern count = 0 1855 Options: anchored 1856 No first char 1857 No need char 1858 1859 /^[[:^alpha:]]/DZ 1860 ------------------------------------------------------------------ 1861 Bra 1862 ^ 1863 [\x00-@[-`{-\xff] (neg) 1864 Ket 1865 End 1866 ------------------------------------------------------------------ 1867 Capturing subpattern count = 0 1868 Options: anchored 1869 No first char 1870 No need char 1871 1872 /[_[:alpha:]]/IS 1873 Capturing subpattern count = 0 1874 No options 1875 No first char 1876 No need char 1877 Subject length lower bound = 1 1878 Starting chars: 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 1879 _ 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 1880 1881 /^[[:ascii:]]/DZ 1882 ------------------------------------------------------------------ 1883 Bra 1884 ^ 1885 [\x00-\x7f] 1886 Ket 1887 End 1888 ------------------------------------------------------------------ 1889 Capturing subpattern count = 0 1890 Options: anchored 1891 No first char 1892 No need char 1893 1894 /^[[:^ascii:]]/DZ 1895 ------------------------------------------------------------------ 1896 Bra 1897 ^ 1898 [\x80-\xff] (neg) 1899 Ket 1900 End 1901 ------------------------------------------------------------------ 1902 Capturing subpattern count = 0 1903 Options: anchored 1904 No first char 1905 No need char 1906 1907 /^[[:blank:]]/DZ 1908 ------------------------------------------------------------------ 1909 Bra 1910 ^ 1911 [\x09 ] 1912 Ket 1913 End 1914 ------------------------------------------------------------------ 1915 Capturing subpattern count = 0 1916 Options: anchored 1917 No first char 1918 No need char 1919 1920 /^[[:^blank:]]/DZ 1921 ------------------------------------------------------------------ 1922 Bra 1923 ^ 1924 [\x00-\x08\x0a-\x1f!-\xff] (neg) 1925 Ket 1926 End 1927 ------------------------------------------------------------------ 1928 Capturing subpattern count = 0 1929 Options: anchored 1930 No first char 1931 No need char 1932 1933 /[\n\x0b\x0c\x0d[:blank:]]/IS 1934 Capturing subpattern count = 0 1935 Contains explicit CR or LF match 1936 No options 1937 No first char 1938 No need char 1939 Subject length lower bound = 1 1940 Starting chars: \x09 \x0a \x0b \x0c \x0d \x20 1941 1942 /^[[:cntrl:]]/DZ 1943 ------------------------------------------------------------------ 1944 Bra 1945 ^ 1946 [\x00-\x1f\x7f] 1947 Ket 1948 End 1949 ------------------------------------------------------------------ 1950 Capturing subpattern count = 0 1951 Options: anchored 1952 No first char 1953 No need char 1954 1955 /^[[:digit:]]/DZ 1956 ------------------------------------------------------------------ 1957 Bra 1958 ^ 1959 [0-9] 1960 Ket 1961 End 1962 ------------------------------------------------------------------ 1963 Capturing subpattern count = 0 1964 Options: anchored 1965 No first char 1966 No need char 1967 1968 /^[[:graph:]]/DZ 1969 ------------------------------------------------------------------ 1970 Bra 1971 ^ 1972 [!-~] 1973 Ket 1974 End 1975 ------------------------------------------------------------------ 1976 Capturing subpattern count = 0 1977 Options: anchored 1978 No first char 1979 No need char 1980 1981 /^[[:lower:]]/DZ 1982 ------------------------------------------------------------------ 1983 Bra 1984 ^ 1985 [a-z] 1986 Ket 1987 End 1988 ------------------------------------------------------------------ 1989 Capturing subpattern count = 0 1990 Options: anchored 1991 No first char 1992 No need char 1993 1994 /^[[:print:]]/DZ 1995 ------------------------------------------------------------------ 1996 Bra 1997 ^ 1998 [ -~] 1999 Ket 2000 End 2001 ------------------------------------------------------------------ 2002 Capturing subpattern count = 0 2003 Options: anchored 2004 No first char 2005 No need char 2006 2007 /^[[:punct:]]/DZ 2008 ------------------------------------------------------------------ 2009 Bra 2010 ^ 2011 [!-/:-@[-`{-~] 2012 Ket 2013 End 2014 ------------------------------------------------------------------ 2015 Capturing subpattern count = 0 2016 Options: anchored 2017 No first char 2018 No need char 2019 2020 /^[[:space:]]/DZ 2021 ------------------------------------------------------------------ 2022 Bra 2023 ^ 2024 [\x09-\x0d ] 2025 Ket 2026 End 2027 ------------------------------------------------------------------ 2028 Capturing subpattern count = 0 2029 Options: anchored 2030 No first char 2031 No need char 2032 2033 /^[[:upper:]]/DZ 2034 ------------------------------------------------------------------ 2035 Bra 2036 ^ 2037 [A-Z] 2038 Ket 2039 End 2040 ------------------------------------------------------------------ 2041 Capturing subpattern count = 0 2042 Options: anchored 2043 No first char 2044 No need char 2045 2046 /^[[:xdigit:]]/DZ 2047 ------------------------------------------------------------------ 2048 Bra 2049 ^ 2050 [0-9A-Fa-f] 2051 Ket 2052 End 2053 ------------------------------------------------------------------ 2054 Capturing subpattern count = 0 2055 Options: anchored 2056 No first char 2057 No need char 2058 2059 /^[[:word:]]/DZ 2060 ------------------------------------------------------------------ 2061 Bra 2062 ^ 2063 [0-9A-Z_a-z] 2064 Ket 2065 End 2066 ------------------------------------------------------------------ 2067 Capturing subpattern count = 0 2068 Options: anchored 2069 No first char 2070 No need char 2071 2072 /^[[:^cntrl:]]/DZ 2073 ------------------------------------------------------------------ 2074 Bra 2075 ^ 2076 [ -~\x80-\xff] (neg) 2077 Ket 2078 End 2079 ------------------------------------------------------------------ 2080 Capturing subpattern count = 0 2081 Options: anchored 2082 No first char 2083 No need char 2084 2085 /^[12[:^digit:]]/DZ 2086 ------------------------------------------------------------------ 2087 Bra 2088 ^ 2089 [\x00-/12:-\xff] (neg) 2090 Ket 2091 End 2092 ------------------------------------------------------------------ 2093 Capturing subpattern count = 0 2094 Options: anchored 2095 No first char 2096 No need char 2097 2098 /^[[:^blank:]]/DZ 2099 ------------------------------------------------------------------ 2100 Bra 2101 ^ 2102 [\x00-\x08\x0a-\x1f!-\xff] (neg) 2103 Ket 2104 End 2105 ------------------------------------------------------------------ 2106 Capturing subpattern count = 0 2107 Options: anchored 2108 No first char 2109 No need char 2110 2111 /[01[:alpha:]%]/DZ 2112 ------------------------------------------------------------------ 2113 Bra 2114 [%01A-Za-z] 2115 Ket 2116 End 2117 ------------------------------------------------------------------ 2118 Capturing subpattern count = 0 2119 No options 2120 No first char 2121 No need char 2122 2123 /[[.ch.]]/I 2124 Failed: POSIX collating elements are not supported at offset 1 2125 2126 /[[=ch=]]/I 2127 Failed: POSIX collating elements are not supported at offset 1 2128 2129 /[[:rhubarb:]]/I 2130 Failed: unknown POSIX class name at offset 3 2131 2132 /[[:upper:]]/Ii 2133 Capturing subpattern count = 0 2134 Options: caseless 2135 No first char 2136 No need char 2137 A 2138 0: A 2139 a 2140 0: a 2141 2142 /[[:lower:]]/Ii 2143 Capturing subpattern count = 0 2144 Options: caseless 2145 No first char 2146 No need char 2147 A 2148 0: A 2149 a 2150 0: a 2151 2152 /((?-i)[[:lower:]])[[:lower:]]/Ii 2153 Capturing subpattern count = 1 2154 Options: caseless 2155 No first char 2156 No need char 2157 ab 2158 0: ab 2159 1: a 2160 aB 2161 0: aB 2162 1: a 2163 *** Failers 2164 0: ai 2165 1: a 2166 Ab 2167 No match 2168 AB 2169 No match 2170 2171 /[\200-\110]/I 2172 Failed: range out of order in character class at offset 9 2173 2174 /^(?(0)f|b)oo/I 2175 Failed: invalid condition (?(0) at offset 6 2176 2177 /This one's here because of the large output vector needed/I 2178 Capturing subpattern count = 0 2179 No options 2180 First char = 'T' 2181 Need char = 'd' 2182 2183 /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\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 2184 Capturing subpattern count = 271 2185 Max back reference = 270 2186 No options 2187 No first char 2188 No need char 2189 \O900 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 2190 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 2191 1: 1 2192 2: 2 2193 3: 3 2194 4: 4 2195 5: 5 2196 6: 6 2197 7: 7 2198 8: 8 2199 9: 9 2200 10: 10 2201 11: 11 2202 12: 12 2203 13: 13 2204 14: 14 2205 15: 15 2206 16: 16 2207 17: 17 2208 18: 18 2209 19: 19 2210 20: 20 2211 21: 21 2212 22: 22 2213 23: 23 2214 24: 24 2215 25: 25 2216 26: 26 2217 27: 27 2218 28: 28 2219 29: 29 2220 30: 30 2221 31: 31 2222 32: 32 2223 33: 33 2224 34: 34 2225 35: 35 2226 36: 36 2227 37: 37 2228 38: 38 2229 39: 39 2230 40: 40 2231 41: 41 2232 42: 42 2233 43: 43 2234 44: 44 2235 45: 45 2236 46: 46 2237 47: 47 2238 48: 48 2239 49: 49 2240 50: 50 2241 51: 51 2242 52: 52 2243 53: 53 2244 54: 54 2245 55: 55 2246 56: 56 2247 57: 57 2248 58: 58 2249 59: 59 2250 60: 60 2251 61: 61 2252 62: 62 2253 63: 63 2254 64: 64 2255 65: 65 2256 66: 66 2257 67: 67 2258 68: 68 2259 69: 69 2260 70: 70 2261 71: 71 2262 72: 72 2263 73: 73 2264 74: 74 2265 75: 75 2266 76: 76 2267 77: 77 2268 78: 78 2269 79: 79 2270 80: 80 2271 81: 81 2272 82: 82 2273 83: 83 2274 84: 84 2275 85: 85 2276 86: 86 2277 87: 87 2278 88: 88 2279 89: 89 2280 90: 90 2281 91: 91 2282 92: 92 2283 93: 93 2284 94: 94 2285 95: 95 2286 96: 96 2287 97: 97 2288 98: 98 2289 99: 99 2290 100: 100 2291 101: 101 2292 102: 102 2293 103: 103 2294 104: 104 2295 105: 105 2296 106: 106 2297 107: 107 2298 108: 108 2299 109: 109 2300 110: 110 2301 111: 111 2302 112: 112 2303 113: 113 2304 114: 114 2305 115: 115 2306 116: 116 2307 117: 117 2308 118: 118 2309 119: 119 2310 120: 120 2311 121: 121 2312 122: 122 2313 123: 123 2314 124: 124 2315 125: 125 2316 126: 126 2317 127: 127 2318 128: 128 2319 129: 129 2320 130: 130 2321 131: 131 2322 132: 132 2323 133: 133 2324 134: 134 2325 135: 135 2326 136: 136 2327 137: 137 2328 138: 138 2329 139: 139 2330 140: 140 2331 141: 141 2332 142: 142 2333 143: 143 2334 144: 144 2335 145: 145 2336 146: 146 2337 147: 147 2338 148: 148 2339 149: 149 2340 150: 150 2341 151: 151 2342 152: 152 2343 153: 153 2344 154: 154 2345 155: 155 2346 156: 156 2347 157: 157 2348 158: 158 2349 159: 159 2350 160: 160 2351 161: 161 2352 162: 162 2353 163: 163 2354 164: 164 2355 165: 165 2356 166: 166 2357 167: 167 2358 168: 168 2359 169: 169 2360 170: 170 2361 171: 171 2362 172: 172 2363 173: 173 2364 174: 174 2365 175: 175 2366 176: 176 2367 177: 177 2368 178: 178 2369 179: 179 2370 180: 180 2371 181: 181 2372 182: 182 2373 183: 183 2374 184: 184 2375 185: 185 2376 186: 186 2377 187: 187 2378 188: 188 2379 189: 189 2380 190: 190 2381 191: 191 2382 192: 192 2383 193: 193 2384 194: 194 2385 195: 195 2386 196: 196 2387 197: 197 2388 198: 198 2389 199: 199 2390 200: 200 2391 201: 201 2392 202: 202 2393 203: 203 2394 204: 204 2395 205: 205 2396 206: 206 2397 207: 207 2398 208: 208 2399 209: 209 2400 210: 210 2401 211: 211 2402 212: 212 2403 213: 213 2404 214: 214 2405 215: 215 2406 216: 216 2407 217: 217 2408 218: 218 2409 219: 219 2410 220: 220 2411 221: 221 2412 222: 222 2413 223: 223 2414 224: 224 2415 225: 225 2416 226: 226 2417 227: 227 2418 228: 228 2419 229: 229 2420 230: 230 2421 231: 231 2422 232: 232 2423 233: 233 2424 234: 234 2425 235: 235 2426 236: 236 2427 237: 237 2428 238: 238 2429 239: 239 2430 240: 240 2431 241: 241 2432 242: 242 2433 243: 243 2434 244: 244 2435 245: 245 2436 246: 246 2437 247: 247 2438 248: 248 2439 249: 249 2440 250: 250 2441 251: 251 2442 252: 252 2443 253: 253 2444 254: 254 2445 255: 255 2446 256: 256 2447 257: 257 2448 258: 258 2449 259: 259 2450 260: 260 2451 261: 261 2452 262: 262 2453 263: 263 2454 264: 264 2455 265: 265 2456 266: 266 2457 267: 267 2458 268: 268 2459 269: 269 2460 270: ABC 2461 271: ABC 2462 2463 /This one's here because Perl does this differently and PCRE can't at present/I 2464 Capturing subpattern count = 0 2465 No options 2466 First char = 'T' 2467 Need char = 't' 2468 2469 /(main(O)?)+/I 2470 Capturing subpattern count = 2 2471 No options 2472 First char = 'm' 2473 Need char = 'n' 2474 mainmain 2475 0: mainmain 2476 1: main 2477 mainOmain 2478 0: mainOmain 2479 1: main 2480 2: O 2481 2482 /These are all cases where Perl does it differently (nested captures)/I 2483 Capturing subpattern count = 1 2484 No options 2485 First char = 'T' 2486 Need char = 's' 2487 2488 /^(a(b)?)+$/I 2489 Capturing subpattern count = 2 2490 Options: anchored 2491 No first char 2492 No need char 2493 aba 2494 0: aba 2495 1: a 2496 2: b 2497 2498 /^(aa(bb)?)+$/I 2499 Capturing subpattern count = 2 2500 Options: anchored 2501 No first char 2502 No need char 2503 aabbaa 2504 0: aabbaa 2505 1: aa 2506 2: bb 2507 2508 /^(aa|aa(bb))+$/I 2509 Capturing subpattern count = 2 2510 Options: anchored 2511 No first char 2512 No need char 2513 aabbaa 2514 0: aabbaa 2515 1: aa 2516 2: bb 2517 2518 /^(aa(bb)??)+$/I 2519 Capturing subpattern count = 2 2520 Options: anchored 2521 No first char 2522 No need char 2523 aabbaa 2524 0: aabbaa 2525 1: aa 2526 2: bb 2527 2528 /^(?:aa(bb)?)+$/I 2529 Capturing subpattern count = 1 2530 Options: anchored 2531 No first char 2532 No need char 2533 aabbaa 2534 0: aabbaa 2535 1: bb 2536 2537 /^(aa(b(b))?)+$/I 2538 Capturing subpattern count = 3 2539 Options: anchored 2540 No first char 2541 No need char 2542 aabbaa 2543 0: aabbaa 2544 1: aa 2545 2: bb 2546 3: b 2547 2548 /^(?:aa(b(b))?)+$/I 2549 Capturing subpattern count = 2 2550 Options: anchored 2551 No first char 2552 No need char 2553 aabbaa 2554 0: aabbaa 2555 1: bb 2556 2: b 2557 2558 /^(?:aa(b(?:b))?)+$/I 2559 Capturing subpattern count = 1 2560 Options: anchored 2561 No first char 2562 No need char 2563 aabbaa 2564 0: aabbaa 2565 1: bb 2566 2567 /^(?:aa(bb(?:b))?)+$/I 2568 Capturing subpattern count = 1 2569 Options: anchored 2570 No first char 2571 No need char 2572 aabbbaa 2573 0: aabbbaa 2574 1: bbb 2575 2576 /^(?:aa(b(?:bb))?)+$/I 2577 Capturing subpattern count = 1 2578 Options: anchored 2579 No first char 2580 No need char 2581 aabbbaa 2582 0: aabbbaa 2583 1: bbb 2584 2585 /^(?:aa(?:b(b))?)+$/I 2586 Capturing subpattern count = 1 2587 Options: anchored 2588 No first char 2589 No need char 2590 aabbaa 2591 0: aabbaa 2592 1: b 2593 2594 /^(?:aa(?:b(bb))?)+$/I 2595 Capturing subpattern count = 1 2596 Options: anchored 2597 No first char 2598 No need char 2599 aabbbaa 2600 0: aabbbaa 2601 1: bb 2602 2603 /^(aa(b(bb))?)+$/I 2604 Capturing subpattern count = 3 2605 Options: anchored 2606 No first char 2607 No need char 2608 aabbbaa 2609 0: aabbbaa 2610 1: aa 2611 2: bbb 2612 3: bb 2613 2614 /^(aa(bb(bb))?)+$/I 2615 Capturing subpattern count = 3 2616 Options: anchored 2617 No first char 2618 No need char 2619 aabbbbaa 2620 0: aabbbbaa 2621 1: aa 2622 2: bbbb 2623 3: bb 2624 2625 /--------------------------------------------------------------------/I 2626 Capturing subpattern count = 0 2627 No options 2628 First char = '-' 2629 Need char = '-' 2630 2631 /#/IxDZ 2632 ------------------------------------------------------------------ 2633 Bra 2634 Ket 2635 End 2636 ------------------------------------------------------------------ 2637 Capturing subpattern count = 0 2638 May match empty string 2639 Options: extended 2640 No first char 2641 No need char 2642 2643 /a#/IxDZ 2644 ------------------------------------------------------------------ 2645 Bra 2646 a 2647 Ket 2648 End 2649 ------------------------------------------------------------------ 2650 Capturing subpattern count = 0 2651 Options: extended 2652 First char = 'a' 2653 No need char 2654 2655 /[\s]/DZ 2656 ------------------------------------------------------------------ 2657 Bra 2658 [\x09-\x0d ] 2659 Ket 2660 End 2661 ------------------------------------------------------------------ 2662 Capturing subpattern count = 0 2663 No options 2664 No first char 2665 No need char 2666 2667 /[\S]/DZ 2668 ------------------------------------------------------------------ 2669 Bra 2670 [\x00-\x08\x0e-\x1f!-\xff] (neg) 2671 Ket 2672 End 2673 ------------------------------------------------------------------ 2674 Capturing subpattern count = 0 2675 No options 2676 No first char 2677 No need char 2678 2679 /a(?i)b/DZ 2680 ------------------------------------------------------------------ 2681 Bra 2682 a 2683 /i b 2684 Ket 2685 End 2686 ------------------------------------------------------------------ 2687 Capturing subpattern count = 0 2688 No options 2689 First char = 'a' 2690 Need char = 'b' (caseless) 2691 ab 2692 0: ab 2693 aB 2694 0: aB 2695 *** Failers 2696 No match 2697 AB 2698 No match 2699 2700 /(a(?i)b)/DZ 2701 ------------------------------------------------------------------ 2702 Bra 2703 CBra 1 2704 a 2705 /i b 2706 Ket 2707 Ket 2708 End 2709 ------------------------------------------------------------------ 2710 Capturing subpattern count = 1 2711 No options 2712 First char = 'a' 2713 Need char = 'b' (caseless) 2714 ab 2715 0: ab 2716 1: ab 2717 aB 2718 0: aB 2719 1: aB 2720 *** Failers 2721 No match 2722 AB 2723 No match 2724 2725 / (?i)abc/IxDZ 2726 ------------------------------------------------------------------ 2727 Bra 2728 /i abc 2729 Ket 2730 End 2731 ------------------------------------------------------------------ 2732 Capturing subpattern count = 0 2733 Options: caseless extended 2734 First char = 'a' (caseless) 2735 Need char = 'c' (caseless) 2736 2737 /#this is a comment 2738 (?i)abc/IxDZ 2739 ------------------------------------------------------------------ 2740 Bra 2741 /i abc 2742 Ket 2743 End 2744 ------------------------------------------------------------------ 2745 Capturing subpattern count = 0 2746 Options: caseless extended 2747 First char = 'a' (caseless) 2748 Need char = 'c' (caseless) 2749 2750 /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ 2751 ------------------------------------------------------------------ 2752 Bra 2753 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 2754 Ket 2755 End 2756 ------------------------------------------------------------------ 2757 Capturing subpattern count = 0 2758 No options 2759 First char = '1' 2760 Need char = '0' 2761 2762 /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ 2763 ------------------------------------------------------------------ 2764 Bra 2765 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 2766 Ket 2767 End 2768 ------------------------------------------------------------------ 2769 Capturing subpattern count = 0 2770 No options 2771 First char = '1' 2772 Need char = '0' 2773 2774 /\Q\E/DZ 2775 ------------------------------------------------------------------ 2776 Bra 2777 Ket 2778 End 2779 ------------------------------------------------------------------ 2780 Capturing subpattern count = 0 2781 May match empty string 2782 No options 2783 No first char 2784 No need char 2785 \ 2786 0: 2787 2788 /\Q\Ex/DZ 2789 ------------------------------------------------------------------ 2790 Bra 2791 x 2792 Ket 2793 End 2794 ------------------------------------------------------------------ 2795 Capturing subpattern count = 0 2796 No options 2797 First char = 'x' 2798 No need char 2799 2800 / \Q\E/DZ 2801 ------------------------------------------------------------------ 2802 Bra 2803 2804 Ket 2805 End 2806 ------------------------------------------------------------------ 2807 Capturing subpattern count = 0 2808 No options 2809 First char = ' ' 2810 No need char 2811 2812 /a\Q\E/DZ 2813 ------------------------------------------------------------------ 2814 Bra 2815 a 2816 Ket 2817 End 2818 ------------------------------------------------------------------ 2819 Capturing subpattern count = 0 2820 No options 2821 First char = 'a' 2822 No need char 2823 abc 2824 0: a 2825 bca 2826 0: a 2827 bac 2828 0: a 2829 2830 /a\Q\Eb/DZ 2831 ------------------------------------------------------------------ 2832 Bra 2833 ab 2834 Ket 2835 End 2836 ------------------------------------------------------------------ 2837 Capturing subpattern count = 0 2838 No options 2839 First char = 'a' 2840 Need char = 'b' 2841 abc 2842 0: ab 2843 2844 /\Q\Eabc/DZ 2845 ------------------------------------------------------------------ 2846 Bra 2847 abc 2848 Ket 2849 End 2850 ------------------------------------------------------------------ 2851 Capturing subpattern count = 0 2852 No options 2853 First char = 'a' 2854 Need char = 'c' 2855 2856 /x*+\w/DZ 2857 ------------------------------------------------------------------ 2858 Bra 2859 x*+ 2860 \w 2861 Ket 2862 End 2863 ------------------------------------------------------------------ 2864 Capturing subpattern count = 0 2865 No options 2866 No first char 2867 No need char 2868 *** Failers 2869 0: F 2870 xxxxx 2871 No match 2872 2873 /x?+/DZ 2874 ------------------------------------------------------------------ 2875 Bra 2876 x?+ 2877 Ket 2878 End 2879 ------------------------------------------------------------------ 2880 Capturing subpattern count = 0 2881 May match empty string 2882 No options 2883 No first char 2884 No need char 2885 2886 /x++/DZ 2887 ------------------------------------------------------------------ 2888 Bra 2889 x++ 2890 Ket 2891 End 2892 ------------------------------------------------------------------ 2893 Capturing subpattern count = 0 2894 No options 2895 First char = 'x' 2896 No need char 2897 2898 /x{1,3}+/BZO 2899 ------------------------------------------------------------------ 2900 Bra 2901 x 2902 x{0,2}+ 2903 Ket 2904 End 2905 ------------------------------------------------------------------ 2906 2907 /x{1,3}+/BZOi 2908 ------------------------------------------------------------------ 2909 Bra 2910 /i x 2911 /i x{0,2}+ 2912 Ket 2913 End 2914 ------------------------------------------------------------------ 2915 2916 /[^x]{1,3}+/BZO 2917 ------------------------------------------------------------------ 2918 Bra 2919 [^x] 2920 [^x]{0,2}+ 2921 Ket 2922 End 2923 ------------------------------------------------------------------ 2924 2925 /[^x]{1,3}+/BZOi 2926 ------------------------------------------------------------------ 2927 Bra 2928 /i [^x] 2929 /i [^x]{0,2}+ 2930 Ket 2931 End 2932 ------------------------------------------------------------------ 2933 2934 /(x)*+/DZ 2935 ------------------------------------------------------------------ 2936 Bra 2937 Braposzero 2938 CBraPos 1 2939 x 2940 KetRpos 2941 Ket 2942 End 2943 ------------------------------------------------------------------ 2944 Capturing subpattern count = 1 2945 May match empty string 2946 No options 2947 No first char 2948 No need char 2949 2950 /^(\w++|\s++)*$/I 2951 Capturing subpattern count = 1 2952 May match empty string 2953 Options: anchored 2954 No first char 2955 No need char 2956 now is the time for all good men to come to the aid of the party 2957 0: now is the time for all good men to come to the aid of the party 2958 1: party 2959 *** Failers 2960 No match 2961 this is not a line with only words and spaces! 2962 No match 2963 2964 /(\d++)(\w)/I 2965 Capturing subpattern count = 2 2966 No options 2967 No first char 2968 No need char 2969 12345a 2970 0: 12345a 2971 1: 12345 2972 2: a 2973 *** Failers 2974 No match 2975 12345+ 2976 No match 2977 2978 /a++b/I 2979 Capturing subpattern count = 0 2980 No options 2981 First char = 'a' 2982 Need char = 'b' 2983 aaab 2984 0: aaab 2985 2986 /(a++b)/I 2987 Capturing subpattern count = 1 2988 No options 2989 First char = 'a' 2990 Need char = 'b' 2991 aaab 2992 0: aaab 2993 1: aaab 2994 2995 /(a++)b/I 2996 Capturing subpattern count = 1 2997 No options 2998 First char = 'a' 2999 Need char = 'b' 3000 aaab 3001 0: aaab 3002 1: aaa 3003 3004 /([^()]++|\([^()]*\))+/I 3005 Capturing subpattern count = 1 3006 No options 3007 No first char 3008 No need char 3009 ((abc(ade)ufh()()x 3010 0: abc(ade)ufh()()x 3011 1: x 3012 3013 /\(([^()]++|\([^()]+\))+\)/I 3014 Capturing subpattern count = 1 3015 No options 3016 First char = '(' 3017 Need char = ')' 3018 (abc) 3019 0: (abc) 3020 1: abc 3021 (abc(def)xyz) 3022 0: (abc(def)xyz) 3023 1: xyz 3024 *** Failers 3025 No match 3026 ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 3027 No match 3028 3029 /(abc){1,3}+/DZ 3030 ------------------------------------------------------------------ 3031 Bra 3032 Once 3033 CBra 1 3034 abc 3035 Ket 3036 Brazero 3037 Bra 3038 CBra 1 3039 abc 3040 Ket 3041 Brazero 3042 CBra 1 3043 abc 3044 Ket 3045 Ket 3046 Ket 3047 Ket 3048 End 3049 ------------------------------------------------------------------ 3050 Capturing subpattern count = 1 3051 No options 3052 First char = 'a' 3053 Need char = 'c' 3054 3055 /a+?+/I 3056 Failed: nothing to repeat at offset 3 3057 3058 /a{2,3}?+b/I 3059 Failed: nothing to repeat at offset 7 3060 3061 /(?U)a+?+/I 3062 Failed: nothing to repeat at offset 7 3063 3064 /a{2,3}?+b/IU 3065 Failed: nothing to repeat at offset 7 3066 3067 /x(?U)a++b/DZ 3068 ------------------------------------------------------------------ 3069 Bra 3070 x 3071 a++ 3072 b 3073 Ket 3074 End 3075 ------------------------------------------------------------------ 3076 Capturing subpattern count = 0 3077 No options 3078 First char = 'x' 3079 Need char = 'b' 3080 xaaaab 3081 0: xaaaab 3082 3083 /(?U)xa++b/DZ 3084 ------------------------------------------------------------------ 3085 Bra 3086 x 3087 a++ 3088 b 3089 Ket 3090 End 3091 ------------------------------------------------------------------ 3092 Capturing subpattern count = 0 3093 Options: ungreedy 3094 First char = 'x' 3095 Need char = 'b' 3096 xaaaab 3097 0: xaaaab 3098 3099 /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/DZ 3100 ------------------------------------------------------------------ 3101 Bra 3102 ^ 3103 CBra 1 3104 CBra 2 3105 a+ 3106 Ket 3107 CBra 3 3108 [ab]+? 3109 Ket 3110 CBra 4 3111 [bc]+ 3112 Ket 3113 CBra 5 3114 \w*+ 3115 Ket 3116 Ket 3117 Ket 3118 End 3119 ------------------------------------------------------------------ 3120 Capturing subpattern count = 5 3121 Options: anchored 3122 No first char 3123 No need char 3124 3125 /^x(?U)a+b/DZ 3126 ------------------------------------------------------------------ 3127 Bra 3128 ^ 3129 x 3130 a++ 3131 b 3132 Ket 3133 End 3134 ------------------------------------------------------------------ 3135 Capturing subpattern count = 0 3136 Options: anchored 3137 No first char 3138 Need char = 'b' 3139 3140 /^x(?U)(a+)b/DZ 3141 ------------------------------------------------------------------ 3142 Bra 3143 ^ 3144 x 3145 CBra 1 3146 a+? 3147 Ket 3148 b 3149 Ket 3150 End 3151 ------------------------------------------------------------------ 3152 Capturing subpattern count = 1 3153 Options: anchored 3154 No first char 3155 Need char = 'b' 3156 3157 /[.x.]/I 3158 Failed: POSIX collating elements are not supported at offset 0 3159 3160 /[=x=]/I 3161 Failed: POSIX collating elements are not supported at offset 0 3162 3163 /[:x:]/I 3164 Failed: POSIX named classes are supported only within a class at offset 0 3165 3166 /\l/I 3167 Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1 3168 3169 /\L/I 3170 Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1 3171 3172 /\N{name}/I 3173 Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1 3174 3175 /\u/I 3176 Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1 3177 3178 /\U/I 3179 Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1 3180 3181 /a{1,3}b/U 3182 ab 3183 0: ab 3184 3185 /[/I 3186 Failed: missing terminating ] for character class at offset 1 3187 3188 /[a-/I 3189 Failed: missing terminating ] for character class at offset 3 3190 3191 /[[:space:]/I 3192 Failed: missing terminating ] for character class at offset 10 3193 3194 /[\s]/IDZ 3195 ------------------------------------------------------------------ 3196 Bra 3197 [\x09-\x0d ] 3198 Ket 3199 End 3200 ------------------------------------------------------------------ 3201 Capturing subpattern count = 0 3202 No options 3203 No first char 3204 No need char 3205 3206 /[[:space:]]/IDZ 3207 ------------------------------------------------------------------ 3208 Bra 3209 [\x09-\x0d ] 3210 Ket 3211 End 3212 ------------------------------------------------------------------ 3213 Capturing subpattern count = 0 3214 No options 3215 No first char 3216 No need char 3217 3218 /[[:space:]abcde]/IDZ 3219 ------------------------------------------------------------------ 3220 Bra 3221 [\x09-\x0d a-e] 3222 Ket 3223 End 3224 ------------------------------------------------------------------ 3225 Capturing subpattern count = 0 3226 No options 3227 No first char 3228 No need char 3229 3230 /< (?: (?(R) \d++ | [^<>]*+) | (?R)) * >/Ix 3231 Capturing subpattern count = 0 3232 Options: extended 3233 First char = '<' 3234 Need char = '>' 3235 <> 3236 0: <> 3237 <abcd> 3238 0: <abcd> 3239 <abc <123> hij> 3240 0: <abc <123> hij> 3241 <abc <def> hij> 3242 0: <def> 3243 <abc<>def> 3244 0: <abc<>def> 3245 <abc<> 3246 0: <> 3247 *** Failers 3248 No match 3249 <abc 3250 No match 3251 3252 |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|IDZ 3253 ------------------------------------------------------------------ 3254 Bra 3255 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 3256 \b 3257 Ket 3258 End 3259 ------------------------------------------------------------------ 3260 Capturing subpattern count = 0 3261 Max lookbehind = 1 3262 No options 3263 First char = '8' 3264 Need char = 'X' 3265 3266 |\$\<\.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|IDZ 3267 ------------------------------------------------------------------ 3268 Bra 3269 $<.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 3270 \b 3271 Ket 3272 End 3273 ------------------------------------------------------------------ 3274 Capturing subpattern count = 0 3275 Max lookbehind = 1 3276 No options 3277 First char = '$' 3278 Need char = 'X' 3279 3280 /(.*)\d+\1/I 3281 Capturing subpattern count = 1 3282 Max back reference = 1 3283 No options 3284 No first char 3285 No need char 3286 3287 /(.*)\d+/I 3288 Capturing subpattern count = 1 3289 No options 3290 First char at start or follows newline 3291 No need char 3292 3293 /(.*)\d+\1/Is 3294 Capturing subpattern count = 1 3295 Max back reference = 1 3296 Options: dotall 3297 No first char 3298 No need char 3299 3300 /(.*)\d+/Is 3301 Capturing subpattern count = 1 3302 Options: anchored dotall 3303 No first char 3304 No need char 3305 3306 /(.*(xyz))\d+\2/I 3307 Capturing subpattern count = 2 3308 Max back reference = 2 3309 No options 3310 First char at start or follows newline 3311 Need char = 'z' 3312 3313 /((.*))\d+\1/I 3314 Capturing subpattern count = 2 3315 Max back reference = 1 3316 No options 3317 No first char 3318 No need char 3319 abc123bc 3320 0: bc123bc 3321 1: bc 3322 2: bc 3323 3324 /a[b]/I 3325 Capturing subpattern count = 0 3326 No options 3327 First char = 'a' 3328 Need char = 'b' 3329 3330 /(?=a).*/I 3331 Capturing subpattern count = 0 3332 May match empty string 3333 No options 3334 First char = 'a' 3335 No need char 3336 3337 /(?=abc).xyz/IiI 3338 Capturing subpattern count = 0 3339 Options: caseless 3340 First char = 'a' (caseless) 3341 Need char = 'z' (caseless) 3342 3343 /(?=abc)(?i).xyz/I 3344 Capturing subpattern count = 0 3345 No options 3346 First char = 'a' 3347 Need char = 'z' (caseless) 3348 3349 /(?=a)(?=b)/I 3350 Capturing subpattern count = 0 3351 May match empty string 3352 No options 3353 First char = 'a' 3354 No need char 3355 3356 /(?=.)a/I 3357 Capturing subpattern count = 0 3358 No options 3359 First char = 'a' 3360 No need char 3361 3362 /((?=abcda)a)/I 3363 Capturing subpattern count = 1 3364 No options 3365 First char = 'a' 3366 Need char = 'a' 3367 3368 /((?=abcda)ab)/I 3369 Capturing subpattern count = 1 3370 No options 3371 First char = 'a' 3372 Need char = 'b' 3373 3374 /()a/I 3375 Capturing subpattern count = 1 3376 No options 3377 No first char 3378 Need char = 'a' 3379 3380 /(?(1)ab|ac)(.)/I 3381 Capturing subpattern count = 1 3382 No options 3383 First char = 'a' 3384 No need char 3385 3386 /(?(1)abz|acz)(.)/I 3387 Capturing subpattern count = 1 3388 No options 3389 First char = 'a' 3390 Need char = 'z' 3391 3392 /(?(1)abz)(.)/I 3393 Capturing subpattern count = 1 3394 No options 3395 No first char 3396 No need char 3397 3398 /(?(1)abz)(1)23/I 3399 Capturing subpattern count = 1 3400 No options 3401 No first char 3402 Need char = '3' 3403 3404 /(a)+/I 3405 Capturing subpattern count = 1 3406 No options 3407 First char = 'a' 3408 No need char 3409 3410 /(a){2,3}/I 3411 Capturing subpattern count = 1 3412 No options 3413 First char = 'a' 3414 Need char = 'a' 3415 3416 /(a)*/I 3417 Capturing subpattern count = 1 3418 May match empty string 3419 No options 3420 No first char 3421 No need char 3422 3423 /[a]/I 3424 Capturing subpattern count = 0 3425 No options 3426 First char = 'a' 3427 No need char 3428 3429 /[ab]/I 3430 Capturing subpattern count = 0 3431 No options 3432 No first char 3433 No need char 3434 3435 /[ab]/IS 3436 Capturing subpattern count = 0 3437 No options 3438 No first char 3439 No need char 3440 Subject length lower bound = 1 3441 Starting chars: a b 3442 3443 /[^a]/I 3444 Capturing subpattern count = 0 3445 No options 3446 No first char 3447 No need char 3448 3449 /\d456/I 3450 Capturing subpattern count = 0 3451 No options 3452 No first char 3453 Need char = '6' 3454 3455 /\d456/IS 3456 Capturing subpattern count = 0 3457 No options 3458 No first char 3459 Need char = '6' 3460 Subject length lower bound = 4 3461 Starting chars: 0 1 2 3 4 5 6 7 8 9 3462 3463 /a^b/I 3464 Capturing subpattern count = 0 3465 No options 3466 First char = 'a' 3467 Need char = 'b' 3468 3469 /^a/Im 3470 Capturing subpattern count = 0 3471 Options: multiline 3472 First char at start or follows newline 3473 Need char = 'a' 3474 abcde 3475 0: a 3476 xy\nabc 3477 0: a 3478 *** Failers 3479 No match 3480 xyabc 3481 No match 3482 3483 /c|abc/I 3484 Capturing subpattern count = 0 3485 No options 3486 No first char 3487 Need char = 'c' 3488 3489 /(?i)[ab]/IS 3490 Capturing subpattern count = 0 3491 Options: caseless 3492 No first char 3493 No need char 3494 Subject length lower bound = 1 3495 Starting chars: A B a b 3496 3497 /[ab](?i)cd/IS 3498 Capturing subpattern count = 0 3499 No options 3500 No first char 3501 Need char = 'd' (caseless) 3502 Subject length lower bound = 3 3503 Starting chars: a b 3504 3505 /abc(?C)def/I 3506 Capturing subpattern count = 0 3507 No options 3508 First char = 'a' 3509 Need char = 'f' 3510 abcdef 3511 --->abcdef 3512 0 ^ ^ d 3513 0: abcdef 3514 1234abcdef 3515 --->1234abcdef 3516 0 ^ ^ d 3517 0: abcdef 3518 *** Failers 3519 No match 3520 abcxyz 3521 No match 3522 abcxyzf 3523 --->abcxyzf 3524 0 ^ ^ d 3525 No match 3526 3527 /abc(?C)de(?C1)f/I 3528 Capturing subpattern count = 0 3529 No options 3530 First char = 'a' 3531 Need char = 'f' 3532 123abcdef 3533 --->123abcdef 3534 0 ^ ^ d 3535 1 ^ ^ f 3536 0: abcdef 3537 3538 /(?C1)\dabc(?C2)def/IS 3539 Capturing subpattern count = 0 3540 No options 3541 No first char 3542 Need char = 'f' 3543 Subject length lower bound = 7 3544 Starting chars: 0 1 2 3 4 5 6 7 8 9 3545 1234abcdef 3546 --->1234abcdef 3547 1 ^ \d 3548 1 ^ \d 3549 1 ^ \d 3550 1 ^ \d 3551 2 ^ ^ d 3552 0: 4abcdef 3553 *** Failers 3554 No match 3555 abcdef 3556 No match 3557 3558 /(?C1)\dabc(?C2)def/ISS 3559 Capturing subpattern count = 0 3560 No options 3561 No first char 3562 Need char = 'f' 3563 1234abcdef 3564 --->1234abcdef 3565 1 ^ \d 3566 1 ^ \d 3567 1 ^ \d 3568 1 ^ \d 3569 2 ^ ^ d 3570 0: 4abcdef 3571 *** Failers 3572 No match 3573 abcdef 3574 --->abcdef 3575 1 ^ \d 3576 1 ^ \d 3577 1 ^ \d 3578 1 ^ \d 3579 1 ^ \d 3580 1 ^ \d 3581 No match 3582 3583 /(?C255)ab/I 3584 Capturing subpattern count = 0 3585 No options 3586 First char = 'a' 3587 Need char = 'b' 3588 3589 /(?C256)ab/I 3590 Failed: number after (?C is > 255 at offset 6 3591 3592 /(?Cab)xx/I 3593 Failed: closing ) for (?C expected at offset 3 3594 3595 /(?C12vr)x/I 3596 Failed: closing ) for (?C expected at offset 5 3597 3598 /abc(?C)def/I 3599 Capturing subpattern count = 0 3600 No options 3601 First char = 'a' 3602 Need char = 'f' 3603 *** Failers 3604 No match 3605 \x83\x0\x61bcdef 3606 --->\x83\x00abcdef 3607 0 ^ ^ d 3608 0: abcdef 3609 3610 /(abc)(?C)de(?C1)f/I 3611 Capturing subpattern count = 1 3612 No options 3613 First char = 'a' 3614 Need char = 'f' 3615 123abcdef 3616 --->123abcdef 3617 0 ^ ^ d 3618 1 ^ ^ f 3619 0: abcdef 3620 1: abc 3621 123abcdef\C+ 3622 Callout 0: last capture = 1 3623 0: <unset> 3624 1: abc 3625 --->123abcdef 3626 ^ ^ d 3627 Callout 1: last capture = 1 3628 0: <unset> 3629 1: abc 3630 --->123abcdef 3631 ^ ^ f 3632 0: abcdef 3633 1: abc 3634 123abcdef\C- 3635 0: abcdef 3636 1: abc 3637 *** Failers 3638 No match 3639 123abcdef\C!1 3640 --->123abcdef 3641 0 ^ ^ d 3642 1 ^ ^ f 3643 No match 3644 3645 /(?C0)(abc(?C1))*/I 3646 Capturing subpattern count = 1 3647 May match empty string 3648 No options 3649 No first char 3650 No need char 3651 abcabcabc 3652 --->abcabcabc 3653 0 ^ (abc(?C1))* 3654 1 ^ ^ ) 3655 1 ^ ^ ) 3656 1 ^ ^ ) 3657 0: abcabcabc 3658 1: abc 3659 abcabc\C!1!3 3660 --->abcabc 3661 0 ^ (abc(?C1))* 3662 1 ^ ^ ) 3663 1 ^ ^ ) 3664 0: abcabc 3665 1: abc 3666 *** Failers 3667 --->*** Failers 3668 0 ^ (abc(?C1))* 3669 0: 3670 abcabcabc\C!1!3 3671 --->abcabcabc 3672 0 ^ (abc(?C1))* 3673 1 ^ ^ ) 3674 1 ^ ^ ) 3675 1 ^ ^ ) 3676 0: abcabc 3677 1: abc 3678 3679 /(\d{3}(?C))*/I 3680 Capturing subpattern count = 1 3681 May match empty string 3682 No options 3683 No first char 3684 No need char 3685 123\C+ 3686 Callout 0: last capture = -1 3687 0: <unset> 3688 --->123 3689 ^ ^ ) 3690 0: 123 3691 1: 123 3692 123456\C+ 3693 Callout 0: last capture = -1 3694 0: <unset> 3695 --->123456 3696 ^ ^ ) 3697 Callout 0: last capture = 1 3698 0: <unset> 3699 1: 123 3700 --->123456 3701 ^ ^ ) 3702 0: 123456 3703 1: 456 3704 123456789\C+ 3705 Callout 0: last capture = -1 3706 0: <unset> 3707 --->123456789 3708 ^ ^ ) 3709 Callout 0: last capture = 1 3710 0: <unset> 3711 1: 123 3712 --->123456789 3713 ^ ^ ) 3714 Callout 0: last capture = 1 3715 0: <unset> 3716 1: 456 3717 --->123456789 3718 ^ ^ ) 3719 0: 123456789 3720 1: 789 3721 3722 /((xyz)(?C)p|(?C1)xyzabc)/I 3723 Capturing subpattern count = 2 3724 No options 3725 First char = 'x' 3726 No need char 3727 xyzabc\C+ 3728 Callout 0: last capture = 2 3729 0: <unset> 3730 1: <unset> 3731 2: xyz 3732 --->xyzabc 3733 ^ ^ p 3734 Callout 1: last capture = -1 3735 0: <unset> 3736 --->xyzabc 3737 ^ x 3738 0: xyzabc 3739 1: xyzabc 3740 3741 /(X)((xyz)(?C)p|(?C1)xyzabc)/I 3742 Capturing subpattern count = 3 3743 No options 3744 First char = 'X' 3745 Need char = 'x' 3746 Xxyzabc\C+ 3747 Callout 0: last capture = 3 3748 0: <unset> 3749 1: X 3750 2: <unset> 3751 3: xyz 3752 --->Xxyzabc 3753 ^ ^ p 3754 Callout 1: last capture = 1 3755 0: <unset> 3756 1: X 3757 --->Xxyzabc 3758 ^^ x 3759 0: Xxyzabc 3760 1: X 3761 2: xyzabc 3762 3763 /(?=(abc))(?C)abcdef/I 3764 Capturing subpattern count = 1 3765 No options 3766 First char = 'a' 3767 Need char = 'f' 3768 abcdef\C+ 3769 Callout 0: last capture = 1 3770 0: <unset> 3771 1: abc 3772 --->abcdef 3773 ^ a 3774 0: abcdef 3775 1: abc 3776 3777 /(?!(abc)(?C1)d)(?C2)abcxyz/I 3778 Capturing subpattern count = 1 3779 No options 3780 First char = 'a' 3781 Need char = 'z' 3782 abcxyz\C+ 3783 Callout 1: last capture = 1 3784 0: <unset> 3785 1: abc 3786 --->abcxyz 3787 ^ ^ d 3788 Callout 2: last capture = -1 3789 0: <unset> 3790 --->abcxyz 3791 ^ a 3792 0: abcxyz 3793 3794 /(?<=(abc)(?C))xyz/I 3795 Capturing subpattern count = 1 3796 Max lookbehind = 3 3797 No options 3798 First char = 'x' 3799 Need char = 'z' 3800 abcxyz\C+ 3801 Callout 0: last capture = 1 3802 0: <unset> 3803 1: abc 3804 --->abcxyz 3805 ^ ) 3806 0: xyz 3807 1: abc 3808 3809 /a(b+)(c*)(?C1)/I 3810 Capturing subpattern count = 2 3811 No options 3812 First char = 'a' 3813 Need char = 'b' 3814 abbbbbccc\C*1 3815 --->abbbbbccc 3816 1 ^ ^ 3817 Callout data = 1 3818 No match 3819 3820 /a(b+?)(c*?)(?C1)/I 3821 Capturing subpattern count = 2 3822 No options 3823 First char = 'a' 3824 Need char = 'b' 3825 abbbbbccc\C*1 3826 --->abbbbbccc 3827 1 ^ ^ 3828 Callout data = 1 3829 1 ^ ^ 3830 Callout data = 1 3831 1 ^ ^ 3832 Callout data = 1 3833 1 ^ ^ 3834 Callout data = 1 3835 1 ^ ^ 3836 Callout data = 1 3837 1 ^ ^ 3838 Callout data = 1 3839 1 ^ ^ 3840 Callout data = 1 3841 1 ^ ^ 3842 Callout data = 1 3843 No match 3844 3845 /(?C)abc/I 3846 Capturing subpattern count = 0 3847 No options 3848 First char = 'a' 3849 Need char = 'c' 3850 3851 /(?C)^abc/I 3852 Capturing subpattern count = 0 3853 Options: anchored 3854 No first char 3855 No need char 3856 3857 /(?C)a|b/IS 3858 Capturing subpattern count = 0 3859 No options 3860 No first char 3861 No need char 3862 Subject length lower bound = 1 3863 Starting chars: a b 3864 3865 /(?R)/I 3866 Failed: recursive call could loop indefinitely at offset 3 3867 3868 /(a|(?R))/I 3869 Failed: recursive call could loop indefinitely at offset 6 3870 3871 /(ab|(bc|(de|(?R))))/I 3872 Failed: recursive call could loop indefinitely at offset 15 3873 3874 /x(ab|(bc|(de|(?R))))/I 3875 Capturing subpattern count = 3 3876 No options 3877 First char = 'x' 3878 No need char 3879 xab 3880 0: xab 3881 1: ab 3882 xbc 3883 0: xbc 3884 1: bc 3885 2: bc 3886 xde 3887 0: xde 3888 1: de 3889 2: de 3890 3: de 3891 xxab 3892 0: xxab 3893 1: xab 3894 2: xab 3895 3: xab 3896 xxxab 3897 0: xxxab 3898 1: xxab 3899 2: xxab 3900 3: xxab 3901 *** Failers 3902 No match 3903 xyab 3904 No match 3905 3906 /(ab|(bc|(de|(?1))))/I 3907 Failed: recursive call could loop indefinitely at offset 15 3908 3909 /x(ab|(bc|(de|(?1)x)x)x)/I 3910 Failed: recursive call could loop indefinitely at offset 16 3911 3912 /^([^()]|\((?1)*\))*$/I 3913 Capturing subpattern count = 1 3914 May match empty string 3915 Options: anchored 3916 No first char 3917 No need char 3918 abc 3919 0: abc 3920 1: c 3921 a(b)c 3922 0: a(b)c 3923 1: c 3924 a(b(c))d 3925 0: a(b(c))d 3926 1: d 3927 *** Failers) 3928 No match 3929 a(b(c)d 3930 No match 3931 3932 /^>abc>([^()]|\((?1)*\))*<xyz<$/I 3933 Capturing subpattern count = 1 3934 Options: anchored 3935 No first char 3936 Need char = '<' 3937 >abc>123<xyz< 3938 0: >abc>123<xyz< 3939 1: 3 3940 >abc>1(2)3<xyz< 3941 0: >abc>1(2)3<xyz< 3942 1: 3 3943 >abc>(1(2)3)<xyz< 3944 0: >abc>(1(2)3)<xyz< 3945 1: (1(2)3) 3946 3947 /(a(?1)b)/DZ 3948 ------------------------------------------------------------------ 3949 Bra 3950 CBra 1 3951 a 3952 Recurse 3953 b 3954 Ket 3955 Ket 3956 End 3957 ------------------------------------------------------------------ 3958 Capturing subpattern count = 1 3959 No options 3960 First char = 'a' 3961 Need char = 'b' 3962 3963 /(a(?1)+b)/DZ 3964 ------------------------------------------------------------------ 3965 Bra 3966 CBra 1 3967 a 3968 Once 3969 Recurse 3970 KetRmax 3971 b 3972 Ket 3973 Ket 3974 End 3975 ------------------------------------------------------------------ 3976 Capturing subpattern count = 1 3977 No options 3978 First char = 'a' 3979 Need char = 'b' 3980 3981 /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I 3982 Capturing subpattern count = 2 3983 Options: anchored 3984 No first char 3985 No need char 3986 12 3987 0: 12 3988 1: 12 3989 (((2+2)*-3)-7) 3990 0: (((2+2)*-3)-7) 3991 1: (((2+2)*-3)-7) 3992 2: - 3993 -12 3994 0: -12 3995 1: -12 3996 *** Failers 3997 No match 3998 ((2+2)*-3)-7) 3999 No match 4000 4001 /^(x(y|(?1){2})z)/I 4002 Capturing subpattern count = 2 4003 Options: anchored 4004 No first char 4005 No need char 4006 xyz 4007 0: xyz 4008 1: xyz 4009 2: y 4010 xxyzxyzz 4011 0: xxyzxyzz 4012 1: xxyzxyzz 4013 2: xyzxyz 4014 *** Failers 4015 No match 4016 xxyzz 4017 No match 4018 xxyzxyzxyzz 4019 No match 4020 4021 /((< (?: (?(R) \d++ | [^<>]*+) | (?2)) * >))/Ix 4022 Capturing subpattern count = 2 4023 Options: extended 4024 First char = '<' 4025 Need char = '>' 4026 <> 4027 0: <> 4028 1: <> 4029 2: <> 4030 <abcd> 4031 0: <abcd> 4032 1: <abcd> 4033 2: <abcd> 4034 <abc <123> hij> 4035 0: <abc <123> hij> 4036 1: <abc <123> hij> 4037 2: <abc <123> hij> 4038 <abc <def> hij> 4039 0: <def> 4040 1: <def> 4041 2: <def> 4042 <abc<>def> 4043 0: <abc<>def> 4044 1: <abc<>def> 4045 2: <abc<>def> 4046 <abc<> 4047 0: <> 4048 1: <> 4049 2: <> 4050 *** Failers 4051 No match 4052 <abc 4053 No match 4054 4055 /(?1)/I 4056 Failed: reference to non-existent subpattern at offset 3 4057 4058 /((?2)(abc)/I 4059 Failed: missing ) at offset 10 4060 4061 /^(abc)def(?1)/I 4062 Capturing subpattern count = 1 4063 Options: anchored 4064 No first char 4065 No need char 4066 abcdefabc 4067 0: abcdefabc 4068 1: abc 4069 4070 /^(a|b|c)=(?1)+/I 4071 Capturing subpattern count = 1 4072 Options: anchored 4073 No first char 4074 No need char 4075 a=a 4076 0: a=a 4077 1: a 4078 a=b 4079 0: a=b 4080 1: a 4081 a=bc 4082 0: a=bc 4083 1: a 4084 4085 /^(a|b|c)=((?1))+/I 4086 Capturing subpattern count = 2 4087 Options: anchored 4088 No first char 4089 No need char 4090 a=a 4091 0: a=a 4092 1: a 4093 2: a 4094 a=b 4095 0: a=b 4096 1: a 4097 2: b 4098 a=bc 4099 0: a=bc 4100 1: a 4101 2: c 4102 4103 /a(?P<name1>b|c)d(?P<longername2>e)/DZ 4104 ------------------------------------------------------------------ 4105 Bra 4106 a 4107 CBra 1 4108 b 4109 Alt 4110 c 4111 Ket 4112 d 4113 CBra 2 4114 e 4115 Ket 4116 Ket 4117 End 4118 ------------------------------------------------------------------ 4119 Capturing subpattern count = 2 4120 Named capturing subpatterns: 4121 longername2 2 4122 name1 1 4123 No options 4124 First char = 'a' 4125 Need char = 'e' 4126 abde 4127 0: abde 4128 1: b 4129 2: e 4130 acde 4131 0: acde 4132 1: c 4133 2: e 4134 4135 /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/DZ 4136 ------------------------------------------------------------------ 4137 Bra 4138 Bra 4139 a 4140 CBra 1 4141 c 4142 CBra 2 4143 d 4144 Ket 4145 Ket 4146 Ket 4147 CBra 3 4148 a 4149 Ket 4150 Ket 4151 End 4152 ------------------------------------------------------------------ 4153 Capturing subpattern count = 3 4154 Named capturing subpatterns: 4155 a 3 4156 c 1 4157 d 2 4158 No options 4159 First char = 'a' 4160 Need char = 'a' 4161 4162 /(?P<a>a)...(?P=a)bbb(?P>a)d/DZ 4163 ------------------------------------------------------------------ 4164 Bra 4165 CBra 1 4166 a 4167 Ket 4168 Any 4169 Any 4170 Any 4171 \1 4172 bbb 4173 Recurse 4174 d 4175 Ket 4176 End 4177 ------------------------------------------------------------------ 4178 Capturing subpattern count = 1 4179 Max back reference = 1 4180 Named capturing subpatterns: 4181 a 1 4182 No options 4183 First char = 'a' 4184 Need char = 'd' 4185 4186 /^\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 4187 Capturing subpattern count = 4 4188 Max back reference = 4 4189 Named capturing subpatterns: 4190 four 4 4191 one 1 4192 three 3 4193 two 2 4194 May match empty string 4195 Options: anchored caseless 4196 No first char 4197 No need char 4198 1221 4199 0: 1221 4200 1: 1221 4201 2: 1 4202 Satan, oscillate my metallic sonatas! 4203 0: Satan, oscillate my metallic sonatas! 4204 1: <unset> 4205 2: <unset> 4206 3: Satan, oscillate my metallic sonatas 4207 4: S 4208 A man, a plan, a canal: Panama! 4209 0: A man, a plan, a canal: Panama! 4210 1: <unset> 4211 2: <unset> 4212 3: A man, a plan, a canal: Panama 4213 4: A 4214 Able was I ere I saw Elba. 4215 0: Able was I ere I saw Elba. 4216 1: <unset> 4217 2: <unset> 4218 3: Able was I ere I saw Elba 4219 4: A 4220 *** Failers 4221 No match 4222 The quick brown fox 4223 No match 4224 4225 /((?(R)a|b))\1(?1)?/I 4226 Capturing subpattern count = 1 4227 Max back reference = 1 4228 No options 4229 No first char 4230 No need char 4231 bb 4232 0: bb 4233 1: b 4234 bbaa 4235 0: bba 4236 1: b 4237 4238 /(.*)a/Is 4239 Capturing subpattern count = 1 4240 Options: anchored dotall 4241 No first char 4242 Need char = 'a' 4243 4244 /(.*)a\1/Is 4245 Capturing subpattern count = 1 4246 Max back reference = 1 4247 Options: dotall 4248 No first char 4249 Need char = 'a' 4250 4251 /(.*)a(b)\2/Is 4252 Capturing subpattern count = 2 4253 Max back reference = 2 4254 Options: anchored dotall 4255 No first char 4256 Need char = 'b' 4257 4258 /((.*)a|(.*)b)z/Is 4259 Capturing subpattern count = 3 4260 Options: anchored dotall 4261 No first char 4262 Need char = 'z' 4263 4264 /((.*)a|(.*)b)z\1/Is 4265 Capturing subpattern count = 3 4266 Max back reference = 1 4267 Options: dotall 4268 No first char 4269 Need char = 'z' 4270 4271 /((.*)a|(.*)b)z\2/Is 4272 Capturing subpattern count = 3 4273 Max back reference = 2 4274 Options: dotall 4275 No first char 4276 Need char = 'z' 4277 4278 /((.*)a|(.*)b)z\3/Is 4279 Capturing subpattern count = 3 4280 Max back reference = 3 4281 Options: dotall 4282 No first char 4283 Need char = 'z' 4284 4285 /((.*)a|^(.*)b)z\3/Is 4286 Capturing subpattern count = 3 4287 Max back reference = 3 4288 Options: anchored dotall 4289 No first char 4290 Need char = 'z' 4291 4292 /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is 4293 Capturing subpattern count = 31 4294 May match empty string 4295 Options: anchored dotall 4296 No first char 4297 No need char 4298 4299 /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is 4300 Capturing subpattern count = 31 4301 Max back reference = 31 4302 May match empty string 4303 Options: dotall 4304 No first char 4305 No need char 4306 4307 /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is 4308 Capturing subpattern count = 32 4309 Max back reference = 32 4310 May match empty string 4311 Options: dotall 4312 No first char 4313 No need char 4314 4315 /(a)(bc)/INDZ 4316 ------------------------------------------------------------------ 4317 Bra 4318 Bra 4319 a 4320 Ket 4321 Bra 4322 bc 4323 Ket 4324 Ket 4325 End 4326 ------------------------------------------------------------------ 4327 Capturing subpattern count = 0 4328 Options: no_auto_capture 4329 First char = 'a' 4330 Need char = 'c' 4331 abc 4332 0: abc 4333 4334 /(?P<one>a)(bc)/INDZ 4335 ------------------------------------------------------------------ 4336 Bra 4337 CBra 1 4338 a 4339 Ket 4340 Bra 4341 bc 4342 Ket 4343 Ket 4344 End 4345 ------------------------------------------------------------------ 4346 Capturing subpattern count = 1 4347 Named capturing subpatterns: 4348 one 1 4349 Options: no_auto_capture 4350 First char = 'a' 4351 Need char = 'c' 4352 abc 4353 0: abc 4354 1: a 4355 4356 /(a)(?P<named>bc)/INDZ 4357 ------------------------------------------------------------------ 4358 Bra 4359 Bra 4360 a 4361 Ket 4362 CBra 1 4363 bc 4364 Ket 4365 Ket 4366 End 4367 ------------------------------------------------------------------ 4368 Capturing subpattern count = 1 4369 Named capturing subpatterns: 4370 named 1 4371 Options: no_auto_capture 4372 First char = 'a' 4373 Need char = 'c' 4374 4375 /(a+)*zz/I 4376 Capturing subpattern count = 1 4377 No options 4378 No first char 4379 Need char = 'z' 4380 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzbbbbbb\M 4381 Minimum match() limit = 8 4382 Minimum match() recursion limit = 6 4383 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazz 4384 1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 4385 aaaaaaaaaaaaaz\M 4386 Minimum match() limit = 32768 4387 Minimum match() recursion limit = 29 4388 No match 4389 4390 /(aaa(?C1)bbb|ab)/I 4391 Capturing subpattern count = 1 4392 No options 4393 First char = 'a' 4394 Need char = 'b' 4395 aaabbb 4396 --->aaabbb 4397 1 ^ ^ b 4398 0: aaabbb 4399 1: aaabbb 4400 aaabbb\C*0 4401 --->aaabbb 4402 1 ^ ^ b 4403 0: aaabbb 4404 1: aaabbb 4405 aaabbb\C*1 4406 --->aaabbb 4407 1 ^ ^ b 4408 Callout data = 1 4409 0: ab 4410 1: ab 4411 aaabbb\C*-1 4412 --->aaabbb 4413 1 ^ ^ b 4414 Callout data = -1 4415 No match 4416 4417 /ab(?P<one>cd)ef(?P<two>gh)/I 4418 Capturing subpattern count = 2 4419 Named capturing subpatterns: 4420 one 1 4421 two 2 4422 No options 4423 First char = 'a' 4424 Need char = 'h' 4425 abcdefgh 4426 0: abcdefgh 4427 1: cd 4428 2: gh 4429 abcdefgh\C1\Gtwo 4430 0: abcdefgh 4431 1: cd 4432 2: gh 4433 1C cd (2) 4434 G gh (2) two 4435 abcdefgh\Cone\Ctwo 4436 0: abcdefgh 4437 1: cd 4438 2: gh 4439 C cd (2) one 4440 C gh (2) two 4441 abcdefgh\Cthree 4442 no parentheses with name "three" 4443 0: abcdefgh 4444 1: cd 4445 2: gh 4446 copy substring three failed -7 4447 4448 /(?P<Tes>)(?P<Test>)/DZ 4449 ------------------------------------------------------------------ 4450 Bra 4451 CBra 1 4452 Ket 4453 CBra 2 4454 Ket 4455 Ket 4456 End 4457 ------------------------------------------------------------------ 4458 Capturing subpattern count = 2 4459 Named capturing subpatterns: 4460 Tes 1 4461 Test 2 4462 May match empty string 4463 No options 4464 No first char 4465 No need char 4466 4467 /(?P<Test>)(?P<Tes>)/DZ 4468 ------------------------------------------------------------------ 4469 Bra 4470 CBra 1 4471 Ket 4472 CBra 2 4473 Ket 4474 Ket 4475 End 4476 ------------------------------------------------------------------ 4477 Capturing subpattern count = 2 4478 Named capturing subpatterns: 4479 Tes 2 4480 Test 1 4481 May match empty string 4482 No options 4483 No first char 4484 No need char 4485 4486 /(?P<Z>zz)(?P<A>aa)/I 4487 Capturing subpattern count = 2 4488 Named capturing subpatterns: 4489 A 2 4490 Z 1 4491 No options 4492 First char = 'z' 4493 Need char = 'a' 4494 zzaa\CZ 4495 0: zzaa 4496 1: zz 4497 2: aa 4498 C zz (2) Z 4499 zzaa\CA 4500 0: zzaa 4501 1: zz 4502 2: aa 4503 C aa (2) A 4504 4505 /(?P<x>eks)(?P<x>eccs)/I 4506 Failed: two named subpatterns have the same name at offset 15 4507 4508 /(?P<abc>abc(?P<def>def)(?P<abc>xyz))/I 4509 Failed: two named subpatterns have the same name at offset 30 4510 4511 "\[((?P<elem>\d+)(,(?P>elem))*)\]"I 4512 Capturing subpattern count = 3 4513 Named capturing subpatterns: 4514 elem 2 4515 No options 4516 First char = '[' 4517 Need char = ']' 4518 [10,20,30,5,5,4,4,2,43,23,4234] 4519 0: [10,20,30,5,5,4,4,2,43,23,4234] 4520 1: 10,20,30,5,5,4,4,2,43,23,4234 4521 2: 10 4522 3: ,4234 4523 *** Failers 4524 No match 4525 [] 4526 No match 4527 4528 "\[((?P<elem>\d+)(,(?P>elem))*)?\]"I 4529 Capturing subpattern count = 3 4530 Named capturing subpatterns: 4531 elem 2 4532 No options 4533 First char = '[' 4534 Need char = ']' 4535 [10,20,30,5,5,4,4,2,43,23,4234] 4536 0: [10,20,30,5,5,4,4,2,43,23,4234] 4537 1: 10,20,30,5,5,4,4,2,43,23,4234 4538 2: 10 4539 3: ,4234 4540 [] 4541 0: [] 4542 4543 /(a(b(?2)c))?/DZ 4544 ------------------------------------------------------------------ 4545 Bra 4546 Brazero 4547 CBra 1 4548 a 4549 CBra 2 4550 b 4551 Recurse 4552 c 4553 Ket 4554 Ket 4555 Ket 4556 End 4557 ------------------------------------------------------------------ 4558 Capturing subpattern count = 2 4559 May match empty string 4560 No options 4561 No first char 4562 No need char 4563 4564 /(a(b(?2)c))*/DZ 4565 ------------------------------------------------------------------ 4566 Bra 4567 Brazero 4568 CBra 1 4569 a 4570 CBra 2 4571 b 4572 Recurse 4573 c 4574 Ket 4575 KetRmax 4576 Ket 4577 End 4578 ------------------------------------------------------------------ 4579 Capturing subpattern count = 2 4580 May match empty string 4581 No options 4582 No first char 4583 No need char 4584 4585 /(a(b(?2)c)){0,2}/DZ 4586 ------------------------------------------------------------------ 4587 Bra 4588 Brazero 4589 Bra 4590 CBra 1 4591 a 4592 CBra 2 4593 b 4594 Recurse 4595 c 4596 Ket 4597 Ket 4598 Brazero 4599 CBra 1 4600 a 4601 CBra 2 4602 b 4603 Recurse 4604 c 4605 Ket 4606 Ket 4607 Ket 4608 Ket 4609 End 4610 ------------------------------------------------------------------ 4611 Capturing subpattern count = 2 4612 May match empty string 4613 No options 4614 No first char 4615 No need char 4616 4617 /[ab]{1}+/DZ 4618 ------------------------------------------------------------------ 4619 Bra 4620 [ab]{1,1}+ 4621 Ket 4622 End 4623 ------------------------------------------------------------------ 4624 Capturing subpattern count = 0 4625 No options 4626 No first char 4627 No need char 4628 4629 /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii 4630 Capturing subpattern count = 3 4631 Options: caseless 4632 No first char 4633 Need char = 'g' (caseless) 4634 Baby Bjorn Active Carrier - With free SHIPPING!! 4635 0: Baby Bjorn Active Carrier - With free SHIPPING!! 4636 1: Baby Bjorn Active Carrier - With free SHIPPING!! 4637 4638 /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS 4639 Capturing subpattern count = 3 4640 Options: caseless 4641 No first char 4642 Need char = 'g' (caseless) 4643 Subject length lower bound = 8 4644 No starting char list 4645 Baby Bjorn Active Carrier - With free SHIPPING!! 4646 0: Baby Bjorn Active Carrier - With free SHIPPING!! 4647 1: Baby Bjorn Active Carrier - With free SHIPPING!! 4648 4649 /a*.*b/ISDZ 4650 ------------------------------------------------------------------ 4651 Bra 4652 a* 4653 Any* 4654 b 4655 Ket 4656 End 4657 ------------------------------------------------------------------ 4658 Capturing subpattern count = 0 4659 No options 4660 No first char 4661 Need char = 'b' 4662 Subject length lower bound = 1 4663 No starting char list 4664 4665 /(a|b)*.?c/ISDZ 4666 ------------------------------------------------------------------ 4667 Bra 4668 Brazero 4669 CBra 1 4670 a 4671 Alt 4672 b 4673 KetRmax 4674 Any? 4675 c 4676 Ket 4677 End 4678 ------------------------------------------------------------------ 4679 Capturing subpattern count = 1 4680 No options 4681 No first char 4682 Need char = 'c' 4683 Subject length lower bound = 1 4684 No starting char list 4685 4686 /abc(?C255)de(?C)f/DZ 4687 ------------------------------------------------------------------ 4688 Bra 4689 abc 4690 Callout 255 10 1 4691 de 4692 Callout 0 16 1 4693 f 4694 Ket 4695 End 4696 ------------------------------------------------------------------ 4697 Capturing subpattern count = 0 4698 No options 4699 First char = 'a' 4700 Need char = 'f' 4701 4702 /abcde/ICDZ 4703 ------------------------------------------------------------------ 4704 Bra 4705 Callout 255 0 1 4706 a 4707 Callout 255 1 1 4708 b 4709 Callout 255 2 1 4710 c 4711 Callout 255 3 1 4712 d 4713 Callout 255 4 1 4714 e 4715 Callout 255 5 0 4716 Ket 4717 End 4718 ------------------------------------------------------------------ 4719 Capturing subpattern count = 0 4720 Options: 4721 First char = 'a' 4722 Need char = 'e' 4723 abcde 4724 --->abcde 4725 +0 ^ a 4726 +1 ^^ b 4727 +2 ^ ^ c 4728 +3 ^ ^ d 4729 +4 ^ ^ e 4730 +5 ^ ^ 4731 0: abcde 4732 abcdfe 4733 --->abcdfe 4734 +0 ^ a 4735 +1 ^^ b 4736 +2 ^ ^ c 4737 +3 ^ ^ d 4738 +4 ^ ^ e 4739 No match 4740 4741 /a*b/ICDZS 4742 ------------------------------------------------------------------ 4743 Bra 4744 Callout 255 0 2 4745 a*+ 4746 Callout 255 2 1 4747 b 4748 Callout 255 3 0 4749 Ket 4750 End 4751 ------------------------------------------------------------------ 4752 Capturing subpattern count = 0 4753 Options: 4754 No first char 4755 Need char = 'b' 4756 Subject length lower bound = 1 4757 Starting chars: a b 4758 ab 4759 --->ab 4760 +0 ^ a* 4761 +2 ^^ b 4762 +3 ^ ^ 4763 0: ab 4764 aaaab 4765 --->aaaab 4766 +0 ^ a* 4767 +2 ^ ^ b 4768 +3 ^ ^ 4769 0: aaaab 4770 aaaacb 4771 --->aaaacb 4772 +0 ^ a* 4773 +2 ^ ^ b 4774 +0 ^ a* 4775 +2 ^ ^ b 4776 +0 ^ a* 4777 +2 ^ ^ b 4778 +0 ^ a* 4779 +2 ^^ b 4780 +0 ^ a* 4781 +2 ^ b 4782 +3 ^^ 4783 0: b 4784 4785 /a*b/ICDZSS 4786 ------------------------------------------------------------------ 4787 Bra 4788 Callout 255 0 2 4789 a*+ 4790 Callout 255 2 1 4791 b 4792 Callout 255 3 0 4793 Ket 4794 End 4795 ------------------------------------------------------------------ 4796 Capturing subpattern count = 0 4797 Options: 4798 No first char 4799 Need char = 'b' 4800 ab 4801 --->ab 4802 +0 ^ a* 4803 +2 ^^ b 4804 +3 ^ ^ 4805 0: ab 4806 aaaab 4807 --->aaaab 4808 +0 ^ a* 4809 +2 ^ ^ b 4810 +3 ^ ^ 4811 0: aaaab 4812 aaaacb 4813 --->aaaacb 4814 +0 ^ a* 4815 +2 ^ ^ b 4816 +0 ^ a* 4817 +2 ^ ^ b 4818 +0 ^ a* 4819 +2 ^ ^ b 4820 +0 ^ a* 4821 +2 ^^ b 4822 +0 ^ a* 4823 +2 ^ b 4824 +0 ^ a* 4825 +2 ^ b 4826 +3 ^^ 4827 0: b 4828 4829 /a+b/ICDZ 4830 ------------------------------------------------------------------ 4831 Bra 4832 Callout 255 0 2 4833 a++ 4834 Callout 255 2 1 4835 b 4836 Callout 255 3 0 4837 Ket 4838 End 4839 ------------------------------------------------------------------ 4840 Capturing subpattern count = 0 4841 Options: 4842 First char = 'a' 4843 Need char = 'b' 4844 ab 4845 --->ab 4846 +0 ^ a+ 4847 +2 ^^ b 4848 +3 ^ ^ 4849 0: ab 4850 aaaab 4851 --->aaaab 4852 +0 ^ a+ 4853 +2 ^ ^ b 4854 +3 ^ ^ 4855 0: aaaab 4856 aaaacb 4857 --->aaaacb 4858 +0 ^ a+ 4859 +2 ^ ^ b 4860 +0 ^ a+ 4861 +2 ^ ^ b 4862 +0 ^ a+ 4863 +2 ^ ^ b 4864 +0 ^ a+ 4865 +2 ^^ b 4866 No match 4867 4868 /(abc|def)x/ICDZS 4869 ------------------------------------------------------------------ 4870 Bra 4871 Callout 255 0 9 4872 CBra 1 4873 Callout 255 1 1 4874 a 4875 Callout 255 2 1 4876 b 4877 Callout 255 3 1 4878 c 4879 Callout 255 4 0 4880 Alt 4881 Callout 255 5 1 4882 d 4883 Callout 255 6 1 4884 e 4885 Callout 255 7 1 4886 f 4887 Callout 255 8 0 4888 Ket 4889 Callout 255 9 1 4890 x 4891 Callout 255 10 0 4892 Ket 4893 End 4894 ------------------------------------------------------------------ 4895 Capturing subpattern count = 1 4896 Options: 4897 No first char 4898 Need char = 'x' 4899 Subject length lower bound = 4 4900 Starting chars: a d 4901 abcx 4902 --->abcx 4903 +0 ^ (abc|def) 4904 +1 ^ a 4905 +2 ^^ b 4906 +3 ^ ^ c 4907 +4 ^ ^ | 4908 +9 ^ ^ x 4909 +10 ^ ^ 4910 0: abcx 4911 1: abc 4912 defx 4913 --->defx 4914 +0 ^ (abc|def) 4915 +1 ^ a 4916 +5 ^ d 4917 +6 ^^ e 4918 +7 ^ ^ f 4919 +8 ^ ^ ) 4920 +9 ^ ^ x 4921 +10 ^ ^ 4922 0: defx 4923 1: def 4924 ** Failers 4925 No match 4926 abcdefzx 4927 --->abcdefzx 4928 +0 ^ (abc|def) 4929 +1 ^ a 4930 +2 ^^ b 4931 +3 ^ ^ c 4932 +4 ^ ^ | 4933 +9 ^ ^ x 4934 +5 ^ d 4935 +0 ^ (abc|def) 4936 +1 ^ a 4937 +5 ^ d 4938 +6 ^^ e 4939 +7 ^ ^ f 4940 +8 ^ ^ ) 4941 +9 ^ ^ x 4942 No match 4943 4944 /(abc|def)x/ICDZSS 4945 ------------------------------------------------------------------ 4946 Bra 4947 Callout 255 0 9 4948 CBra 1 4949 Callout 255 1 1 4950 a 4951 Callout 255 2 1 4952 b 4953 Callout 255 3 1 4954 c 4955 Callout 255 4 0 4956 Alt 4957 Callout 255 5 1 4958 d 4959 Callout 255 6 1 4960 e 4961 Callout 255 7 1 4962 f 4963 Callout 255 8 0 4964 Ket 4965 Callout 255 9 1 4966 x 4967 Callout 255 10 0 4968 Ket 4969 End 4970 ------------------------------------------------------------------ 4971 Capturing subpattern count = 1 4972 Options: 4973 No first char 4974 Need char = 'x' 4975 abcx 4976 --->abcx 4977 +0 ^ (abc|def) 4978 +1 ^ a 4979 +2 ^^ b 4980 +3 ^ ^ c 4981 +4 ^ ^ | 4982 +9 ^ ^ x 4983 +10 ^ ^ 4984 0: abcx 4985 1: abc 4986 defx 4987 --->defx 4988 +0 ^ (abc|def) 4989 +1 ^ a 4990 +5 ^ d 4991 +6 ^^ e 4992 +7 ^ ^ f 4993 +8 ^ ^ ) 4994 +9 ^ ^ x 4995 +10 ^ ^ 4996 0: defx 4997 1: def 4998 ** Failers 4999 No match 5000 abcdefzx 5001 --->abcdefzx 5002 +0 ^ (abc|def) 5003 +1 ^ a 5004 +2 ^^ b 5005 +3 ^ ^ c 5006 +4 ^ ^ | 5007 +9 ^ ^ x 5008 +5 ^ d 5009 +0 ^ (abc|def) 5010 +1 ^ a 5011 +5 ^ d 5012 +0 ^ (abc|def) 5013 +1 ^ a 5014 +5 ^ d 5015 +0 ^ (abc|def) 5016 +1 ^ a 5017 +5 ^ d 5018 +6 ^^ e 5019 +7 ^ ^ f 5020 +8 ^ ^ ) 5021 +9 ^ ^ x 5022 +0 ^ (abc|def) 5023 +1 ^ a 5024 +5 ^ d 5025 +0 ^ (abc|def) 5026 +1 ^ a 5027 +5 ^ d 5028 +0 ^ (abc|def) 5029 +1 ^ a 5030 +5 ^ d 5031 +0 ^ (abc|def) 5032 +1 ^ a 5033 +5 ^ d 5034 No match 5035 5036 /(ab|cd){3,4}/IC 5037 Capturing subpattern count = 1 5038 Options: 5039 No first char 5040 No need char 5041 ababab 5042 --->ababab 5043 +0 ^ (ab|cd){3,4} 5044 +1 ^ a 5045 +2 ^^ b 5046 +3 ^ ^ | 5047 +1 ^ ^ a 5048 +2 ^ ^ b 5049 +3 ^ ^ | 5050 +1 ^ ^ a 5051 +2 ^ ^ b 5052 +3 ^ ^ | 5053 +1 ^ ^ a 5054 +4 ^ ^ c 5055 +12 ^ ^ 5056 0: ababab 5057 1: ab 5058 abcdabcd 5059 --->abcdabcd 5060 +0 ^ (ab|cd){3,4} 5061 +1 ^ a 5062 +2 ^^ b 5063 +3 ^ ^ | 5064 +1 ^ ^ a 5065 +4 ^ ^ c 5066 +5 ^ ^ d 5067 +6 ^ ^ ) 5068 +1 ^ ^ a 5069 +2 ^ ^ b 5070 +3 ^ ^ | 5071 +1 ^ ^ a 5072 +4 ^ ^ c 5073 +5 ^ ^ d 5074 +6 ^ ^ ) 5075 +12 ^ ^ 5076 0: abcdabcd 5077 1: cd 5078 abcdcdcdcdcd 5079 --->abcdcdcdcdcd 5080 +0 ^ (ab|cd){3,4} 5081 +1 ^ a 5082 +2 ^^ b 5083 +3 ^ ^ | 5084 +1 ^ ^ a 5085 +4 ^ ^ c 5086 +5 ^ ^ d 5087 +6 ^ ^ ) 5088 +1 ^ ^ a 5089 +4 ^ ^ c 5090 +5 ^ ^ d 5091 +6 ^ ^ ) 5092 +1 ^ ^ a 5093 +4 ^ ^ c 5094 +5 ^ ^ d 5095 +6 ^ ^ ) 5096 +12 ^ ^ 5097 0: abcdcdcd 5098 1: cd 5099 5100 /([ab]{,4}c|xy)/ICDZS 5101 ------------------------------------------------------------------ 5102 Bra 5103 Callout 255 0 14 5104 CBra 1 5105 Callout 255 1 4 5106 [ab] 5107 Callout 255 5 1 5108 { 5109 Callout 255 6 1 5110 , 5111 Callout 255 7 1 5112 4 5113 Callout 255 8 1 5114 } 5115 Callout 255 9 1 5116 c 5117 Callout 255 10 0 5118 Alt 5119 Callout 255 11 1 5120 x 5121 Callout 255 12 1 5122 y 5123 Callout 255 13 0 5124 Ket 5125 Callout 255 14 0 5126 Ket 5127 End 5128 ------------------------------------------------------------------ 5129 Capturing subpattern count = 1 5130 Options: 5131 No first char 5132 No need char 5133 Subject length lower bound = 2 5134 Starting chars: a b x 5135 Note: that { does NOT introduce a quantifier 5136 --->Note: that { does NOT introduce a quantifier 5137 +0 ^ ([ab]{,4}c|xy) 5138 +1 ^ [ab] 5139 +5 ^^ { 5140 +11 ^ x 5141 +0 ^ ([ab]{,4}c|xy) 5142 +1 ^ [ab] 5143 +5 ^^ { 5144 +11 ^ x 5145 +0 ^ ([ab]{,4}c|xy) 5146 +1 ^ [ab] 5147 +5 ^^ { 5148 +11 ^ x 5149 No match 5150 5151 /([ab]{,4}c|xy)/ICDZSS 5152 ------------------------------------------------------------------ 5153 Bra 5154 Callout 255 0 14 5155 CBra 1 5156 Callout 255 1 4 5157 [ab] 5158 Callout 255 5 1 5159 { 5160 Callout 255 6 1 5161 , 5162 Callout 255 7 1 5163 4 5164 Callout 255 8 1 5165 } 5166 Callout 255 9 1 5167 c 5168 Callout 255 10 0 5169 Alt 5170 Callout 255 11 1 5171 x 5172 Callout 255 12 1 5173 y 5174 Callout 255 13 0 5175 Ket 5176 Callout 255 14 0 5177 Ket 5178 End 5179 ------------------------------------------------------------------ 5180 Capturing subpattern count = 1 5181 Options: 5182 No first char 5183 No need char 5184 Note: that { does NOT introduce a quantifier 5185 --->Note: that { does NOT introduce a quantifier 5186 +0 ^ ([ab]{,4}c|xy) 5187 +1 ^ [ab] 5188 +11 ^ x 5189 +0 ^ ([ab]{,4}c|xy) 5190 +1 ^ [ab] 5191 +11 ^ x 5192 +0 ^ ([ab]{,4}c|xy) 5193 +1 ^ [ab] 5194 +11 ^ x 5195 +0 ^ ([ab]{,4}c|xy) 5196 +1 ^ [ab] 5197 +11 ^ x 5198 +0 ^ ([ab]{,4}c|xy) 5199 +1 ^ [ab] 5200 +11 ^ x 5201 +0 ^ ([ab]{,4}c|xy) 5202 +1 ^ [ab] 5203 +11 ^ x 5204 +0 ^ ([ab]{,4}c|xy) 5205 +1 ^ [ab] 5206 +11 ^ x 5207 +0 ^ ([ab]{,4}c|xy) 5208 +1 ^ [ab] 5209 +11 ^ x 5210 +0 ^ ([ab]{,4}c|xy) 5211 +1 ^ [ab] 5212 +5 ^^ { 5213 +11 ^ x 5214 +0 ^ ([ab]{,4}c|xy) 5215 +1 ^ [ab] 5216 +11 ^ x 5217 +0 ^ ([ab]{,4}c|xy) 5218 +1 ^ [ab] 5219 +11 ^ x 5220 +0 ^ ([ab]{,4}c|xy) 5221 +1 ^ [ab] 5222 +11 ^ x 5223 +0 ^ ([ab]{,4}c|xy) 5224 +1 ^ [ab] 5225 +11 ^ x 5226 +0 ^ ([ab]{,4}c|xy) 5227 +1 ^ [ab] 5228 +11 ^ x 5229 +0 ^ ([ab]{,4}c|xy) 5230 +1 ^ [ab] 5231 +11 ^ x 5232 +0 ^ ([ab]{,4}c|xy) 5233 +1 ^ [ab] 5234 +11 ^ x 5235 +0 ^ ([ab]{,4}c|xy) 5236 +1 ^ [ab] 5237 +11 ^ x 5238 +0 ^ ([ab]{,4}c|xy) 5239 +1 ^ [ab] 5240 +11 ^ x 5241 +0 ^ ([ab]{,4}c|xy) 5242 +1 ^ [ab] 5243 +11 ^ x 5244 +0 ^ ([ab]{,4}c|xy) 5245 +1 ^ [ab] 5246 +11 ^ x 5247 +0 ^ ([ab]{,4}c|xy) 5248 +1 ^ [ab] 5249 +11 ^ x 5250 +0 ^ ([ab]{,4}c|xy) 5251 +1 ^ [ab] 5252 +11 ^ x 5253 +0 ^ ([ab]{,4}c|xy) 5254 +1 ^ [ab] 5255 +11 ^ x 5256 +0 ^ ([ab]{,4}c|xy) 5257 +1 ^ [ab] 5258 +11 ^ x 5259 +0 ^ ([ab]{,4}c|xy) 5260 +1 ^ [ab] 5261 +11 ^ x 5262 +0 ^ ([ab]{,4}c|xy) 5263 +1 ^ [ab] 5264 +11 ^ x 5265 +0 ^ ([ab]{,4}c|xy) 5266 +1 ^ [ab] 5267 +11 ^ x 5268 +0 ^ ([ab]{,4}c|xy) 5269 +1 ^ [ab] 5270 +11 ^ x 5271 +0 ^ ([ab]{,4}c|xy) 5272 +1 ^ [ab] 5273 +11 ^ x 5274 +0 ^ ([ab]{,4}c|xy) 5275 +1 ^ [ab] 5276 +11 ^ x 5277 +0 ^ ([ab]{,4}c|xy) 5278 +1 ^ [ab] 5279 +11 ^ x 5280 +0 ^ ([ab]{,4}c|xy) 5281 +1 ^ [ab] 5282 +11 ^ x 5283 +0 ^ ([ab]{,4}c|xy) 5284 +1 ^ [ab] 5285 +5 ^^ { 5286 +11 ^ x 5287 +0 ^ ([ab]{,4}c|xy) 5288 +1 ^ [ab] 5289 +11 ^ x 5290 +0 ^ ([ab]{,4}c|xy) 5291 +1 ^ [ab] 5292 +11 ^ x 5293 +0 ^ ([ab]{,4}c|xy) 5294 +1 ^ [ab] 5295 +11 ^ x 5296 +0 ^ ([ab]{,4}c|xy) 5297 +1 ^ [ab] 5298 +5 ^^ { 5299 +11 ^ x 5300 +0 ^ ([ab]{,4}c|xy) 5301 +1 ^ [ab] 5302 +11 ^ x 5303 +0 ^ ([ab]{,4}c|xy) 5304 +1 ^ [ab] 5305 +11 ^ x 5306 +0 ^ ([ab]{,4}c|xy) 5307 +1 ^ [ab] 5308 +11 ^ x 5309 +0 ^ ([ab]{,4}c|xy) 5310 +1 ^ [ab] 5311 +11 ^ x 5312 +0 ^ ([ab]{,4}c|xy) 5313 +1 ^ [ab] 5314 +11 ^ x 5315 +0 ^ ([ab]{,4}c|xy) 5316 +1 ^ [ab] 5317 +11 ^ x 5318 +0 ^ ([ab]{,4}c|xy) 5319 +1 ^ [ab] 5320 +11 ^ x 5321 +0 ^ ([ab]{,4}c|xy) 5322 +1 ^ [ab] 5323 +11 ^ x 5324 No match 5325 5326 /([ab]{1,4}c|xy){4,5}?123/ICDZ 5327 ------------------------------------------------------------------ 5328 Bra 5329 Callout 255 0 21 5330 CBra 1 5331 Callout 255 1 9 5332 [ab]{1,4}+ 5333 Callout 255 10 1 5334 c 5335 Callout 255 11 0 5336 Alt 5337 Callout 255 12 1 5338 x 5339 Callout 255 13 1 5340 y 5341 Callout 255 14 0 5342 Ket 5343 CBra 1 5344 Callout 255 1 9 5345 [ab]{1,4}+ 5346 Callout 255 10 1 5347 c 5348 Callout 255 11 0 5349 Alt 5350 Callout 255 12 1 5351 x 5352 Callout 255 13 1 5353 y 5354 Callout 255 14 0 5355 Ket 5356 CBra 1 5357 Callout 255 1 9 5358 [ab]{1,4}+ 5359 Callout 255 10 1 5360 c 5361 Callout 255 11 0 5362 Alt 5363 Callout 255 12 1 5364 x 5365 Callout 255 13 1 5366 y 5367 Callout 255 14 0 5368 Ket 5369 CBra 1 5370 Callout 255 1 9 5371 [ab]{1,4}+ 5372 Callout 255 10 1 5373 c 5374 Callout 255 11 0 5375 Alt 5376 Callout 255 12 1 5377 x 5378 Callout 255 13 1 5379 y 5380 Callout 255 14 0 5381 Ket 5382 Braminzero 5383 CBra 1 5384 Callout 255 1 9 5385 [ab]{1,4}+ 5386 Callout 255 10 1 5387 c 5388 Callout 255 11 0 5389 Alt 5390 Callout 255 12 1 5391 x 5392 Callout 255 13 1 5393 y 5394 Callout 255 14 0 5395 Ket 5396 Callout 255 21 1 5397 1 5398 Callout 255 22 1 5399 2 5400 Callout 255 23 1 5401 3 5402 Callout 255 24 0 5403 Ket 5404 End 5405 ------------------------------------------------------------------ 5406 Capturing subpattern count = 1 5407 Options: 5408 No first char 5409 Need char = '3' 5410 aacaacaacaacaac123 5411 --->aacaacaacaacaac123 5412 +0 ^ ([ab]{1,4}c|xy){4,5}? 5413 +1 ^ [ab]{1,4} 5414 +10 ^ ^ c 5415 +11 ^ ^ | 5416 +1 ^ ^ [ab]{1,4} 5417 +10 ^ ^ c 5418 +11 ^ ^ | 5419 +1 ^ ^ [ab]{1,4} 5420 +10 ^ ^ c 5421 +11 ^ ^ | 5422 +1 ^ ^ [ab]{1,4} 5423 +10 ^ ^ c 5424 +11 ^ ^ | 5425 +21 ^ ^ 1 5426 +1 ^ ^ [ab]{1,4} 5427 +10 ^ ^ c 5428 +11 ^ ^ | 5429 +21 ^ ^ 1 5430 +22 ^ ^ 2 5431 +23 ^ ^ 3 5432 +24 ^ ^ 5433 0: aacaacaacaacaac123 5434 1: aac 5435 5436 /\b.*/I 5437 Capturing subpattern count = 0 5438 Max lookbehind = 1 5439 May match empty string 5440 No options 5441 No first char 5442 No need char 5443 ab cd\>1 5444 0: cd 5445 5446 /\b.*/Is 5447 Capturing subpattern count = 0 5448 Max lookbehind = 1 5449 May match empty string 5450 Options: dotall 5451 No first char 5452 No need char 5453 ab cd\>1 5454 0: cd 5455 5456 /(?!.bcd).*/I 5457 Capturing subpattern count = 0 5458 May match empty string 5459 No options 5460 No first char 5461 No need char 5462 Xbcd12345 5463 0: bcd12345 5464 5465 /abcde/I 5466 Capturing subpattern count = 0 5467 No options 5468 First char = 'a' 5469 Need char = 'e' 5470 ab\P 5471 Partial match: ab 5472 abc\P 5473 Partial match: abc 5474 abcd\P 5475 Partial match: abcd 5476 abcde\P 5477 0: abcde 5478 the quick brown abc\P 5479 Partial match: abc 5480 ** Failers\P 5481 No match 5482 the quick brown abxyz fox\P 5483 No match 5484 5485 "^(0?[1-9]|[12][0-9]|3[01])/(0?[1-9]|1[012])/(20)?\d\d$"I 5486 Capturing subpattern count = 3 5487 Options: anchored 5488 No first char 5489 Need char = '/' 5490 13/05/04\P 5491 0: 13/05/04 5492 1: 13 5493 2: 05 5494 13/5/2004\P 5495 0: 13/5/2004 5496 1: 13 5497 2: 5 5498 3: 20 5499 02/05/09\P 5500 0: 02/05/09 5501 1: 02 5502 2: 05 5503 1\P 5504 Partial match: 1 5505 1/2\P 5506 Partial match: 1/2 5507 1/2/0\P 5508 Partial match: 1/2/0 5509 1/2/04\P 5510 0: 1/2/04 5511 1: 1 5512 2: 2 5513 0\P 5514 Partial match: 0 5515 02/\P 5516 Partial match: 02/ 5517 02/0\P 5518 Partial match: 02/0 5519 02/1\P 5520 Partial match: 02/1 5521 ** Failers\P 5522 No match 5523 \P 5524 No match 5525 123\P 5526 No match 5527 33/4/04\P 5528 No match 5529 3/13/04\P 5530 No match 5531 0/1/2003\P 5532 No match 5533 0/\P 5534 No match 5535 02/0/\P 5536 No match 5537 02/13\P 5538 No match 5539 5540 /0{0,2}ABC/I 5541 Capturing subpattern count = 0 5542 No options 5543 No first char 5544 Need char = 'C' 5545 5546 /\d{3,}ABC/I 5547 Capturing subpattern count = 0 5548 No options 5549 No first char 5550 Need char = 'C' 5551 5552 /\d*ABC/I 5553 Capturing subpattern count = 0 5554 No options 5555 No first char 5556 Need char = 'C' 5557 5558 /[abc]+DE/I 5559 Capturing subpattern count = 0 5560 No options 5561 No first char 5562 Need char = 'E' 5563 5564 /[abc]?123/I 5565 Capturing subpattern count = 0 5566 No options 5567 No first char 5568 Need char = '3' 5569 123\P 5570 0: 123 5571 a\P 5572 Partial match: a 5573 b\P 5574 Partial match: b 5575 c\P 5576 Partial match: c 5577 c12\P 5578 Partial match: c12 5579 c123\P 5580 0: c123 5581 5582 /^(?:\d){3,5}X/I 5583 Capturing subpattern count = 0 5584 Options: anchored 5585 No first char 5586 Need char = 'X' 5587 1\P 5588 Partial match: 1 5589 123\P 5590 Partial match: 123 5591 123X 5592 0: 123X 5593 1234\P 5594 Partial match: 1234 5595 1234X 5596 0: 1234X 5597 12345\P 5598 Partial match: 12345 5599 12345X 5600 0: 12345X 5601 *** Failers 5602 No match 5603 1X 5604 No match 5605 123456\P 5606 No match 5607 5608 /abc/IS>testsavedregex 5609 Capturing subpattern count = 0 5610 No options 5611 First char = 'a' 5612 Need char = 'c' 5613 Subject length lower bound = 3 5614 No starting char list 5615 Compiled pattern written to testsavedregex 5616 Study data written to testsavedregex 5617 <testsavedregex 5618 Compiled pattern loaded from testsavedregex 5619 Study data loaded from testsavedregex 5620 abc 5621 0: abc 5622 ** Failers 5623 No match 5624 bca 5625 No match 5626 5627 /abc/ISS>testsavedregex 5628 Capturing subpattern count = 0 5629 No options 5630 First char = 'a' 5631 Need char = 'c' 5632 Compiled pattern written to testsavedregex 5633 <testsavedregex 5634 Compiled pattern loaded from testsavedregex 5635 No study data 5636 abc 5637 0: abc 5638 ** Failers 5639 No match 5640 bca 5641 No match 5642 5643 /abc/IFS>testsavedregex 5644 Capturing subpattern count = 0 5645 No options 5646 First char = 'a' 5647 Need char = 'c' 5648 Subject length lower bound = 3 5649 No starting char list 5650 Compiled pattern written to testsavedregex 5651 Study data written to testsavedregex 5652 <testsavedregex 5653 Compiled pattern (byte-inverted) loaded from testsavedregex 5654 Study data loaded from testsavedregex 5655 abc 5656 0: abc 5657 ** Failers 5658 No match 5659 bca 5660 No match 5661 5662 /abc/IFSS>testsavedregex 5663 Capturing subpattern count = 0 5664 No options 5665 First char = 'a' 5666 Need char = 'c' 5667 Compiled pattern written to testsavedregex 5668 <testsavedregex 5669 Compiled pattern (byte-inverted) loaded from testsavedregex 5670 No study data 5671 abc 5672 0: abc 5673 ** Failers 5674 No match 5675 bca 5676 No match 5677 5678 /(a|b)/IS>testsavedregex 5679 Capturing subpattern count = 1 5680 No options 5681 No first char 5682 No need char 5683 Subject length lower bound = 1 5684 Starting chars: a b 5685 Compiled pattern written to testsavedregex 5686 Study data written to testsavedregex 5687 <testsavedregex 5688 Compiled pattern loaded from testsavedregex 5689 Study data loaded from testsavedregex 5690 abc 5691 0: a 5692 1: a 5693 ** Failers 5694 0: a 5695 1: a 5696 def 5697 No match 5698 5699 /(a|b)/ISS>testsavedregex 5700 Capturing subpattern count = 1 5701 No options 5702 No first char 5703 No need char 5704 Compiled pattern written to testsavedregex 5705 <testsavedregex 5706 Compiled pattern loaded from testsavedregex 5707 No study data 5708 abc 5709 0: a 5710 1: a 5711 ** Failers 5712 0: a 5713 1: a 5714 def 5715 No match 5716 5717 /(a|b)/ISF>testsavedregex 5718 Capturing subpattern count = 1 5719 No options 5720 No first char 5721 No need char 5722 Subject length lower bound = 1 5723 Starting chars: a b 5724 Compiled pattern written to testsavedregex 5725 Study data written to testsavedregex 5726 <testsavedregex 5727 Compiled pattern (byte-inverted) loaded from testsavedregex 5728 Study data loaded from testsavedregex 5729 abc 5730 0: a 5731 1: a 5732 ** Failers 5733 0: a 5734 1: a 5735 def 5736 No match 5737 5738 /(a|b)/ISSF>testsavedregex 5739 Capturing subpattern count = 1 5740 No options 5741 No first char 5742 No need char 5743 Compiled pattern written to testsavedregex 5744 <testsavedregex 5745 Compiled pattern (byte-inverted) loaded from testsavedregex 5746 No study data 5747 abc 5748 0: a 5749 1: a 5750 ** Failers 5751 0: a 5752 1: a 5753 def 5754 No match 5755 5756 ~<(\w+)/?>(.)*</(\1)>~smgI 5757 Capturing subpattern count = 3 5758 Max back reference = 1 5759 Options: multiline dotall 5760 First char = '<' 5761 Need char = '>' 5762 \J1024<!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> 5763 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> 5764 1: seite 5765 2: \x0a 5766 3: seite 5767 5768 /^a/IF 5769 Capturing subpattern count = 0 5770 Options: anchored 5771 No first char 5772 No need char 5773 5774 /line\nbreak/I 5775 Capturing subpattern count = 0 5776 Contains explicit CR or LF match 5777 No options 5778 First char = 'l' 5779 Need char = 'k' 5780 this is a line\nbreak 5781 0: line\x0abreak 5782 line one\nthis is a line\nbreak in the second line 5783 0: line\x0abreak 5784 5785 /line\nbreak/If 5786 Capturing subpattern count = 0 5787 Contains explicit CR or LF match 5788 Options: firstline 5789 First char = 'l' 5790 Need char = 'k' 5791 this is a line\nbreak 5792 0: line\x0abreak 5793 ** Failers 5794 No match 5795 line one\nthis is a line\nbreak in the second line 5796 No match 5797 5798 /line\nbreak/Imf 5799 Capturing subpattern count = 0 5800 Contains explicit CR or LF match 5801 Options: multiline firstline 5802 First char = 'l' 5803 Need char = 'k' 5804 this is a line\nbreak 5805 0: line\x0abreak 5806 ** Failers 5807 No match 5808 line one\nthis is a line\nbreak in the second line 5809 No match 5810 5811 /(?i)(?-i)AbCd/I 5812 Capturing subpattern count = 0 5813 No options 5814 First char = 'A' 5815 Need char = 'd' 5816 AbCd 5817 0: AbCd 5818 ** Failers 5819 No match 5820 abcd 5821 No match 5822 5823 /a{11111111111111111111}/I 5824 Failed: number too big in {} quantifier at offset 8 5825 5826 /(){64294967295}/I 5827 Failed: number too big in {} quantifier at offset 9 5828 5829 /(){2,4294967295}/I 5830 Failed: number too big in {} quantifier at offset 11 5831 5832 "(?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 5833 Capturing subpattern count = 1 5834 Max back reference = 1 5835 No options 5836 First char = 'a' (caseless) 5837 Need char = 'B' 5838 abcdefghijklAkB 5839 0: abcdefghijklAkB 5840 1: k 5841 5842 "(?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 5843 Capturing subpattern count = 12 5844 Max back reference = 11 5845 Named capturing subpatterns: 5846 n0 1 5847 n1 2 5848 n10 11 5849 n11 12 5850 n2 3 5851 n3 4 5852 n4 5 5853 n5 6 5854 n6 7 5855 n7 8 5856 n8 9 5857 n9 10 5858 No options 5859 First char = 'a' 5860 Need char = 'B' 5861 abcdefghijklAkB 5862 0: abcdefghijklAkB 5863 1: a 5864 2: b 5865 3: c 5866 4: d 5867 5: e 5868 6: f 5869 7: g 5870 8: h 5871 9: i 5872 10: j 5873 11: k 5874 12: l 5875 5876 "(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)A\11B"I 5877 Capturing subpattern count = 12 5878 Max back reference = 11 5879 No options 5880 First char = 'a' 5881 Need char = 'B' 5882 abcdefghijklAkB 5883 0: abcdefghijklAkB 5884 1: a 5885 2: b 5886 3: c 5887 4: d 5888 5: e 5889 6: f 5890 7: g 5891 8: h 5892 9: i 5893 10: j 5894 11: k 5895 12: l 5896 5897 "(?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 5898 Capturing subpattern count = 101 5899 Named capturing subpatterns: 5900 name0 1 5901 name1 2 5902 name10 11 5903 name100 101 5904 name11 12 5905 name12 13 5906 name13 14 5907 name14 15 5908 name15 16 5909 name16 17 5910 name17 18 5911 name18 19 5912 name19 20 5913 name2 3 5914 name20 21 5915 name21 22 5916 name22 23 5917 name23 24 5918 name24 25 5919 name25 26 5920 name26 27 5921 name27 28 5922 name28 29 5923 name29 30 5924 name3 4 5925 name30 31 5926 name31 32 5927 name32 33 5928 name33 34 5929 name34 35 5930 name35 36 5931 name36 37 5932 name37 38 5933 name38 39 5934 name39 40 5935 name4 5 5936 name40 41 5937 name41 42 5938 name42 43 5939 name43 44 5940 name44 45 5941 name45 46 5942 name46 47 5943 name47 48 5944 name48 49 5945 name49 50 5946 name5 6 5947 name50 51 5948 name51 52 5949 name52 53 5950 name53 54 5951 name54 55 5952 name55 56 5953 name56 57 5954 name57 58 5955 name58 59 5956 name59 60 5957 name6 7 5958 name60 61 5959 name61 62 5960 name62 63 5961 name63 64 5962 name64 65 5963 name65 66 5964 name66 67 5965 name67 68 5966 name68 69 5967 name69 70 5968 name7 8 5969 name70 71 5970 name71 72 5971 name72 73 5972 name73 74 5973 name74 75 5974 name75 76 5975 name76 77 5976 name77 78 5977 name78 79 5978 name79 80 5979 name8 9 5980 name80 81 5981 name81 82 5982 name82 83 5983 name83 84 5984 name84 85 5985 name85 86 5986 name86 87 5987 name87 88 5988 name88 89 5989 name89 90 5990 name9 10 5991 name90 91 5992 name91 92 5993 name92 93 5994 name93 94 5995 name94 95 5996 name95 96 5997 name96 97 5998 name97 98 5999 name98 99 6000 name99 100 6001 No options 6002 First char = 'a' 6003 Need char = 'a' 6004 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 6005 Matched, but too many substrings 6006 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 6007 1: a 6008 2: a 6009 3: a 6010 4: a 6011 5: a 6012 6: a 6013 7: a 6014 8: a 6015 9: a 6016 10: a 6017 11: a 6018 12: a 6019 13: a 6020 14: a 6021 6022 "(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 6023 Capturing subpattern count = 101 6024 No options 6025 First char = 'a' 6026 Need char = 'a' 6027 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 6028 Matched, but too many substrings 6029 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 6030 1: a 6031 2: a 6032 3: a 6033 4: a 6034 5: a 6035 6: a 6036 7: a 6037 8: a 6038 9: a 6039 10: a 6040 11: a 6041 12: a 6042 13: a 6043 14: a 6044 6045 /[^()]*(?:\((?R)\)[^()]*)*/I 6046 Capturing subpattern count = 0 6047 May match empty string 6048 No options 6049 No first char 6050 No need char 6051 (this(and)that 6052 0: 6053 (this(and)that) 6054 0: (this(and)that) 6055 (this(and)that)stuff 6056 0: (this(and)that)stuff 6057 6058 /[^()]*(?:\((?>(?R))\)[^()]*)*/I 6059 Capturing subpattern count = 0 6060 May match empty string 6061 No options 6062 No first char 6063 No need char 6064 (this(and)that 6065 0: 6066 (this(and)that) 6067 0: (this(and)that) 6068 6069 /[^()]*(?:\((?R)\))*[^()]*/I 6070 Capturing subpattern count = 0 6071 May match empty string 6072 No options 6073 No first char 6074 No need char 6075 (this(and)that 6076 0: 6077 (this(and)that) 6078 0: (this(and)that) 6079 6080 /(?:\((?R)\))*[^()]*/I 6081 Capturing subpattern count = 0 6082 May match empty string 6083 No options 6084 No first char 6085 No need char 6086 (this(and)that 6087 0: 6088 (this(and)that) 6089 0: 6090 ((this)) 6091 0: ((this)) 6092 6093 /(?:\((?R)\))|[^()]*/I 6094 Capturing subpattern count = 0 6095 May match empty string 6096 No options 6097 No first char 6098 No need char 6099 (this(and)that 6100 0: 6101 (this(and)that) 6102 0: 6103 (this) 6104 0: (this) 6105 ((this)) 6106 0: ((this)) 6107 6108 /\x{0000ff}/I 6109 Capturing subpattern count = 0 6110 No options 6111 First char = \xff 6112 No need char 6113 6114 /^((?P<A>a1)|(?P<A>a2)b)/I 6115 Failed: two named subpatterns have the same name at offset 17 6116 6117 /^((?P<A>a1)|(?P<A>a2)b)/IJ 6118 Capturing subpattern count = 3 6119 Named capturing subpatterns: 6120 A 2 6121 A 3 6122 Options: anchored dupnames 6123 No first char 6124 No need char 6125 a1b\CA 6126 0: a1 6127 1: a1 6128 2: a1 6129 C a1 (2) A 6130 a2b\CA 6131 0: a2b 6132 1: a2b 6133 2: <unset> 6134 3: a2 6135 C a2 (2) A 6136 ** Failers 6137 No match 6138 a1b\CZ\CA 6139 no parentheses with name "Z" 6140 0: a1 6141 1: a1 6142 2: a1 6143 copy substring Z failed -7 6144 C a1 (2) A 6145 6146 /(?|(?<a>)(?<b>)(?<a>)|(?<a>)(?<b>)(?<a>))/IJ 6147 Capturing subpattern count = 3 6148 Named capturing subpatterns: 6149 a 1 6150 a 3 6151 b 2 6152 May match empty string 6153 Options: dupnames 6154 No first char 6155 No need char 6156 6157 /^(?P<A>a)(?P<A>b)/IJ 6158 Capturing subpattern count = 2 6159 Named capturing subpatterns: 6160 A 1 6161 A 2 6162 Options: anchored dupnames 6163 No first char 6164 No need char 6165 ab\CA 6166 0: ab 6167 1: a 6168 2: b 6169 C a (1) A 6170 6171 /^(?P<A>a)(?P<A>b)|cd/IJ 6172 Capturing subpattern count = 2 6173 Named capturing subpatterns: 6174 A 1 6175 A 2 6176 Options: dupnames 6177 No first char 6178 No need char 6179 ab\CA 6180 0: ab 6181 1: a 6182 2: b 6183 C a (1) A 6184 cd\CA 6185 0: cd 6186 copy substring A failed -7 6187 6188 /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ 6189 Capturing subpattern count = 4 6190 Named capturing subpatterns: 6191 A 1 6192 A 2 6193 A 3 6194 A 4 6195 Options: dupnames 6196 No first char 6197 No need char 6198 cdefgh\CA 6199 0: cdefgh 6200 1: <unset> 6201 2: <unset> 6202 3: ef 6203 4: gh 6204 C ef (2) A 6205 6206 /^((?P<A>a1)|(?P<A>a2)b)/IJ 6207 Capturing subpattern count = 3 6208 Named capturing subpatterns: 6209 A 2 6210 A 3 6211 Options: anchored dupnames 6212 No first char 6213 No need char 6214 a1b\GA 6215 0: a1 6216 1: a1 6217 2: a1 6218 G a1 (2) A 6219 a2b\GA 6220 0: a2b 6221 1: a2b 6222 2: <unset> 6223 3: a2 6224 G a2 (2) A 6225 ** Failers 6226 No match 6227 a1b\GZ\GA 6228 no parentheses with name "Z" 6229 0: a1 6230 1: a1 6231 2: a1 6232 get substring Z failed -7 6233 G a1 (2) A 6234 6235 /^(?P<A>a)(?P<A>b)/IJ 6236 Capturing subpattern count = 2 6237 Named capturing subpatterns: 6238 A 1 6239 A 2 6240 Options: anchored dupnames 6241 No first char 6242 No need char 6243 ab\GA 6244 0: ab 6245 1: a 6246 2: b 6247 G a (1) A 6248 6249 /^(?P<A>a)(?P<A>b)|cd/IJ 6250 Capturing subpattern count = 2 6251 Named capturing subpatterns: 6252 A 1 6253 A 2 6254 Options: dupnames 6255 No first char 6256 No need char 6257 ab\GA 6258 0: ab 6259 1: a 6260 2: b 6261 G a (1) A 6262 cd\GA 6263 0: cd 6264 get substring A failed -7 6265 6266 /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ 6267 Capturing subpattern count = 4 6268 Named capturing subpatterns: 6269 A 1 6270 A 2 6271 A 3 6272 A 4 6273 Options: dupnames 6274 No first char 6275 No need char 6276 cdefgh\GA 6277 0: cdefgh 6278 1: <unset> 6279 2: <unset> 6280 3: ef 6281 4: gh 6282 G ef (2) A 6283 6284 /(?J)^((?P<A>a1)|(?P<A>a2)b)/I 6285 Capturing subpattern count = 3 6286 Named capturing subpatterns: 6287 A 2 6288 A 3 6289 Options: anchored dupnames 6290 Duplicate name status changes 6291 No first char 6292 No need char 6293 a1b\CA 6294 0: a1 6295 1: a1 6296 2: a1 6297 C a1 (2) A 6298 a2b\CA 6299 0: a2b 6300 1: a2b 6301 2: <unset> 6302 3: a2 6303 C a2 (2) A 6304 6305 /^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<A>d)/I 6306 Failed: two named subpatterns have the same name at offset 37 6307 6308 / In this next test, J is not set at the outer level; consequently it isn't 6309 set in the pattern's options; consequently pcre_get_named_substring() produces 6310 a random value. /Ix 6311 Capturing subpattern count = 1 6312 Options: extended 6313 First char = 'I' 6314 Need char = 'e' 6315 6316 /^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<C>d)/I 6317 Capturing subpattern count = 4 6318 Named capturing subpatterns: 6319 A 1 6320 B 2 6321 B 3 6322 C 4 6323 Options: anchored 6324 Duplicate name status changes 6325 No first char 6326 No need char 6327 a bc d\CA\CB\CC 6328 0: a bc d 6329 1: a 6330 2: b 6331 3: c 6332 4: d 6333 C a (1) A 6334 C b (1) B 6335 C d (1) C 6336 6337 /^(?P<A>a)?(?(A)a|b)/I 6338 Capturing subpattern count = 1 6339 Named capturing subpatterns: 6340 A 1 6341 Options: anchored 6342 No first char 6343 No need char 6344 aabc 6345 0: aa 6346 1: a 6347 bc 6348 0: b 6349 ** Failers 6350 No match 6351 abc 6352 No match 6353 6354 /(?:(?(ZZ)a|b)(?P<ZZ>X))+/I 6355 Capturing subpattern count = 1 6356 Named capturing subpatterns: 6357 ZZ 1 6358 No options 6359 No first char 6360 Need char = 'X' 6361 bXaX 6362 0: bXaX 6363 1: X 6364 6365 /(?:(?(2y)a|b)(X))+/I 6366 Failed: malformed number or name after (?( at offset 7 6367 6368 /(?:(?(ZA)a|b)(?P<ZZ>X))+/I 6369 Failed: reference to non-existent subpattern at offset 9 6370 6371 /(?:(?(ZZ)a|b)(?(ZZ)a|b)(?P<ZZ>X))+/I 6372 Capturing subpattern count = 1 6373 Named capturing subpatterns: 6374 ZZ 1 6375 No options 6376 No first char 6377 Need char = 'X' 6378 bbXaaX 6379 0: bbXaaX 6380 1: X 6381 6382 /(?:(?(ZZ)a|\(b\))\\(?P<ZZ>X))+/I 6383 Capturing subpattern count = 1 6384 Named capturing subpatterns: 6385 ZZ 1 6386 No options 6387 No first char 6388 Need char = 'X' 6389 (b)\\Xa\\X 6390 0: (b)\Xa\X 6391 1: X 6392 6393 /(?P<ABC/I 6394 Failed: syntax error in subpattern name (missing terminator) at offset 7 6395 6396 /(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/I 6397 Capturing subpattern count = 1 6398 Max back reference = 1 6399 Named capturing subpatterns: 6400 A 1 6401 No options 6402 No first char 6403 No need char 6404 bXXaYYaY 6405 0: bXXaYYaY 6406 1: Y 6407 bXYaXXaX 6408 0: bX 6409 1: X 6410 6411 /()()()()()()()()()(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/I 6412 Capturing subpattern count = 10 6413 Max back reference = 10 6414 Named capturing subpatterns: 6415 A 10 6416 No options 6417 No first char 6418 No need char 6419 bXXaYYaY 6420 0: bXXaYYaY 6421 1: 6422 2: 6423 3: 6424 4: 6425 5: 6426 6: 6427 7: 6428 8: 6429 9: 6430 10: Y 6431 6432 /\s*,\s*/IS 6433 Capturing subpattern count = 0 6434 No options 6435 No first char 6436 Need char = ',' 6437 Subject length lower bound = 1 6438 Starting chars: \x09 \x0a \x0b \x0c \x0d \x20 , 6439 \x0b,\x0b 6440 0: \x0b,\x0b 6441 \x0c,\x0d 6442 0: \x0c,\x0d 6443 6444 /^abc/Im 6445 Capturing subpattern count = 0 6446 Options: multiline 6447 First char at start or follows newline 6448 Need char = 'c' 6449 xyz\nabc 6450 0: abc 6451 xyz\nabc\<lf> 6452 0: abc 6453 xyz\r\nabc\<lf> 6454 0: abc 6455 xyz\rabc\<cr> 6456 0: abc 6457 xyz\r\nabc\<crlf> 6458 0: abc 6459 ** Failers 6460 No match 6461 xyz\nabc\<cr> 6462 No match 6463 xyz\r\nabc\<cr> 6464 No match 6465 xyz\nabc\<crlf> 6466 No match 6467 xyz\rabc\<crlf> 6468 No match 6469 xyz\rabc\<lf> 6470 No match 6471 6472 /abc$/Im<lf> 6473 Capturing subpattern count = 0 6474 Options: multiline 6475 Forced newline sequence: LF 6476 First char = 'a' 6477 Need char = 'c' 6478 xyzabc 6479 0: abc 6480 xyzabc\n 6481 0: abc 6482 xyzabc\npqr 6483 0: abc 6484 xyzabc\r\<cr> 6485 0: abc 6486 xyzabc\rpqr\<cr> 6487 0: abc 6488 xyzabc\r\n\<crlf> 6489 0: abc 6490 xyzabc\r\npqr\<crlf> 6491 0: abc 6492 ** Failers 6493 No match 6494 xyzabc\r 6495 No match 6496 xyzabc\rpqr 6497 No match 6498 xyzabc\r\n 6499 No match 6500 xyzabc\r\npqr 6501 No match 6502 6503 /^abc/Im<cr> 6504 Capturing subpattern count = 0 6505 Options: multiline 6506 Forced newline sequence: CR 6507 First char at start or follows newline 6508 Need char = 'c' 6509 xyz\rabcdef 6510 0: abc 6511 xyz\nabcdef\<lf> 6512 0: abc 6513 ** Failers 6514 No match 6515 xyz\nabcdef 6516 No match 6517 6518 /^abc/Im<lf> 6519 Capturing subpattern count = 0 6520 Options: multiline 6521 Forced newline sequence: LF 6522 First char at start or follows newline 6523 Need char = 'c' 6524 xyz\nabcdef 6525 0: abc 6526 xyz\rabcdef\<cr> 6527 0: abc 6528 ** Failers 6529 No match 6530 xyz\rabcdef 6531 No match 6532 6533 /^abc/Im<crlf> 6534 Capturing subpattern count = 0 6535 Options: multiline 6536 Forced newline sequence: CRLF 6537 First char at start or follows newline 6538 Need char = 'c' 6539 xyz\r\nabcdef 6540 0: abc 6541 xyz\rabcdef\<cr> 6542 0: abc 6543 ** Failers 6544 No match 6545 xyz\rabcdef 6546 No match 6547 6548 /^abc/Im<bad> 6549 Unknown modifier at: <bad> 6550 6551 6552 /abc/I 6553 Capturing subpattern count = 0 6554 No options 6555 First char = 'a' 6556 Need char = 'c' 6557 xyz\rabc\<bad> 6558 Unknown escape sequence at: <bad> 6559 abc 6560 0: abc 6561 6562 /.*/I<lf> 6563 Capturing subpattern count = 0 6564 May match empty string 6565 Options: 6566 Forced newline sequence: LF 6567 First char at start or follows newline 6568 No need char 6569 abc\ndef 6570 0: abc 6571 abc\rdef 6572 0: abc\x0ddef 6573 abc\r\ndef 6574 0: abc\x0d 6575 \<cr>abc\ndef 6576 0: abc\x0adef 6577 \<cr>abc\rdef 6578 0: abc 6579 \<cr>abc\r\ndef 6580 0: abc 6581 \<crlf>abc\ndef 6582 0: abc\x0adef 6583 \<crlf>abc\rdef 6584 0: abc\x0ddef 6585 \<crlf>abc\r\ndef 6586 0: abc 6587 6588 /\w+(.)(.)?def/Is 6589 Capturing subpattern count = 2 6590 Options: dotall 6591 No first char 6592 Need char = 'f' 6593 abc\ndef 6594 0: abc\x0adef 6595 1: \x0a 6596 abc\rdef 6597 0: abc\x0ddef 6598 1: \x0d 6599 abc\r\ndef 6600 0: abc\x0d\x0adef 6601 1: \x0d 6602 2: \x0a 6603 6604 +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I 6605 Capturing subpattern count = 1 6606 May match empty string 6607 No options 6608 No first char 6609 No need char 6610 /* this is a C style comment */\M 6611 Minimum match() limit = 120 6612 Minimum match() recursion limit = 6 6613 0: /* this is a C style comment */ 6614 1: /* this is a C style comment */ 6615 6616 /(?P<B>25[0-5]|2[0-4]\d|[01]?\d?\d)(?:\.(?P>B)){3}/I 6617 Capturing subpattern count = 1 6618 Named capturing subpatterns: 6619 B 1 6620 No options 6621 No first char 6622 Need char = '.' 6623 6624 /()()()()()()()()()()()()()()()()()()()() 6625 ()()()()()()()()()()()()()()()()()()()() 6626 ()()()()()()()()()()()()()()()()()()()() 6627 ()()()()()()()()()()()()()()()()()()()() 6628 ()()()()()()()()()()()()()()()()()()()() 6629 (.(.))/Ix 6630 Capturing subpattern count = 102 6631 Options: extended 6632 No first char 6633 No need char 6634 XY\O400 6635 0: XY 6636 1: 6637 2: 6638 3: 6639 4: 6640 5: 6641 6: 6642 7: 6643 8: 6644 9: 6645 10: 6646 11: 6647 12: 6648 13: 6649 14: 6650 15: 6651 16: 6652 17: 6653 18: 6654 19: 6655 20: 6656 21: 6657 22: 6658 23: 6659 24: 6660 25: 6661 26: 6662 27: 6663 28: 6664 29: 6665 30: 6666 31: 6667 32: 6668 33: 6669 34: 6670 35: 6671 36: 6672 37: 6673 38: 6674 39: 6675 40: 6676 41: 6677 42: 6678 43: 6679 44: 6680 45: 6681 46: 6682 47: 6683 48: 6684 49: 6685 50: 6686 51: 6687 52: 6688 53: 6689 54: 6690 55: 6691 56: 6692 57: 6693 58: 6694 59: 6695 60: 6696 61: 6697 62: 6698 63: 6699 64: 6700 65: 6701 66: 6702 67: 6703 68: 6704 69: 6705 70: 6706 71: 6707 72: 6708 73: 6709 74: 6710 75: 6711 76: 6712 77: 6713 78: 6714 79: 6715 80: 6716 81: 6717 82: 6718 83: 6719 84: 6720 85: 6721 86: 6722 87: 6723 88: 6724 89: 6725 90: 6726 91: 6727 92: 6728 93: 6729 94: 6730 95: 6731 96: 6732 97: 6733 98: 6734 99: 6735 100: 6736 101: XY 6737 102: Y 6738 6739 /(a*b|(?i:c*(?-i)d))/IS 6740 Capturing subpattern count = 1 6741 No options 6742 No first char 6743 No need char 6744 Subject length lower bound = 1 6745 Starting chars: C a b c d 6746 6747 /()[ab]xyz/IS 6748 Capturing subpattern count = 1 6749 No options 6750 No first char 6751 Need char = 'z' 6752 Subject length lower bound = 4 6753 Starting chars: a b 6754 6755 /(|)[ab]xyz/IS 6756 Capturing subpattern count = 1 6757 No options 6758 No first char 6759 Need char = 'z' 6760 Subject length lower bound = 4 6761 Starting chars: a b 6762 6763 /(|c)[ab]xyz/IS 6764 Capturing subpattern count = 1 6765 No options 6766 No first char 6767 Need char = 'z' 6768 Subject length lower bound = 4 6769 Starting chars: a b c 6770 6771 /(|c?)[ab]xyz/IS 6772 Capturing subpattern count = 1 6773 No options 6774 No first char 6775 Need char = 'z' 6776 Subject length lower bound = 4 6777 Starting chars: a b c 6778 6779 /(d?|c?)[ab]xyz/IS 6780 Capturing subpattern count = 1 6781 No options 6782 No first char 6783 Need char = 'z' 6784 Subject length lower bound = 4 6785 Starting chars: a b c d 6786 6787 /(d?|c)[ab]xyz/IS 6788 Capturing subpattern count = 1 6789 No options 6790 No first char 6791 Need char = 'z' 6792 Subject length lower bound = 4 6793 Starting chars: a b c d 6794 6795 /^a*b\d/DZ 6796 ------------------------------------------------------------------ 6797 Bra 6798 ^ 6799 a*+ 6800 b 6801 \d 6802 Ket 6803 End 6804 ------------------------------------------------------------------ 6805 Capturing subpattern count = 0 6806 Options: anchored 6807 No first char 6808 Need char = 'b' 6809 6810 /^a*+b\d/DZ 6811 ------------------------------------------------------------------ 6812 Bra 6813 ^ 6814 a*+ 6815 b 6816 \d 6817 Ket 6818 End 6819 ------------------------------------------------------------------ 6820 Capturing subpattern count = 0 6821 Options: anchored 6822 No first char 6823 Need char = 'b' 6824 6825 /^a*?b\d/DZ 6826 ------------------------------------------------------------------ 6827 Bra 6828 ^ 6829 a*+ 6830 b 6831 \d 6832 Ket 6833 End 6834 ------------------------------------------------------------------ 6835 Capturing subpattern count = 0 6836 Options: anchored 6837 No first char 6838 Need char = 'b' 6839 6840 /^a+A\d/DZ 6841 ------------------------------------------------------------------ 6842 Bra 6843 ^ 6844 a++ 6845 A 6846 \d 6847 Ket 6848 End 6849 ------------------------------------------------------------------ 6850 Capturing subpattern count = 0 6851 Options: anchored 6852 No first char 6853 Need char = 'A' 6854 aaaA5 6855 0: aaaA5 6856 ** Failers 6857 No match 6858 aaaa5 6859 No match 6860 6861 /^a*A\d/IiDZ 6862 ------------------------------------------------------------------ 6863 Bra 6864 ^ 6865 /i a* 6866 /i A 6867 \d 6868 Ket 6869 End 6870 ------------------------------------------------------------------ 6871 Capturing subpattern count = 0 6872 Options: anchored caseless 6873 No first char 6874 Need char = 'A' (caseless) 6875 aaaA5 6876 0: aaaA5 6877 aaaa5 6878 0: aaaa5 6879 6880 /(a*|b*)[cd]/IS 6881 Capturing subpattern count = 1 6882 No options 6883 No first char 6884 No need char 6885 Subject length lower bound = 1 6886 Starting chars: a b c d 6887 6888 /(a+|b*)[cd]/IS 6889 Capturing subpattern count = 1 6890 No options 6891 No first char 6892 No need char 6893 Subject length lower bound = 1 6894 Starting chars: a b c d 6895 6896 /(a*|b+)[cd]/IS 6897 Capturing subpattern count = 1 6898 No options 6899 No first char 6900 No need char 6901 Subject length lower bound = 1 6902 Starting chars: a b c d 6903 6904 /(a+|b+)[cd]/IS 6905 Capturing subpattern count = 1 6906 No options 6907 No first char 6908 No need char 6909 Subject length lower bound = 2 6910 Starting chars: a b 6911 6912 /(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((( 6913 (((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((( 6914 ((( 6915 a 6916 )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 6917 )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 6918 ))) 6919 /Ix 6920 Capturing subpattern count = 203 6921 Options: extended 6922 First char = 'a' 6923 No need char 6924 large nest 6925 Matched, but too many substrings 6926 0: a 6927 1: a 6928 2: a 6929 3: a 6930 4: a 6931 5: a 6932 6: a 6933 7: a 6934 8: a 6935 9: a 6936 10: a 6937 11: a 6938 12: a 6939 13: a 6940 14: a 6941 6942 /a*\d/BZ 6943 ------------------------------------------------------------------ 6944 Bra 6945 a*+ 6946 \d 6947 Ket 6948 End 6949 ------------------------------------------------------------------ 6950 6951 /a*\D/BZ 6952 ------------------------------------------------------------------ 6953 Bra 6954 a* 6955 \D 6956 Ket 6957 End 6958 ------------------------------------------------------------------ 6959 6960 /0*\d/BZ 6961 ------------------------------------------------------------------ 6962 Bra 6963 0* 6964 \d 6965 Ket 6966 End 6967 ------------------------------------------------------------------ 6968 6969 /0*\D/BZ 6970 ------------------------------------------------------------------ 6971 Bra 6972 0*+ 6973 \D 6974 Ket 6975 End 6976 ------------------------------------------------------------------ 6977 6978 /a*\s/BZ 6979 ------------------------------------------------------------------ 6980 Bra 6981 a*+ 6982 \s 6983 Ket 6984 End 6985 ------------------------------------------------------------------ 6986 6987 /a*\S/BZ 6988 ------------------------------------------------------------------ 6989 Bra 6990 a* 6991 \S 6992 Ket 6993 End 6994 ------------------------------------------------------------------ 6995 6996 / *\s/BZ 6997 ------------------------------------------------------------------ 6998 Bra 6999 * 7000 \s 7001 Ket 7002 End 7003 ------------------------------------------------------------------ 7004 7005 / *\S/BZ 7006 ------------------------------------------------------------------ 7007 Bra 7008 *+ 7009 \S 7010 Ket 7011 End 7012 ------------------------------------------------------------------ 7013 7014 /a*\w/BZ 7015 ------------------------------------------------------------------ 7016 Bra 7017 a* 7018 \w 7019 Ket 7020 End 7021 ------------------------------------------------------------------ 7022 7023 /a*\W/BZ 7024 ------------------------------------------------------------------ 7025 Bra 7026 a*+ 7027 \W 7028 Ket 7029 End 7030 ------------------------------------------------------------------ 7031 7032 /=*\w/BZ 7033 ------------------------------------------------------------------ 7034 Bra 7035 =*+ 7036 \w 7037 Ket 7038 End 7039 ------------------------------------------------------------------ 7040 7041 /=*\W/BZ 7042 ------------------------------------------------------------------ 7043 Bra 7044 =* 7045 \W 7046 Ket 7047 End 7048 ------------------------------------------------------------------ 7049 7050 /\d*a/BZ 7051 ------------------------------------------------------------------ 7052 Bra 7053 \d*+ 7054 a 7055 Ket 7056 End 7057 ------------------------------------------------------------------ 7058 7059 /\d*2/BZ 7060 ------------------------------------------------------------------ 7061 Bra 7062 \d* 7063 2 7064 Ket 7065 End 7066 ------------------------------------------------------------------ 7067 7068 /\d*\d/BZ 7069 ------------------------------------------------------------------ 7070 Bra 7071 \d* 7072 \d 7073 Ket 7074 End 7075 ------------------------------------------------------------------ 7076 7077 /\d*\D/BZ 7078 ------------------------------------------------------------------ 7079 Bra 7080 \d*+ 7081 \D 7082 Ket 7083 End 7084 ------------------------------------------------------------------ 7085 7086 /\d*\s/BZ 7087 ------------------------------------------------------------------ 7088 Bra 7089 \d*+ 7090 \s 7091 Ket 7092 End 7093 ------------------------------------------------------------------ 7094 7095 /\d*\S/BZ 7096 ------------------------------------------------------------------ 7097 Bra 7098 \d* 7099 \S 7100 Ket 7101 End 7102 ------------------------------------------------------------------ 7103 7104 /\d*\w/BZ 7105 ------------------------------------------------------------------ 7106 Bra 7107 \d* 7108 \w 7109 Ket 7110 End 7111 ------------------------------------------------------------------ 7112 7113 /\d*\W/BZ 7114 ------------------------------------------------------------------ 7115 Bra 7116 \d*+ 7117 \W 7118 Ket 7119 End 7120 ------------------------------------------------------------------ 7121 7122 /\D*a/BZ 7123 ------------------------------------------------------------------ 7124 Bra 7125 \D* 7126 a 7127 Ket 7128 End 7129 ------------------------------------------------------------------ 7130 7131 /\D*2/BZ 7132 ------------------------------------------------------------------ 7133 Bra 7134 \D*+ 7135 2 7136 Ket 7137 End 7138 ------------------------------------------------------------------ 7139 7140 /\D*\d/BZ 7141 ------------------------------------------------------------------ 7142 Bra 7143 \D*+ 7144 \d 7145 Ket 7146 End 7147 ------------------------------------------------------------------ 7148 7149 /\D*\D/BZ 7150 ------------------------------------------------------------------ 7151 Bra 7152 \D* 7153 \D 7154 Ket 7155 End 7156 ------------------------------------------------------------------ 7157 7158 /\D*\s/BZ 7159 ------------------------------------------------------------------ 7160 Bra 7161 \D* 7162 \s 7163 Ket 7164 End 7165 ------------------------------------------------------------------ 7166 7167 /\D*\S/BZ 7168 ------------------------------------------------------------------ 7169 Bra 7170 \D* 7171 \S 7172 Ket 7173 End 7174 ------------------------------------------------------------------ 7175 7176 /\D*\w/BZ 7177 ------------------------------------------------------------------ 7178 Bra 7179 \D* 7180 \w 7181 Ket 7182 End 7183 ------------------------------------------------------------------ 7184 7185 /\D*\W/BZ 7186 ------------------------------------------------------------------ 7187 Bra 7188 \D* 7189 \W 7190 Ket 7191 End 7192 ------------------------------------------------------------------ 7193 7194 /\s*a/BZ 7195 ------------------------------------------------------------------ 7196 Bra 7197 \s*+ 7198 a 7199 Ket 7200 End 7201 ------------------------------------------------------------------ 7202 7203 /\s*2/BZ 7204 ------------------------------------------------------------------ 7205 Bra 7206 \s*+ 7207 2 7208 Ket 7209 End 7210 ------------------------------------------------------------------ 7211 7212 /\s*\d/BZ 7213 ------------------------------------------------------------------ 7214 Bra 7215 \s*+ 7216 \d 7217 Ket 7218 End 7219 ------------------------------------------------------------------ 7220 7221 /\s*\D/BZ 7222 ------------------------------------------------------------------ 7223 Bra 7224 \s* 7225 \D 7226 Ket 7227 End 7228 ------------------------------------------------------------------ 7229 7230 /\s*\s/BZ 7231 ------------------------------------------------------------------ 7232 Bra 7233 \s* 7234 \s 7235 Ket 7236 End 7237 ------------------------------------------------------------------ 7238 7239 /\s*\S/BZ 7240 ------------------------------------------------------------------ 7241 Bra 7242 \s*+ 7243 \S 7244 Ket 7245 End 7246 ------------------------------------------------------------------ 7247 7248 /\s*\w/BZ 7249 ------------------------------------------------------------------ 7250 Bra 7251 \s*+ 7252 \w 7253 Ket 7254 End 7255 ------------------------------------------------------------------ 7256 7257 /\s*\W/BZ 7258 ------------------------------------------------------------------ 7259 Bra 7260 \s* 7261 \W 7262 Ket 7263 End 7264 ------------------------------------------------------------------ 7265 7266 /\S*a/BZ 7267 ------------------------------------------------------------------ 7268 Bra 7269 \S* 7270 a 7271 Ket 7272 End 7273 ------------------------------------------------------------------ 7274 7275 /\S*2/BZ 7276 ------------------------------------------------------------------ 7277 Bra 7278 \S* 7279 2 7280 Ket 7281 End 7282 ------------------------------------------------------------------ 7283 7284 /\S*\d/BZ 7285 ------------------------------------------------------------------ 7286 Bra 7287 \S* 7288 \d 7289 Ket 7290 End 7291 ------------------------------------------------------------------ 7292 7293 /\S*\D/BZ 7294 ------------------------------------------------------------------ 7295 Bra 7296 \S* 7297 \D 7298 Ket 7299 End 7300 ------------------------------------------------------------------ 7301 7302 /\S*\s/BZ 7303 ------------------------------------------------------------------ 7304 Bra 7305 \S*+ 7306 \s 7307 Ket 7308 End 7309 ------------------------------------------------------------------ 7310 7311 /\S*\S/BZ 7312 ------------------------------------------------------------------ 7313 Bra 7314 \S* 7315 \S 7316 Ket 7317 End 7318 ------------------------------------------------------------------ 7319 7320 /\S*\w/BZ 7321 ------------------------------------------------------------------ 7322 Bra 7323 \S* 7324 \w 7325 Ket 7326 End 7327 ------------------------------------------------------------------ 7328 7329 /\S*\W/BZ 7330 ------------------------------------------------------------------ 7331 Bra 7332 \S* 7333 \W 7334 Ket 7335 End 7336 ------------------------------------------------------------------ 7337 7338 /\w*a/BZ 7339 ------------------------------------------------------------------ 7340 Bra 7341 \w* 7342 a 7343 Ket 7344 End 7345 ------------------------------------------------------------------ 7346 7347 /\w*2/BZ 7348 ------------------------------------------------------------------ 7349 Bra 7350 \w* 7351 2 7352 Ket 7353 End 7354 ------------------------------------------------------------------ 7355 7356 /\w*\d/BZ 7357 ------------------------------------------------------------------ 7358 Bra 7359 \w* 7360 \d 7361 Ket 7362 End 7363 ------------------------------------------------------------------ 7364 7365 /\w*\D/BZ 7366 ------------------------------------------------------------------ 7367 Bra 7368 \w* 7369 \D 7370 Ket 7371 End 7372 ------------------------------------------------------------------ 7373 7374 /\w*\s/BZ 7375 ------------------------------------------------------------------ 7376 Bra 7377 \w*+ 7378 \s 7379 Ket 7380 End 7381 ------------------------------------------------------------------ 7382 7383 /\w*\S/BZ 7384 ------------------------------------------------------------------ 7385 Bra 7386 \w* 7387 \S 7388 Ket 7389 End 7390 ------------------------------------------------------------------ 7391 7392 /\w*\w/BZ 7393 ------------------------------------------------------------------ 7394 Bra 7395 \w* 7396 \w 7397 Ket 7398 End 7399 ------------------------------------------------------------------ 7400 7401 /\w*\W/BZ 7402 ------------------------------------------------------------------ 7403 Bra 7404 \w*+ 7405 \W 7406 Ket 7407 End 7408 ------------------------------------------------------------------ 7409 7410 /\W*a/BZ 7411 ------------------------------------------------------------------ 7412 Bra 7413 \W*+ 7414 a 7415 Ket 7416 End 7417 ------------------------------------------------------------------ 7418 7419 /\W*2/BZ 7420 ------------------------------------------------------------------ 7421 Bra 7422 \W*+ 7423 2 7424 Ket 7425 End 7426 ------------------------------------------------------------------ 7427 7428 /\W*\d/BZ 7429 ------------------------------------------------------------------ 7430 Bra 7431 \W*+ 7432 \d 7433 Ket 7434 End 7435 ------------------------------------------------------------------ 7436 7437 /\W*\D/BZ 7438 ------------------------------------------------------------------ 7439 Bra 7440 \W* 7441 \D 7442 Ket 7443 End 7444 ------------------------------------------------------------------ 7445 7446 /\W*\s/BZ 7447 ------------------------------------------------------------------ 7448 Bra 7449 \W* 7450 \s 7451 Ket 7452 End 7453 ------------------------------------------------------------------ 7454 7455 /\W*\S/BZ 7456 ------------------------------------------------------------------ 7457 Bra 7458 \W* 7459 \S 7460 Ket 7461 End 7462 ------------------------------------------------------------------ 7463 7464 /\W*\w/BZ 7465 ------------------------------------------------------------------ 7466 Bra 7467 \W*+ 7468 \w 7469 Ket 7470 End 7471 ------------------------------------------------------------------ 7472 7473 /\W*\W/BZ 7474 ------------------------------------------------------------------ 7475 Bra 7476 \W* 7477 \W 7478 Ket 7479 End 7480 ------------------------------------------------------------------ 7481 7482 /[^a]+a/BZ 7483 ------------------------------------------------------------------ 7484 Bra 7485 [^a]++ 7486 a 7487 Ket 7488 End 7489 ------------------------------------------------------------------ 7490 7491 /[^a]+a/BZi 7492 ------------------------------------------------------------------ 7493 Bra 7494 /i [^a]++ 7495 /i a 7496 Ket 7497 End 7498 ------------------------------------------------------------------ 7499 7500 /[^a]+A/BZi 7501 ------------------------------------------------------------------ 7502 Bra 7503 /i [^a]++ 7504 /i A 7505 Ket 7506 End 7507 ------------------------------------------------------------------ 7508 7509 /[^a]+b/BZ 7510 ------------------------------------------------------------------ 7511 Bra 7512 [^a]+ 7513 b 7514 Ket 7515 End 7516 ------------------------------------------------------------------ 7517 7518 /[^a]+\d/BZ 7519 ------------------------------------------------------------------ 7520 Bra 7521 [^a]+ 7522 \d 7523 Ket 7524 End 7525 ------------------------------------------------------------------ 7526 7527 /a*[^a]/BZ 7528 ------------------------------------------------------------------ 7529 Bra 7530 a*+ 7531 [^a] 7532 Ket 7533 End 7534 ------------------------------------------------------------------ 7535 7536 /(?P<abc>x)(?P<xyz>y)/I 7537 Capturing subpattern count = 2 7538 Named capturing subpatterns: 7539 abc 1 7540 xyz 2 7541 No options 7542 First char = 'x' 7543 Need char = 'y' 7544 xy\Cabc\Cxyz 7545 0: xy 7546 1: x 7547 2: y 7548 C x (1) abc 7549 C y (1) xyz 7550 7551 /(?<abc>x)(?'xyz'y)/I 7552 Capturing subpattern count = 2 7553 Named capturing subpatterns: 7554 abc 1 7555 xyz 2 7556 No options 7557 First char = 'x' 7558 Need char = 'y' 7559 xy\Cabc\Cxyz 7560 0: xy 7561 1: x 7562 2: y 7563 C x (1) abc 7564 C y (1) xyz 7565 7566 /(?<abc'x)(?'xyz'y)/I 7567 Failed: syntax error in subpattern name (missing terminator) at offset 6 7568 7569 /(?<abc>x)(?'xyz>y)/I 7570 Failed: syntax error in subpattern name (missing terminator) at offset 15 7571 7572 /(?P'abc'x)(?P<xyz>y)/I 7573 Failed: unrecognized character after (?P at offset 3 7574 7575 /^(?:(?(ZZ)a|b)(?<ZZ>X))+/ 7576 bXaX 7577 0: bXaX 7578 1: X 7579 bXbX 7580 0: bX 7581 1: X 7582 ** Failers 7583 No match 7584 aXaX 7585 No match 7586 aXbX 7587 No match 7588 7589 /^(?P>abc)(?<abcd>xxx)/ 7590 Failed: reference to non-existent subpattern at offset 8 7591 7592 /^(?P>abc)(?<abc>x|y)/ 7593 xx 7594 0: xx 7595 1: x 7596 xy 7597 0: xy 7598 1: y 7599 yy 7600 0: yy 7601 1: y 7602 yx 7603 0: yx 7604 1: x 7605 7606 /^(?P>abc)(?P<abc>x|y)/ 7607 xx 7608 0: xx 7609 1: x 7610 xy 7611 0: xy 7612 1: y 7613 yy 7614 0: yy 7615 1: y 7616 yx 7617 0: yx 7618 1: x 7619 7620 /^((?(abc)a|b)(?<abc>x|y))+/ 7621 bxay 7622 0: bxay 7623 1: ay 7624 2: y 7625 bxby 7626 0: bx 7627 1: bx 7628 2: x 7629 ** Failers 7630 No match 7631 axby 7632 No match 7633 7634 /^(((?P=abc)|X)(?<abc>x|y))+/ 7635 XxXxxx 7636 0: XxXxxx 7637 1: xx 7638 2: x 7639 3: x 7640 XxXyyx 7641 0: XxXyyx 7642 1: yx 7643 2: y 7644 3: x 7645 XxXyxx 7646 0: XxXy 7647 1: Xy 7648 2: X 7649 3: y 7650 ** Failers 7651 No match 7652 x 7653 No match 7654 7655 /^(?1)(abc)/ 7656 abcabc 7657 0: abcabc 7658 1: abc 7659 7660 /^(?:(?:\1|X)(a|b))+/ 7661 Xaaa 7662 0: Xaaa 7663 1: a 7664 Xaba 7665 0: Xa 7666 1: a 7667 7668 /^[\E\Qa\E-\Qz\E]+/BZ 7669 ------------------------------------------------------------------ 7670 Bra 7671 ^ 7672 [a-z]++ 7673 Ket 7674 End 7675 ------------------------------------------------------------------ 7676 7677 /^[a\Q]bc\E]/BZ 7678 ------------------------------------------------------------------ 7679 Bra 7680 ^ 7681 [\]a-c] 7682 Ket 7683 End 7684 ------------------------------------------------------------------ 7685 7686 /^[a-\Q\E]/BZ 7687 ------------------------------------------------------------------ 7688 Bra 7689 ^ 7690 [\-a] 7691 Ket 7692 End 7693 ------------------------------------------------------------------ 7694 7695 /^(?P>abc)[()](?<abc>)/BZ 7696 ------------------------------------------------------------------ 7697 Bra 7698 ^ 7699 Recurse 7700 [()] 7701 CBra 1 7702 Ket 7703 Ket 7704 End 7705 ------------------------------------------------------------------ 7706 7707 /^((?(abc)y)[()](?P<abc>x))+/BZ 7708 ------------------------------------------------------------------ 7709 Bra 7710 ^ 7711 CBra 1 7712 Cond 7713 2 Cond ref 7714 y 7715 Ket 7716 [()] 7717 CBra 2 7718 x 7719 Ket 7720 KetRmax 7721 Ket 7722 End 7723 ------------------------------------------------------------------ 7724 (xy)x 7725 0: (xy)x 7726 1: y)x 7727 2: x 7728 7729 /^(?P>abc)\Q()\E(?<abc>)/BZ 7730 ------------------------------------------------------------------ 7731 Bra 7732 ^ 7733 Recurse 7734 () 7735 CBra 1 7736 Ket 7737 Ket 7738 End 7739 ------------------------------------------------------------------ 7740 7741 /^(?P>abc)[a\Q(]\E(](?<abc>)/BZ 7742 ------------------------------------------------------------------ 7743 Bra 7744 ^ 7745 Recurse 7746 [(\]a] 7747 CBra 1 7748 Ket 7749 Ket 7750 End 7751 ------------------------------------------------------------------ 7752 7753 /^(?P>abc) # this is (a comment) 7754 (?<abc>)/BZx 7755 ------------------------------------------------------------------ 7756 Bra 7757 ^ 7758 Recurse 7759 CBra 1 7760 Ket 7761 Ket 7762 End 7763 ------------------------------------------------------------------ 7764 7765 /^\W*(?:(?<one>(?<two>.)\W*(?&one)\W*\k<two>|)|(?<three>(?<four>.)\W*(?&three)\W*\k'four'|\W*.\W*))\W*$/Ii 7766 Capturing subpattern count = 4 7767 Max back reference = 4 7768 Named capturing subpatterns: 7769 four 4 7770 one 1 7771 three 3 7772 two 2 7773 May match empty string 7774 Options: anchored caseless 7775 No first char 7776 No need char 7777 1221 7778 0: 1221 7779 1: 1221 7780 2: 1 7781 Satan, oscillate my metallic sonatas! 7782 0: Satan, oscillate my metallic sonatas! 7783 1: <unset> 7784 2: <unset> 7785 3: Satan, oscillate my metallic sonatas 7786 4: S 7787 A man, a plan, a canal: Panama! 7788 0: A man, a plan, a canal: Panama! 7789 1: <unset> 7790 2: <unset> 7791 3: A man, a plan, a canal: Panama 7792 4: A 7793 Able was I ere I saw Elba. 7794 0: Able was I ere I saw Elba. 7795 1: <unset> 7796 2: <unset> 7797 3: Able was I ere I saw Elba 7798 4: A 7799 *** Failers 7800 No match 7801 The quick brown fox 7802 No match 7803 7804 /(?=(\w+))\1:/I 7805 Capturing subpattern count = 1 7806 Max back reference = 1 7807 No options 7808 No first char 7809 Need char = ':' 7810 abcd: 7811 0: abcd: 7812 1: abcd 7813 7814 /(?=(?'abc'\w+))\k<abc>:/I 7815 Capturing subpattern count = 1 7816 Max back reference = 1 7817 Named capturing subpatterns: 7818 abc 1 7819 No options 7820 No first char 7821 Need char = ':' 7822 abcd: 7823 0: abcd: 7824 1: abcd 7825 7826 /(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J 7827 adaa 7828 0: adaa 7829 1: a 7830 2: d 7831 ** Failers 7832 No match 7833 addd 7834 No match 7835 adbb 7836 No match 7837 7838 /(?'abc'a|b)(?<abc>d|e)(?&abc){2}/J 7839 bdaa 7840 0: bdaa 7841 1: b 7842 2: d 7843 bdab 7844 0: bdab 7845 1: b 7846 2: d 7847 ** Failers 7848 No match 7849 bddd 7850 No match 7851 7852 /(?(<bc))/ 7853 Failed: malformed number or name after (?( at offset 6 7854 7855 /(?(''))/ 7856 Failed: assertion expected after (?( at offset 4 7857 7858 /(?('R')stuff)/ 7859 Failed: reference to non-existent subpattern at offset 7 7860 7861 /((abc (?(R) (?(R1)1) (?(R2)2) X | (?1) (?2) (?R) ))) /x 7862 abcabc1Xabc2XabcXabcabc 7863 0: abcabc1Xabc2XabcX 7864 1: abcabc1Xabc2XabcX 7865 2: abcabc1Xabc2XabcX 7866 7867 /(?<A> (?'B' abc (?(R) (?(R&A)1) (?(R&B)2) X | (?1) (?2) (?R) ))) /x 7868 abcabc1Xabc2XabcXabcabc 7869 0: abcabc1Xabc2XabcX 7870 1: abcabc1Xabc2XabcX 7871 2: abcabc1Xabc2XabcX 7872 7873 /(?<A> (?'B' abc (?(R) (?(R&C)1) (?(R&B)2) X | (?1) (?2) (?R) ))) /x 7874 Failed: reference to non-existent subpattern at offset 29 7875 7876 /^(?(DEFINE) abc | xyz ) /x 7877 Failed: DEFINE group contains more than one branch at offset 22 7878 7879 /(?(DEFINE) abc) xyz/xI 7880 Capturing subpattern count = 0 7881 Options: extended 7882 First char = 'x' 7883 Need char = 'z' 7884 7885 /(a|)*\d/ 7886 \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 7887 No match 7888 \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4 7889 Matched, but too many substrings 7890 7891 /^a.b/<lf> 7892 a\rb 7893 0: a\x0db 7894 a\nb\<cr> 7895 0: a\x0ab 7896 a\x85b\<anycrlf> 7897 0: a\x85b 7898 ** Failers 7899 No match 7900 a\nb 7901 No match 7902 a\nb\<any> 7903 No match 7904 a\rb\<cr> 7905 No match 7906 a\rb\<any> 7907 No match 7908 a\x85b\<any> 7909 No match 7910 a\rb\<anycrlf> 7911 No match 7912 7913 /^abc./mgx<any> 7914 abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x85abc7 JUNK 7915 0: abc1 7916 0: abc2 7917 0: abc3 7918 0: abc4 7919 0: abc5 7920 0: abc6 7921 0: abc7 7922 7923 /abc.$/mgx<any> 7924 abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc7 abc9 7925 0: abc1 7926 0: abc2 7927 0: abc3 7928 0: abc4 7929 0: abc5 7930 0: abc6 7931 0: abc9 7932 7933 /a/<cr><any> 7934 7935 /a/<any><crlf> 7936 Failed: inconsistent NEWLINE options at offset 0 7937 7938 /^a\Rb/<bsr_unicode> 7939 a\nb 7940 0: a\x0ab 7941 a\rb 7942 0: a\x0db 7943 a\r\nb 7944 0: a\x0d\x0ab 7945 a\x0bb 7946 0: a\x0bb 7947 a\x0cb 7948 0: a\x0cb 7949 a\x85b 7950 0: a\x85b 7951 ** Failers 7952 No match 7953 a\n\rb 7954 No match 7955 7956 /^a\R*b/<bsr_unicode> 7957 ab 7958 0: ab 7959 a\nb 7960 0: a\x0ab 7961 a\rb 7962 0: a\x0db 7963 a\r\nb 7964 0: a\x0d\x0ab 7965 a\x0bb 7966 0: a\x0bb 7967 a\x0cb 7968 0: a\x0cb 7969 a\x85b 7970 0: a\x85b 7971 a\n\rb 7972 0: a\x0a\x0db 7973 a\n\r\x85\x0cb 7974 0: a\x0a\x0d\x85\x0cb 7975 7976 /^a\R+b/<bsr_unicode> 7977 a\nb 7978 0: a\x0ab 7979 a\rb 7980 0: a\x0db 7981 a\r\nb 7982 0: a\x0d\x0ab 7983 a\x0bb 7984 0: a\x0bb 7985 a\x0cb 7986 0: a\x0cb 7987 a\x85b 7988 0: a\x85b 7989 a\n\rb 7990 0: a\x0a\x0db 7991 a\n\r\x85\x0cb 7992 0: a\x0a\x0d\x85\x0cb 7993 ** Failers 7994 No match 7995 ab 7996 No match 7997 7998 /^a\R{1,3}b/<bsr_unicode> 7999 a\nb 8000 0: a\x0ab 8001 a\n\rb 8002 0: a\x0a\x0db 8003 a\n\r\x85b 8004 0: a\x0a\x0d\x85b 8005 a\r\n\r\nb 8006 0: a\x0d\x0a\x0d\x0ab 8007 a\r\n\r\n\r\nb 8008 0: a\x0d\x0a\x0d\x0a\x0d\x0ab 8009 a\n\r\n\rb 8010 0: a\x0a\x0d\x0a\x0db 8011 a\n\n\r\nb 8012 0: a\x0a\x0a\x0d\x0ab 8013 ** Failers 8014 No match 8015 a\n\n\n\rb 8016 No match 8017 a\r 8018 No match 8019 8020 /^a[\R]b/<bsr_unicode> 8021 aRb 8022 0: aRb 8023 ** Failers 8024 No match 8025 a\nb 8026 No match 8027 8028 /(?&abc)X(?<abc>P)/I 8029 Capturing subpattern count = 1 8030 Named capturing subpatterns: 8031 abc 1 8032 No options 8033 No first char 8034 Need char = 'P' 8035 abcPXP123 8036 0: PXP 8037 1: P 8038 8039 /(?1)X(?<abc>P)/I 8040 Capturing subpattern count = 1 8041 Named capturing subpatterns: 8042 abc 1 8043 No options 8044 No first char 8045 Need char = 'P' 8046 abcPXP123 8047 0: PXP 8048 1: P 8049 8050 /(?:a(?&abc)b)*(?<abc>x)/ 8051 123axbaxbaxbx456 8052 0: axbaxbaxbx 8053 1: x 8054 123axbaxbaxb456 8055 0: x 8056 1: x 8057 8058 /(?:a(?&abc)b){1,5}(?<abc>x)/ 8059 123axbaxbaxbx456 8060 0: axbaxbaxbx 8061 1: x 8062 8063 /(?:a(?&abc)b){2,5}(?<abc>x)/ 8064 123axbaxbaxbx456 8065 0: axbaxbaxbx 8066 1: x 8067 8068 /(?:a(?&abc)b){2,}(?<abc>x)/ 8069 123axbaxbaxbx456 8070 0: axbaxbaxbx 8071 1: x 8072 8073 /(abc)(?i:(?1))/ 8074 defabcabcxyz 8075 0: abcabc 8076 1: abc 8077 DEFabcABCXYZ 8078 No match 8079 8080 /(abc)(?:(?i)(?1))/ 8081 defabcabcxyz 8082 0: abcabc 8083 1: abc 8084 DEFabcABCXYZ 8085 No match 8086 8087 /^(a)\g-2/ 8088 Failed: reference to non-existent subpattern at offset 7 8089 8090 /^(a)\g/ 8091 Failed: a numbered reference must not be zero at offset 5 8092 8093 /^(a)\g{0}/ 8094 Failed: a numbered reference must not be zero at offset 8 8095 8096 /^(a)\g{3/ 8097 Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 8 8098 8099 /^(a)\g{aa}/ 8100 Failed: reference to non-existent subpattern at offset 9 8101 8102 /^a.b/<lf> 8103 a\rb 8104 0: a\x0db 8105 *** Failers 8106 No match 8107 a\nb 8108 No match 8109 8110 /.+foo/ 8111 afoo 8112 0: afoo 8113 ** Failers 8114 No match 8115 \r\nfoo 8116 No match 8117 \nfoo 8118 No match 8119 8120 /.+foo/<crlf> 8121 afoo 8122 0: afoo 8123 \nfoo 8124 0: \x0afoo 8125 ** Failers 8126 No match 8127 \r\nfoo 8128 No match 8129 8130 /.+foo/<any> 8131 afoo 8132 0: afoo 8133 ** Failers 8134 No match 8135 \nfoo 8136 No match 8137 \r\nfoo 8138 No match 8139 8140 /.+foo/s 8141 afoo 8142 0: afoo 8143 \r\nfoo 8144 0: \x0d\x0afoo 8145 \nfoo 8146 0: \x0afoo 8147 8148 /^$/mg<any> 8149 abc\r\rxyz 8150 0: 8151 abc\n\rxyz 8152 0: 8153 ** Failers 8154 No match 8155 abc\r\nxyz 8156 No match 8157 8158 /(?m)^$/<any>g+ 8159 abc\r\n\r\n 8160 0: 8161 0+ \x0d\x0a 8162 8163 /(?m)^$|^\r\n/<any>g+ 8164 abc\r\n\r\n 8165 0: 8166 0+ \x0d\x0a 8167 0: \x0d\x0a 8168 0+ 8169 8170 /(?m)$/<any>g+ 8171 abc\r\n\r\n 8172 0: 8173 0+ \x0d\x0a\x0d\x0a 8174 0: 8175 0+ \x0d\x0a 8176 0: 8177 0+ 8178 8179 /abc.$/mgx<anycrlf> 8180 abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc9 8181 0: abc1 8182 0: abc4 8183 0: abc5 8184 0: abc9 8185 8186 /^X/m 8187 XABC 8188 0: X 8189 ** Failers 8190 No match 8191 XABC\B 8192 No match 8193 8194 /(ab|c)(?-1)/BZ 8195 ------------------------------------------------------------------ 8196 Bra 8197 CBra 1 8198 ab 8199 Alt 8200 c 8201 Ket 8202 Recurse 8203 Ket 8204 End 8205 ------------------------------------------------------------------ 8206 abc 8207 0: abc 8208 1: ab 8209 8210 /xy(?+1)(abc)/BZ 8211 ------------------------------------------------------------------ 8212 Bra 8213 xy 8214 Recurse 8215 CBra 1 8216 abc 8217 Ket 8218 Ket 8219 End 8220 ------------------------------------------------------------------ 8221 xyabcabc 8222 0: xyabcabc 8223 1: abc 8224 ** Failers 8225 No match 8226 xyabc 8227 No match 8228 8229 /x(?-0)y/ 8230 Failed: a numbered reference must not be zero at offset 5 8231 8232 /x(?-1)y/ 8233 Failed: reference to non-existent subpattern at offset 5 8234 8235 /x(?+0)y/ 8236 Failed: a numbered reference must not be zero at offset 5 8237 8238 /x(?+1)y/ 8239 Failed: reference to non-existent subpattern at offset 5 8240 8241 /^(abc)?(?(-1)X|Y)/BZ 8242 ------------------------------------------------------------------ 8243 Bra 8244 ^ 8245 Brazero 8246 CBra 1 8247 abc 8248 Ket 8249 Cond 8250 1 Cond ref 8251 X 8252 Alt 8253 Y 8254 Ket 8255 Ket 8256 End 8257 ------------------------------------------------------------------ 8258 abcX 8259 0: abcX 8260 1: abc 8261 Y 8262 0: Y 8263 ** Failers 8264 No match 8265 abcY 8266 No match 8267 8268 /^((?(+1)X|Y)(abc))+/BZ 8269 ------------------------------------------------------------------ 8270 Bra 8271 ^ 8272 CBra 1 8273 Cond 8274 2 Cond ref 8275 X 8276 Alt 8277 Y 8278 Ket 8279 CBra 2 8280 abc 8281 Ket 8282 KetRmax 8283 Ket 8284 End 8285 ------------------------------------------------------------------ 8286 YabcXabc 8287 0: YabcXabc 8288 1: Xabc 8289 2: abc 8290 YabcXabcXabc 8291 0: YabcXabcXabc 8292 1: Xabc 8293 2: abc 8294 ** Failers 8295 No match 8296 XabcXabc 8297 No match 8298 8299 /(?(-1)a)/BZ 8300 Failed: reference to non-existent subpattern at offset 6 8301 8302 /((?(-1)a))/BZ 8303 ------------------------------------------------------------------ 8304 Bra 8305 CBra 1 8306 Cond 8307 1 Cond ref 8308 a 8309 Ket 8310 Ket 8311 Ket 8312 End 8313 ------------------------------------------------------------------ 8314 8315 /((?(-2)a))/BZ 8316 Failed: reference to non-existent subpattern at offset 7 8317 8318 /^(?(+1)X|Y)(.)/BZ 8319 ------------------------------------------------------------------ 8320 Bra 8321 ^ 8322 Cond 8323 1 Cond ref 8324 X 8325 Alt 8326 Y 8327 Ket 8328 CBra 1 8329 Any 8330 Ket 8331 Ket 8332 End 8333 ------------------------------------------------------------------ 8334 Y! 8335 0: Y! 8336 1: ! 8337 8338 /(?<A>tom|bon)-\k{A}/ 8339 tom-tom 8340 0: tom-tom 8341 1: tom 8342 bon-bon 8343 0: bon-bon 8344 1: bon 8345 ** Failers 8346 No match 8347 tom-bon 8348 No match 8349 8350 /\g{A/ 8351 Failed: syntax error in subpattern name (missing terminator) at offset 4 8352 8353 /(?|(abc)|(xyz))/BZ 8354 ------------------------------------------------------------------ 8355 Bra 8356 Bra 8357 CBra 1 8358 abc 8359 Ket 8360 Alt 8361 CBra 1 8362 xyz 8363 Ket 8364 Ket 8365 Ket 8366 End 8367 ------------------------------------------------------------------ 8368 >abc< 8369 0: abc 8370 1: abc 8371 >xyz< 8372 0: xyz 8373 1: xyz 8374 8375 /(x)(?|(abc)|(xyz))(x)/BZ 8376 ------------------------------------------------------------------ 8377 Bra 8378 CBra 1 8379 x 8380 Ket 8381 Bra 8382 CBra 2 8383 abc 8384 Ket 8385 Alt 8386 CBra 2 8387 xyz 8388 Ket 8389 Ket 8390 CBra 3 8391 x 8392 Ket 8393 Ket 8394 End 8395 ------------------------------------------------------------------ 8396 xabcx 8397 0: xabcx 8398 1: x 8399 2: abc 8400 3: x 8401 xxyzx 8402 0: xxyzx 8403 1: x 8404 2: xyz 8405 3: x 8406 8407 /(x)(?|(abc)(pqr)|(xyz))(x)/BZ 8408 ------------------------------------------------------------------ 8409 Bra 8410 CBra 1 8411 x 8412 Ket 8413 Bra 8414 CBra 2 8415 abc 8416 Ket 8417 CBra 3 8418 pqr 8419 Ket 8420 Alt 8421 CBra 2 8422 xyz 8423 Ket 8424 Ket 8425 CBra 4 8426 x 8427 Ket 8428 Ket 8429 End 8430 ------------------------------------------------------------------ 8431 xabcpqrx 8432 0: xabcpqrx 8433 1: x 8434 2: abc 8435 3: pqr 8436 4: x 8437 xxyzx 8438 0: xxyzx 8439 1: x 8440 2: xyz 8441 3: <unset> 8442 4: x 8443 8444 /\H++X/BZ 8445 ------------------------------------------------------------------ 8446 Bra 8447 \H++ 8448 X 8449 Ket 8450 End 8451 ------------------------------------------------------------------ 8452 ** Failers 8453 No match 8454 XXXX 8455 No match 8456 8457 /\H+\hY/BZ 8458 ------------------------------------------------------------------ 8459 Bra 8460 \H++ 8461 \h 8462 Y 8463 Ket 8464 End 8465 ------------------------------------------------------------------ 8466 XXXX Y 8467 0: XXXX Y 8468 8469 /\H+ Y/BZ 8470 ------------------------------------------------------------------ 8471 Bra 8472 \H++ 8473 Y 8474 Ket 8475 End 8476 ------------------------------------------------------------------ 8477 8478 /\h+A/BZ 8479 ------------------------------------------------------------------ 8480 Bra 8481 \h++ 8482 A 8483 Ket 8484 End 8485 ------------------------------------------------------------------ 8486 8487 /\v*B/BZ 8488 ------------------------------------------------------------------ 8489 Bra 8490 \v*+ 8491 B 8492 Ket 8493 End 8494 ------------------------------------------------------------------ 8495 8496 /\V+\x0a/BZ 8497 ------------------------------------------------------------------ 8498 Bra 8499 \V++ 8500 \x0a 8501 Ket 8502 End 8503 ------------------------------------------------------------------ 8504 8505 /A+\h/BZ 8506 ------------------------------------------------------------------ 8507 Bra 8508 A++ 8509 \h 8510 Ket 8511 End 8512 ------------------------------------------------------------------ 8513 8514 / *\H/BZ 8515 ------------------------------------------------------------------ 8516 Bra 8517 *+ 8518 \H 8519 Ket 8520 End 8521 ------------------------------------------------------------------ 8522 8523 /A*\v/BZ 8524 ------------------------------------------------------------------ 8525 Bra 8526 A*+ 8527 \v 8528 Ket 8529 End 8530 ------------------------------------------------------------------ 8531 8532 /\x0b*\V/BZ 8533 ------------------------------------------------------------------ 8534 Bra 8535 \x0b*+ 8536 \V 8537 Ket 8538 End 8539 ------------------------------------------------------------------ 8540 8541 /\d+\h/BZ 8542 ------------------------------------------------------------------ 8543 Bra 8544 \d++ 8545 \h 8546 Ket 8547 End 8548 ------------------------------------------------------------------ 8549 8550 /\d*\v/BZ 8551 ------------------------------------------------------------------ 8552 Bra 8553 \d*+ 8554 \v 8555 Ket 8556 End 8557 ------------------------------------------------------------------ 8558 8559 /S+\h\S+\v/BZ 8560 ------------------------------------------------------------------ 8561 Bra 8562 S++ 8563 \h 8564 \S++ 8565 \v 8566 Ket 8567 End 8568 ------------------------------------------------------------------ 8569 8570 /\w{3,}\h\w+\v/BZ 8571 ------------------------------------------------------------------ 8572 Bra 8573 \w{3} 8574 \w*+ 8575 \h 8576 \w++ 8577 \v 8578 Ket 8579 End 8580 ------------------------------------------------------------------ 8581 8582 /\h+\d\h+\w\h+\S\h+\H/BZ 8583 ------------------------------------------------------------------ 8584 Bra 8585 \h++ 8586 \d 8587 \h++ 8588 \w 8589 \h++ 8590 \S 8591 \h++ 8592 \H 8593 Ket 8594 End 8595 ------------------------------------------------------------------ 8596 8597 /\v+\d\v+\w\v+\S\v+\V/BZ 8598 ------------------------------------------------------------------ 8599 Bra 8600 \v++ 8601 \d 8602 \v++ 8603 \w 8604 \v++ 8605 \S 8606 \v++ 8607 \V 8608 Ket 8609 End 8610 ------------------------------------------------------------------ 8611 8612 /\H+\h\H+\d/BZ 8613 ------------------------------------------------------------------ 8614 Bra 8615 \H++ 8616 \h 8617 \H+ 8618 \d 8619 Ket 8620 End 8621 ------------------------------------------------------------------ 8622 8623 /\V+\v\V+\w/BZ 8624 ------------------------------------------------------------------ 8625 Bra 8626 \V++ 8627 \v 8628 \V+ 8629 \w 8630 Ket 8631 End 8632 ------------------------------------------------------------------ 8633 8634 /\( (?: [^()]* | (?R) )* \)/x 8635 \J1024(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(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) 8636 0: (0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(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) 8637 8638 /[\E]AAA/ 8639 Failed: missing terminating ] for character class at offset 7 8640 8641 /[\Q\E]AAA/ 8642 Failed: missing terminating ] for character class at offset 9 8643 8644 /[^\E]AAA/ 8645 Failed: missing terminating ] for character class at offset 8 8646 8647 /[^\Q\E]AAA/ 8648 Failed: missing terminating ] for character class at offset 10 8649 8650 /[\E^]AAA/ 8651 Failed: missing terminating ] for character class at offset 8 8652 8653 /[\Q\E^]AAA/ 8654 Failed: missing terminating ] for character class at offset 10 8655 8656 /A(*PRUNE)B(*SKIP)C(*THEN)D(*COMMIT)E(*F)F(*FAIL)G(?!)H(*ACCEPT)I/BZ 8657 ------------------------------------------------------------------ 8658 Bra 8659 A 8660 *PRUNE 8661 B 8662 *SKIP 8663 C 8664 *THEN 8665 D 8666 *COMMIT 8667 E 8668 *FAIL 8669 F 8670 *FAIL 8671 G 8672 *FAIL 8673 H 8674 *ACCEPT 8675 I 8676 Ket 8677 End 8678 ------------------------------------------------------------------ 8679 8680 /^a+(*FAIL)/C 8681 aaaaaa 8682 --->aaaaaa 8683 +0 ^ ^ 8684 +1 ^ a+ 8685 +3 ^ ^ (*FAIL) 8686 +3 ^ ^ (*FAIL) 8687 +3 ^ ^ (*FAIL) 8688 +3 ^ ^ (*FAIL) 8689 +3 ^ ^ (*FAIL) 8690 +3 ^^ (*FAIL) 8691 No match 8692 8693 /a+b?c+(*FAIL)/C 8694 aaabccc 8695 --->aaabccc 8696 +0 ^ a+ 8697 +2 ^ ^ b? 8698 +4 ^ ^ c+ 8699 +6 ^ ^ (*FAIL) 8700 +6 ^ ^ (*FAIL) 8701 +6 ^ ^ (*FAIL) 8702 +0 ^ a+ 8703 +2 ^ ^ b? 8704 +4 ^ ^ c+ 8705 +6 ^ ^ (*FAIL) 8706 +6 ^ ^ (*FAIL) 8707 +6 ^ ^ (*FAIL) 8708 +0 ^ a+ 8709 +2 ^^ b? 8710 +4 ^ ^ c+ 8711 +6 ^ ^ (*FAIL) 8712 +6 ^ ^ (*FAIL) 8713 +6 ^ ^ (*FAIL) 8714 No match 8715 8716 /a+b?(*PRUNE)c+(*FAIL)/C 8717 aaabccc 8718 --->aaabccc 8719 +0 ^ a+ 8720 +2 ^ ^ b? 8721 +4 ^ ^ (*PRUNE) 8722 +12 ^ ^ c+ 8723 +14 ^ ^ (*FAIL) 8724 +14 ^ ^ (*FAIL) 8725 +14 ^ ^ (*FAIL) 8726 +0 ^ a+ 8727 +2 ^ ^ b? 8728 +4 ^ ^ (*PRUNE) 8729 +12 ^ ^ c+ 8730 +14 ^ ^ (*FAIL) 8731 +14 ^ ^ (*FAIL) 8732 +14 ^ ^ (*FAIL) 8733 +0 ^ a+ 8734 +2 ^^ b? 8735 +4 ^ ^ (*PRUNE) 8736 +12 ^ ^ c+ 8737 +14 ^ ^ (*FAIL) 8738 +14 ^ ^ (*FAIL) 8739 +14 ^ ^ (*FAIL) 8740 No match 8741 8742 /a+b?(*COMMIT)c+(*FAIL)/C 8743 aaabccc 8744 --->aaabccc 8745 +0 ^ a+ 8746 +2 ^ ^ b? 8747 +4 ^ ^ (*COMMIT) 8748 +13 ^ ^ c+ 8749 +15 ^ ^ (*FAIL) 8750 +15 ^ ^ (*FAIL) 8751 +15 ^ ^ (*FAIL) 8752 No match 8753 8754 /a+b?(*SKIP)c+(*FAIL)/C 8755 aaabcccaaabccc 8756 --->aaabcccaaabccc 8757 +0 ^ a+ 8758 +2 ^ ^ b? 8759 +4 ^ ^ (*SKIP) 8760 +11 ^ ^ c+ 8761 +13 ^ ^ (*FAIL) 8762 +13 ^ ^ (*FAIL) 8763 +13 ^ ^ (*FAIL) 8764 +0 ^ a+ 8765 +2 ^ ^ b? 8766 +4 ^ ^ (*SKIP) 8767 +11 ^ ^ c+ 8768 +13 ^ ^ (*FAIL) 8769 +13 ^ ^ (*FAIL) 8770 +13 ^ ^ (*FAIL) 8771 No match 8772 8773 /a+b?(*THEN)c+(*FAIL)/C 8774 aaabccc 8775 --->aaabccc 8776 +0 ^ a+ 8777 +2 ^ ^ b? 8778 +4 ^ ^ (*THEN) 8779 +11 ^ ^ c+ 8780 +13 ^ ^ (*FAIL) 8781 +13 ^ ^ (*FAIL) 8782 +13 ^ ^ (*FAIL) 8783 +0 ^ a+ 8784 +2 ^ ^ b? 8785 +4 ^ ^ (*THEN) 8786 +11 ^ ^ c+ 8787 +13 ^ ^ (*FAIL) 8788 +13 ^ ^ (*FAIL) 8789 +13 ^ ^ (*FAIL) 8790 +0 ^ a+ 8791 +2 ^^ b? 8792 +4 ^ ^ (*THEN) 8793 +11 ^ ^ c+ 8794 +13 ^ ^ (*FAIL) 8795 +13 ^ ^ (*FAIL) 8796 +13 ^ ^ (*FAIL) 8797 No match 8798 8799 /a(*MARK)b/ 8800 Failed: (*MARK) must have an argument at offset 7 8801 8802 /(?i:A{1,}\6666666666)/ 8803 Failed: number is too big at offset 19 8804 8805 /\g6666666666/ 8806 Failed: number is too big at offset 11 8807 8808 /[\g6666666666]/BZ 8809 ------------------------------------------------------------------ 8810 Bra 8811 [6g] 8812 Ket 8813 End 8814 ------------------------------------------------------------------ 8815 8816 /(?1)\c[/ 8817 Failed: reference to non-existent subpattern at offset 3 8818 8819 /.+A/<crlf> 8820 \r\nA 8821 No match 8822 8823 /\nA/<crlf> 8824 \r\nA 8825 0: \x0aA 8826 8827 /[\r\n]A/<crlf> 8828 \r\nA 8829 0: \x0aA 8830 8831 /(\r|\n)A/<crlf> 8832 \r\nA 8833 0: \x0aA 8834 1: \x0a 8835 8836 /a(*CR)b/ 8837 Failed: (*VERB) not recognized or malformed at offset 5 8838 8839 /(*CR)a.b/ 8840 a\nb 8841 0: a\x0ab 8842 ** Failers 8843 No match 8844 a\rb 8845 No match 8846 8847 /(*CR)a.b/<lf> 8848 a\nb 8849 0: a\x0ab 8850 ** Failers 8851 No match 8852 a\rb 8853 No match 8854 8855 /(*LF)a.b/<CRLF> 8856 a\rb 8857 0: a\x0db 8858 ** Failers 8859 No match 8860 a\nb 8861 No match 8862 8863 /(*CRLF)a.b/ 8864 a\rb 8865 0: a\x0db 8866 a\nb 8867 0: a\x0ab 8868 ** Failers 8869 No match 8870 a\r\nb 8871 No match 8872 8873 /(*ANYCRLF)a.b/<CR> 8874 ** Failers 8875 No match 8876 a\rb 8877 No match 8878 a\nb 8879 No match 8880 a\r\nb 8881 No match 8882 8883 /(*ANY)a.b/<cr> 8884 ** Failers 8885 No match 8886 a\rb 8887 No match 8888 a\nb 8889 No match 8890 a\r\nb 8891 No match 8892 a\x85b 8893 No match 8894 8895 /(*ANY).*/g 8896 abc\r\ndef 8897 0: abc 8898 0: 8899 0: def 8900 0: 8901 8902 /(*ANYCRLF).*/g 8903 abc\r\ndef 8904 0: abc 8905 0: 8906 0: def 8907 0: 8908 8909 /(*CRLF).*/g 8910 abc\r\ndef 8911 0: abc 8912 0: 8913 0: def 8914 0: 8915 8916 /a\Rb/I<bsr_anycrlf> 8917 Capturing subpattern count = 0 8918 Options: bsr_anycrlf 8919 First char = 'a' 8920 Need char = 'b' 8921 a\rb 8922 0: a\x0db 8923 a\nb 8924 0: a\x0ab 8925 a\r\nb 8926 0: a\x0d\x0ab 8927 ** Failers 8928 No match 8929 a\x85b 8930 No match 8931 a\x0bb 8932 No match 8933 8934 /a\Rb/I<bsr_unicode> 8935 Capturing subpattern count = 0 8936 Options: bsr_unicode 8937 First char = 'a' 8938 Need char = 'b' 8939 a\rb 8940 0: a\x0db 8941 a\nb 8942 0: a\x0ab 8943 a\r\nb 8944 0: a\x0d\x0ab 8945 a\x85b 8946 0: a\x85b 8947 a\x0bb 8948 0: a\x0bb 8949 ** Failers 8950 No match 8951 a\x85b\<bsr_anycrlf> 8952 No match 8953 a\x0bb\<bsr_anycrlf> 8954 No match 8955 8956 /a\R?b/I<bsr_anycrlf> 8957 Capturing subpattern count = 0 8958 Options: bsr_anycrlf 8959 First char = 'a' 8960 Need char = 'b' 8961 a\rb 8962 0: a\x0db 8963 a\nb 8964 0: a\x0ab 8965 a\r\nb 8966 0: a\x0d\x0ab 8967 ** Failers 8968 No match 8969 a\x85b 8970 No match 8971 a\x0bb 8972 No match 8973 8974 /a\R?b/I<bsr_unicode> 8975 Capturing subpattern count = 0 8976 Options: bsr_unicode 8977 First char = 'a' 8978 Need char = 'b' 8979 a\rb 8980 0: a\x0db 8981 a\nb 8982 0: a\x0ab 8983 a\r\nb 8984 0: a\x0d\x0ab 8985 a\x85b 8986 0: a\x85b 8987 a\x0bb 8988 0: a\x0bb 8989 ** Failers 8990 No match 8991 a\x85b\<bsr_anycrlf> 8992 No match 8993 a\x0bb\<bsr_anycrlf> 8994 No match 8995 8996 /a\R{2,4}b/I<bsr_anycrlf> 8997 Capturing subpattern count = 0 8998 Options: bsr_anycrlf 8999 First char = 'a' 9000 Need char = 'b' 9001 a\r\n\nb 9002 0: a\x0d\x0a\x0ab 9003 a\n\r\rb 9004 0: a\x0a\x0d\x0db 9005 a\r\n\r\n\r\n\r\nb 9006 0: a\x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0ab 9007 ** Failers 9008 No match 9009 a\x85\85b 9010 No match 9011 a\x0b\0bb 9012 No match 9013 9014 /a\R{2,4}b/I<bsr_unicode> 9015 Capturing subpattern count = 0 9016 Options: bsr_unicode 9017 First char = 'a' 9018 Need char = 'b' 9019 a\r\rb 9020 0: a\x0d\x0db 9021 a\n\n\nb 9022 0: a\x0a\x0a\x0ab 9023 a\r\n\n\r\rb 9024 0: a\x0d\x0a\x0a\x0d\x0db 9025 a\x85\85b 9026 No match 9027 a\x0b\0bb 9028 No match 9029 ** Failers 9030 No match 9031 a\r\r\r\r\rb 9032 No match 9033 a\x85\85b\<bsr_anycrlf> 9034 No match 9035 a\x0b\0bb\<bsr_anycrlf> 9036 No match 9037 9038 /(*BSR_ANYCRLF)a\Rb/I 9039 Capturing subpattern count = 0 9040 Options: bsr_anycrlf 9041 First char = 'a' 9042 Need char = 'b' 9043 a\nb 9044 0: a\x0ab 9045 a\rb 9046 0: a\x0db 9047 9048 /(*BSR_UNICODE)a\Rb/I 9049 Capturing subpattern count = 0 9050 Options: bsr_unicode 9051 First char = 'a' 9052 Need char = 'b' 9053 a\x85b 9054 0: a\x85b 9055 9056 /(*BSR_ANYCRLF)(*CRLF)a\Rb/I 9057 Capturing subpattern count = 0 9058 Options: bsr_anycrlf 9059 Forced newline sequence: CRLF 9060 First char = 'a' 9061 Need char = 'b' 9062 a\nb 9063 0: a\x0ab 9064 a\rb 9065 0: a\x0db 9066 9067 /(*CRLF)(*BSR_UNICODE)a\Rb/I 9068 Capturing subpattern count = 0 9069 Options: bsr_unicode 9070 Forced newline sequence: CRLF 9071 First char = 'a' 9072 Need char = 'b' 9073 a\x85b 9074 0: a\x85b 9075 9076 /(*CRLF)(*BSR_ANYCRLF)(*CR)ab/I 9077 Capturing subpattern count = 0 9078 Options: bsr_anycrlf 9079 Forced newline sequence: CR 9080 First char = 'a' 9081 Need char = 'b' 9082 9083 /(?<a>)(?&)/ 9084 Failed: subpattern name expected at offset 9 9085 9086 /(?<abc>)(?&a)/ 9087 Failed: reference to non-existent subpattern at offset 12 9088 9089 /(?<a>)(?&aaaaaaaaaaaaaaaaaaaaaaa)/ 9090 Failed: reference to non-existent subpattern at offset 32 9091 9092 /(?+-a)/ 9093 Failed: digit expected after (?+ at offset 3 9094 9095 /(?-+a)/ 9096 Failed: unrecognized character after (? or (?- at offset 3 9097 9098 /(?(-1))/ 9099 Failed: reference to non-existent subpattern at offset 6 9100 9101 /(?(+10))/ 9102 Failed: reference to non-existent subpattern at offset 7 9103 9104 /(?(10))/ 9105 Failed: reference to non-existent subpattern at offset 6 9106 9107 /(?(+2))()()/ 9108 9109 /(?(2))()()/ 9110 9111 /\k''/ 9112 Failed: subpattern name expected at offset 3 9113 9114 /\k<>/ 9115 Failed: subpattern name expected at offset 3 9116 9117 /\k{}/ 9118 Failed: subpattern name expected at offset 3 9119 9120 /\k/ 9121 Failed: \k is not followed by a braced, angle-bracketed, or quoted name at offset 2 9122 9123 /\kabc/ 9124 Failed: \k is not followed by a braced, angle-bracketed, or quoted name at offset 5 9125 9126 /(?P=)/ 9127 Failed: subpattern name expected at offset 4 9128 9129 /(?P>)/ 9130 Failed: subpattern name expected at offset 4 9131 9132 /(?!\w)(?R)/ 9133 Failed: recursive call could loop indefinitely at offset 9 9134 9135 /(?=\w)(?R)/ 9136 Failed: recursive call could loop indefinitely at offset 9 9137 9138 /(?<!\w)(?R)/ 9139 Failed: recursive call could loop indefinitely at offset 10 9140 9141 /(?<=\w)(?R)/ 9142 Failed: recursive call could loop indefinitely at offset 10 9143 9144 /[[:foo:]]/ 9145 Failed: unknown POSIX class name at offset 3 9146 9147 /[[:1234:]]/ 9148 Failed: unknown POSIX class name at offset 3 9149 9150 /[[:f\oo:]]/ 9151 Failed: unknown POSIX class name at offset 3 9152 9153 /[[: :]]/ 9154 Failed: unknown POSIX class name at offset 3 9155 9156 /[[:...:]]/ 9157 Failed: unknown POSIX class name at offset 3 9158 9159 /[[:l\ower:]]/ 9160 Failed: unknown POSIX class name at offset 3 9161 9162 /[[:abc\:]]/ 9163 Failed: unknown POSIX class name at offset 3 9164 9165 /[abc[:x\]pqr:]]/ 9166 Failed: unknown POSIX class name at offset 6 9167 9168 /[[:a\dz:]]/ 9169 Failed: unknown POSIX class name at offset 3 9170 9171 /(^(a|b\g<-1'c))/ 9172 Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 15 9173 9174 /^(?+1)(?<a>x|y){0}z/ 9175 xzxx 9176 0: xz 9177 yzyy 9178 0: yz 9179 ** Failers 9180 No match 9181 xxz 9182 No match 9183 9184 /(\3)(\1)(a)/ 9185 cat 9186 No match 9187 9188 /(\3)(\1)(a)/<JS> 9189 cat 9190 0: a 9191 1: 9192 2: 9193 3: a 9194 9195 /TA]/ 9196 The ACTA] comes 9197 0: TA] 9198 9199 /TA]/<JS> 9200 Failed: ] is an invalid data character in JavaScript compatibility mode at offset 2 9201 9202 /(?2)[]a()b](abc)/ 9203 Failed: reference to non-existent subpattern at offset 3 9204 9205 /(?2)[^]a()b](abc)/ 9206 Failed: reference to non-existent subpattern at offset 3 9207 9208 /(?1)[]a()b](abc)/ 9209 abcbabc 9210 0: abcbabc 9211 1: abc 9212 ** Failers 9213 No match 9214 abcXabc 9215 No match 9216 9217 /(?1)[^]a()b](abc)/ 9218 abcXabc 9219 0: abcXabc 9220 1: abc 9221 ** Failers 9222 No match 9223 abcbabc 9224 No match 9225 9226 /(?2)[]a()b](abc)(xyz)/ 9227 xyzbabcxyz 9228 0: xyzbabcxyz 9229 1: abc 9230 2: xyz 9231 9232 /(?&N)[]a(?<N>)](?<M>abc)/ 9233 Failed: reference to non-existent subpattern at offset 4 9234 9235 /(?&N)[]a(?<N>)](abc)/ 9236 Failed: reference to non-existent subpattern at offset 4 9237 9238 /a[]b/ 9239 Failed: missing terminating ] for character class at offset 4 9240 9241 /a[^]b/ 9242 Failed: missing terminating ] for character class at offset 5 9243 9244 /a[]b/<JS> 9245 ** Failers 9246 No match 9247 ab 9248 No match 9249 9250 /a[]+b/<JS> 9251 ** Failers 9252 No match 9253 ab 9254 No match 9255 9256 /a[]*+b/<JS> 9257 ** Failers 9258 No match 9259 ab 9260 No match 9261 9262 /a[^]b/<JS> 9263 aXb 9264 0: aXb 9265 a\nb 9266 0: a\x0ab 9267 ** Failers 9268 No match 9269 ab 9270 No match 9271 9272 /a[^]+b/<JS> 9273 aXb 9274 0: aXb 9275 a\nX\nXb 9276 0: a\x0aX\x0aXb 9277 ** Failers 9278 No match 9279 ab 9280 No match 9281 9282 /a(?!)b/BZ 9283 ------------------------------------------------------------------ 9284 Bra 9285 a 9286 *FAIL 9287 b 9288 Ket 9289 End 9290 ------------------------------------------------------------------ 9291 9292 /(?!)?a/BZ 9293 ------------------------------------------------------------------ 9294 Bra 9295 Brazero 9296 Assert not 9297 Ket 9298 a 9299 Ket 9300 End 9301 ------------------------------------------------------------------ 9302 ab 9303 0: a 9304 9305 /a(*FAIL)+b/ 9306 Failed: nothing to repeat at offset 8 9307 9308 /(abc|pqr|123){0}[xyz]/SI 9309 Capturing subpattern count = 1 9310 No options 9311 No first char 9312 No need char 9313 Subject length lower bound = 1 9314 Starting chars: x y z 9315 9316 /(?(?=.*b)b|^)/CI 9317 Capturing subpattern count = 0 9318 May match empty string 9319 Options: 9320 No first char 9321 No need char 9322 adc 9323 --->adc 9324 +0 ^ (?(?=.*b)b|^) 9325 +2 ^ (?=.*b) 9326 +5 ^ .* 9327 +7 ^ ^ b 9328 +7 ^ ^ b 9329 +7 ^^ b 9330 +7 ^ b 9331 +11 ^ ^ 9332 +12 ^ ) 9333 +13 ^ 9334 0: 9335 abc 9336 --->abc 9337 +0 ^ (?(?=.*b)b|^) 9338 +2 ^ (?=.*b) 9339 +5 ^ .* 9340 +7 ^ ^ b 9341 +7 ^ ^ b 9342 +7 ^^ b 9343 +8 ^ ^ ) 9344 +9 ^ b 9345 +0 ^ (?(?=.*b)b|^) 9346 +2 ^ (?=.*b) 9347 +5 ^ .* 9348 +7 ^ ^ b 9349 +7 ^^ b 9350 +7 ^ b 9351 +8 ^^ ) 9352 +9 ^ b 9353 +10 ^^ | 9354 +13 ^^ 9355 0: b 9356 9357 /(?(?=b).*b|^d)/I 9358 Capturing subpattern count = 0 9359 No options 9360 No first char 9361 No need char 9362 9363 /(?(?=.*b).*b|^d)/I 9364 Capturing subpattern count = 0 9365 No options 9366 First char at start or follows newline 9367 No need char 9368 9369 /xyz/C 9370 xyz 9371 --->xyz 9372 +0 ^ x 9373 +1 ^^ y 9374 +2 ^ ^ z 9375 +3 ^ ^ 9376 0: xyz 9377 abcxyz 9378 --->abcxyz 9379 +0 ^ x 9380 +1 ^^ y 9381 +2 ^ ^ z 9382 +3 ^ ^ 9383 0: xyz 9384 abcxyz\Y 9385 --->abcxyz 9386 +0 ^ x 9387 +0 ^ x 9388 +0 ^ x 9389 +0 ^ x 9390 +1 ^^ y 9391 +2 ^ ^ z 9392 +3 ^ ^ 9393 0: xyz 9394 ** Failers 9395 No match 9396 abc 9397 No match 9398 abc\Y 9399 --->abc 9400 +0 ^ x 9401 +0 ^ x 9402 +0 ^ x 9403 +0 ^ x 9404 No match 9405 abcxypqr 9406 No match 9407 abcxypqr\Y 9408 --->abcxypqr 9409 +0 ^ x 9410 +0 ^ x 9411 +0 ^ x 9412 +0 ^ x 9413 +1 ^^ y 9414 +2 ^ ^ z 9415 +0 ^ x 9416 +0 ^ x 9417 +0 ^ x 9418 +0 ^ x 9419 +0 ^ x 9420 No match 9421 9422 /(*NO_START_OPT)xyz/C 9423 abcxyz 9424 --->abcxyz 9425 +15 ^ x 9426 +15 ^ x 9427 +15 ^ x 9428 +15 ^ x 9429 +16 ^^ y 9430 +17 ^ ^ z 9431 +18 ^ ^ 9432 0: xyz 9433 9434 /(*NO_AUTO_POSSESS)a+b/BZ 9435 ------------------------------------------------------------------ 9436 Bra 9437 a+ 9438 b 9439 Ket 9440 End 9441 ------------------------------------------------------------------ 9442 9443 /xyz/CY 9444 abcxyz 9445 --->abcxyz 9446 +0 ^ x 9447 +0 ^ x 9448 +0 ^ x 9449 +0 ^ x 9450 +1 ^^ y 9451 +2 ^ ^ z 9452 +3 ^ ^ 9453 0: xyz 9454 9455 /^"((?(?=[a])[^"])|b)*"$/C 9456 "ab" 9457 --->"ab" 9458 +0 ^ ^ 9459 +1 ^ " 9460 +2 ^^ ((?(?=[a])[^"])|b)* 9461 +3 ^^ (?(?=[a])[^"]) 9462 +5 ^^ (?=[a]) 9463 +8 ^^ [a] 9464 +11 ^ ^ ) 9465 +12 ^^ [^"] 9466 +16 ^ ^ ) 9467 +17 ^ ^ | 9468 +3 ^ ^ (?(?=[a])[^"]) 9469 +5 ^ ^ (?=[a]) 9470 +8 ^ ^ [a] 9471 +17 ^ ^ | 9472 +21 ^ ^ " 9473 +18 ^ ^ b 9474 +19 ^ ^ ) 9475 +3 ^ ^ (?(?=[a])[^"]) 9476 +5 ^ ^ (?=[a]) 9477 +8 ^ ^ [a] 9478 +17 ^ ^ | 9479 +21 ^ ^ " 9480 +22 ^ ^ $ 9481 +23 ^ ^ 9482 0: "ab" 9483 1: 9484 9485 /^"((?(?=[a])[^"])|b)*"$/ 9486 "ab" 9487 0: "ab" 9488 1: 9489 9490 /^X(?5)(a)(?|(b)|(q))(c)(d)Y/ 9491 Failed: reference to non-existent subpattern at offset 5 9492 9493 /^X(?&N)(a)(?|(b)|(q))(c)(d)(?<N>Y)/ 9494 XYabcdY 9495 0: XYabcdY 9496 1: a 9497 2: b 9498 3: c 9499 4: d 9500 5: Y 9501 9502 /Xa{2,4}b/ 9503 X\P 9504 Partial match: X 9505 Xa\P 9506 Partial match: Xa 9507 Xaa\P 9508 Partial match: Xaa 9509 Xaaa\P 9510 Partial match: Xaaa 9511 Xaaaa\P 9512 Partial match: Xaaaa 9513 9514 /Xa{2,4}?b/ 9515 X\P 9516 Partial match: X 9517 Xa\P 9518 Partial match: Xa 9519 Xaa\P 9520 Partial match: Xaa 9521 Xaaa\P 9522 Partial match: Xaaa 9523 Xaaaa\P 9524 Partial match: Xaaaa 9525 9526 /Xa{2,4}+b/ 9527 X\P 9528 Partial match: X 9529 Xa\P 9530 Partial match: Xa 9531 Xaa\P 9532 Partial match: Xaa 9533 Xaaa\P 9534 Partial match: Xaaa 9535 Xaaaa\P 9536 Partial match: Xaaaa 9537 9538 /X\d{2,4}b/ 9539 X\P 9540 Partial match: X 9541 X3\P 9542 Partial match: X3 9543 X33\P 9544 Partial match: X33 9545 X333\P 9546 Partial match: X333 9547 X3333\P 9548 Partial match: X3333 9549 9550 /X\d{2,4}?b/ 9551 X\P 9552 Partial match: X 9553 X3\P 9554 Partial match: X3 9555 X33\P 9556 Partial match: X33 9557 X333\P 9558 Partial match: X333 9559 X3333\P 9560 Partial match: X3333 9561 9562 /X\d{2,4}+b/ 9563 X\P 9564 Partial match: X 9565 X3\P 9566 Partial match: X3 9567 X33\P 9568 Partial match: X33 9569 X333\P 9570 Partial match: X333 9571 X3333\P 9572 Partial match: X3333 9573 9574 /X\D{2,4}b/ 9575 X\P 9576 Partial match: X 9577 Xa\P 9578 Partial match: Xa 9579 Xaa\P 9580 Partial match: Xaa 9581 Xaaa\P 9582 Partial match: Xaaa 9583 Xaaaa\P 9584 Partial match: Xaaaa 9585 9586 /X\D{2,4}?b/ 9587 X\P 9588 Partial match: X 9589 Xa\P 9590 Partial match: Xa 9591 Xaa\P 9592 Partial match: Xaa 9593 Xaaa\P 9594 Partial match: Xaaa 9595 Xaaaa\P 9596 Partial match: Xaaaa 9597 9598 /X\D{2,4}+b/ 9599 X\P 9600 Partial match: X 9601 Xa\P 9602 Partial match: Xa 9603 Xaa\P 9604 Partial match: Xaa 9605 Xaaa\P 9606 Partial match: Xaaa 9607 Xaaaa\P 9608 Partial match: Xaaaa 9609 9610 /X[abc]{2,4}b/ 9611 X\P 9612 Partial match: X 9613 Xa\P 9614 Partial match: Xa 9615 Xaa\P 9616 Partial match: Xaa 9617 Xaaa\P 9618 Partial match: Xaaa 9619 Xaaaa\P 9620 Partial match: Xaaaa 9621 9622 /X[abc]{2,4}?b/ 9623 X\P 9624 Partial match: X 9625 Xa\P 9626 Partial match: Xa 9627 Xaa\P 9628 Partial match: Xaa 9629 Xaaa\P 9630 Partial match: Xaaa 9631 Xaaaa\P 9632 Partial match: Xaaaa 9633 9634 /X[abc]{2,4}+b/ 9635 X\P 9636 Partial match: X 9637 Xa\P 9638 Partial match: Xa 9639 Xaa\P 9640 Partial match: Xaa 9641 Xaaa\P 9642 Partial match: Xaaa 9643 Xaaaa\P 9644 Partial match: Xaaaa 9645 9646 /X[^a]{2,4}b/ 9647 X\P 9648 Partial match: X 9649 Xz\P 9650 Partial match: Xz 9651 Xzz\P 9652 Partial match: Xzz 9653 Xzzz\P 9654 Partial match: Xzzz 9655 Xzzzz\P 9656 Partial match: Xzzzz 9657 9658 /X[^a]{2,4}?b/ 9659 X\P 9660 Partial match: X 9661 Xz\P 9662 Partial match: Xz 9663 Xzz\P 9664 Partial match: Xzz 9665 Xzzz\P 9666 Partial match: Xzzz 9667 Xzzzz\P 9668 Partial match: Xzzzz 9669 9670 /X[^a]{2,4}+b/ 9671 X\P 9672 Partial match: X 9673 Xz\P 9674 Partial match: Xz 9675 Xzz\P 9676 Partial match: Xzz 9677 Xzzz\P 9678 Partial match: Xzzz 9679 Xzzzz\P 9680 Partial match: Xzzzz 9681 9682 /(Y)X\1{2,4}b/ 9683 YX\P 9684 Partial match: YX 9685 YXY\P 9686 Partial match: YXY 9687 YXYY\P 9688 Partial match: YXYY 9689 YXYYY\P 9690 Partial match: YXYYY 9691 YXYYYY\P 9692 Partial match: YXYYYY 9693 9694 /(Y)X\1{2,4}?b/ 9695 YX\P 9696 Partial match: YX 9697 YXY\P 9698 Partial match: YXY 9699 YXYY\P 9700 Partial match: YXYY 9701 YXYYY\P 9702 Partial match: YXYYY 9703 YXYYYY\P 9704 Partial match: YXYYYY 9705 9706 /(Y)X\1{2,4}+b/ 9707 YX\P 9708 Partial match: YX 9709 YXY\P 9710 Partial match: YXY 9711 YXYY\P 9712 Partial match: YXYY 9713 YXYYY\P 9714 Partial match: YXYYY 9715 YXYYYY\P 9716 Partial match: YXYYYY 9717 9718 /\++\KZ|\d+X|9+Y/ 9719 ++++123999\P 9720 Partial match: 123999 9721 ++++123999Y\P 9722 0: 999Y 9723 ++++Z1234\P 9724 0: Z 9725 9726 /Z(*F)/ 9727 Z\P 9728 No match 9729 ZA\P 9730 No match 9731 9732 /Z(?!)/ 9733 Z\P 9734 No match 9735 ZA\P 9736 No match 9737 9738 /dog(sbody)?/ 9739 dogs\P 9740 0: dog 9741 dogs\P\P 9742 Partial match: dogs 9743 9744 /dog(sbody)??/ 9745 dogs\P 9746 0: dog 9747 dogs\P\P 9748 0: dog 9749 9750 /dog|dogsbody/ 9751 dogs\P 9752 0: dog 9753 dogs\P\P 9754 0: dog 9755 9756 /dogsbody|dog/ 9757 dogs\P 9758 0: dog 9759 dogs\P\P 9760 Partial match: dogs 9761 9762 /\bthe cat\b/ 9763 the cat\P 9764 0: the cat 9765 the cat\P\P 9766 Partial match: the cat 9767 9768 /abc/ 9769 abc\P 9770 0: abc 9771 abc\P\P 9772 0: abc 9773 9774 /abc\K123/ 9775 xyzabc123pqr 9776 0: 123 9777 xyzabc12\P 9778 Partial match: abc12 9779 xyzabc12\P\P 9780 Partial match: abc12 9781 9782 /(?<=abc)123/ 9783 xyzabc123pqr 9784 0: 123 9785 xyzabc12\P 9786 Partial match at offset 6: abc12 9787 xyzabc12\P\P 9788 Partial match at offset 6: abc12 9789 9790 /\babc\b/ 9791 +++abc+++ 9792 0: abc 9793 +++ab\P 9794 Partial match at offset 3: +ab 9795 +++ab\P\P 9796 Partial match at offset 3: +ab 9797 9798 /(?&word)(?&element)(?(DEFINE)(?<element><[^m][^>]>[^<])(?<word>\w*+))/BZ 9799 ------------------------------------------------------------------ 9800 Bra 9801 Recurse 9802 Recurse 9803 Cond 9804 Cond def 9805 CBra 1 9806 < 9807 [^m] 9808 [^>] 9809 > 9810 [^<] 9811 Ket 9812 CBra 2 9813 \w*+ 9814 Ket 9815 Ket 9816 Ket 9817 End 9818 ------------------------------------------------------------------ 9819 9820 /(?&word)(?&element)(?(DEFINE)(?<element><[^\d][^>]>[^<])(?<word>\w*+))/BZ 9821 ------------------------------------------------------------------ 9822 Bra 9823 Recurse 9824 Recurse 9825 Cond 9826 Cond def 9827 CBra 1 9828 < 9829 [\x00-/:-\xff] (neg) 9830 [^>] 9831 > 9832 [^<] 9833 Ket 9834 CBra 2 9835 \w*+ 9836 Ket 9837 Ket 9838 Ket 9839 End 9840 ------------------------------------------------------------------ 9841 9842 /(ab)(x(y)z(cd(*ACCEPT)))pq/BZ 9843 ------------------------------------------------------------------ 9844 Bra 9845 CBra 1 9846 ab 9847 Ket 9848 CBra 2 9849 x 9850 CBra 3 9851 y 9852 Ket 9853 z 9854 CBra 4 9855 cd 9856 Close 4 9857 Close 2 9858 *ACCEPT 9859 Ket 9860 Ket 9861 pq 9862 Ket 9863 End 9864 ------------------------------------------------------------------ 9865 9866 /abc\K/+ 9867 abcdef 9868 0: 9869 0+ def 9870 abcdef\N\N 9871 0: 9872 0+ def 9873 xyzabcdef\N\N 9874 0: 9875 0+ def 9876 ** Failers 9877 No match 9878 abcdef\N 9879 No match 9880 xyzabcdef\N 9881 No match 9882 9883 /^(?:(?=abc)|abc\K)/+ 9884 abcdef 9885 0: 9886 0+ abcdef 9887 abcdef\N\N 9888 0: 9889 0+ def 9890 ** Failers 9891 No match 9892 abcdef\N 9893 No match 9894 9895 /a?b?/+ 9896 xyz 9897 0: 9898 0+ xyz 9899 xyzabc 9900 0: 9901 0+ xyzabc 9902 xyzabc\N 9903 0: ab 9904 0+ c 9905 xyzabc\N\N 9906 0: 9907 0+ yzabc 9908 xyz\N\N 9909 0: 9910 0+ yz 9911 ** Failers 9912 0: 9913 0+ ** Failers 9914 xyz\N 9915 No match 9916 9917 /^a?b?/+ 9918 xyz 9919 0: 9920 0+ xyz 9921 xyzabc 9922 0: 9923 0+ xyzabc 9924 ** Failers 9925 0: 9926 0+ ** Failers 9927 xyzabc\N 9928 No match 9929 xyzabc\N\N 9930 No match 9931 xyz\N\N 9932 No match 9933 xyz\N 9934 No match 9935 9936 /^(?<name>a|b\g<name>c)/ 9937 aaaa 9938 0: a 9939 1: a 9940 bacxxx 9941 0: bac 9942 1: bac 9943 bbaccxxx 9944 0: bbacc 9945 1: bbacc 9946 bbbacccxx 9947 0: bbbaccc 9948 1: bbbaccc 9949 9950 /^(?<name>a|b\g'name'c)/ 9951 aaaa 9952 0: a 9953 1: a 9954 bacxxx 9955 0: bac 9956 1: bac 9957 bbaccxxx 9958 0: bbacc 9959 1: bbacc 9960 bbbacccxx 9961 0: bbbaccc 9962 1: bbbaccc 9963 9964 /^(a|b\g<1>c)/ 9965 aaaa 9966 0: a 9967 1: a 9968 bacxxx 9969 0: bac 9970 1: bac 9971 bbaccxxx 9972 0: bbacc 9973 1: bbacc 9974 bbbacccxx 9975 0: bbbaccc 9976 1: bbbaccc 9977 9978 /^(a|b\g'1'c)/ 9979 aaaa 9980 0: a 9981 1: a 9982 bacxxx 9983 0: bac 9984 1: bac 9985 bbaccxxx 9986 0: bbacc 9987 1: bbacc 9988 bbbacccxx 9989 0: bbbaccc 9990 1: bbbaccc 9991 9992 /^(a|b\g'-1'c)/ 9993 aaaa 9994 0: a 9995 1: a 9996 bacxxx 9997 0: bac 9998 1: bac 9999 bbaccxxx 10000 0: bbacc 10001 1: bbacc 10002 bbbacccxx 10003 0: bbbaccc 10004 1: bbbaccc 10005 10006 /(^(a|b\g<-1>c))/ 10007 aaaa 10008 0: a 10009 1: a 10010 2: a 10011 bacxxx 10012 0: bac 10013 1: bac 10014 2: bac 10015 bbaccxxx 10016 0: bbacc 10017 1: bbacc 10018 2: bbacc 10019 bbbacccxx 10020 0: bbbaccc 10021 1: bbbaccc 10022 2: bbbaccc 10023 10024 /(?-i:\g<name>)(?i:(?<name>a))/ 10025 XaaX 10026 0: aa 10027 1: a 10028 XAAX 10029 0: AA 10030 1: A 10031 10032 /(?i:\g<name>)(?-i:(?<name>a))/ 10033 XaaX 10034 0: aa 10035 1: a 10036 ** Failers 10037 No match 10038 XAAX 10039 No match 10040 10041 /(?-i:\g<+1>)(?i:(a))/ 10042 XaaX 10043 0: aa 10044 1: a 10045 XAAX 10046 0: AA 10047 1: A 10048 10049 /(?=(?<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>\})\}))\{/ 10050 10051 /(?<n>a|b|c)\g<n>*/ 10052 abc 10053 0: abc 10054 1: a 10055 accccbbb 10056 0: accccbbb 10057 1: a 10058 10059 /^X(?7)(a)(?|(b)|(q)(r)(s))(c)(d)(Y)/ 10060 XYabcdY 10061 0: XYabcdY 10062 1: a 10063 2: b 10064 3: <unset> 10065 4: <unset> 10066 5: c 10067 6: d 10068 7: Y 10069 10070 /(?<=b(?1)|zzz)(a)/ 10071 xbaax 10072 0: a 10073 1: a 10074 xzzzax 10075 0: a 10076 1: a 10077 10078 /(a)(?<=b\1)/ 10079 Failed: lookbehind assertion is not fixed length at offset 10 10080 10081 /(a)(?<=b+(?1))/ 10082 Failed: lookbehind assertion is not fixed length at offset 13 10083 10084 /(a+)(?<=b(?1))/ 10085 Failed: lookbehind assertion is not fixed length at offset 14 10086 10087 /(a(?<=b(?1)))/ 10088 Failed: lookbehind assertion is not fixed length at offset 13 10089 10090 /(?<=b(?1))xyz/ 10091 Failed: reference to non-existent subpattern at offset 8 10092 10093 /(?<=b(?1))xyz(b+)pqrstuvew/ 10094 Failed: lookbehind assertion is not fixed length at offset 26 10095 10096 /(a|bc)\1/SI 10097 Capturing subpattern count = 1 10098 Max back reference = 1 10099 No options 10100 No first char 10101 No need char 10102 Subject length lower bound = 2 10103 Starting chars: a b 10104 10105 /(a|bc)\1{2,3}/SI 10106 Capturing subpattern count = 1 10107 Max back reference = 1 10108 No options 10109 No first char 10110 No need char 10111 Subject length lower bound = 3 10112 Starting chars: a b 10113 10114 /(a|bc)(?1)/SI 10115 Capturing subpattern count = 1 10116 No options 10117 No first char 10118 No need char 10119 Subject length lower bound = 2 10120 Starting chars: a b 10121 10122 /(a|b\1)(a|b\1)/SI 10123 Capturing subpattern count = 2 10124 Max back reference = 1 10125 No options 10126 No first char 10127 No need char 10128 Subject length lower bound = 2 10129 Starting chars: a b 10130 10131 /(a|b\1){2}/SI 10132 Capturing subpattern count = 1 10133 Max back reference = 1 10134 No options 10135 No first char 10136 No need char 10137 Subject length lower bound = 2 10138 Starting chars: a b 10139 10140 /(a|bbbb\1)(a|bbbb\1)/SI 10141 Capturing subpattern count = 2 10142 Max back reference = 1 10143 No options 10144 No first char 10145 No need char 10146 Subject length lower bound = 2 10147 Starting chars: a b 10148 10149 /(a|bbbb\1){2}/SI 10150 Capturing subpattern count = 1 10151 Max back reference = 1 10152 No options 10153 No first char 10154 No need char 10155 Subject length lower bound = 2 10156 Starting chars: a b 10157 10158 /^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]/SI 10159 Capturing subpattern count = 1 10160 Options: anchored 10161 No first char 10162 Need char = ':' 10163 Subject length lower bound = 22 10164 No starting char list 10165 10166 /<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>/isIS 10167 Capturing subpattern count = 11 10168 Options: caseless dotall 10169 First char = '<' 10170 Need char = '>' 10171 Subject length lower bound = 47 10172 No starting char list 10173 10174 "(?>.*/)foo"SI 10175 Capturing subpattern count = 0 10176 No options 10177 No first char 10178 Need char = 'o' 10179 Subject length lower bound = 4 10180 No starting char list 10181 10182 /(?(?=[^a-z]+[a-z]) \d{2}-[a-z]{3}-\d{2} | \d{2}-\d{2}-\d{2} ) /xSI 10183 Capturing subpattern count = 0 10184 Options: extended 10185 No first char 10186 Need char = '-' 10187 Subject length lower bound = 8 10188 No starting char list 10189 10190 /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))/iSI 10191 Capturing subpattern count = 1 10192 Options: caseless 10193 No first char 10194 No need char 10195 Subject length lower bound = 1 10196 Starting chars: A B C a b c 10197 10198 /(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/SI 10199 Capturing subpattern count = 0 10200 No options 10201 No first char 10202 Need char = 'b' 10203 Subject length lower bound = 41 10204 Starting chars: c d 10205 10206 /<a[\s]+href[\s]*=[\s]* # find <a href= 10207 ([\"\'])? # find single or double quote 10208 (?(1) (.*?)\1 | ([^\s]+)) # if quote found, match up to next matching 10209 # quote, otherwise match up to next space 10210 /isxSI 10211 Capturing subpattern count = 3 10212 Max back reference = 1 10213 Options: caseless extended dotall 10214 First char = '<' 10215 Need char = '=' 10216 Subject length lower bound = 9 10217 No starting char list 10218 10219 /^(?!:) # colon disallowed at start 10220 (?: # start of item 10221 (?: [0-9a-f]{1,4} | # 1-4 hex digits or 10222 (?(1)0 | () ) ) # if null previously matched, fail; else null 10223 : # followed by colon 10224 ){1,7} # end item; 1-7 of them required 10225 [0-9a-f]{1,4} $ # final hex number at end of string 10226 (?(1)|.) # check that there was an empty component 10227 /xiIS 10228 Capturing subpattern count = 1 10229 Options: anchored caseless extended 10230 No first char 10231 Need char = ':' 10232 Subject length lower bound = 2 10233 No starting char list 10234 10235 /(?|(?<a>A)|(?<a>B))/I 10236 Capturing subpattern count = 1 10237 Named capturing subpatterns: 10238 a 1 10239 No options 10240 No first char 10241 No need char 10242 AB\Ca 10243 0: A 10244 1: A 10245 C A (1) a 10246 BA\Ca 10247 0: B 10248 1: B 10249 C B (1) a 10250 10251 /(?|(?<a>A)|(?<b>B))/ 10252 Failed: different names for subpatterns of the same number are not allowed at offset 15 10253 10254 /(?:a(?<quote> (?<apostrophe>')|(?<realquote>")) | 10255 b(?<quote> (?<apostrophe>')|(?<realquote>")) ) 10256 (?('quote')[a-z]+|[0-9]+)/JIx 10257 Capturing subpattern count = 6 10258 Named capturing subpatterns: 10259 apostrophe 2 10260 apostrophe 5 10261 quote 1 10262 quote 4 10263 realquote 3 10264 realquote 6 10265 Options: extended dupnames 10266 No first char 10267 No need char 10268 a"aaaaa 10269 0: a"aaaaa 10270 1: " 10271 2: <unset> 10272 3: " 10273 b"aaaaa 10274 0: b"aaaaa 10275 1: <unset> 10276 2: <unset> 10277 3: <unset> 10278 4: " 10279 5: <unset> 10280 6: " 10281 ** Failers 10282 No match 10283 b"11111 10284 No match 10285 a"11111 10286 No match 10287 10288 /^(?|(a)(b)(c)(?<D>d)|(?<D>e)) (?('D')X|Y)/JDZx 10289 ------------------------------------------------------------------ 10290 Bra 10291 ^ 10292 Bra 10293 CBra 1 10294 a 10295 Ket 10296 CBra 2 10297 b 10298 Ket 10299 CBra 3 10300 c 10301 Ket 10302 CBra 4 10303 d 10304 Ket 10305 Alt 10306 CBra 1 10307 e 10308 Ket 10309 Ket 10310 Cond 10311 Cond ref <D>2 10312 X 10313 Alt 10314 Y 10315 Ket 10316 Ket 10317 End 10318 ------------------------------------------------------------------ 10319 Capturing subpattern count = 4 10320 Named capturing subpatterns: 10321 D 4 10322 D 1 10323 Options: anchored extended dupnames 10324 No first char 10325 No need char 10326 abcdX 10327 0: abcdX 10328 1: a 10329 2: b 10330 3: c 10331 4: d 10332 eX 10333 0: eX 10334 1: e 10335 ** Failers 10336 No match 10337 abcdY 10338 No match 10339 ey 10340 No match 10341 10342 /(?<A>a) (b)(c) (?<A>d (?(R&A)$ | (?4)) )/JDZx 10343 ------------------------------------------------------------------ 10344 Bra 10345 CBra 1 10346 a 10347 Ket 10348 CBra 2 10349 b 10350 Ket 10351 CBra 3 10352 c 10353 Ket 10354 CBra 4 10355 d 10356 Cond 10357 Cond recurse <A>2 10358 $ 10359 Alt 10360 Recurse 10361 Ket 10362 Ket 10363 Ket 10364 End 10365 ------------------------------------------------------------------ 10366 Capturing subpattern count = 4 10367 Named capturing subpatterns: 10368 A 1 10369 A 4 10370 Options: extended dupnames 10371 First char = 'a' 10372 Need char = 'd' 10373 abcdd 10374 0: abcdd 10375 1: a 10376 2: b 10377 3: c 10378 4: dd 10379 ** Failers 10380 No match 10381 abcdde 10382 No match 10383 10384 /abcd*/ 10385 xxxxabcd\P 10386 0: abcd 10387 xxxxabcd\P\P 10388 Partial match: abcd 10389 10390 /abcd*/i 10391 xxxxabcd\P 10392 0: abcd 10393 xxxxabcd\P\P 10394 Partial match: abcd 10395 XXXXABCD\P 10396 0: ABCD 10397 XXXXABCD\P\P 10398 Partial match: ABCD 10399 10400 /abc\d*/ 10401 xxxxabc1\P 10402 0: abc1 10403 xxxxabc1\P\P 10404 Partial match: abc1 10405 10406 /(a)bc\1*/ 10407 xxxxabca\P 10408 0: abca 10409 1: a 10410 xxxxabca\P\P 10411 Partial match: abca 10412 10413 /abc[de]*/ 10414 xxxxabcde\P 10415 0: abcde 10416 xxxxabcde\P\P 10417 Partial match: abcde 10418 10419 /-- This is not in the Perl-compatible test because Perl seems currently to be 10420 broken and not behaving as specified in that it *does* bumpalong after 10421 hitting (*COMMIT). --/ 10422 10423 /(?1)(A(*COMMIT)|B)D/ 10424 ABD 10425 0: ABD 10426 1: B 10427 XABD 10428 0: ABD 10429 1: B 10430 BAD 10431 0: BAD 10432 1: A 10433 ABXABD 10434 0: ABD 10435 1: B 10436 ** Failers 10437 No match 10438 ABX 10439 No match 10440 BAXBAD 10441 No match 10442 10443 /(\3)(\1)(a)/<JS> 10444 cat 10445 0: a 10446 1: 10447 2: 10448 3: a 10449 10450 /(\3)(\1)(a)/SI<JS> 10451 Capturing subpattern count = 3 10452 Max back reference = 3 10453 Options: 10454 No first char 10455 Need char = 'a' 10456 Subject length lower bound = 1 10457 No starting char list 10458 cat 10459 0: a 10460 1: 10461 2: 10462 3: a 10463 10464 /(\3)(\1)(a)/SI 10465 Capturing subpattern count = 3 10466 Max back reference = 3 10467 No options 10468 No first char 10469 Need char = 'a' 10470 Subject length lower bound = 3 10471 No starting char list 10472 cat 10473 No match 10474 10475 /i(?(DEFINE)(?<s>a))/SI 10476 Capturing subpattern count = 1 10477 Named capturing subpatterns: 10478 s 1 10479 No options 10480 First char = 'i' 10481 No need char 10482 Subject length lower bound = 1 10483 No starting char list 10484 i 10485 0: i 10486 10487 /()i(?(1)a)/SI 10488 Capturing subpattern count = 1 10489 No options 10490 No first char 10491 Need char = 'i' 10492 Subject length lower bound = 1 10493 Starting chars: i 10494 ia 10495 0: ia 10496 1: 10497 10498 /(?i)a(?-i)b|c/BZ 10499 ------------------------------------------------------------------ 10500 Bra 10501 /i a 10502 b 10503 Alt 10504 c 10505 Ket 10506 End 10507 ------------------------------------------------------------------ 10508 XabX 10509 0: ab 10510 XAbX 10511 0: Ab 10512 CcC 10513 0: c 10514 ** Failers 10515 No match 10516 XABX 10517 No match 10518 10519 /(?i)a(?s)b|c/BZ 10520 ------------------------------------------------------------------ 10521 Bra 10522 /i ab 10523 Alt 10524 /i c 10525 Ket 10526 End 10527 ------------------------------------------------------------------ 10528 10529 /(?i)a(?s-i)b|c/BZ 10530 ------------------------------------------------------------------ 10531 Bra 10532 /i a 10533 b 10534 Alt 10535 c 10536 Ket 10537 End 10538 ------------------------------------------------------------------ 10539 10540 /^(ab(c\1)d|x){2}$/BZ 10541 ------------------------------------------------------------------ 10542 Bra 10543 ^ 10544 Once 10545 CBra 1 10546 ab 10547 CBra 2 10548 c 10549 \1 10550 Ket 10551 d 10552 Alt 10553 x 10554 Ket 10555 Ket 10556 Once 10557 CBra 1 10558 ab 10559 CBra 2 10560 c 10561 \1 10562 Ket 10563 d 10564 Alt 10565 x 10566 Ket 10567 Ket 10568 $ 10569 Ket 10570 End 10571 ------------------------------------------------------------------ 10572 xabcxd 10573 0: xabcxd 10574 1: abcxd 10575 2: cx 10576 10577 /^(?&t)*+(?(DEFINE)(?<t>.))$/BZ 10578 ------------------------------------------------------------------ 10579 Bra 10580 ^ 10581 Braposzero 10582 SBraPos 10583 Recurse 10584 KetRpos 10585 Cond 10586 Cond def 10587 CBra 1 10588 Any 10589 Ket 10590 Ket 10591 $ 10592 Ket 10593 End 10594 ------------------------------------------------------------------ 10595 10596 /^(?&t)*(?(DEFINE)(?<t>.))$/BZ 10597 ------------------------------------------------------------------ 10598 Bra 10599 ^ 10600 Brazero 10601 Once 10602 Recurse 10603 KetRmax 10604 Cond 10605 Cond def 10606 CBra 1 10607 Any 10608 Ket 10609 Ket 10610 $ 10611 Ket 10612 End 10613 ------------------------------------------------------------------ 10614 10615 / -- This one is here because Perl gives the match as "b" rather than "ab". I 10616 believe this to be a Perl bug. --/ 10617 10618 /(?>a\Kb)z|(ab)/ 10619 ab 10620 0: ab 10621 1: ab 10622 10623 /(?P<L1>(?P<L2>0|)|(?P>L2)(?P>L1))/ 10624 Failed: recursive call could loop indefinitely at offset 31 10625 10626 /abc(*MARK:)pqr/ 10627 Failed: (*MARK) must have an argument at offset 10 10628 10629 /abc(*:)pqr/ 10630 Failed: (*MARK) must have an argument at offset 6 10631 10632 /abc(*FAIL:123)xyz/ 10633 Failed: an argument is not allowed for (*ACCEPT), (*FAIL), or (*COMMIT) at offset 13 10634 10635 /--- This should, and does, fail. In Perl, it does not, which I think is a 10636 bug because replacing the B in the pattern by (B|D) does make it fail. ---/ 10637 10638 /A(*COMMIT)B/+K 10639 ACABX 10640 No match 10641 10642 /--- These should be different, but in Perl they are not, which I think 10643 is a bug in Perl. ---/ 10644 10645 /A(*THEN)B|A(*THEN)C/K 10646 AC 10647 0: AC 10648 10649 /A(*PRUNE)B|A(*PRUNE)C/K 10650 AC 10651 No match 10652 10653 /--- Mark names can be duplicated. Perl doesn't give a mark for this one, 10654 though PCRE does. ---/ 10655 10656 /^A(*:A)B|^X(*:A)Y/K 10657 ** Failers 10658 No match 10659 XAQQ 10660 No match, mark = A 10661 10662 /--- COMMIT at the start of a pattern should be the same as an anchor. Perl 10663 optimizations defeat this. So does the PCRE optimization unless we disable it 10664 with \Y. ---/ 10665 10666 /(*COMMIT)ABC/ 10667 ABCDEFG 10668 0: ABC 10669 ** Failers 10670 No match 10671 DEFGABC\Y 10672 No match 10673 10674 /^(ab (c+(*THEN)cd) | xyz)/x 10675 abcccd 10676 No match 10677 10678 /^(ab (c+(*PRUNE)cd) | xyz)/x 10679 abcccd 10680 No match 10681 10682 /^(ab (c+(*FAIL)cd) | xyz)/x 10683 abcccd 10684 No match 10685 10686 /--- Perl gets some of these wrong ---/ 10687 10688 /(?>.(*ACCEPT))*?5/ 10689 abcde 10690 0: a 10691 10692 /(.(*ACCEPT))*?5/ 10693 abcde 10694 0: a 10695 1: a 10696 10697 /(.(*ACCEPT))5/ 10698 abcde 10699 0: a 10700 1: a 10701 10702 /(.(*ACCEPT))*5/ 10703 abcde 10704 0: a 10705 1: a 10706 10707 /A\NB./BZ 10708 ------------------------------------------------------------------ 10709 Bra 10710 A 10711 Any 10712 B 10713 Any 10714 Ket 10715 End 10716 ------------------------------------------------------------------ 10717 ACBD 10718 0: ACBD 10719 *** Failers 10720 No match 10721 A\nB 10722 No match 10723 ACB\n 10724 No match 10725 10726 /A\NB./sBZ 10727 ------------------------------------------------------------------ 10728 Bra 10729 A 10730 Any 10731 B 10732 AllAny 10733 Ket 10734 End 10735 ------------------------------------------------------------------ 10736 ACBD 10737 0: ACBD 10738 ACB\n 10739 0: ACB\x0a 10740 *** Failers 10741 No match 10742 A\nB 10743 No match 10744 10745 /A\NB/<crlf> 10746 A\nB 10747 0: A\x0aB 10748 A\rB 10749 0: A\x0dB 10750 ** Failers 10751 No match 10752 A\r\nB 10753 No match 10754 10755 /\R+b/BZ 10756 ------------------------------------------------------------------ 10757 Bra 10758 \R++ 10759 b 10760 Ket 10761 End 10762 ------------------------------------------------------------------ 10763 10764 /\R+\n/BZ 10765 ------------------------------------------------------------------ 10766 Bra 10767 \R+ 10768 \x0a 10769 Ket 10770 End 10771 ------------------------------------------------------------------ 10772 10773 /\R+\d/BZ 10774 ------------------------------------------------------------------ 10775 Bra 10776 \R++ 10777 \d 10778 Ket 10779 End 10780 ------------------------------------------------------------------ 10781 10782 /\d*\R/BZ 10783 ------------------------------------------------------------------ 10784 Bra 10785 \d*+ 10786 \R 10787 Ket 10788 End 10789 ------------------------------------------------------------------ 10790 10791 /\s*\R/BZ 10792 ------------------------------------------------------------------ 10793 Bra 10794 \s* 10795 \R 10796 Ket 10797 End 10798 ------------------------------------------------------------------ 10799 \x20\x0a 10800 0: \x0a 10801 \x20\x0d 10802 0: \x0d 10803 \x20\x0d\x0a 10804 0: \x0d\x0a 10805 10806 /\S*\R/BZ 10807 ------------------------------------------------------------------ 10808 Bra 10809 \S*+ 10810 \R 10811 Ket 10812 End 10813 ------------------------------------------------------------------ 10814 a\x0a 10815 0: a\x0a 10816 10817 /X\h*\R/BZ 10818 ------------------------------------------------------------------ 10819 Bra 10820 X 10821 \h*+ 10822 \R 10823 Ket 10824 End 10825 ------------------------------------------------------------------ 10826 X\x20\x0a 10827 0: X \x0a 10828 10829 /X\H*\R/BZ 10830 ------------------------------------------------------------------ 10831 Bra 10832 X 10833 \H* 10834 \R 10835 Ket 10836 End 10837 ------------------------------------------------------------------ 10838 X\x0d\x0a 10839 0: X\x0d\x0a 10840 10841 /X\H+\R/BZ 10842 ------------------------------------------------------------------ 10843 Bra 10844 X 10845 \H+ 10846 \R 10847 Ket 10848 End 10849 ------------------------------------------------------------------ 10850 X\x0d\x0a 10851 0: X\x0d\x0a 10852 10853 /X\H++\R/BZ 10854 ------------------------------------------------------------------ 10855 Bra 10856 X 10857 \H++ 10858 \R 10859 Ket 10860 End 10861 ------------------------------------------------------------------ 10862 X\x0d\x0a 10863 No match 10864 10865 /(?<=abc)def/ 10866 abc\P\P 10867 Partial match at offset 3: abc 10868 10869 /abc$/ 10870 abc 10871 0: abc 10872 abc\P 10873 0: abc 10874 abc\P\P 10875 Partial match: abc 10876 10877 /abc$/m 10878 abc 10879 0: abc 10880 abc\n 10881 0: abc 10882 abc\P\P 10883 Partial match: abc 10884 abc\n\P\P 10885 0: abc 10886 abc\P 10887 0: abc 10888 abc\n\P 10889 0: abc 10890 10891 /abc\z/ 10892 abc 10893 0: abc 10894 abc\P 10895 0: abc 10896 abc\P\P 10897 Partial match: abc 10898 10899 /abc\Z/ 10900 abc 10901 0: abc 10902 abc\P 10903 0: abc 10904 abc\P\P 10905 Partial match: abc 10906 10907 /abc\b/ 10908 abc 10909 0: abc 10910 abc\P 10911 0: abc 10912 abc\P\P 10913 Partial match: abc 10914 10915 /abc\B/ 10916 abc 10917 No match 10918 abc\P 10919 Partial match: abc 10920 abc\P\P 10921 Partial match: abc 10922 10923 /.+/ 10924 abc\>0 10925 0: abc 10926 abc\>1 10927 0: bc 10928 abc\>2 10929 0: c 10930 abc\>3 10931 No match 10932 abc\>4 10933 Error -24 (bad offset value) 10934 abc\>-4 10935 Error -24 (bad offset value) 10936 10937 /^\c/ 10938 Failed: \c must be followed by an ASCII character at offset 3 10939 10940 /(?P<abn>(?P=abn)xxx)/BZ 10941 ------------------------------------------------------------------ 10942 Bra 10943 Once 10944 CBra 1 10945 \1 10946 xxx 10947 Ket 10948 Ket 10949 Ket 10950 End 10951 ------------------------------------------------------------------ 10952 10953 /(a\1z)/BZ 10954 ------------------------------------------------------------------ 10955 Bra 10956 Once 10957 CBra 1 10958 a 10959 \1 10960 z 10961 Ket 10962 Ket 10963 Ket 10964 End 10965 ------------------------------------------------------------------ 10966 10967 /(?P<abn>(?P=abn)(?<badstufxxx)/BZ 10968 Failed: syntax error in subpattern name (missing terminator) at offset 29 10969 10970 /(?P<abn>(?P=axn)xxx)/BZ 10971 Failed: reference to non-existent subpattern at offset 15 10972 10973 /(?P<abn>(?P=axn)xxx)(?<axn>yy)/BZ 10974 ------------------------------------------------------------------ 10975 Bra 10976 CBra 1 10977 \2 10978 xxx 10979 Ket 10980 CBra 2 10981 yy 10982 Ket 10983 Ket 10984 End 10985 ------------------------------------------------------------------ 10986 10987 /-- These tests are here because Perl gets the first one wrong. --/ 10988 10989 /(\R*)(.)/s 10990 \r\n 10991 0: \x0d 10992 1: 10993 2: \x0d 10994 \r\r\n\n\r 10995 0: \x0d\x0d\x0a\x0a\x0d 10996 1: \x0d\x0d\x0a\x0a 10997 2: \x0d 10998 \r\r\n\n\r\n 10999 0: \x0d\x0d\x0a\x0a\x0d 11000 1: \x0d\x0d\x0a\x0a 11001 2: \x0d 11002 11003 /(\R)*(.)/s 11004 \r\n 11005 0: \x0d 11006 1: <unset> 11007 2: \x0d 11008 \r\r\n\n\r 11009 0: \x0d\x0d\x0a\x0a\x0d 11010 1: \x0a 11011 2: \x0d 11012 \r\r\n\n\r\n 11013 0: \x0d\x0d\x0a\x0a\x0d 11014 1: \x0a 11015 2: \x0d 11016 11017 /((?>\r\n|\n|\x0b|\f|\r|\x85)*)(.)/s 11018 \r\n 11019 0: \x0d 11020 1: 11021 2: \x0d 11022 \r\r\n\n\r 11023 0: \x0d\x0d\x0a\x0a\x0d 11024 1: \x0d\x0d\x0a\x0a 11025 2: \x0d 11026 \r\r\n\n\r\n 11027 0: \x0d\x0d\x0a\x0a\x0d 11028 1: \x0d\x0d\x0a\x0a 11029 2: \x0d 11030 11031 /-- --/ 11032 11033 /^abc$/BZ 11034 ------------------------------------------------------------------ 11035 Bra 11036 ^ 11037 abc 11038 $ 11039 Ket 11040 End 11041 ------------------------------------------------------------------ 11042 11043 /^abc$/BZm 11044 ------------------------------------------------------------------ 11045 Bra 11046 /m ^ 11047 abc 11048 /m $ 11049 Ket 11050 End 11051 ------------------------------------------------------------------ 11052 11053 /^(a)*+(\w)/S 11054 aaaaX 11055 0: aaaaX 11056 1: a 11057 2: X 11058 ** Failers 11059 No match 11060 aaaa 11061 No match 11062 11063 /^(?:a)*+(\w)/S 11064 aaaaX 11065 0: aaaaX 11066 1: X 11067 ** Failers 11068 No match 11069 aaaa 11070 No match 11071 11072 /(a)++1234/SDZ 11073 ------------------------------------------------------------------ 11074 Bra 11075 CBraPos 1 11076 a 11077 KetRpos 11078 1234 11079 Ket 11080 End 11081 ------------------------------------------------------------------ 11082 Capturing subpattern count = 1 11083 No options 11084 First char = 'a' 11085 Need char = '4' 11086 Subject length lower bound = 5 11087 No starting char list 11088 11089 /([abc])++1234/SI 11090 Capturing subpattern count = 1 11091 No options 11092 No first char 11093 Need char = '4' 11094 Subject length lower bound = 5 11095 Starting chars: a b c 11096 11097 /(?<=(abc)+)X/ 11098 Failed: lookbehind assertion is not fixed length at offset 10 11099 11100 /(^ab)/I 11101 Capturing subpattern count = 1 11102 Options: anchored 11103 No first char 11104 No need char 11105 11106 /(^ab)++/I 11107 Capturing subpattern count = 1 11108 Options: anchored 11109 No first char 11110 No need char 11111 11112 /(^ab|^)+/I 11113 Capturing subpattern count = 1 11114 May match empty string 11115 Options: anchored 11116 No first char 11117 No need char 11118 11119 /(^ab|^)++/I 11120 Capturing subpattern count = 1 11121 May match empty string 11122 Options: anchored 11123 No first char 11124 No need char 11125 11126 /(?:^ab)/I 11127 Capturing subpattern count = 0 11128 Options: anchored 11129 No first char 11130 No need char 11131 11132 /(?:^ab)++/I 11133 Capturing subpattern count = 0 11134 Options: anchored 11135 No first char 11136 No need char 11137 11138 /(?:^ab|^)+/I 11139 Capturing subpattern count = 0 11140 May match empty string 11141 Options: anchored 11142 No first char 11143 No need char 11144 11145 /(?:^ab|^)++/I 11146 Capturing subpattern count = 0 11147 May match empty string 11148 Options: anchored 11149 No first char 11150 No need char 11151 11152 /(.*ab)/I 11153 Capturing subpattern count = 1 11154 No options 11155 First char at start or follows newline 11156 Need char = 'b' 11157 11158 /(.*ab)++/I 11159 Capturing subpattern count = 1 11160 No options 11161 First char at start or follows newline 11162 Need char = 'b' 11163 11164 /(.*ab|.*)+/I 11165 Capturing subpattern count = 1 11166 May match empty string 11167 No options 11168 First char at start or follows newline 11169 No need char 11170 11171 /(.*ab|.*)++/I 11172 Capturing subpattern count = 1 11173 May match empty string 11174 No options 11175 First char at start or follows newline 11176 No need char 11177 11178 /(?:.*ab)/I 11179 Capturing subpattern count = 0 11180 No options 11181 First char at start or follows newline 11182 Need char = 'b' 11183 11184 /(?:.*ab)++/I 11185 Capturing subpattern count = 0 11186 No options 11187 First char at start or follows newline 11188 Need char = 'b' 11189 11190 /(?:.*ab|.*)+/I 11191 Capturing subpattern count = 0 11192 May match empty string 11193 No options 11194 First char at start or follows newline 11195 No need char 11196 11197 /(?:.*ab|.*)++/I 11198 Capturing subpattern count = 0 11199 May match empty string 11200 No options 11201 First char at start or follows newline 11202 No need char 11203 11204 /(?=a)[bcd]/I 11205 Capturing subpattern count = 0 11206 No options 11207 First char = 'a' 11208 No need char 11209 11210 /((?=a))[bcd]/I 11211 Capturing subpattern count = 1 11212 No options 11213 First char = 'a' 11214 No need char 11215 11216 /((?=a))+[bcd]/I 11217 Capturing subpattern count = 1 11218 No options 11219 First char = 'a' 11220 No need char 11221 11222 /((?=a))++[bcd]/I 11223 Capturing subpattern count = 1 11224 No options 11225 First char = 'a' 11226 No need char 11227 11228 /(?=a+)[bcd]/iI 11229 Capturing subpattern count = 0 11230 Options: caseless 11231 First char = 'a' (caseless) 11232 No need char 11233 11234 /(?=a+?)[bcd]/iI 11235 Capturing subpattern count = 0 11236 Options: caseless 11237 First char = 'a' (caseless) 11238 No need char 11239 11240 /(?=a++)[bcd]/iI 11241 Capturing subpattern count = 0 11242 Options: caseless 11243 First char = 'a' (caseless) 11244 No need char 11245 11246 /(?=a{3})[bcd]/iI 11247 Capturing subpattern count = 0 11248 Options: caseless 11249 First char = 'a' (caseless) 11250 Need char = 'a' (caseless) 11251 11252 /(abc)\1+/S 11253 11254 /-- Perl doesn't get these right IMO (the 3rd is PCRE-specific) --/ 11255 11256 /(?1)(?:(b(*ACCEPT))){0}/ 11257 b 11258 0: b 11259 11260 /(?1)(?:(b(*ACCEPT))){0}c/ 11261 bc 11262 0: bc 11263 ** Failers 11264 No match 11265 b 11266 No match 11267 11268 /(?1)(?:((*ACCEPT))){0}c/ 11269 c 11270 0: c 11271 c\N 11272 0: c 11273 11274 /^.*?(?(?=a)a|b(*THEN)c)/ 11275 ba 11276 No match 11277 11278 /^.*?(?(?=a)a|bc)/ 11279 ba 11280 0: ba 11281 11282 /^.*?(?(?=a)a(*THEN)b|c)/ 11283 ac 11284 No match 11285 11286 /^.*?(?(?=a)a(*THEN)b)c/ 11287 ac 11288 No match 11289 11290 /^.*?(a(*THEN)b)c/ 11291 aabc 11292 No match 11293 11294 /^.*? (?1) c (?(DEFINE)(a(*THEN)b))/x 11295 aabc 11296 0: aabc 11297 11298 /^.*?(a(*THEN)b|z)c/ 11299 aabc 11300 0: aabc 11301 1: ab 11302 11303 /^.*?(z|a(*THEN)b)c/ 11304 aabc 11305 0: aabc 11306 1: ab 11307 11308 /-- --/ 11309 11310 /-- These studied versions are here because they are not Perl-compatible; the 11311 studying means the mark is not seen. --/ 11312 11313 /(*MARK:A)(*SKIP:B)(C|X)/KS 11314 C 11315 0: C 11316 1: C 11317 MK: A 11318 D 11319 No match, mark = A 11320 11321 /(*:A)A+(*SKIP:A)(B|Z)/KS 11322 AAAC 11323 No match, mark = A 11324 11325 /-- --/ 11326 11327 "(?=a*(*ACCEPT)b)c" 11328 c 11329 0: c 11330 c\N 11331 0: c 11332 11333 /(?1)c(?(DEFINE)((*ACCEPT)b))/ 11334 c 11335 0: c 11336 c\N 11337 0: c 11338 11339 /(?>(*ACCEPT)b)c/ 11340 c 11341 0: 11342 c\N 11343 No match 11344 11345 /(?:(?>(a)))+a%/++ 11346 %aa% 11347 0: aa% 11348 0+ 11349 1: a 11350 1+ a% 11351 11352 /(a)b|ac/++SS 11353 ac\O3 11354 0: ac 11355 0+ 11356 11357 /(a)(b)x|abc/++ 11358 abc\O6 11359 0: abc 11360 0+ 11361 11362 /(a)bc|(a)(b)\2/ 11363 \O3abc 11364 Matched, but too many substrings 11365 0: abc 11366 \O4abc 11367 Matched, but too many substrings 11368 0: abc 11369 11370 /(?(DEFINE)(a(?2)|b)(b(?1)|a))(?:(?1)|(?2))/SI 11371 Capturing subpattern count = 2 11372 No options 11373 No first char 11374 No need char 11375 Subject length lower bound = 1 11376 No starting char list 11377 11378 /(a(?2)|b)(b(?1)|a)(?:(?1)|(?2))/SI 11379 Capturing subpattern count = 2 11380 No options 11381 No first char 11382 No need char 11383 Subject length lower bound = 3 11384 Starting chars: a b 11385 11386 /(a(?2)|b)(b(?1)|a)(?1)(?2)/SI 11387 Capturing subpattern count = 2 11388 No options 11389 No first char 11390 No need char 11391 Subject length lower bound = 4 11392 Starting chars: a b 11393 11394 /(abc)(?1)/SI 11395 Capturing subpattern count = 1 11396 No options 11397 First char = 'a' 11398 Need char = 'c' 11399 Subject length lower bound = 6 11400 No starting char list 11401 11402 /^(?>a)++/ 11403 aa\M 11404 Minimum match() limit = 5 11405 Minimum match() recursion limit = 2 11406 0: aa 11407 aaaaaaaaa\M 11408 Minimum match() limit = 12 11409 Minimum match() recursion limit = 2 11410 0: aaaaaaaaa 11411 11412 /(a)(?1)++/ 11413 aa\M 11414 Minimum match() limit = 7 11415 Minimum match() recursion limit = 4 11416 0: aa 11417 1: a 11418 aaaaaaaaa\M 11419 Minimum match() limit = 21 11420 Minimum match() recursion limit = 4 11421 0: aaaaaaaaa 11422 1: a 11423 11424 /(?:(foo)|(bar)|(baz))X/SS= 11425 bazfooX 11426 0: fooX 11427 1: foo 11428 2: <unset> 11429 3: <unset> 11430 foobazbarX 11431 0: barX 11432 1: <unset> 11433 2: bar 11434 3: <unset> 11435 barfooX 11436 0: fooX 11437 1: foo 11438 2: <unset> 11439 3: <unset> 11440 bazX 11441 0: bazX 11442 1: <unset> 11443 2: <unset> 11444 3: baz 11445 foobarbazX 11446 0: bazX 11447 1: <unset> 11448 2: <unset> 11449 3: baz 11450 bazfooX\O0 11451 Matched, but too many substrings 11452 bazfooX\O2 11453 Matched, but too many substrings 11454 0: fooX 11455 bazfooX\O4 11456 Matched, but too many substrings 11457 0: fooX 11458 1: <unset> 11459 bazfooX\O6 11460 Matched, but too many substrings 11461 0: fooX 11462 1: foo 11463 2: <unset> 11464 bazfooX\O8 11465 Matched, but too many substrings 11466 0: fooX 11467 1: foo 11468 2: <unset> 11469 3: <unset> 11470 bazfooX\O10 11471 0: fooX 11472 1: foo 11473 2: <unset> 11474 3: <unset> 11475 11476 /(?=abc){3}abc/BZ 11477 ------------------------------------------------------------------ 11478 Bra 11479 Assert 11480 abc 11481 Ket 11482 abc 11483 Ket 11484 End 11485 ------------------------------------------------------------------ 11486 11487 /(?=abc)+abc/BZ 11488 ------------------------------------------------------------------ 11489 Bra 11490 Assert 11491 abc 11492 Ket 11493 abc 11494 Ket 11495 End 11496 ------------------------------------------------------------------ 11497 11498 /(?=abc)++abc/BZ 11499 ------------------------------------------------------------------ 11500 Bra 11501 Assert 11502 abc 11503 Ket 11504 abc 11505 Ket 11506 End 11507 ------------------------------------------------------------------ 11508 11509 /(?=abc){0}xyz/BZ 11510 ------------------------------------------------------------------ 11511 Bra 11512 Skip zero 11513 Assert 11514 abc 11515 Ket 11516 xyz 11517 Ket 11518 End 11519 ------------------------------------------------------------------ 11520 11521 /(?=(a))?./BZ 11522 ------------------------------------------------------------------ 11523 Bra 11524 Brazero 11525 Assert 11526 CBra 1 11527 a 11528 Ket 11529 Ket 11530 Any 11531 Ket 11532 End 11533 ------------------------------------------------------------------ 11534 11535 /(?=(a))??./BZ 11536 ------------------------------------------------------------------ 11537 Bra 11538 Braminzero 11539 Assert 11540 CBra 1 11541 a 11542 Ket 11543 Ket 11544 Any 11545 Ket 11546 End 11547 ------------------------------------------------------------------ 11548 11549 /^(?=(a)){0}b(?1)/BZ 11550 ------------------------------------------------------------------ 11551 Bra 11552 ^ 11553 Skip zero 11554 Assert 11555 CBra 1 11556 a 11557 Ket 11558 Ket 11559 b 11560 Recurse 11561 Ket 11562 End 11563 ------------------------------------------------------------------ 11564 11565 /(?(DEFINE)(a))?b(?1)/BZ 11566 ------------------------------------------------------------------ 11567 Bra 11568 Cond 11569 Cond def 11570 CBra 1 11571 a 11572 Ket 11573 Ket 11574 b 11575 Recurse 11576 Ket 11577 End 11578 ------------------------------------------------------------------ 11579 11580 /^(?=(?1))?[az]([abc])d/BZ 11581 ------------------------------------------------------------------ 11582 Bra 11583 ^ 11584 Brazero 11585 Assert 11586 Recurse 11587 Ket 11588 [az] 11589 CBra 1 11590 [a-c] 11591 Ket 11592 d 11593 Ket 11594 End 11595 ------------------------------------------------------------------ 11596 11597 /^(?!a){0}\w+/BZ 11598 ------------------------------------------------------------------ 11599 Bra 11600 ^ 11601 Skip zero 11602 Assert not 11603 a 11604 Ket 11605 \w++ 11606 Ket 11607 End 11608 ------------------------------------------------------------------ 11609 11610 /(?<=(abc))?xyz/BZ 11611 ------------------------------------------------------------------ 11612 Bra 11613 Brazero 11614 AssertB 11615 Reverse 11616 CBra 1 11617 abc 11618 Ket 11619 Ket 11620 xyz 11621 Ket 11622 End 11623 ------------------------------------------------------------------ 11624 11625 /[:a[:abc]b:]/BZ 11626 ------------------------------------------------------------------ 11627 Bra 11628 [:[a-c] 11629 b:] 11630 Ket 11631 End 11632 ------------------------------------------------------------------ 11633 11634 /((?2))((?1))/SS 11635 abc 11636 Error -26 (nested recursion at the same subject position) 11637 11638 /((?(R2)a+|(?1)b))/SS 11639 aaaabcde 11640 Error -26 (nested recursion at the same subject position) 11641 11642 /(?(R)a*(?1)|((?R))b)/SS 11643 aaaabcde 11644 Error -26 (nested recursion at the same subject position) 11645 11646 /(a+|(?R)b)/ 11647 Failed: recursive call could loop indefinitely at offset 7 11648 11649 /^(a(*:A)(d|e(*:B))z|aeq)/C 11650 adz 11651 --->adz 11652 +0 ^ ^ 11653 +1 ^ (a(*:A)(d|e(*:B))z|aeq) 11654 +2 ^ a 11655 +3 ^^ (*:A) 11656 +8 ^^ (d|e(*:B)) 11657 Latest Mark: A 11658 +9 ^^ d 11659 +10 ^ ^ | 11660 +18 ^ ^ z 11661 +19 ^ ^ | 11662 +24 ^ ^ 11663 0: adz 11664 1: adz 11665 2: d 11666 aez 11667 --->aez 11668 +0 ^ ^ 11669 +1 ^ (a(*:A)(d|e(*:B))z|aeq) 11670 +2 ^ a 11671 +3 ^^ (*:A) 11672 +8 ^^ (d|e(*:B)) 11673 Latest Mark: A 11674 +9 ^^ d 11675 +11 ^^ e 11676 +12 ^ ^ (*:B) 11677 +17 ^ ^ ) 11678 Latest Mark: B 11679 +18 ^ ^ z 11680 +19 ^ ^ | 11681 +24 ^ ^ 11682 0: aez 11683 1: aez 11684 2: e 11685 aeqwerty 11686 --->aeqwerty 11687 +0 ^ ^ 11688 +1 ^ (a(*:A)(d|e(*:B))z|aeq) 11689 +2 ^ a 11690 +3 ^^ (*:A) 11691 +8 ^^ (d|e(*:B)) 11692 Latest Mark: A 11693 +9 ^^ d 11694 +11 ^^ e 11695 +12 ^ ^ (*:B) 11696 +17 ^ ^ ) 11697 Latest Mark: B 11698 +18 ^ ^ z 11699 +20 ^ a 11700 +21 ^^ e 11701 +22 ^ ^ q 11702 +23 ^ ^ ) 11703 +24 ^ ^ 11704 0: aeq 11705 1: aeq 11706 11707 /.(*F)/ 11708 \P\Pabc 11709 No match 11710 11711 /\btype\b\W*?\btext\b\W*?\bjavascript\b/IS 11712 Capturing subpattern count = 0 11713 Max lookbehind = 1 11714 No options 11715 First char = 't' 11716 Need char = 't' 11717 Subject length lower bound = 18 11718 No starting char list 11719 11720 /\btype\b\W*?\btext\b\W*?\bjavascript\b|\burl\b\W*?\bshell:|<input\b.*?\btype\b\W*?\bimage\b|\bonkeyup\b\W*?\=/IS 11721 Capturing subpattern count = 0 11722 Max lookbehind = 1 11723 No options 11724 No first char 11725 No need char 11726 Subject length lower bound = 8 11727 Starting chars: < o t u 11728 11729 /a(*SKIP)c|b(*ACCEPT)|/+S!I 11730 Capturing subpattern count = 0 11731 May match empty string 11732 No options 11733 No first char 11734 No need char 11735 Subject length lower bound = -1 11736 No starting char list 11737 a 11738 0: 11739 0+ 11740 11741 /a(*SKIP)c|b(*ACCEPT)cd(*ACCEPT)|x/SI 11742 Capturing subpattern count = 0 11743 No options 11744 No first char 11745 No need char 11746 Subject length lower bound = -1 11747 Starting chars: a b x 11748 ax 11749 0: x 11750 11751 'a*(*ACCEPT)b'+ 11752 \N\N 11753 No match 11754 abc\N\N 11755 0: a 11756 0+ bc 11757 bbb\N\N 11758 0: 11759 0+ bb 11760 11761 /(*ACCEPT)a/+I 11762 Capturing subpattern count = 0 11763 No options 11764 No first char 11765 No need char 11766 bax 11767 0: 11768 0+ bax 11769 11770 /z(*ACCEPT)a/+I 11771 Capturing subpattern count = 0 11772 No options 11773 First char = 'z' 11774 No need char 11775 baxzbx 11776 0: z 11777 0+ bx 11778 11779 /a(?:.)*?a/ims 11780 \Mabbbbbbbbbbbbbbbbbbbbba 11781 Minimum match() limit = 65 11782 Minimum match() recursion limit = 2 11783 0: abbbbbbbbbbbbbbbbbbbbba 11784 11785 /a(?:.(*THEN))*?a/ims 11786 \Mabbbbbbbbbbbbbbbbbbbbba 11787 Minimum match() limit = 86 11788 Minimum match() recursion limit = 45 11789 0: abbbbbbbbbbbbbbbbbbbbba 11790 11791 /a(?:.(*THEN:ABC))*?a/ims 11792 \Mabbbbbbbbbbbbbbbbbbbbba 11793 Minimum match() limit = 86 11794 Minimum match() recursion limit = 45 11795 0: abbbbbbbbbbbbbbbbbbbbba 11796 11797 /^(?>a+)(?>(z+))\w/BZ 11798 ------------------------------------------------------------------ 11799 Bra 11800 ^ 11801 Once_NC 11802 a++ 11803 Ket 11804 Once 11805 CBra 1 11806 z++ 11807 Ket 11808 Ket 11809 \w 11810 Ket 11811 End 11812 ------------------------------------------------------------------ 11813 aaaazzzzb 11814 0: aaaazzzzb 11815 1: zzzz 11816 ** Failers 11817 No match 11818 aazz 11819 No match 11820 11821 /(.)(\1|a(?2))/ 11822 bab 11823 0: bab 11824 1: b 11825 2: ab 11826 11827 /\1|(.)(?R)\1/ 11828 cbbbc 11829 0: cbbbc 11830 1: c 11831 11832 /(.)((?(1)c|a)|a(?2))/ 11833 baa 11834 No match 11835 11836 /(?P<abn>(?P=abn)xxx)/BZ 11837 ------------------------------------------------------------------ 11838 Bra 11839 Once 11840 CBra 1 11841 \1 11842 xxx 11843 Ket 11844 Ket 11845 Ket 11846 End 11847 ------------------------------------------------------------------ 11848 11849 /(a\1z)/BZ 11850 ------------------------------------------------------------------ 11851 Bra 11852 Once 11853 CBra 1 11854 a 11855 \1 11856 z 11857 Ket 11858 Ket 11859 Ket 11860 End 11861 ------------------------------------------------------------------ 11862 11863 /^(?>a+)(?>b+)(?>c+)(?>d+)(?>e+)/ 11864 \Maabbccddee 11865 Minimum match() limit = 7 11866 Minimum match() recursion limit = 2 11867 0: aabbccddee 11868 11869 /^(?>(a+))(?>(b+))(?>(c+))(?>(d+))(?>(e+))/ 11870 \Maabbccddee 11871 Minimum match() limit = 17 11872 Minimum match() recursion limit = 16 11873 0: aabbccddee 11874 1: aa 11875 2: bb 11876 3: cc 11877 4: dd 11878 5: ee 11879 11880 /^(?>(a+))(?>b+)(?>(c+))(?>d+)(?>(e+))/ 11881 \Maabbccddee 11882 Minimum match() limit = 13 11883 Minimum match() recursion limit = 10 11884 0: aabbccddee 11885 1: aa 11886 2: cc 11887 3: ee 11888 11889 /^a\x41z/<JS> 11890 aAz 11891 0: aAz 11892 *** Failers 11893 No match 11894 ax41z 11895 No match 11896 11897 /^a[m\x41]z/<JS> 11898 aAz 11899 0: aAz 11900 11901 /^a\x1z/<JS> 11902 ax1z 11903 0: ax1z 11904 11905 /^a\u0041z/<JS> 11906 aAz 11907 0: aAz 11908 *** Failers 11909 No match 11910 au0041z 11911 No match 11912 11913 /^a[m\u0041]z/<JS> 11914 aAz 11915 0: aAz 11916 11917 /^a\u041z/<JS> 11918 au041z 11919 0: au041z 11920 *** Failers 11921 No match 11922 aAz 11923 No match 11924 11925 /^a\U0041z/<JS> 11926 aU0041z 11927 0: aU0041z 11928 *** Failers 11929 No match 11930 aAz 11931 No match 11932 11933 /(?(?=c)c|d)++Y/BZ 11934 ------------------------------------------------------------------ 11935 Bra 11936 BraPos 11937 Cond 11938 Assert 11939 c 11940 Ket 11941 c 11942 Alt 11943 d 11944 Ket 11945 KetRpos 11946 Y 11947 Ket 11948 End 11949 ------------------------------------------------------------------ 11950 11951 /(?(?=c)c|d)*+Y/BZ 11952 ------------------------------------------------------------------ 11953 Bra 11954 Braposzero 11955 BraPos 11956 Cond 11957 Assert 11958 c 11959 Ket 11960 c 11961 Alt 11962 d 11963 Ket 11964 KetRpos 11965 Y 11966 Ket 11967 End 11968 ------------------------------------------------------------------ 11969 11970 /a[\NB]c/ 11971 Failed: \N is not supported in a class at offset 3 11972 11973 /a[B-\Nc]/ 11974 Failed: invalid range in character class at offset 5 11975 11976 /a[B\Nc]/ 11977 Failed: \N is not supported in a class at offset 4 11978 11979 /(a)(?2){0,1999}?(b)/ 11980 11981 /(a)(?(DEFINE)(b))(?2){0,1999}?(?2)/ 11982 11983 /--- This test, with something more complicated than individual letters, causes 11984 different behaviour in Perl. Perhaps it disables some optimization; no tag is 11985 passed back for the failures, whereas in PCRE there is a tag. ---/ 11986 11987 /(A|P)(*:A)(B|P) | (X|P)(X|P)(*:B)(Y|P)/xK 11988 AABC 11989 0: AB 11990 1: A 11991 2: B 11992 MK: A 11993 XXYZ 11994 0: XXY 11995 1: <unset> 11996 2: <unset> 11997 3: X 11998 4: X 11999 5: Y 12000 MK: B 12001 ** Failers 12002 No match 12003 XAQQ 12004 No match, mark = A 12005 XAQQXZZ 12006 No match, mark = A 12007 AXQQQ 12008 No match, mark = A 12009 AXXQQQ 12010 No match, mark = B 12011 12012 /-- Perl doesn't give marks for these, though it does if the alternatives are 12013 replaced by single letters. --/ 12014 12015 /(b|q)(*:m)f|a(*:n)w/K 12016 aw 12017 0: aw 12018 MK: n 12019 ** Failers 12020 No match, mark = n 12021 abc 12022 No match, mark = m 12023 12024 /(q|b)(*:m)f|a(*:n)w/K 12025 aw 12026 0: aw 12027 MK: n 12028 ** Failers 12029 No match, mark = n 12030 abc 12031 No match, mark = m 12032 12033 /-- After a partial match, the behaviour is as for a failure. --/ 12034 12035 /^a(*:X)bcde/K 12036 abc\P 12037 Partial match, mark=X: abc 12038 12039 /-- These are here because Perl doesn't return a mark, except for the first --/ 12040 12041 /(?=(*:x))(q|)/K+ 12042 abc 12043 0: 12044 0+ abc 12045 1: 12046 MK: x 12047 12048 /(?=(*:x))((*:y)q|)/K+ 12049 abc 12050 0: 12051 0+ abc 12052 1: 12053 MK: x 12054 12055 /(?=(*:x))(?:(*:y)q|)/K+ 12056 abc 12057 0: 12058 0+ abc 12059 MK: x 12060 12061 /(?=(*:x))(?>(*:y)q|)/K+ 12062 abc 12063 0: 12064 0+ abc 12065 MK: x 12066 12067 /(?=a(*:x))(?!a(*:y)c)/K+ 12068 ab 12069 0: 12070 0+ ab 12071 MK: x 12072 12073 /(?=a(*:x))(?=a(*:y)c|)/K+ 12074 ab 12075 0: 12076 0+ ab 12077 MK: x 12078 12079 /(..)\1/ 12080 ab\P 12081 Partial match: ab 12082 aba\P 12083 Partial match: aba 12084 abab\P 12085 0: abab 12086 1: ab 12087 12088 /(..)\1/i 12089 ab\P 12090 Partial match: ab 12091 abA\P 12092 Partial match: abA 12093 aBAb\P 12094 0: aBAb 12095 1: aB 12096 12097 /(..)\1{2,}/ 12098 ab\P 12099 Partial match: ab 12100 aba\P 12101 Partial match: aba 12102 abab\P 12103 Partial match: abab 12104 ababa\P 12105 Partial match: ababa 12106 ababab\P 12107 0: ababab 12108 1: ab 12109 ababab\P\P 12110 Partial match: ababab 12111 abababa\P 12112 0: ababab 12113 1: ab 12114 abababa\P\P 12115 Partial match: abababa 12116 12117 /(..)\1{2,}/i 12118 ab\P 12119 Partial match: ab 12120 aBa\P 12121 Partial match: aBa 12122 aBAb\P 12123 Partial match: aBAb 12124 AbaBA\P 12125 Partial match: AbaBA 12126 abABAb\P 12127 0: abABAb 12128 1: ab 12129 aBAbaB\P\P 12130 Partial match: aBAbaB 12131 abABabA\P 12132 0: abABab 12133 1: ab 12134 abaBABa\P\P 12135 Partial match: abaBABa 12136 12137 /(..)\1{2,}?x/i 12138 ab\P 12139 Partial match: ab 12140 abA\P 12141 Partial match: abA 12142 aBAb\P 12143 Partial match: aBAb 12144 abaBA\P 12145 Partial match: abaBA 12146 abAbaB\P 12147 Partial match: abAbaB 12148 abaBabA\P 12149 Partial match: abaBabA 12150 abAbABaBx\P 12151 0: abAbABaBx 12152 1: ab 12153 12154 /^(..)\1/ 12155 aba\P 12156 Partial match: aba 12157 12158 /^(..)\1{2,3}x/ 12159 aba\P 12160 Partial match: aba 12161 ababa\P 12162 Partial match: ababa 12163 ababa\P\P 12164 Partial match: ababa 12165 abababx 12166 0: abababx 12167 1: ab 12168 ababababx 12169 0: ababababx 12170 1: ab 12171 12172 /^(..)\1{2,3}?x/ 12173 aba\P 12174 Partial match: aba 12175 ababa\P 12176 Partial match: ababa 12177 ababa\P\P 12178 Partial match: ababa 12179 abababx 12180 0: abababx 12181 1: ab 12182 ababababx 12183 0: ababababx 12184 1: ab 12185 12186 /^(..)(\1{2,3})ab/ 12187 abababab 12188 0: abababab 12189 1: ab 12190 2: abab 12191 12192 /^\R/ 12193 \r\P 12194 0: \x0d 12195 \r\P\P 12196 Partial match: \x0d 12197 12198 /^\R{2,3}x/ 12199 \r\P 12200 Partial match: \x0d 12201 \r\P\P 12202 Partial match: \x0d 12203 \r\r\P 12204 Partial match: \x0d\x0d 12205 \r\r\P\P 12206 Partial match: \x0d\x0d 12207 \r\r\r\P 12208 Partial match: \x0d\x0d\x0d 12209 \r\r\r\P\P 12210 Partial match: \x0d\x0d\x0d 12211 \r\rx 12212 0: \x0d\x0dx 12213 \r\r\rx 12214 0: \x0d\x0d\x0dx 12215 12216 /^\R{2,3}?x/ 12217 \r\P 12218 Partial match: \x0d 12219 \r\P\P 12220 Partial match: \x0d 12221 \r\r\P 12222 Partial match: \x0d\x0d 12223 \r\r\P\P 12224 Partial match: \x0d\x0d 12225 \r\r\r\P 12226 Partial match: \x0d\x0d\x0d 12227 \r\r\r\P\P 12228 Partial match: \x0d\x0d\x0d 12229 \r\rx 12230 0: \x0d\x0dx 12231 \r\r\rx 12232 0: \x0d\x0d\x0dx 12233 12234 /^\R?x/ 12235 \r\P 12236 Partial match: \x0d 12237 \r\P\P 12238 Partial match: \x0d 12239 x 12240 0: x 12241 \rx 12242 0: \x0dx 12243 12244 /^\R+x/ 12245 \r\P 12246 Partial match: \x0d 12247 \r\P\P 12248 Partial match: \x0d 12249 \r\n\P 12250 Partial match: \x0d\x0a 12251 \r\n\P\P 12252 Partial match: \x0d\x0a 12253 \rx 12254 0: \x0dx 12255 12256 /^a$/<CRLF> 12257 a\r\P 12258 Partial match: a\x0d 12259 a\r\P\P 12260 Partial match: a\x0d 12261 12262 /^a$/m<CRLF> 12263 a\r\P 12264 Partial match: a\x0d 12265 a\r\P\P 12266 Partial match: a\x0d 12267 12268 /^(a$|a\r)/<CRLF> 12269 a\r\P 12270 0: a\x0d 12271 1: a\x0d 12272 a\r\P\P 12273 Partial match: a\x0d 12274 12275 /^(a$|a\r)/m<CRLF> 12276 a\r\P 12277 0: a\x0d 12278 1: a\x0d 12279 a\r\P\P 12280 Partial match: a\x0d 12281 12282 /./<CRLF> 12283 \r\P 12284 0: \x0d 12285 \r\P\P 12286 Partial match: \x0d 12287 12288 /.{2,3}/<CRLF> 12289 \r\P 12290 Partial match: \x0d 12291 \r\P\P 12292 Partial match: \x0d 12293 \r\r\P 12294 0: \x0d\x0d 12295 \r\r\P\P 12296 Partial match: \x0d\x0d 12297 \r\r\r\P 12298 0: \x0d\x0d\x0d 12299 \r\r\r\P\P 12300 Partial match: \x0d\x0d\x0d 12301 12302 /.{2,3}?/<CRLF> 12303 \r\P 12304 Partial match: \x0d 12305 \r\P\P 12306 Partial match: \x0d 12307 \r\r\P 12308 0: \x0d\x0d 12309 \r\r\P\P 12310 Partial match: \x0d\x0d 12311 \r\r\r\P 12312 0: \x0d\x0d 12313 \r\r\r\P\P 12314 0: \x0d\x0d 12315 12316 "AB(C(D))(E(F))?(?(?=\2)(?=\4))" 12317 ABCDGHI\O03 12318 Matched, but too many substrings 12319 0: ABCD 12320 12321 /-- These are all run as real matches in test 1; here we are just checking the 12322 settings of the anchored and startline bits. --/ 12323 12324 /(?>.*?a)(?<=ba)/I 12325 Capturing subpattern count = 0 12326 Max lookbehind = 2 12327 No options 12328 No first char 12329 Need char = 'a' 12330 12331 /(?:.*?a)(?<=ba)/I 12332 Capturing subpattern count = 0 12333 Max lookbehind = 2 12334 No options 12335 First char at start or follows newline 12336 Need char = 'a' 12337 12338 /.*?a(*PRUNE)b/I 12339 Capturing subpattern count = 0 12340 No options 12341 No first char 12342 Need char = 'b' 12343 12344 /.*?a(*PRUNE)b/sI 12345 Capturing subpattern count = 0 12346 Options: dotall 12347 No first char 12348 Need char = 'b' 12349 12350 /^a(*PRUNE)b/sI 12351 Capturing subpattern count = 0 12352 Options: anchored dotall 12353 No first char 12354 No need char 12355 12356 /.*?a(*SKIP)b/I 12357 Capturing subpattern count = 0 12358 No options 12359 No first char 12360 Need char = 'b' 12361 12362 /(?>.*?a)b/sI 12363 Capturing subpattern count = 0 12364 Options: dotall 12365 No first char 12366 Need char = 'b' 12367 12368 /(?>.*?a)b/I 12369 Capturing subpattern count = 0 12370 No options 12371 No first char 12372 Need char = 'b' 12373 12374 /(?>^a)b/sI 12375 Capturing subpattern count = 0 12376 Options: anchored dotall 12377 No first char 12378 No need char 12379 12380 /(?>.*?)(?<=(abcd)|(wxyz))/I 12381 Capturing subpattern count = 2 12382 Max lookbehind = 4 12383 May match empty string 12384 No options 12385 No first char 12386 No need char 12387 12388 /(?>.*)(?<=(abcd)|(wxyz))/I 12389 Capturing subpattern count = 2 12390 Max lookbehind = 4 12391 May match empty string 12392 No options 12393 No first char 12394 No need char 12395 12396 "(?>.*)foo"I 12397 Capturing subpattern count = 0 12398 No options 12399 No first char 12400 Need char = 'o' 12401 12402 "(?>.*?)foo"I 12403 Capturing subpattern count = 0 12404 No options 12405 No first char 12406 Need char = 'o' 12407 12408 /(?>^abc)/mI 12409 Capturing subpattern count = 0 12410 Options: multiline 12411 First char at start or follows newline 12412 Need char = 'c' 12413 12414 /(?>.*abc)/mI 12415 Capturing subpattern count = 0 12416 Options: multiline 12417 No first char 12418 Need char = 'c' 12419 12420 /(?:.*abc)/mI 12421 Capturing subpattern count = 0 12422 Options: multiline 12423 First char at start or follows newline 12424 Need char = 'c' 12425 12426 /-- Check PCRE_STUDY_EXTRA_NEEDED --/ 12427 12428 /.?/S-I 12429 Capturing subpattern count = 0 12430 May match empty string 12431 No options 12432 No first char 12433 No need char 12434 Study returned NULL 12435 12436 /.?/S!I 12437 Capturing subpattern count = 0 12438 May match empty string 12439 No options 12440 No first char 12441 No need char 12442 Subject length lower bound = -1 12443 No starting char list 12444 12445 /(?:(a)+(?C1)bb|aa(?C2)b)/ 12446 aab\C+ 12447 Callout 1: last capture = 1 12448 0: <unset> 12449 1: a 12450 --->aab 12451 ^ ^ b 12452 Callout 1: last capture = 1 12453 0: <unset> 12454 1: a 12455 --->aab 12456 ^^ b 12457 Callout 2: last capture = -1 12458 0: <unset> 12459 --->aab 12460 ^ ^ b 12461 0: aab 12462 12463 /(?:(a)++(?C1)bb|aa(?C2)b)/ 12464 aab\C+ 12465 Callout 1: last capture = 1 12466 0: <unset> 12467 1: a 12468 --->aab 12469 ^ ^ b 12470 Callout 2: last capture = -1 12471 0: <unset> 12472 --->aab 12473 ^ ^ b 12474 0: aab 12475 12476 /(?:(?>(a))(?C1)bb|aa(?C2)b)/ 12477 aab\C+ 12478 Callout 1: last capture = 1 12479 0: <unset> 12480 1: a 12481 --->aab 12482 ^^ b 12483 Callout 2: last capture = -1 12484 0: <unset> 12485 --->aab 12486 ^ ^ b 12487 0: aab 12488 12489 /(?:(?1)(?C1)x|ab(?C2))((a)){0}/ 12490 aab\C+ 12491 Callout 1: last capture = -1 12492 0: <unset> 12493 --->aab 12494 ^^ x 12495 Callout 1: last capture = -1 12496 0: <unset> 12497 --->aab 12498 ^^ x 12499 Callout 2: last capture = -1 12500 0: <unset> 12501 --->aab 12502 ^ ^ ) 12503 0: ab 12504 12505 /(?1)(?C1)((a)(?C2)){0}/ 12506 aab\C+ 12507 Callout 2: last capture = 2 12508 0: <unset> 12509 1: <unset> 12510 2: a 12511 --->aab 12512 ^^ ) 12513 Callout 1: last capture = -1 12514 0: <unset> 12515 --->aab 12516 ^^ ((a)(?C2)){0} 12517 0: a 12518 12519 /(?:(a)+(?C1)bb|aa(?C2)b)++/ 12520 aab\C+ 12521 Callout 1: last capture = 1 12522 0: <unset> 12523 1: a 12524 --->aab 12525 ^ ^ b 12526 Callout 1: last capture = 1 12527 0: <unset> 12528 1: a 12529 --->aab 12530 ^^ b 12531 Callout 2: last capture = -1 12532 0: <unset> 12533 --->aab 12534 ^ ^ b 12535 0: aab 12536 aab\C+\O2 12537 Callout 1: last capture = 1 12538 0: <unset> 12539 --->aab 12540 ^ ^ b 12541 Callout 1: last capture = 1 12542 0: <unset> 12543 --->aab 12544 ^^ b 12545 Callout 2: last capture = -1 12546 0: <unset> 12547 --->aab 12548 ^ ^ b 12549 0: aab 12550 12551 /(ab)x|ab/ 12552 ab\O3 12553 0: ab 12554 ab\O2 12555 0: ab 12556 12557 /(ab)/ 12558 ab\O3 12559 Matched, but too many substrings 12560 0: ab 12561 ab\O2 12562 Matched, but too many substrings 12563 0: ab 12564 12565 /(?<=123)(*MARK:xx)abc/K 12566 xxxx123a\P\P 12567 Partial match at offset 7, mark=xx: 123a 12568 xxxx123a\P 12569 Partial match at offset 7, mark=xx: 123a 12570 12571 /123\Kabc/ 12572 xxxx123a\P\P 12573 Partial match: 123a 12574 xxxx123a\P 12575 Partial match: 123a 12576 12577 /^(?(?=a)aa|bb)/C 12578 bb 12579 --->bb 12580 +0 ^ ^ 12581 +1 ^ (?(?=a)aa|bb) 12582 +3 ^ (?=a) 12583 +6 ^ a 12584 +11 ^ b 12585 +12 ^^ b 12586 +13 ^ ^ ) 12587 +14 ^ ^ 12588 0: bb 12589 12590 /(?C1)^(?C2)(?(?C99)(?=(?C3)a(?C4))(?C5)a(?C6)a(?C7)|(?C8)b(?C9)b(?C10))(?C11)/ 12591 bb 12592 --->bb 12593 1 ^ ^ 12594 2 ^ (?(?C99)(?=(?C3)a(?C4))(?C5)a(?C6)a(?C7)|(?C8)b(?C9)b(?C10)) 12595 99 ^ (?=(?C3)a(?C4)) 12596 3 ^ a 12597 8 ^ b 12598 9 ^^ b 12599 10 ^ ^ ) 12600 11 ^ ^ 12601 0: bb 12602 12603 /-- Perl seems to have a bug with this one --/ 12604 12605 /aaaaa(*COMMIT)(*PRUNE)b|a+c/ 12606 aaaaaac 12607 0: aaaac 12608 12609 /-- Here are some that Perl treats differently because of the way it handles 12610 backtracking verbs. --/ 12611 12612 /(?!a(*COMMIT)b)ac|ad/ 12613 ac 12614 0: ac 12615 ad 12616 0: ad 12617 12618 /^(?!a(*THEN)b|ac)../ 12619 ac 12620 No match 12621 ad 12622 0: ad 12623 12624 /^(?=a(*THEN)b|ac)/ 12625 ac 12626 0: 12627 12628 /\A.*?(?:a|b(*THEN)c)/ 12629 ba 12630 0: ba 12631 12632 /\A.*?(?:a|b(*THEN)c)++/ 12633 ba 12634 0: ba 12635 12636 /\A.*?(?:a|b(*THEN)c|d)/ 12637 ba 12638 0: ba 12639 12640 /(?:(a(*MARK:X)a+(*SKIP:X)b)){0}(?:(?1)|aac)/ 12641 aac 12642 0: aac 12643 12644 /\A.*?(a|b(*THEN)c)/ 12645 ba 12646 0: ba 12647 1: a 12648 12649 /^(A(*THEN)B|A(*THEN)D)/ 12650 AD 12651 0: AD 12652 1: AD 12653 12654 /(?!b(*THEN)a)bn|bnn/ 12655 bnn 12656 0: bn 12657 12658 /(?(?=b(*SKIP)a)bn|bnn)/ 12659 bnn 12660 No match 12661 12662 /(?=b(*THEN)a|)bn|bnn/ 12663 bnn 12664 0: bn 12665 12666 /-------------------------/ 12667 12668 /(*LIMIT_MATCH=12bc)abc/ 12669 Failed: (*VERB) not recognized or malformed at offset 7 12670 12671 /(*LIMIT_MATCH=4294967290)abc/ 12672 Failed: (*VERB) not recognized or malformed at offset 7 12673 12674 /(*LIMIT_RECURSION=4294967280)abc/I 12675 Capturing subpattern count = 0 12676 Recursion limit = 4294967280 12677 No options 12678 First char = 'a' 12679 Need char = 'c' 12680 12681 /(a+)*zz/ 12682 aaaaaaaaaaaaaz 12683 No match 12684 aaaaaaaaaaaaaz\q3000 12685 Error -8 (match limit exceeded) 12686 12687 /(a+)*zz/S- 12688 aaaaaaaaaaaaaz\Q10 12689 Error -21 (recursion limit exceeded) 12690 12691 /(*LIMIT_MATCH=3000)(a+)*zz/I 12692 Capturing subpattern count = 1 12693 Match limit = 3000 12694 No options 12695 No first char 12696 Need char = 'z' 12697 aaaaaaaaaaaaaz 12698 Error -8 (match limit exceeded) 12699 aaaaaaaaaaaaaz\q60000 12700 Error -8 (match limit exceeded) 12701 12702 /(*LIMIT_MATCH=60000)(*LIMIT_MATCH=3000)(a+)*zz/I 12703 Capturing subpattern count = 1 12704 Match limit = 3000 12705 No options 12706 No first char 12707 Need char = 'z' 12708 aaaaaaaaaaaaaz 12709 Error -8 (match limit exceeded) 12710 12711 /(*LIMIT_MATCH=60000)(a+)*zz/I 12712 Capturing subpattern count = 1 12713 Match limit = 60000 12714 No options 12715 No first char 12716 Need char = 'z' 12717 aaaaaaaaaaaaaz 12718 No match 12719 aaaaaaaaaaaaaz\q3000 12720 Error -8 (match limit exceeded) 12721 12722 /(*LIMIT_RECURSION=10)(a+)*zz/IS- 12723 Capturing subpattern count = 1 12724 Recursion limit = 10 12725 No options 12726 No first char 12727 Need char = 'z' 12728 Subject length lower bound = 2 12729 Starting chars: a z 12730 aaaaaaaaaaaaaz 12731 Error -21 (recursion limit exceeded) 12732 aaaaaaaaaaaaaz\Q1000 12733 Error -21 (recursion limit exceeded) 12734 12735 /(*LIMIT_RECURSION=10)(*LIMIT_RECURSION=1000)(a+)*zz/IS- 12736 Capturing subpattern count = 1 12737 Recursion limit = 10 12738 No options 12739 No first char 12740 Need char = 'z' 12741 Subject length lower bound = 2 12742 Starting chars: a z 12743 aaaaaaaaaaaaaz 12744 Error -21 (recursion limit exceeded) 12745 12746 /(*LIMIT_RECURSION=1000)(a+)*zz/IS- 12747 Capturing subpattern count = 1 12748 Recursion limit = 1000 12749 No options 12750 No first char 12751 Need char = 'z' 12752 Subject length lower bound = 2 12753 Starting chars: a z 12754 aaaaaaaaaaaaaz 12755 No match 12756 aaaaaaaaaaaaaz\Q10 12757 Error -21 (recursion limit exceeded) 12758 12759 /-- This test causes a segfault with Perl 5.18.0 --/ 12760 12761 /^(?=(a)){0}b(?1)/ 12762 backgammon 12763 0: ba 12764 12765 /(?|(?<n>f)|(?<n>b))/JI 12766 Capturing subpattern count = 1 12767 Named capturing subpatterns: 12768 n 1 12769 Options: dupnames 12770 No first char 12771 No need char 12772 12773 /(?<a>abc)(?<a>z)\k<a>()/JDZS 12774 ------------------------------------------------------------------ 12775 Bra 12776 CBra 1 12777 abc 12778 Ket 12779 CBra 2 12780 z 12781 Ket 12782 \k<a>2 12783 CBra 3 12784 Ket 12785 Ket 12786 End 12787 ------------------------------------------------------------------ 12788 Capturing subpattern count = 3 12789 Max back reference = 2 12790 Named capturing subpatterns: 12791 a 1 12792 a 2 12793 Options: dupnames 12794 First char = 'a' 12795 Need char = 'z' 12796 Subject length lower bound = 5 12797 No starting char list 12798 12799 /a*[bcd]/BZ 12800 ------------------------------------------------------------------ 12801 Bra 12802 a*+ 12803 [b-d] 12804 Ket 12805 End 12806 ------------------------------------------------------------------ 12807 12808 /[bcd]*a/BZ 12809 ------------------------------------------------------------------ 12810 Bra 12811 [b-d]*+ 12812 a 12813 Ket 12814 End 12815 ------------------------------------------------------------------ 12816 12817 /-- A complete set of tests for auto-possessification of character types --/ 12818 12819 /\D+\D \D+\d \D+\S \D+\s \D+\W \D+\w \D+. \D+\C \D+\R \D+\H \D+\h \D+\V \D+\v \D+\Z \D+\z \D+$/BZx 12820 ------------------------------------------------------------------ 12821 Bra 12822 \D+ 12823 \D 12824 \D++ 12825 \d 12826 \D+ 12827 \S 12828 \D+ 12829 \s 12830 \D+ 12831 \W 12832 \D+ 12833 \w 12834 \D+ 12835 Any 12836 \D+ 12837 AllAny 12838 \D+ 12839 \R 12840 \D+ 12841 \H 12842 \D+ 12843 \h 12844 \D+ 12845 \V 12846 \D+ 12847 \v 12848 \D+ 12849 \Z 12850 \D++ 12851 \z 12852 \D+ 12853 $ 12854 Ket 12855 End 12856 ------------------------------------------------------------------ 12857 12858 /\d+\D \d+\d \d+\S \d+\s \d+\W \d+\w \d+. \d+\C \d+\R \d+\H \d+\h \d+\V \d+\v \d+\Z \d+\z \d+$/BZx 12859 ------------------------------------------------------------------ 12860 Bra 12861 \d++ 12862 \D 12863 \d+ 12864 \d 12865 \d+ 12866 \S 12867 \d++ 12868 \s 12869 \d++ 12870 \W 12871 \d+ 12872 \w 12873 \d+ 12874 Any 12875 \d+ 12876 AllAny 12877 \d++ 12878 \R 12879 \d+ 12880 \H 12881 \d++ 12882 \h 12883 \d+ 12884 \V 12885 \d++ 12886 \v 12887 \d++ 12888 \Z 12889 \d++ 12890 \z 12891 \d++ 12892 $ 12893 Ket 12894 End 12895 ------------------------------------------------------------------ 12896 12897 /\S+\D \S+\d \S+\S \S+\s \S+\W \S+\w \S+. \S+\C \S+\R \S+\H \S+\h \S+\V \S+\v \S+\Z \S+\z \S+$/BZx 12898 ------------------------------------------------------------------ 12899 Bra 12900 \S+ 12901 \D 12902 \S+ 12903 \d 12904 \S+ 12905 \S 12906 \S++ 12907 \s 12908 \S+ 12909 \W 12910 \S+ 12911 \w 12912 \S+ 12913 Any 12914 \S+ 12915 AllAny 12916 \S++ 12917 \R 12918 \S+ 12919 \H 12920 \S++ 12921 \h 12922 \S+ 12923 \V 12924 \S++ 12925 \v 12926 \S++ 12927 \Z 12928 \S++ 12929 \z 12930 \S++ 12931 $ 12932 Ket 12933 End 12934 ------------------------------------------------------------------ 12935 12936 /\s+\D \s+\d \s+\S \s+\s \s+\W \s+\w \s+. \s+\C \s+\R \s+\H \s+\h \s+\V \s+\v \s+\Z \s+\z \s+$/BZx 12937 ------------------------------------------------------------------ 12938 Bra 12939 \s+ 12940 \D 12941 \s++ 12942 \d 12943 \s++ 12944 \S 12945 \s+ 12946 \s 12947 \s+ 12948 \W 12949 \s++ 12950 \w 12951 \s+ 12952 Any 12953 \s+ 12954 AllAny 12955 \s+ 12956 \R 12957 \s+ 12958 \H 12959 \s+ 12960 \h 12961 \s+ 12962 \V 12963 \s+ 12964 \v 12965 \s+ 12966 \Z 12967 \s++ 12968 \z 12969 \s+ 12970 $ 12971 Ket 12972 End 12973 ------------------------------------------------------------------ 12974 12975 /\W+\D \W+\d \W+\S \W+\s \W+\W \W+\w \W+. \W+\C \W+\R \W+\H \W+\h \W+\V \W+\v \W+\Z \W+\z \W+$/BZx 12976 ------------------------------------------------------------------ 12977 Bra 12978 \W+ 12979 \D 12980 \W++ 12981 \d 12982 \W+ 12983 \S 12984 \W+ 12985 \s 12986 \W+ 12987 \W 12988 \W++ 12989 \w 12990 \W+ 12991 Any 12992 \W+ 12993 AllAny 12994 \W+ 12995 \R 12996 \W+ 12997 \H 12998 \W+ 12999 \h 13000 \W+ 13001 \V 13002 \W+ 13003 \v 13004 \W+ 13005 \Z 13006 \W++ 13007 \z 13008 \W+ 13009 $ 13010 Ket 13011 End 13012 ------------------------------------------------------------------ 13013 13014 /\w+\D \w+\d \w+\S \w+\s \w+\W \w+\w \w+. \w+\C \w+\R \w+\H \w+\h \w+\V \w+\v \w+\Z \w+\z \w+$/BZx 13015 ------------------------------------------------------------------ 13016 Bra 13017 \w+ 13018 \D 13019 \w+ 13020 \d 13021 \w+ 13022 \S 13023 \w++ 13024 \s 13025 \w++ 13026 \W 13027 \w+ 13028 \w 13029 \w+ 13030 Any 13031 \w+ 13032 AllAny 13033 \w++ 13034 \R 13035 \w+ 13036 \H 13037 \w++ 13038 \h 13039 \w+ 13040 \V 13041 \w++ 13042 \v 13043 \w++ 13044 \Z 13045 \w++ 13046 \z 13047 \w++ 13048 $ 13049 Ket 13050 End 13051 ------------------------------------------------------------------ 13052 13053 /\C+\D \C+\d \C+\S \C+\s \C+\W \C+\w \C+. \C+\C \C+\R \C+\H \C+\h \C+\V \C+\v \C+\Z \C+\z \C+$/BZx 13054 ------------------------------------------------------------------ 13055 Bra 13056 AllAny+ 13057 \D 13058 AllAny+ 13059 \d 13060 AllAny+ 13061 \S 13062 AllAny+ 13063 \s 13064 AllAny+ 13065 \W 13066 AllAny+ 13067 \w 13068 AllAny+ 13069 Any 13070 AllAny+ 13071 AllAny 13072 AllAny+ 13073 \R 13074 AllAny+ 13075 \H 13076 AllAny+ 13077 \h 13078 AllAny+ 13079 \V 13080 AllAny+ 13081 \v 13082 AllAny+ 13083 \Z 13084 AllAny++ 13085 \z 13086 AllAny+ 13087 $ 13088 Ket 13089 End 13090 ------------------------------------------------------------------ 13091 13092 /\R+\D \R+\d \R+\S \R+\s \R+\W \R+\w \R+. \R+\C \R+\R \R+\H \R+\h \R+\V \R+\v \R+\Z \R+\z \R+$/BZx 13093 ------------------------------------------------------------------ 13094 Bra 13095 \R+ 13096 \D 13097 \R++ 13098 \d 13099 \R+ 13100 \S 13101 \R++ 13102 \s 13103 \R+ 13104 \W 13105 \R++ 13106 \w 13107 \R++ 13108 Any 13109 \R+ 13110 AllAny 13111 \R+ 13112 \R 13113 \R+ 13114 \H 13115 \R++ 13116 \h 13117 \R+ 13118 \V 13119 \R+ 13120 \v 13121 \R+ 13122 \Z 13123 \R++ 13124 \z 13125 \R+ 13126 $ 13127 Ket 13128 End 13129 ------------------------------------------------------------------ 13130 13131 /\H+\D \H+\d \H+\S \H+\s \H+\W \H+\w \H+. \H+\C \H+\R \H+\H \H+\h \H+\V \H+\v \H+\Z \H+\z \H+$/BZx 13132 ------------------------------------------------------------------ 13133 Bra 13134 \H+ 13135 \D 13136 \H+ 13137 \d 13138 \H+ 13139 \S 13140 \H+ 13141 \s 13142 \H+ 13143 \W 13144 \H+ 13145 \w 13146 \H+ 13147 Any 13148 \H+ 13149 AllAny 13150 \H+ 13151 \R 13152 \H+ 13153 \H 13154 \H++ 13155 \h 13156 \H+ 13157 \V 13158 \H+ 13159 \v 13160 \H+ 13161 \Z 13162 \H++ 13163 \z 13164 \H+ 13165 $ 13166 Ket 13167 End 13168 ------------------------------------------------------------------ 13169 13170 /\h+\D \h+\d \h+\S \h+\s \h+\W \h+\w \h+. \h+\C \h+\R \h+\H \h+\h \h+\V \h+\v \h+\Z \h+\z \h+$/BZx 13171 ------------------------------------------------------------------ 13172 Bra 13173 \h+ 13174 \D 13175 \h++ 13176 \d 13177 \h++ 13178 \S 13179 \h+ 13180 \s 13181 \h+ 13182 \W 13183 \h++ 13184 \w 13185 \h+ 13186 Any 13187 \h+ 13188 AllAny 13189 \h++ 13190 \R 13191 \h++ 13192 \H 13193 \h+ 13194 \h 13195 \h+ 13196 \V 13197 \h++ 13198 \v 13199 \h+ 13200 \Z 13201 \h++ 13202 \z 13203 \h+ 13204 $ 13205 Ket 13206 End 13207 ------------------------------------------------------------------ 13208 13209 /\V+\D \V+\d \V+\S \V+\s \V+\W \V+\w \V+. \V+\C \V+\R \V+\H \V+\h \V+\V \V+\v \V+\Z \V+\z \V+$/BZx 13210 ------------------------------------------------------------------ 13211 Bra 13212 \V+ 13213 \D 13214 \V+ 13215 \d 13216 \V+ 13217 \S 13218 \V+ 13219 \s 13220 \V+ 13221 \W 13222 \V+ 13223 \w 13224 \V+ 13225 Any 13226 \V+ 13227 AllAny 13228 \V++ 13229 \R 13230 \V+ 13231 \H 13232 \V+ 13233 \h 13234 \V+ 13235 \V 13236 \V++ 13237 \v 13238 \V+ 13239 \Z 13240 \V++ 13241 \z 13242 \V+ 13243 $ 13244 Ket 13245 End 13246 ------------------------------------------------------------------ 13247 13248 /\v+\D \v+\d \v+\S \v+\s \v+\W \v+\w \v+. \v+\C \v+\R \v+\H \v+\h \v+\V \v+\v \v+\Z \v+\z \v+$/BZx 13249 ------------------------------------------------------------------ 13250 Bra 13251 \v+ 13252 \D 13253 \v++ 13254 \d 13255 \v++ 13256 \S 13257 \v+ 13258 \s 13259 \v+ 13260 \W 13261 \v++ 13262 \w 13263 \v+ 13264 Any 13265 \v+ 13266 AllAny 13267 \v+ 13268 \R 13269 \v+ 13270 \H 13271 \v++ 13272 \h 13273 \v++ 13274 \V 13275 \v+ 13276 \v 13277 \v+ 13278 \Z 13279 \v++ 13280 \z 13281 \v+ 13282 $ 13283 Ket 13284 End 13285 ------------------------------------------------------------------ 13286 13287 / a+\D a+\d a+\S a+\s a+\W a+\w a+. a+\C a+\R a+\H a+\h a+\V a+\v a+\Z a+\z a+$/BZx 13288 ------------------------------------------------------------------ 13289 Bra 13290 a+ 13291 \D 13292 a++ 13293 \d 13294 a+ 13295 \S 13296 a++ 13297 \s 13298 a++ 13299 \W 13300 a+ 13301 \w 13302 a+ 13303 Any 13304 a+ 13305 AllAny 13306 a++ 13307 \R 13308 a+ 13309 \H 13310 a++ 13311 \h 13312 a+ 13313 \V 13314 a++ 13315 \v 13316 a++ 13317 \Z 13318 a++ 13319 \z 13320 a++ 13321 $ 13322 Ket 13323 End 13324 ------------------------------------------------------------------ 13325 13326 /\n+\D \n+\d \n+\S \n+\s \n+\W \n+\w \n+. \n+\C \n+\R \n+\H \n+\h \n+\V \n+\v \n+\Z \n+\z \n+$/BZx 13327 ------------------------------------------------------------------ 13328 Bra 13329 \x0a+ 13330 \D 13331 \x0a++ 13332 \d 13333 \x0a++ 13334 \S 13335 \x0a+ 13336 \s 13337 \x0a+ 13338 \W 13339 \x0a++ 13340 \w 13341 \x0a+ 13342 Any 13343 \x0a+ 13344 AllAny 13345 \x0a+ 13346 \R 13347 \x0a+ 13348 \H 13349 \x0a++ 13350 \h 13351 \x0a++ 13352 \V 13353 \x0a+ 13354 \v 13355 \x0a+ 13356 \Z 13357 \x0a++ 13358 \z 13359 \x0a+ 13360 $ 13361 Ket 13362 End 13363 ------------------------------------------------------------------ 13364 13365 / .+\D .+\d .+\S .+\s .+\W .+\w .+. .+\C .+\R .+\H .+\h .+\V .+\v .+\Z .+\z .+$/BZx 13366 ------------------------------------------------------------------ 13367 Bra 13368 Any+ 13369 \D 13370 Any+ 13371 \d 13372 Any+ 13373 \S 13374 Any+ 13375 \s 13376 Any+ 13377 \W 13378 Any+ 13379 \w 13380 Any+ 13381 Any 13382 Any+ 13383 AllAny 13384 Any++ 13385 \R 13386 Any+ 13387 \H 13388 Any+ 13389 \h 13390 Any+ 13391 \V 13392 Any+ 13393 \v 13394 Any+ 13395 \Z 13396 Any++ 13397 \z 13398 Any+ 13399 $ 13400 Ket 13401 End 13402 ------------------------------------------------------------------ 13403 13404 / .+\D .+\d .+\S .+\s .+\W .+\w .+. .+\C .+\R .+\H .+\h .+\V .+\v .+\Z .+\z .+$/BZxs 13405 ------------------------------------------------------------------ 13406 Bra 13407 AllAny+ 13408 \D 13409 AllAny+ 13410 \d 13411 AllAny+ 13412 \S 13413 AllAny+ 13414 \s 13415 AllAny+ 13416 \W 13417 AllAny+ 13418 \w 13419 AllAny+ 13420 AllAny 13421 AllAny+ 13422 AllAny 13423 AllAny+ 13424 \R 13425 AllAny+ 13426 \H 13427 AllAny+ 13428 \h 13429 AllAny+ 13430 \V 13431 AllAny+ 13432 \v 13433 AllAny+ 13434 \Z 13435 AllAny++ 13436 \z 13437 AllAny+ 13438 $ 13439 Ket 13440 End 13441 ------------------------------------------------------------------ 13442 13443 /\D+$ \d+$ \S+$ \s+$ \W+$ \w+$ \C+$ \R+$ \H+$ \h+$ \V+$ \v+$ a+$ \n+$ .+$ .+$/BZxm 13444 ------------------------------------------------------------------ 13445 Bra 13446 \D+ 13447 /m $ 13448 \d++ 13449 /m $ 13450 \S++ 13451 /m $ 13452 \s+ 13453 /m $ 13454 \W+ 13455 /m $ 13456 \w++ 13457 /m $ 13458 AllAny+ 13459 /m $ 13460 \R+ 13461 /m $ 13462 \H+ 13463 /m $ 13464 \h+ 13465 /m $ 13466 \V+ 13467 /m $ 13468 \v+ 13469 /m $ 13470 a+ 13471 /m $ 13472 \x0a+ 13473 /m $ 13474 Any+ 13475 /m $ 13476 Any+ 13477 /m $ 13478 Ket 13479 End 13480 ------------------------------------------------------------------ 13481 13482 /(?=a+)a(a+)++a/BZ 13483 ------------------------------------------------------------------ 13484 Bra 13485 Assert 13486 a++ 13487 Ket 13488 a 13489 CBraPos 1 13490 a++ 13491 KetRpos 13492 a 13493 Ket 13494 End 13495 ------------------------------------------------------------------ 13496 13497 /a+(bb|cc)a+(?:bb|cc)a+(?>bb|cc)a+(?:bb|cc)+a+(aa)a+(?:bb|aa)/BZ 13498 ------------------------------------------------------------------ 13499 Bra 13500 a++ 13501 CBra 1 13502 bb 13503 Alt 13504 cc 13505 Ket 13506 a++ 13507 Bra 13508 bb 13509 Alt 13510 cc 13511 Ket 13512 a++ 13513 Once_NC 13514 bb 13515 Alt 13516 cc 13517 Ket 13518 a++ 13519 Bra 13520 bb 13521 Alt 13522 cc 13523 KetRmax 13524 a+ 13525 CBra 2 13526 aa 13527 Ket 13528 a+ 13529 Bra 13530 bb 13531 Alt 13532 aa 13533 Ket 13534 Ket 13535 End 13536 ------------------------------------------------------------------ 13537 13538 /a+(bb|cc)?#a+(?:bb|cc)??#a+(?:bb|cc)?+#a+(?:bb|cc)*#a+(bb|cc)?a#a+(?:aa)?/BZ 13539 ------------------------------------------------------------------ 13540 Bra 13541 a++ 13542 Brazero 13543 CBra 1 13544 bb 13545 Alt 13546 cc 13547 Ket 13548 # 13549 a++ 13550 Braminzero 13551 Bra 13552 bb 13553 Alt 13554 cc 13555 Ket 13556 # 13557 a++ 13558 Once 13559 Brazero 13560 Bra 13561 bb 13562 Alt 13563 cc 13564 Ket 13565 Ket 13566 # 13567 a++ 13568 Brazero 13569 Bra 13570 bb 13571 Alt 13572 cc 13573 KetRmax 13574 # 13575 a+ 13576 Brazero 13577 CBra 2 13578 bb 13579 Alt 13580 cc 13581 Ket 13582 a# 13583 a+ 13584 Brazero 13585 Bra 13586 aa 13587 Ket 13588 Ket 13589 End 13590 ------------------------------------------------------------------ 13591 13592 /a+(?:bb)?a#a+(?:|||)#a+(?:|b)a#a+(?:|||)?a/BZ 13593 ------------------------------------------------------------------ 13594 Bra 13595 a+ 13596 Brazero 13597 Bra 13598 bb 13599 Ket 13600 a# 13601 a++ 13602 Bra 13603 Alt 13604 Alt 13605 Alt 13606 Ket 13607 # 13608 a+ 13609 Bra 13610 Alt 13611 b 13612 Ket 13613 a# 13614 a+ 13615 Brazero 13616 Bra 13617 Alt 13618 Alt 13619 Alt 13620 Ket 13621 a 13622 Ket 13623 End 13624 ------------------------------------------------------------------ 13625 13626 /[ab]*/BZ 13627 ------------------------------------------------------------------ 13628 Bra 13629 [ab]*+ 13630 Ket 13631 End 13632 ------------------------------------------------------------------ 13633 aaaa 13634 0: aaaa 13635 13636 /[ab]*?/BZ 13637 ------------------------------------------------------------------ 13638 Bra 13639 [ab]*? 13640 Ket 13641 End 13642 ------------------------------------------------------------------ 13643 aaaa 13644 0: 13645 13646 /[ab]?/BZ 13647 ------------------------------------------------------------------ 13648 Bra 13649 [ab]?+ 13650 Ket 13651 End 13652 ------------------------------------------------------------------ 13653 aaaa 13654 0: a 13655 13656 /[ab]??/BZ 13657 ------------------------------------------------------------------ 13658 Bra 13659 [ab]?? 13660 Ket 13661 End 13662 ------------------------------------------------------------------ 13663 aaaa 13664 0: 13665 13666 /[ab]+/BZ 13667 ------------------------------------------------------------------ 13668 Bra 13669 [ab]++ 13670 Ket 13671 End 13672 ------------------------------------------------------------------ 13673 aaaa 13674 0: aaaa 13675 13676 /[ab]+?/BZ 13677 ------------------------------------------------------------------ 13678 Bra 13679 [ab]+? 13680 Ket 13681 End 13682 ------------------------------------------------------------------ 13683 aaaa 13684 0: a 13685 13686 /[ab]{2,3}/BZ 13687 ------------------------------------------------------------------ 13688 Bra 13689 [ab]{2,3}+ 13690 Ket 13691 End 13692 ------------------------------------------------------------------ 13693 aaaa 13694 0: aaa 13695 13696 /[ab]{2,3}?/BZ 13697 ------------------------------------------------------------------ 13698 Bra 13699 [ab]{2,3}? 13700 Ket 13701 End 13702 ------------------------------------------------------------------ 13703 aaaa 13704 0: aa 13705 13706 /[ab]{2,}/BZ 13707 ------------------------------------------------------------------ 13708 Bra 13709 [ab]{2,}+ 13710 Ket 13711 End 13712 ------------------------------------------------------------------ 13713 aaaa 13714 0: aaaa 13715 13716 /[ab]{2,}?/BZ 13717 ------------------------------------------------------------------ 13718 Bra 13719 [ab]{2,}? 13720 Ket 13721 End 13722 ------------------------------------------------------------------ 13723 aaaa 13724 0: aa 13725 13726 /\d+\s{0,5}=\s*\S?=\w{0,4}\W*/BZ 13727 ------------------------------------------------------------------ 13728 Bra 13729 \d++ 13730 \s{0,5}+ 13731 = 13732 \s*+ 13733 \S? 13734 = 13735 \w{0,4}+ 13736 \W*+ 13737 Ket 13738 End 13739 ------------------------------------------------------------------ 13740 13741 /[a-d]{5,12}[e-z0-9]*#[^a-z]+[b-y]*a[2-7]?[^0-9a-z]+/BZ 13742 ------------------------------------------------------------------ 13743 Bra 13744 [a-d]{5,12}+ 13745 [0-9e-z]*+ 13746 # 13747 [\x00-`{-\xff] (neg)++ 13748 [b-y]*+ 13749 a 13750 [2-7]?+ 13751 [\x00-/:-`{-\xff] (neg)++ 13752 Ket 13753 End 13754 ------------------------------------------------------------------ 13755 13756 /[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/BZ 13757 ------------------------------------------------------------------ 13758 Bra 13759 [a-z]*+ 13760 \s 13761 # 13762 [\x09 ]?+ 13763 \S 13764 # 13765 [a-c]* 13766 \S 13767 # 13768 [C-G]++ 13769 \d 13770 # 13771 [4-8]*+ 13772 \D 13773 # 13774 [,4-9]* 13775 \D 13776 # 13777 [!$]{0,5}+ 13778 \w 13779 # 13780 [M-Xf-l]++ 13781 \W 13782 # 13783 [,a-c]? 13784 \W 13785 Ket 13786 End 13787 ------------------------------------------------------------------ 13788 13789 /a+(aa|bb)*c#a*(bb|cc)*a#a?(bb|cc)*d#[a-f]*(g|hh)*f/BZ 13790 ------------------------------------------------------------------ 13791 Bra 13792 a+ 13793 Brazero 13794 CBra 1 13795 aa 13796 Alt 13797 bb 13798 KetRmax 13799 c# 13800 a* 13801 Brazero 13802 CBra 2 13803 bb 13804 Alt 13805 cc 13806 KetRmax 13807 a# 13808 a?+ 13809 Brazero 13810 CBra 3 13811 bb 13812 Alt 13813 cc 13814 KetRmax 13815 d# 13816 [a-f]* 13817 Brazero 13818 CBra 4 13819 g 13820 Alt 13821 hh 13822 KetRmax 13823 f 13824 Ket 13825 End 13826 ------------------------------------------------------------------ 13827 13828 /[a-f]*(g|hh|i)*i#[a-x]{4,}(y{0,6})*y#[a-k]+(ll|mm)+n/BZ 13829 ------------------------------------------------------------------ 13830 Bra 13831 [a-f]*+ 13832 Brazero 13833 CBra 1 13834 g 13835 Alt 13836 hh 13837 Alt 13838 i 13839 KetRmax 13840 i# 13841 [a-x]{4,} 13842 Brazero 13843 SCBra 2 13844 y{0,6} 13845 KetRmax 13846 y# 13847 [a-k]++ 13848 CBra 3 13849 ll 13850 Alt 13851 mm 13852 KetRmax 13853 n 13854 Ket 13855 End 13856 ------------------------------------------------------------------ 13857 13858 /[a-f]*(?>gg|hh)+#[a-f]*(?>gg|hh)?#[a-f]*(?>gg|hh)*a#[a-f]*(?>gg|hh)*h/BZ 13859 ------------------------------------------------------------------ 13860 Bra 13861 [a-f]*+ 13862 Once_NC 13863 gg 13864 Alt 13865 hh 13866 KetRmax 13867 # 13868 [a-f]*+ 13869 Brazero 13870 Once_NC 13871 gg 13872 Alt 13873 hh 13874 Ket 13875 # 13876 [a-f]* 13877 Brazero 13878 Once_NC 13879 gg 13880 Alt 13881 hh 13882 KetRmax 13883 a# 13884 [a-f]*+ 13885 Brazero 13886 Once_NC 13887 gg 13888 Alt 13889 hh 13890 KetRmax 13891 h 13892 Ket 13893 End 13894 ------------------------------------------------------------------ 13895 13896 /[a-c]*d/DZS 13897 ------------------------------------------------------------------ 13898 Bra 13899 [a-c]*+ 13900 d 13901 Ket 13902 End 13903 ------------------------------------------------------------------ 13904 Capturing subpattern count = 0 13905 No options 13906 No first char 13907 Need char = 'd' 13908 Subject length lower bound = 1 13909 Starting chars: a b c d 13910 13911 /[a-c]+d/DZS 13912 ------------------------------------------------------------------ 13913 Bra 13914 [a-c]++ 13915 d 13916 Ket 13917 End 13918 ------------------------------------------------------------------ 13919 Capturing subpattern count = 0 13920 No options 13921 No first char 13922 Need char = 'd' 13923 Subject length lower bound = 2 13924 Starting chars: a b c 13925 13926 /[a-c]?d/DZS 13927 ------------------------------------------------------------------ 13928 Bra 13929 [a-c]?+ 13930 d 13931 Ket 13932 End 13933 ------------------------------------------------------------------ 13934 Capturing subpattern count = 0 13935 No options 13936 No first char 13937 Need char = 'd' 13938 Subject length lower bound = 1 13939 Starting chars: a b c d 13940 13941 /[a-c]{4,6}d/DZS 13942 ------------------------------------------------------------------ 13943 Bra 13944 [a-c]{4,6}+ 13945 d 13946 Ket 13947 End 13948 ------------------------------------------------------------------ 13949 Capturing subpattern count = 0 13950 No options 13951 No first char 13952 Need char = 'd' 13953 Subject length lower bound = 5 13954 Starting chars: a b c 13955 13956 /[a-c]{0,6}d/DZS 13957 ------------------------------------------------------------------ 13958 Bra 13959 [a-c]{0,6}+ 13960 d 13961 Ket 13962 End 13963 ------------------------------------------------------------------ 13964 Capturing subpattern count = 0 13965 No options 13966 No first char 13967 Need char = 'd' 13968 Subject length lower bound = 1 13969 Starting chars: a b c d 13970 13971 /-- End of special auto-possessive tests --/ 13972 13973 /^A\o{1239}B/ 13974 Failed: non-octal character in \o{} (closing brace missing?) at offset 8 13975 13976 /^A\oB/ 13977 Failed: missing opening brace after \o at offset 3 13978 13979 /^A\x{zz}B/ 13980 Failed: non-hex character in \x{} (closing brace missing?) at offset 5 13981 13982 /^A\x{12Z/ 13983 Failed: non-hex character in \x{} (closing brace missing?) at offset 7 13984 13985 /^A\x{/ 13986 Failed: non-hex character in \x{} (closing brace missing?) at offset 5 13987 13988 /[ab]++/BZO 13989 ------------------------------------------------------------------ 13990 Bra 13991 [ab]++ 13992 Ket 13993 End 13994 ------------------------------------------------------------------ 13995 13996 /[^ab]*+/BZO 13997 ------------------------------------------------------------------ 13998 Bra 13999 [\x00-`c-\xff] (neg)*+ 14000 Ket 14001 End 14002 ------------------------------------------------------------------ 14003 14004 /a{4}+/BZO 14005 ------------------------------------------------------------------ 14006 Bra 14007 a{4} 14008 Ket 14009 End 14010 ------------------------------------------------------------------ 14011 14012 /a{4}+/BZOi 14013 ------------------------------------------------------------------ 14014 Bra 14015 /i a{4} 14016 Ket 14017 End 14018 ------------------------------------------------------------------ 14019 14020 /[a-[:digit:]]+/ 14021 Failed: invalid range in character class at offset 3 14022 14023 /[A-[:digit:]]+/ 14024 Failed: invalid range in character class at offset 3 14025 14026 /[a-[.xxx.]]+/ 14027 Failed: invalid range in character class at offset 3 14028 14029 /[a-[=xxx=]]+/ 14030 Failed: invalid range in character class at offset 3 14031 14032 /[a-[!xxx!]]+/ 14033 Failed: range out of order in character class at offset 3 14034 14035 /[A-[!xxx!]]+/ 14036 A]]] 14037 0: A]]] 14038 14039 /[a-\d]+/ 14040 Failed: invalid range in character class at offset 4 14041 14042 /(?<0abc>xx)/ 14043 Failed: group name must start with a non-digit at offset 3 14044 14045 /(?&1abc)xx(?<1abc>y)/ 14046 Failed: group name must start with a non-digit at offset 3 14047 14048 /(?<ab-cd>xx)/ 14049 Failed: syntax error in subpattern name (missing terminator) at offset 5 14050 14051 /(?'0abc'xx)/ 14052 Failed: group name must start with a non-digit at offset 3 14053 14054 /(?P<0abc>xx)/ 14055 Failed: group name must start with a non-digit at offset 4 14056 14057 /\k<5ghj>/ 14058 Failed: group name must start with a non-digit at offset 3 14059 14060 /\k'5ghj'/ 14061 Failed: group name must start with a non-digit at offset 3 14062 14063 /\k{2fgh}/ 14064 Failed: group name must start with a non-digit at offset 3 14065 14066 /(?P=8yuki)/ 14067 Failed: group name must start with a non-digit at offset 4 14068 14069 /\g{4df}/ 14070 Failed: group name must start with a non-digit at offset 3 14071 14072 /(?&1abc)xx(?<1abc>y)/ 14073 Failed: group name must start with a non-digit at offset 3 14074 14075 /(?P>1abc)xx(?<1abc>y)/ 14076 Failed: group name must start with a non-digit at offset 4 14077 14078 /\g'3gh'/ 14079 Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 7 14080 14081 /\g<5fg>/ 14082 Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 7 14083 14084 /(?(<4gh>)abc)/ 14085 Failed: group name must start with a non-digit at offset 4 14086 14087 /(?('4gh')abc)/ 14088 Failed: group name must start with a non-digit at offset 4 14089 14090 /(?(4gh)abc)/ 14091 Failed: malformed number or name after (?( at offset 4 14092 14093 /(?(R&6yh)abc)/ 14094 Failed: group name must start with a non-digit at offset 5 14095 14096 /(((a\2)|(a*)\g<-1>))*a?/BZ 14097 ------------------------------------------------------------------ 14098 Bra 14099 Brazero 14100 SCBra 1 14101 Once 14102 CBra 2 14103 CBra 3 14104 a 14105 \2 14106 Ket 14107 Alt 14108 CBra 4 14109 a* 14110 Ket 14111 Recurse 14112 Ket 14113 Ket 14114 KetRmax 14115 a?+ 14116 Ket 14117 End 14118 ------------------------------------------------------------------ 14119 14120 /-- Test the ugly "start or end of word" compatibility syntax --/ 14121 14122 /[[:<:]]red[[:>:]]/BZ 14123 ------------------------------------------------------------------ 14124 Bra 14125 \b 14126 Assert 14127 \w 14128 Ket 14129 red 14130 \b 14131 AssertB 14132 Reverse 14133 \w 14134 Ket 14135 Ket 14136 End 14137 ------------------------------------------------------------------ 14138 little red riding hood 14139 0: red 14140 a /red/ thing 14141 0: red 14142 red is a colour 14143 0: red 14144 put it all on red 14145 0: red 14146 ** Failers 14147 No match 14148 no reduction 14149 No match 14150 Alfred Winifred 14151 No match 14152 14153 /[a[:<:]] should give error/ 14154 Failed: unknown POSIX class name at offset 4 14155 14156 /(?=ab\K)/+ 14157 abcd 14158 Start of matched string is beyond its end - displaying from end to start. 14159 0: ab 14160 0+ abcd 14161 14162 /abcd/f<lf> 14163 xx\nxabcd 14164 No match 14165 14166 / -- Test stack check external calls --/ 14167 14168 /(((((a)))))/Q0 14169 14170 /(((((a)))))/Q1 14171 Failed: parentheses are too deeply nested (stack check) at offset 0 14172 14173 /(((((a)))))/Q 14174 ** Missing 0 or 1 after /Q 14175 14176 /^\w+(?>\s*)(?<=\w)/BZ 14177 ------------------------------------------------------------------ 14178 Bra 14179 ^ 14180 \w+ 14181 Once_NC 14182 \s*+ 14183 Ket 14184 AssertB 14185 Reverse 14186 \w 14187 Ket 14188 Ket 14189 End 14190 ------------------------------------------------------------------ 14191 14192 /\othing/ 14193 Failed: missing opening brace after \o at offset 1 14194 14195 /\o{}/ 14196 Failed: digits missing in \x{} or \o{} at offset 1 14197 14198 /\o{whatever}/ 14199 Failed: non-octal character in \o{} (closing brace missing?) at offset 3 14200 14201 /\xthing/ 14202 14203 /\x{}/ 14204 Failed: digits missing in \x{} or \o{} at offset 3 14205 14206 /\x{whatever}/ 14207 Failed: non-hex character in \x{} (closing brace missing?) at offset 3 14208 14209 /-- End of testinput2 --/ 14210