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: assertion expected after (?( at offset 3 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 Max back reference = 1 1570 No options 1571 First char = 'a' 1572 No need char 1573 1574 /a(?(1)bag|big)(.)/I 1575 Capturing subpattern count = 1 1576 Max back reference = 1 1577 No options 1578 First char = 'a' 1579 Need char = 'g' 1580 1581 /a(?(1)bag|big)*(.)/I 1582 Capturing subpattern count = 1 1583 Max back reference = 1 1584 No options 1585 First char = 'a' 1586 No need char 1587 1588 /a(?(1)bag|big)+(.)/I 1589 Capturing subpattern count = 1 1590 Max back reference = 1 1591 No options 1592 First char = 'a' 1593 Need char = 'g' 1594 1595 /a(?(1)b..|b..)(.)/I 1596 Capturing subpattern count = 1 1597 Max back reference = 1 1598 No options 1599 First char = 'a' 1600 Need char = 'b' 1601 1602 /ab\d{0}e/I 1603 Capturing subpattern count = 0 1604 No options 1605 First char = 'a' 1606 Need char = 'e' 1607 1608 /a?b?/I 1609 Capturing subpattern count = 0 1610 May match empty string 1611 No options 1612 No first char 1613 No need char 1614 a 1615 0: a 1616 b 1617 0: b 1618 ab 1619 0: ab 1620 \ 1621 0: 1622 *** Failers 1623 0: 1624 \N 1625 No match 1626 1627 /|-/I 1628 Capturing subpattern count = 0 1629 May match empty string 1630 No options 1631 No first char 1632 No need char 1633 abcd 1634 0: 1635 -abc 1636 0: 1637 \Nab-c 1638 0: - 1639 *** Failers 1640 0: 1641 \Nabc 1642 No match 1643 1644 /^.?abcd/IS 1645 Capturing subpattern count = 0 1646 Options: anchored 1647 No first char 1648 Need char = 'd' 1649 Subject length lower bound = 4 1650 No starting char list 1651 1652 /\( # ( at start 1653 (?: # Non-capturing bracket 1654 (?>[^()]+) # Either a sequence of non-brackets (no backtracking) 1655 | # Or 1656 (?R) # Recurse - i.e. nested bracketed string 1657 )* # Zero or more contents 1658 \) # Closing ) 1659 /Ix 1660 Capturing subpattern count = 0 1661 Options: extended 1662 First char = '(' 1663 Need char = ')' 1664 (abcd) 1665 0: (abcd) 1666 (abcd)xyz 1667 0: (abcd) 1668 xyz(abcd) 1669 0: (abcd) 1670 (ab(xy)cd)pqr 1671 0: (ab(xy)cd) 1672 (ab(xycd)pqr 1673 0: (xycd) 1674 () abc () 1675 0: () 1676 12(abcde(fsh)xyz(foo(bar))lmno)89 1677 0: (abcde(fsh)xyz(foo(bar))lmno) 1678 *** Failers 1679 No match 1680 abcd 1681 No match 1682 abcd) 1683 No match 1684 (abcd 1685 No match 1686 1687 /\( ( (?>[^()]+) | (?R) )* \) /Ixg 1688 Capturing subpattern count = 1 1689 Options: extended 1690 First char = '(' 1691 Need char = ')' 1692 (ab(xy)cd)pqr 1693 0: (ab(xy)cd) 1694 1: cd 1695 1(abcd)(x(y)z)pqr 1696 0: (abcd) 1697 1: abcd 1698 0: (x(y)z) 1699 1: z 1700 1701 /\( (?: (?>[^()]+) | (?R) ) \) /Ix 1702 Capturing subpattern count = 0 1703 Options: extended 1704 First char = '(' 1705 Need char = ')' 1706 (abcd) 1707 0: (abcd) 1708 (ab(xy)cd) 1709 0: (xy) 1710 (a(b(c)d)e) 1711 0: (c) 1712 ((ab)) 1713 0: ((ab)) 1714 *** Failers 1715 No match 1716 () 1717 No match 1718 1719 /\( (?: (?>[^()]+) | (?R) )? \) /Ix 1720 Capturing subpattern count = 0 1721 Options: extended 1722 First char = '(' 1723 Need char = ')' 1724 () 1725 0: () 1726 12(abcde(fsh)xyz(foo(bar))lmno)89 1727 0: (fsh) 1728 1729 /\( ( (?>[^()]+) | (?R) )* \) /Ix 1730 Capturing subpattern count = 1 1731 Options: extended 1732 First char = '(' 1733 Need char = ')' 1734 (ab(xy)cd) 1735 0: (ab(xy)cd) 1736 1: cd 1737 1738 /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix 1739 Capturing subpattern count = 2 1740 Options: extended 1741 First char = '(' 1742 Need char = ')' 1743 (ab(xy)cd) 1744 0: (ab(xy)cd) 1745 1: ab(xy)cd 1746 2: cd 1747 1748 /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix 1749 Capturing subpattern count = 3 1750 Options: extended 1751 First char = '(' 1752 Need char = ')' 1753 (ab(xy)cd) 1754 0: (ab(xy)cd) 1755 1: <unset> 1756 2: ab(xy)cd 1757 3: cd 1758 (123ab(xy)cd) 1759 0: (123ab(xy)cd) 1760 1: 123 1761 2: ab(xy)cd 1762 3: cd 1763 1764 /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix 1765 Capturing subpattern count = 3 1766 Options: extended 1767 First char = '(' 1768 Need char = ')' 1769 (ab(xy)cd) 1770 0: (ab(xy)cd) 1771 1: ab(xy)cd 1772 2: <unset> 1773 3: cd 1774 (123ab(xy)cd) 1775 0: (123ab(xy)cd) 1776 1: 123ab(xy)cd 1777 2: 123 1778 3: cd 1779 1780 /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix 1781 Capturing subpattern count = 11 1782 Options: extended 1783 First char = '(' 1784 Need char = ')' 1785 (ab(xy)cd) 1786 0: (ab(xy)cd) 1787 1: ab(xy)cd 1788 2: ab(xy)cd 1789 3: ab(xy)cd 1790 4: ab(xy)cd 1791 5: ab(xy)cd 1792 6: ab(xy)cd 1793 7: ab(xy)cd 1794 8: ab(xy)cd 1795 9: ab(xy)cd 1796 10: ab(xy)cd 1797 11: cd 1798 1799 /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix 1800 Capturing subpattern count = 3 1801 Options: extended 1802 First char = '(' 1803 Need char = ')' 1804 (abcd(xyz<p>qrs)123) 1805 0: (abcd(xyz<p>qrs)123) 1806 1: abcd(xyz<p>qrs)123 1807 2: 123 1808 1809 /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix 1810 Capturing subpattern count = 3 1811 Options: extended 1812 First char = '(' 1813 Need char = ')' 1814 (ab(cd)ef) 1815 0: (ab(cd)ef) 1816 1: ab(cd)ef 1817 2: ef 1818 3: (cd) 1819 (ab(cd(ef)gh)ij) 1820 0: (ab(cd(ef)gh)ij) 1821 1: ab(cd(ef)gh)ij 1822 2: ij 1823 3: (cd(ef)gh) 1824 1825 /^[[:alnum:]]/DZ 1826 ------------------------------------------------------------------ 1827 Bra 1828 ^ 1829 [0-9A-Za-z] 1830 Ket 1831 End 1832 ------------------------------------------------------------------ 1833 Capturing subpattern count = 0 1834 Options: anchored 1835 No first char 1836 No need char 1837 1838 /^[[:^alnum:]]/DZ 1839 ------------------------------------------------------------------ 1840 Bra 1841 ^ 1842 [\x00-/:-@[-`{-\xff] (neg) 1843 Ket 1844 End 1845 ------------------------------------------------------------------ 1846 Capturing subpattern count = 0 1847 Options: anchored 1848 No first char 1849 No need char 1850 1851 /^[[:alpha:]]/DZ 1852 ------------------------------------------------------------------ 1853 Bra 1854 ^ 1855 [A-Za-z] 1856 Ket 1857 End 1858 ------------------------------------------------------------------ 1859 Capturing subpattern count = 0 1860 Options: anchored 1861 No first char 1862 No need char 1863 1864 /^[[:^alpha:]]/DZ 1865 ------------------------------------------------------------------ 1866 Bra 1867 ^ 1868 [\x00-@[-`{-\xff] (neg) 1869 Ket 1870 End 1871 ------------------------------------------------------------------ 1872 Capturing subpattern count = 0 1873 Options: anchored 1874 No first char 1875 No need char 1876 1877 /[_[:alpha:]]/IS 1878 Capturing subpattern count = 0 1879 No options 1880 No first char 1881 No need char 1882 Subject length lower bound = 1 1883 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 1884 _ 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 1885 1886 /^[[:ascii:]]/DZ 1887 ------------------------------------------------------------------ 1888 Bra 1889 ^ 1890 [\x00-\x7f] 1891 Ket 1892 End 1893 ------------------------------------------------------------------ 1894 Capturing subpattern count = 0 1895 Options: anchored 1896 No first char 1897 No need char 1898 1899 /^[[:^ascii:]]/DZ 1900 ------------------------------------------------------------------ 1901 Bra 1902 ^ 1903 [\x80-\xff] (neg) 1904 Ket 1905 End 1906 ------------------------------------------------------------------ 1907 Capturing subpattern count = 0 1908 Options: anchored 1909 No first char 1910 No need char 1911 1912 /^[[:blank:]]/DZ 1913 ------------------------------------------------------------------ 1914 Bra 1915 ^ 1916 [\x09 ] 1917 Ket 1918 End 1919 ------------------------------------------------------------------ 1920 Capturing subpattern count = 0 1921 Options: anchored 1922 No first char 1923 No need char 1924 1925 /^[[:^blank:]]/DZ 1926 ------------------------------------------------------------------ 1927 Bra 1928 ^ 1929 [\x00-\x08\x0a-\x1f!-\xff] (neg) 1930 Ket 1931 End 1932 ------------------------------------------------------------------ 1933 Capturing subpattern count = 0 1934 Options: anchored 1935 No first char 1936 No need char 1937 1938 /[\n\x0b\x0c\x0d[:blank:]]/IS 1939 Capturing subpattern count = 0 1940 Contains explicit CR or LF match 1941 No options 1942 No first char 1943 No need char 1944 Subject length lower bound = 1 1945 Starting chars: \x09 \x0a \x0b \x0c \x0d \x20 1946 1947 /^[[:cntrl:]]/DZ 1948 ------------------------------------------------------------------ 1949 Bra 1950 ^ 1951 [\x00-\x1f\x7f] 1952 Ket 1953 End 1954 ------------------------------------------------------------------ 1955 Capturing subpattern count = 0 1956 Options: anchored 1957 No first char 1958 No need char 1959 1960 /^[[:digit:]]/DZ 1961 ------------------------------------------------------------------ 1962 Bra 1963 ^ 1964 [0-9] 1965 Ket 1966 End 1967 ------------------------------------------------------------------ 1968 Capturing subpattern count = 0 1969 Options: anchored 1970 No first char 1971 No need char 1972 1973 /^[[:graph:]]/DZ 1974 ------------------------------------------------------------------ 1975 Bra 1976 ^ 1977 [!-~] 1978 Ket 1979 End 1980 ------------------------------------------------------------------ 1981 Capturing subpattern count = 0 1982 Options: anchored 1983 No first char 1984 No need char 1985 1986 /^[[:lower:]]/DZ 1987 ------------------------------------------------------------------ 1988 Bra 1989 ^ 1990 [a-z] 1991 Ket 1992 End 1993 ------------------------------------------------------------------ 1994 Capturing subpattern count = 0 1995 Options: anchored 1996 No first char 1997 No need char 1998 1999 /^[[:print:]]/DZ 2000 ------------------------------------------------------------------ 2001 Bra 2002 ^ 2003 [ -~] 2004 Ket 2005 End 2006 ------------------------------------------------------------------ 2007 Capturing subpattern count = 0 2008 Options: anchored 2009 No first char 2010 No need char 2011 2012 /^[[:punct:]]/DZ 2013 ------------------------------------------------------------------ 2014 Bra 2015 ^ 2016 [!-/:-@[-`{-~] 2017 Ket 2018 End 2019 ------------------------------------------------------------------ 2020 Capturing subpattern count = 0 2021 Options: anchored 2022 No first char 2023 No need char 2024 2025 /^[[:space:]]/DZ 2026 ------------------------------------------------------------------ 2027 Bra 2028 ^ 2029 [\x09-\x0d ] 2030 Ket 2031 End 2032 ------------------------------------------------------------------ 2033 Capturing subpattern count = 0 2034 Options: anchored 2035 No first char 2036 No need char 2037 2038 /^[[:upper:]]/DZ 2039 ------------------------------------------------------------------ 2040 Bra 2041 ^ 2042 [A-Z] 2043 Ket 2044 End 2045 ------------------------------------------------------------------ 2046 Capturing subpattern count = 0 2047 Options: anchored 2048 No first char 2049 No need char 2050 2051 /^[[:xdigit:]]/DZ 2052 ------------------------------------------------------------------ 2053 Bra 2054 ^ 2055 [0-9A-Fa-f] 2056 Ket 2057 End 2058 ------------------------------------------------------------------ 2059 Capturing subpattern count = 0 2060 Options: anchored 2061 No first char 2062 No need char 2063 2064 /^[[:word:]]/DZ 2065 ------------------------------------------------------------------ 2066 Bra 2067 ^ 2068 [0-9A-Z_a-z] 2069 Ket 2070 End 2071 ------------------------------------------------------------------ 2072 Capturing subpattern count = 0 2073 Options: anchored 2074 No first char 2075 No need char 2076 2077 /^[[:^cntrl:]]/DZ 2078 ------------------------------------------------------------------ 2079 Bra 2080 ^ 2081 [ -~\x80-\xff] (neg) 2082 Ket 2083 End 2084 ------------------------------------------------------------------ 2085 Capturing subpattern count = 0 2086 Options: anchored 2087 No first char 2088 No need char 2089 2090 /^[12[:^digit:]]/DZ 2091 ------------------------------------------------------------------ 2092 Bra 2093 ^ 2094 [\x00-/12:-\xff] (neg) 2095 Ket 2096 End 2097 ------------------------------------------------------------------ 2098 Capturing subpattern count = 0 2099 Options: anchored 2100 No first char 2101 No need char 2102 2103 /^[[:^blank:]]/DZ 2104 ------------------------------------------------------------------ 2105 Bra 2106 ^ 2107 [\x00-\x08\x0a-\x1f!-\xff] (neg) 2108 Ket 2109 End 2110 ------------------------------------------------------------------ 2111 Capturing subpattern count = 0 2112 Options: anchored 2113 No first char 2114 No need char 2115 2116 /[01[:alpha:]%]/DZ 2117 ------------------------------------------------------------------ 2118 Bra 2119 [%01A-Za-z] 2120 Ket 2121 End 2122 ------------------------------------------------------------------ 2123 Capturing subpattern count = 0 2124 No options 2125 No first char 2126 No need char 2127 2128 /[[.ch.]]/I 2129 Failed: POSIX collating elements are not supported at offset 1 2130 2131 /[[=ch=]]/I 2132 Failed: POSIX collating elements are not supported at offset 1 2133 2134 /[[:rhubarb:]]/I 2135 Failed: unknown POSIX class name at offset 3 2136 2137 /[[:upper:]]/Ii 2138 Capturing subpattern count = 0 2139 Options: caseless 2140 No first char 2141 No need char 2142 A 2143 0: A 2144 a 2145 0: a 2146 2147 /[[:lower:]]/Ii 2148 Capturing subpattern count = 0 2149 Options: caseless 2150 No first char 2151 No need char 2152 A 2153 0: A 2154 a 2155 0: a 2156 2157 /((?-i)[[:lower:]])[[:lower:]]/Ii 2158 Capturing subpattern count = 1 2159 Options: caseless 2160 No first char 2161 No need char 2162 ab 2163 0: ab 2164 1: a 2165 aB 2166 0: aB 2167 1: a 2168 *** Failers 2169 0: ai 2170 1: a 2171 Ab 2172 No match 2173 AB 2174 No match 2175 2176 /[\200-\110]/I 2177 Failed: range out of order in character class at offset 9 2178 2179 /^(?(0)f|b)oo/I 2180 Failed: invalid condition (?(0) at offset 6 2181 2182 /This one's here because of the large output vector needed/I 2183 Capturing subpattern count = 0 2184 No options 2185 First char = 'T' 2186 Need char = 'd' 2187 2188 /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\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 2189 Capturing subpattern count = 271 2190 Max back reference = 270 2191 No options 2192 No first char 2193 No need char 2194 \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 2195 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 2196 1: 1 2197 2: 2 2198 3: 3 2199 4: 4 2200 5: 5 2201 6: 6 2202 7: 7 2203 8: 8 2204 9: 9 2205 10: 10 2206 11: 11 2207 12: 12 2208 13: 13 2209 14: 14 2210 15: 15 2211 16: 16 2212 17: 17 2213 18: 18 2214 19: 19 2215 20: 20 2216 21: 21 2217 22: 22 2218 23: 23 2219 24: 24 2220 25: 25 2221 26: 26 2222 27: 27 2223 28: 28 2224 29: 29 2225 30: 30 2226 31: 31 2227 32: 32 2228 33: 33 2229 34: 34 2230 35: 35 2231 36: 36 2232 37: 37 2233 38: 38 2234 39: 39 2235 40: 40 2236 41: 41 2237 42: 42 2238 43: 43 2239 44: 44 2240 45: 45 2241 46: 46 2242 47: 47 2243 48: 48 2244 49: 49 2245 50: 50 2246 51: 51 2247 52: 52 2248 53: 53 2249 54: 54 2250 55: 55 2251 56: 56 2252 57: 57 2253 58: 58 2254 59: 59 2255 60: 60 2256 61: 61 2257 62: 62 2258 63: 63 2259 64: 64 2260 65: 65 2261 66: 66 2262 67: 67 2263 68: 68 2264 69: 69 2265 70: 70 2266 71: 71 2267 72: 72 2268 73: 73 2269 74: 74 2270 75: 75 2271 76: 76 2272 77: 77 2273 78: 78 2274 79: 79 2275 80: 80 2276 81: 81 2277 82: 82 2278 83: 83 2279 84: 84 2280 85: 85 2281 86: 86 2282 87: 87 2283 88: 88 2284 89: 89 2285 90: 90 2286 91: 91 2287 92: 92 2288 93: 93 2289 94: 94 2290 95: 95 2291 96: 96 2292 97: 97 2293 98: 98 2294 99: 99 2295 100: 100 2296 101: 101 2297 102: 102 2298 103: 103 2299 104: 104 2300 105: 105 2301 106: 106 2302 107: 107 2303 108: 108 2304 109: 109 2305 110: 110 2306 111: 111 2307 112: 112 2308 113: 113 2309 114: 114 2310 115: 115 2311 116: 116 2312 117: 117 2313 118: 118 2314 119: 119 2315 120: 120 2316 121: 121 2317 122: 122 2318 123: 123 2319 124: 124 2320 125: 125 2321 126: 126 2322 127: 127 2323 128: 128 2324 129: 129 2325 130: 130 2326 131: 131 2327 132: 132 2328 133: 133 2329 134: 134 2330 135: 135 2331 136: 136 2332 137: 137 2333 138: 138 2334 139: 139 2335 140: 140 2336 141: 141 2337 142: 142 2338 143: 143 2339 144: 144 2340 145: 145 2341 146: 146 2342 147: 147 2343 148: 148 2344 149: 149 2345 150: 150 2346 151: 151 2347 152: 152 2348 153: 153 2349 154: 154 2350 155: 155 2351 156: 156 2352 157: 157 2353 158: 158 2354 159: 159 2355 160: 160 2356 161: 161 2357 162: 162 2358 163: 163 2359 164: 164 2360 165: 165 2361 166: 166 2362 167: 167 2363 168: 168 2364 169: 169 2365 170: 170 2366 171: 171 2367 172: 172 2368 173: 173 2369 174: 174 2370 175: 175 2371 176: 176 2372 177: 177 2373 178: 178 2374 179: 179 2375 180: 180 2376 181: 181 2377 182: 182 2378 183: 183 2379 184: 184 2380 185: 185 2381 186: 186 2382 187: 187 2383 188: 188 2384 189: 189 2385 190: 190 2386 191: 191 2387 192: 192 2388 193: 193 2389 194: 194 2390 195: 195 2391 196: 196 2392 197: 197 2393 198: 198 2394 199: 199 2395 200: 200 2396 201: 201 2397 202: 202 2398 203: 203 2399 204: 204 2400 205: 205 2401 206: 206 2402 207: 207 2403 208: 208 2404 209: 209 2405 210: 210 2406 211: 211 2407 212: 212 2408 213: 213 2409 214: 214 2410 215: 215 2411 216: 216 2412 217: 217 2413 218: 218 2414 219: 219 2415 220: 220 2416 221: 221 2417 222: 222 2418 223: 223 2419 224: 224 2420 225: 225 2421 226: 226 2422 227: 227 2423 228: 228 2424 229: 229 2425 230: 230 2426 231: 231 2427 232: 232 2428 233: 233 2429 234: 234 2430 235: 235 2431 236: 236 2432 237: 237 2433 238: 238 2434 239: 239 2435 240: 240 2436 241: 241 2437 242: 242 2438 243: 243 2439 244: 244 2440 245: 245 2441 246: 246 2442 247: 247 2443 248: 248 2444 249: 249 2445 250: 250 2446 251: 251 2447 252: 252 2448 253: 253 2449 254: 254 2450 255: 255 2451 256: 256 2452 257: 257 2453 258: 258 2454 259: 259 2455 260: 260 2456 261: 261 2457 262: 262 2458 263: 263 2459 264: 264 2460 265: 265 2461 266: 266 2462 267: 267 2463 268: 268 2464 269: 269 2465 270: ABC 2466 271: ABC 2467 2468 /This one's here because Perl does this differently and PCRE can't at present/I 2469 Capturing subpattern count = 0 2470 No options 2471 First char = 'T' 2472 Need char = 't' 2473 2474 /(main(O)?)+/I 2475 Capturing subpattern count = 2 2476 No options 2477 First char = 'm' 2478 Need char = 'n' 2479 mainmain 2480 0: mainmain 2481 1: main 2482 mainOmain 2483 0: mainOmain 2484 1: main 2485 2: O 2486 2487 /These are all cases where Perl does it differently (nested captures)/I 2488 Capturing subpattern count = 1 2489 No options 2490 First char = 'T' 2491 Need char = 's' 2492 2493 /^(a(b)?)+$/I 2494 Capturing subpattern count = 2 2495 Options: anchored 2496 No first char 2497 No need char 2498 aba 2499 0: aba 2500 1: a 2501 2: b 2502 2503 /^(aa(bb)?)+$/I 2504 Capturing subpattern count = 2 2505 Options: anchored 2506 No first char 2507 No need char 2508 aabbaa 2509 0: aabbaa 2510 1: aa 2511 2: bb 2512 2513 /^(aa|aa(bb))+$/I 2514 Capturing subpattern count = 2 2515 Options: anchored 2516 No first char 2517 No need char 2518 aabbaa 2519 0: aabbaa 2520 1: aa 2521 2: bb 2522 2523 /^(aa(bb)??)+$/I 2524 Capturing subpattern count = 2 2525 Options: anchored 2526 No first char 2527 No need char 2528 aabbaa 2529 0: aabbaa 2530 1: aa 2531 2: bb 2532 2533 /^(?:aa(bb)?)+$/I 2534 Capturing subpattern count = 1 2535 Options: anchored 2536 No first char 2537 No need char 2538 aabbaa 2539 0: aabbaa 2540 1: bb 2541 2542 /^(aa(b(b))?)+$/I 2543 Capturing subpattern count = 3 2544 Options: anchored 2545 No first char 2546 No need char 2547 aabbaa 2548 0: aabbaa 2549 1: aa 2550 2: bb 2551 3: b 2552 2553 /^(?:aa(b(b))?)+$/I 2554 Capturing subpattern count = 2 2555 Options: anchored 2556 No first char 2557 No need char 2558 aabbaa 2559 0: aabbaa 2560 1: bb 2561 2: b 2562 2563 /^(?:aa(b(?:b))?)+$/I 2564 Capturing subpattern count = 1 2565 Options: anchored 2566 No first char 2567 No need char 2568 aabbaa 2569 0: aabbaa 2570 1: bb 2571 2572 /^(?:aa(bb(?:b))?)+$/I 2573 Capturing subpattern count = 1 2574 Options: anchored 2575 No first char 2576 No need char 2577 aabbbaa 2578 0: aabbbaa 2579 1: bbb 2580 2581 /^(?:aa(b(?:bb))?)+$/I 2582 Capturing subpattern count = 1 2583 Options: anchored 2584 No first char 2585 No need char 2586 aabbbaa 2587 0: aabbbaa 2588 1: bbb 2589 2590 /^(?:aa(?:b(b))?)+$/I 2591 Capturing subpattern count = 1 2592 Options: anchored 2593 No first char 2594 No need char 2595 aabbaa 2596 0: aabbaa 2597 1: b 2598 2599 /^(?:aa(?:b(bb))?)+$/I 2600 Capturing subpattern count = 1 2601 Options: anchored 2602 No first char 2603 No need char 2604 aabbbaa 2605 0: aabbbaa 2606 1: bb 2607 2608 /^(aa(b(bb))?)+$/I 2609 Capturing subpattern count = 3 2610 Options: anchored 2611 No first char 2612 No need char 2613 aabbbaa 2614 0: aabbbaa 2615 1: aa 2616 2: bbb 2617 3: bb 2618 2619 /^(aa(bb(bb))?)+$/I 2620 Capturing subpattern count = 3 2621 Options: anchored 2622 No first char 2623 No need char 2624 aabbbbaa 2625 0: aabbbbaa 2626 1: aa 2627 2: bbbb 2628 3: bb 2629 2630 /--------------------------------------------------------------------/I 2631 Capturing subpattern count = 0 2632 No options 2633 First char = '-' 2634 Need char = '-' 2635 2636 /#/IxDZ 2637 ------------------------------------------------------------------ 2638 Bra 2639 Ket 2640 End 2641 ------------------------------------------------------------------ 2642 Capturing subpattern count = 0 2643 May match empty string 2644 Options: extended 2645 No first char 2646 No need char 2647 2648 /a#/IxDZ 2649 ------------------------------------------------------------------ 2650 Bra 2651 a 2652 Ket 2653 End 2654 ------------------------------------------------------------------ 2655 Capturing subpattern count = 0 2656 Options: extended 2657 First char = 'a' 2658 No need char 2659 2660 /[\s]/DZ 2661 ------------------------------------------------------------------ 2662 Bra 2663 [\x09-\x0d ] 2664 Ket 2665 End 2666 ------------------------------------------------------------------ 2667 Capturing subpattern count = 0 2668 No options 2669 No first char 2670 No need char 2671 2672 /[\S]/DZ 2673 ------------------------------------------------------------------ 2674 Bra 2675 [\x00-\x08\x0e-\x1f!-\xff] (neg) 2676 Ket 2677 End 2678 ------------------------------------------------------------------ 2679 Capturing subpattern count = 0 2680 No options 2681 No first char 2682 No need char 2683 2684 /a(?i)b/DZ 2685 ------------------------------------------------------------------ 2686 Bra 2687 a 2688 /i b 2689 Ket 2690 End 2691 ------------------------------------------------------------------ 2692 Capturing subpattern count = 0 2693 No options 2694 First char = 'a' 2695 Need char = 'b' (caseless) 2696 ab 2697 0: ab 2698 aB 2699 0: aB 2700 *** Failers 2701 No match 2702 AB 2703 No match 2704 2705 /(a(?i)b)/DZ 2706 ------------------------------------------------------------------ 2707 Bra 2708 CBra 1 2709 a 2710 /i b 2711 Ket 2712 Ket 2713 End 2714 ------------------------------------------------------------------ 2715 Capturing subpattern count = 1 2716 No options 2717 First char = 'a' 2718 Need char = 'b' (caseless) 2719 ab 2720 0: ab 2721 1: ab 2722 aB 2723 0: aB 2724 1: aB 2725 *** Failers 2726 No match 2727 AB 2728 No match 2729 2730 / (?i)abc/IxDZ 2731 ------------------------------------------------------------------ 2732 Bra 2733 /i abc 2734 Ket 2735 End 2736 ------------------------------------------------------------------ 2737 Capturing subpattern count = 0 2738 Options: caseless extended 2739 First char = 'a' (caseless) 2740 Need char = 'c' (caseless) 2741 2742 /#this is a comment 2743 (?i)abc/IxDZ 2744 ------------------------------------------------------------------ 2745 Bra 2746 /i abc 2747 Ket 2748 End 2749 ------------------------------------------------------------------ 2750 Capturing subpattern count = 0 2751 Options: caseless extended 2752 First char = 'a' (caseless) 2753 Need char = 'c' (caseless) 2754 2755 /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ 2756 ------------------------------------------------------------------ 2757 Bra 2758 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 2759 Ket 2760 End 2761 ------------------------------------------------------------------ 2762 Capturing subpattern count = 0 2763 No options 2764 First char = '1' 2765 Need char = '0' 2766 2767 /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ 2768 ------------------------------------------------------------------ 2769 Bra 2770 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 2771 Ket 2772 End 2773 ------------------------------------------------------------------ 2774 Capturing subpattern count = 0 2775 No options 2776 First char = '1' 2777 Need char = '0' 2778 2779 /\Q\E/DZ 2780 ------------------------------------------------------------------ 2781 Bra 2782 Ket 2783 End 2784 ------------------------------------------------------------------ 2785 Capturing subpattern count = 0 2786 May match empty string 2787 No options 2788 No first char 2789 No need char 2790 \ 2791 0: 2792 2793 /\Q\Ex/DZ 2794 ------------------------------------------------------------------ 2795 Bra 2796 x 2797 Ket 2798 End 2799 ------------------------------------------------------------------ 2800 Capturing subpattern count = 0 2801 No options 2802 First char = 'x' 2803 No need char 2804 2805 / \Q\E/DZ 2806 ------------------------------------------------------------------ 2807 Bra 2808 2809 Ket 2810 End 2811 ------------------------------------------------------------------ 2812 Capturing subpattern count = 0 2813 No options 2814 First char = ' ' 2815 No need char 2816 2817 /a\Q\E/DZ 2818 ------------------------------------------------------------------ 2819 Bra 2820 a 2821 Ket 2822 End 2823 ------------------------------------------------------------------ 2824 Capturing subpattern count = 0 2825 No options 2826 First char = 'a' 2827 No need char 2828 abc 2829 0: a 2830 bca 2831 0: a 2832 bac 2833 0: a 2834 2835 /a\Q\Eb/DZ 2836 ------------------------------------------------------------------ 2837 Bra 2838 ab 2839 Ket 2840 End 2841 ------------------------------------------------------------------ 2842 Capturing subpattern count = 0 2843 No options 2844 First char = 'a' 2845 Need char = 'b' 2846 abc 2847 0: ab 2848 2849 /\Q\Eabc/DZ 2850 ------------------------------------------------------------------ 2851 Bra 2852 abc 2853 Ket 2854 End 2855 ------------------------------------------------------------------ 2856 Capturing subpattern count = 0 2857 No options 2858 First char = 'a' 2859 Need char = 'c' 2860 2861 /x*+\w/DZ 2862 ------------------------------------------------------------------ 2863 Bra 2864 x*+ 2865 \w 2866 Ket 2867 End 2868 ------------------------------------------------------------------ 2869 Capturing subpattern count = 0 2870 No options 2871 No first char 2872 No need char 2873 *** Failers 2874 0: F 2875 xxxxx 2876 No match 2877 2878 /x?+/DZ 2879 ------------------------------------------------------------------ 2880 Bra 2881 x?+ 2882 Ket 2883 End 2884 ------------------------------------------------------------------ 2885 Capturing subpattern count = 0 2886 May match empty string 2887 No options 2888 No first char 2889 No need char 2890 2891 /x++/DZ 2892 ------------------------------------------------------------------ 2893 Bra 2894 x++ 2895 Ket 2896 End 2897 ------------------------------------------------------------------ 2898 Capturing subpattern count = 0 2899 No options 2900 First char = 'x' 2901 No need char 2902 2903 /x{1,3}+/BZO 2904 ------------------------------------------------------------------ 2905 Bra 2906 x 2907 x{0,2}+ 2908 Ket 2909 End 2910 ------------------------------------------------------------------ 2911 2912 /x{1,3}+/BZOi 2913 ------------------------------------------------------------------ 2914 Bra 2915 /i x 2916 /i x{0,2}+ 2917 Ket 2918 End 2919 ------------------------------------------------------------------ 2920 2921 /[^x]{1,3}+/BZO 2922 ------------------------------------------------------------------ 2923 Bra 2924 [^x] 2925 [^x]{0,2}+ 2926 Ket 2927 End 2928 ------------------------------------------------------------------ 2929 2930 /[^x]{1,3}+/BZOi 2931 ------------------------------------------------------------------ 2932 Bra 2933 /i [^x] 2934 /i [^x]{0,2}+ 2935 Ket 2936 End 2937 ------------------------------------------------------------------ 2938 2939 /(x)*+/DZ 2940 ------------------------------------------------------------------ 2941 Bra 2942 Braposzero 2943 CBraPos 1 2944 x 2945 KetRpos 2946 Ket 2947 End 2948 ------------------------------------------------------------------ 2949 Capturing subpattern count = 1 2950 May match empty string 2951 No options 2952 No first char 2953 No need char 2954 2955 /^(\w++|\s++)*$/I 2956 Capturing subpattern count = 1 2957 May match empty string 2958 Options: anchored 2959 No first char 2960 No need char 2961 now is the time for all good men to come to the aid of the party 2962 0: now is the time for all good men to come to the aid of the party 2963 1: party 2964 *** Failers 2965 No match 2966 this is not a line with only words and spaces! 2967 No match 2968 2969 /(\d++)(\w)/I 2970 Capturing subpattern count = 2 2971 No options 2972 No first char 2973 No need char 2974 12345a 2975 0: 12345a 2976 1: 12345 2977 2: a 2978 *** Failers 2979 No match 2980 12345+ 2981 No match 2982 2983 /a++b/I 2984 Capturing subpattern count = 0 2985 No options 2986 First char = 'a' 2987 Need char = 'b' 2988 aaab 2989 0: aaab 2990 2991 /(a++b)/I 2992 Capturing subpattern count = 1 2993 No options 2994 First char = 'a' 2995 Need char = 'b' 2996 aaab 2997 0: aaab 2998 1: aaab 2999 3000 /(a++)b/I 3001 Capturing subpattern count = 1 3002 No options 3003 First char = 'a' 3004 Need char = 'b' 3005 aaab 3006 0: aaab 3007 1: aaa 3008 3009 /([^()]++|\([^()]*\))+/I 3010 Capturing subpattern count = 1 3011 No options 3012 No first char 3013 No need char 3014 ((abc(ade)ufh()()x 3015 0: abc(ade)ufh()()x 3016 1: x 3017 3018 /\(([^()]++|\([^()]+\))+\)/I 3019 Capturing subpattern count = 1 3020 No options 3021 First char = '(' 3022 Need char = ')' 3023 (abc) 3024 0: (abc) 3025 1: abc 3026 (abc(def)xyz) 3027 0: (abc(def)xyz) 3028 1: xyz 3029 *** Failers 3030 No match 3031 ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 3032 No match 3033 3034 /(abc){1,3}+/DZ 3035 ------------------------------------------------------------------ 3036 Bra 3037 Once 3038 CBra 1 3039 abc 3040 Ket 3041 Brazero 3042 Bra 3043 CBra 1 3044 abc 3045 Ket 3046 Brazero 3047 CBra 1 3048 abc 3049 Ket 3050 Ket 3051 Ket 3052 Ket 3053 End 3054 ------------------------------------------------------------------ 3055 Capturing subpattern count = 1 3056 No options 3057 First char = 'a' 3058 Need char = 'c' 3059 3060 /a+?+/I 3061 Failed: nothing to repeat at offset 3 3062 3063 /a{2,3}?+b/I 3064 Failed: nothing to repeat at offset 7 3065 3066 /(?U)a+?+/I 3067 Failed: nothing to repeat at offset 7 3068 3069 /a{2,3}?+b/IU 3070 Failed: nothing to repeat at offset 7 3071 3072 /x(?U)a++b/DZ 3073 ------------------------------------------------------------------ 3074 Bra 3075 x 3076 a++ 3077 b 3078 Ket 3079 End 3080 ------------------------------------------------------------------ 3081 Capturing subpattern count = 0 3082 No options 3083 First char = 'x' 3084 Need char = 'b' 3085 xaaaab 3086 0: xaaaab 3087 3088 /(?U)xa++b/DZ 3089 ------------------------------------------------------------------ 3090 Bra 3091 x 3092 a++ 3093 b 3094 Ket 3095 End 3096 ------------------------------------------------------------------ 3097 Capturing subpattern count = 0 3098 Options: ungreedy 3099 First char = 'x' 3100 Need char = 'b' 3101 xaaaab 3102 0: xaaaab 3103 3104 /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/DZ 3105 ------------------------------------------------------------------ 3106 Bra 3107 ^ 3108 CBra 1 3109 CBra 2 3110 a+ 3111 Ket 3112 CBra 3 3113 [ab]+? 3114 Ket 3115 CBra 4 3116 [bc]+ 3117 Ket 3118 CBra 5 3119 \w*+ 3120 Ket 3121 Ket 3122 Ket 3123 End 3124 ------------------------------------------------------------------ 3125 Capturing subpattern count = 5 3126 Options: anchored 3127 No first char 3128 No need char 3129 3130 /^x(?U)a+b/DZ 3131 ------------------------------------------------------------------ 3132 Bra 3133 ^ 3134 x 3135 a++ 3136 b 3137 Ket 3138 End 3139 ------------------------------------------------------------------ 3140 Capturing subpattern count = 0 3141 Options: anchored 3142 No first char 3143 Need char = 'b' 3144 3145 /^x(?U)(a+)b/DZ 3146 ------------------------------------------------------------------ 3147 Bra 3148 ^ 3149 x 3150 CBra 1 3151 a+? 3152 Ket 3153 b 3154 Ket 3155 End 3156 ------------------------------------------------------------------ 3157 Capturing subpattern count = 1 3158 Options: anchored 3159 No first char 3160 Need char = 'b' 3161 3162 /[.x.]/I 3163 Failed: POSIX collating elements are not supported at offset 0 3164 3165 /[=x=]/I 3166 Failed: POSIX collating elements are not supported at offset 0 3167 3168 /[:x:]/I 3169 Failed: POSIX named classes are supported only within a class at offset 0 3170 3171 /\l/I 3172 Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1 3173 3174 /\L/I 3175 Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1 3176 3177 /\N{name}/I 3178 Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1 3179 3180 /\u/I 3181 Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1 3182 3183 /\U/I 3184 Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1 3185 3186 /a{1,3}b/U 3187 ab 3188 0: ab 3189 3190 /[/I 3191 Failed: missing terminating ] for character class at offset 1 3192 3193 /[a-/I 3194 Failed: missing terminating ] for character class at offset 3 3195 3196 /[[:space:]/I 3197 Failed: missing terminating ] for character class at offset 10 3198 3199 /[\s]/IDZ 3200 ------------------------------------------------------------------ 3201 Bra 3202 [\x09-\x0d ] 3203 Ket 3204 End 3205 ------------------------------------------------------------------ 3206 Capturing subpattern count = 0 3207 No options 3208 No first char 3209 No need char 3210 3211 /[[:space:]]/IDZ 3212 ------------------------------------------------------------------ 3213 Bra 3214 [\x09-\x0d ] 3215 Ket 3216 End 3217 ------------------------------------------------------------------ 3218 Capturing subpattern count = 0 3219 No options 3220 No first char 3221 No need char 3222 3223 /[[:space:]abcde]/IDZ 3224 ------------------------------------------------------------------ 3225 Bra 3226 [\x09-\x0d a-e] 3227 Ket 3228 End 3229 ------------------------------------------------------------------ 3230 Capturing subpattern count = 0 3231 No options 3232 No first char 3233 No need char 3234 3235 /< (?: (?(R) \d++ | [^<>]*+) | (?R)) * >/Ix 3236 Capturing subpattern count = 0 3237 Options: extended 3238 First char = '<' 3239 Need char = '>' 3240 <> 3241 0: <> 3242 <abcd> 3243 0: <abcd> 3244 <abc <123> hij> 3245 0: <abc <123> hij> 3246 <abc <def> hij> 3247 0: <def> 3248 <abc<>def> 3249 0: <abc<>def> 3250 <abc<> 3251 0: <> 3252 *** Failers 3253 No match 3254 <abc 3255 No match 3256 3257 |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 3258 ------------------------------------------------------------------ 3259 Bra 3260 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 3261 \b 3262 Ket 3263 End 3264 ------------------------------------------------------------------ 3265 Capturing subpattern count = 0 3266 Max lookbehind = 1 3267 No options 3268 First char = '8' 3269 Need char = 'X' 3270 3271 |\$\<\.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 3272 ------------------------------------------------------------------ 3273 Bra 3274 $<.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 3275 \b 3276 Ket 3277 End 3278 ------------------------------------------------------------------ 3279 Capturing subpattern count = 0 3280 Max lookbehind = 1 3281 No options 3282 First char = '$' 3283 Need char = 'X' 3284 3285 /(.*)\d+\1/I 3286 Capturing subpattern count = 1 3287 Max back reference = 1 3288 No options 3289 No first char 3290 No need char 3291 3292 /(.*)\d+/I 3293 Capturing subpattern count = 1 3294 No options 3295 First char at start or follows newline 3296 No need char 3297 3298 /(.*)\d+\1/Is 3299 Capturing subpattern count = 1 3300 Max back reference = 1 3301 Options: dotall 3302 No first char 3303 No need char 3304 3305 /(.*)\d+/Is 3306 Capturing subpattern count = 1 3307 Options: anchored dotall 3308 No first char 3309 No need char 3310 3311 /(.*(xyz))\d+\2/I 3312 Capturing subpattern count = 2 3313 Max back reference = 2 3314 No options 3315 First char at start or follows newline 3316 Need char = 'z' 3317 3318 /((.*))\d+\1/I 3319 Capturing subpattern count = 2 3320 Max back reference = 1 3321 No options 3322 No first char 3323 No need char 3324 abc123bc 3325 0: bc123bc 3326 1: bc 3327 2: bc 3328 3329 /a[b]/I 3330 Capturing subpattern count = 0 3331 No options 3332 First char = 'a' 3333 Need char = 'b' 3334 3335 /(?=a).*/I 3336 Capturing subpattern count = 0 3337 May match empty string 3338 No options 3339 First char = 'a' 3340 No need char 3341 3342 /(?=abc).xyz/IiI 3343 Capturing subpattern count = 0 3344 Options: caseless 3345 First char = 'a' (caseless) 3346 Need char = 'z' (caseless) 3347 3348 /(?=abc)(?i).xyz/I 3349 Capturing subpattern count = 0 3350 No options 3351 First char = 'a' 3352 Need char = 'z' (caseless) 3353 3354 /(?=a)(?=b)/I 3355 Capturing subpattern count = 0 3356 May match empty string 3357 No options 3358 First char = 'a' 3359 No need char 3360 3361 /(?=.)a/I 3362 Capturing subpattern count = 0 3363 No options 3364 First char = 'a' 3365 No need char 3366 3367 /((?=abcda)a)/I 3368 Capturing subpattern count = 1 3369 No options 3370 First char = 'a' 3371 Need char = 'a' 3372 3373 /((?=abcda)ab)/I 3374 Capturing subpattern count = 1 3375 No options 3376 First char = 'a' 3377 Need char = 'b' 3378 3379 /()a/I 3380 Capturing subpattern count = 1 3381 No options 3382 No first char 3383 Need char = 'a' 3384 3385 /(?(1)ab|ac)(.)/I 3386 Capturing subpattern count = 1 3387 Max back reference = 1 3388 No options 3389 First char = 'a' 3390 No need char 3391 3392 /(?(1)abz|acz)(.)/I 3393 Capturing subpattern count = 1 3394 Max back reference = 1 3395 No options 3396 First char = 'a' 3397 Need char = 'z' 3398 3399 /(?(1)abz)(.)/I 3400 Capturing subpattern count = 1 3401 Max back reference = 1 3402 No options 3403 No first char 3404 No need char 3405 3406 /(?(1)abz)(1)23/I 3407 Capturing subpattern count = 1 3408 Max back reference = 1 3409 No options 3410 No first char 3411 Need char = '3' 3412 3413 /(a)+/I 3414 Capturing subpattern count = 1 3415 No options 3416 First char = 'a' 3417 No need char 3418 3419 /(a){2,3}/I 3420 Capturing subpattern count = 1 3421 No options 3422 First char = 'a' 3423 Need char = 'a' 3424 3425 /(a)*/I 3426 Capturing subpattern count = 1 3427 May match empty string 3428 No options 3429 No first char 3430 No need char 3431 3432 /[a]/I 3433 Capturing subpattern count = 0 3434 No options 3435 First char = 'a' 3436 No need char 3437 3438 /[ab]/I 3439 Capturing subpattern count = 0 3440 No options 3441 No first char 3442 No need char 3443 3444 /[ab]/IS 3445 Capturing subpattern count = 0 3446 No options 3447 No first char 3448 No need char 3449 Subject length lower bound = 1 3450 Starting chars: a b 3451 3452 /[^a]/I 3453 Capturing subpattern count = 0 3454 No options 3455 No first char 3456 No need char 3457 3458 /\d456/I 3459 Capturing subpattern count = 0 3460 No options 3461 No first char 3462 Need char = '6' 3463 3464 /\d456/IS 3465 Capturing subpattern count = 0 3466 No options 3467 No first char 3468 Need char = '6' 3469 Subject length lower bound = 4 3470 Starting chars: 0 1 2 3 4 5 6 7 8 9 3471 3472 /a^b/I 3473 Capturing subpattern count = 0 3474 No options 3475 First char = 'a' 3476 Need char = 'b' 3477 3478 /^a/Im 3479 Capturing subpattern count = 0 3480 Options: multiline 3481 First char at start or follows newline 3482 Need char = 'a' 3483 abcde 3484 0: a 3485 xy\nabc 3486 0: a 3487 *** Failers 3488 No match 3489 xyabc 3490 No match 3491 3492 /c|abc/I 3493 Capturing subpattern count = 0 3494 No options 3495 No first char 3496 Need char = 'c' 3497 3498 /(?i)[ab]/IS 3499 Capturing subpattern count = 0 3500 Options: caseless 3501 No first char 3502 No need char 3503 Subject length lower bound = 1 3504 Starting chars: A B a b 3505 3506 /[ab](?i)cd/IS 3507 Capturing subpattern count = 0 3508 No options 3509 No first char 3510 Need char = 'd' (caseless) 3511 Subject length lower bound = 3 3512 Starting chars: a b 3513 3514 /abc(?C)def/I 3515 Capturing subpattern count = 0 3516 No options 3517 First char = 'a' 3518 Need char = 'f' 3519 abcdef 3520 --->abcdef 3521 0 ^ ^ d 3522 0: abcdef 3523 1234abcdef 3524 --->1234abcdef 3525 0 ^ ^ d 3526 0: abcdef 3527 *** Failers 3528 No match 3529 abcxyz 3530 No match 3531 abcxyzf 3532 --->abcxyzf 3533 0 ^ ^ d 3534 No match 3535 3536 /abc(?C)de(?C1)f/I 3537 Capturing subpattern count = 0 3538 No options 3539 First char = 'a' 3540 Need char = 'f' 3541 123abcdef 3542 --->123abcdef 3543 0 ^ ^ d 3544 1 ^ ^ f 3545 0: abcdef 3546 3547 /(?C1)\dabc(?C2)def/IS 3548 Capturing subpattern count = 0 3549 No options 3550 No first char 3551 Need char = 'f' 3552 Subject length lower bound = 7 3553 Starting chars: 0 1 2 3 4 5 6 7 8 9 3554 1234abcdef 3555 --->1234abcdef 3556 1 ^ \d 3557 1 ^ \d 3558 1 ^ \d 3559 1 ^ \d 3560 2 ^ ^ d 3561 0: 4abcdef 3562 *** Failers 3563 No match 3564 abcdef 3565 No match 3566 3567 /(?C1)\dabc(?C2)def/ISS 3568 Capturing subpattern count = 0 3569 No options 3570 No first char 3571 Need char = 'f' 3572 1234abcdef 3573 --->1234abcdef 3574 1 ^ \d 3575 1 ^ \d 3576 1 ^ \d 3577 1 ^ \d 3578 2 ^ ^ d 3579 0: 4abcdef 3580 *** Failers 3581 No match 3582 abcdef 3583 --->abcdef 3584 1 ^ \d 3585 1 ^ \d 3586 1 ^ \d 3587 1 ^ \d 3588 1 ^ \d 3589 1 ^ \d 3590 No match 3591 3592 /(?C255)ab/I 3593 Capturing subpattern count = 0 3594 No options 3595 First char = 'a' 3596 Need char = 'b' 3597 3598 /(?C256)ab/I 3599 Failed: number after (?C is > 255 at offset 6 3600 3601 /(?Cab)xx/I 3602 Failed: closing ) for (?C expected at offset 3 3603 3604 /(?C12vr)x/I 3605 Failed: closing ) for (?C expected at offset 5 3606 3607 /abc(?C)def/I 3608 Capturing subpattern count = 0 3609 No options 3610 First char = 'a' 3611 Need char = 'f' 3612 *** Failers 3613 No match 3614 \x83\x0\x61bcdef 3615 --->\x83\x00abcdef 3616 0 ^ ^ d 3617 0: abcdef 3618 3619 /(abc)(?C)de(?C1)f/I 3620 Capturing subpattern count = 1 3621 No options 3622 First char = 'a' 3623 Need char = 'f' 3624 123abcdef 3625 --->123abcdef 3626 0 ^ ^ d 3627 1 ^ ^ f 3628 0: abcdef 3629 1: abc 3630 123abcdef\C+ 3631 Callout 0: last capture = 1 3632 0: <unset> 3633 1: abc 3634 --->123abcdef 3635 ^ ^ d 3636 Callout 1: last capture = 1 3637 0: <unset> 3638 1: abc 3639 --->123abcdef 3640 ^ ^ f 3641 0: abcdef 3642 1: abc 3643 123abcdef\C- 3644 0: abcdef 3645 1: abc 3646 *** Failers 3647 No match 3648 123abcdef\C!1 3649 --->123abcdef 3650 0 ^ ^ d 3651 1 ^ ^ f 3652 No match 3653 3654 /(?C0)(abc(?C1))*/I 3655 Capturing subpattern count = 1 3656 May match empty string 3657 No options 3658 No first char 3659 No need char 3660 abcabcabc 3661 --->abcabcabc 3662 0 ^ (abc(?C1))* 3663 1 ^ ^ ) 3664 1 ^ ^ ) 3665 1 ^ ^ ) 3666 0: abcabcabc 3667 1: abc 3668 abcabc\C!1!3 3669 --->abcabc 3670 0 ^ (abc(?C1))* 3671 1 ^ ^ ) 3672 1 ^ ^ ) 3673 0: abcabc 3674 1: abc 3675 *** Failers 3676 --->*** Failers 3677 0 ^ (abc(?C1))* 3678 0: 3679 abcabcabc\C!1!3 3680 --->abcabcabc 3681 0 ^ (abc(?C1))* 3682 1 ^ ^ ) 3683 1 ^ ^ ) 3684 1 ^ ^ ) 3685 0: abcabc 3686 1: abc 3687 3688 /(\d{3}(?C))*/I 3689 Capturing subpattern count = 1 3690 May match empty string 3691 No options 3692 No first char 3693 No need char 3694 123\C+ 3695 Callout 0: last capture = -1 3696 0: <unset> 3697 --->123 3698 ^ ^ ) 3699 0: 123 3700 1: 123 3701 123456\C+ 3702 Callout 0: last capture = -1 3703 0: <unset> 3704 --->123456 3705 ^ ^ ) 3706 Callout 0: last capture = 1 3707 0: <unset> 3708 1: 123 3709 --->123456 3710 ^ ^ ) 3711 0: 123456 3712 1: 456 3713 123456789\C+ 3714 Callout 0: last capture = -1 3715 0: <unset> 3716 --->123456789 3717 ^ ^ ) 3718 Callout 0: last capture = 1 3719 0: <unset> 3720 1: 123 3721 --->123456789 3722 ^ ^ ) 3723 Callout 0: last capture = 1 3724 0: <unset> 3725 1: 456 3726 --->123456789 3727 ^ ^ ) 3728 0: 123456789 3729 1: 789 3730 3731 /((xyz)(?C)p|(?C1)xyzabc)/I 3732 Capturing subpattern count = 2 3733 No options 3734 First char = 'x' 3735 No need char 3736 xyzabc\C+ 3737 Callout 0: last capture = 2 3738 0: <unset> 3739 1: <unset> 3740 2: xyz 3741 --->xyzabc 3742 ^ ^ p 3743 Callout 1: last capture = -1 3744 0: <unset> 3745 --->xyzabc 3746 ^ x 3747 0: xyzabc 3748 1: xyzabc 3749 3750 /(X)((xyz)(?C)p|(?C1)xyzabc)/I 3751 Capturing subpattern count = 3 3752 No options 3753 First char = 'X' 3754 Need char = 'x' 3755 Xxyzabc\C+ 3756 Callout 0: last capture = 3 3757 0: <unset> 3758 1: X 3759 2: <unset> 3760 3: xyz 3761 --->Xxyzabc 3762 ^ ^ p 3763 Callout 1: last capture = 1 3764 0: <unset> 3765 1: X 3766 --->Xxyzabc 3767 ^^ x 3768 0: Xxyzabc 3769 1: X 3770 2: xyzabc 3771 3772 /(?=(abc))(?C)abcdef/I 3773 Capturing subpattern count = 1 3774 No options 3775 First char = 'a' 3776 Need char = 'f' 3777 abcdef\C+ 3778 Callout 0: last capture = 1 3779 0: <unset> 3780 1: abc 3781 --->abcdef 3782 ^ a 3783 0: abcdef 3784 1: abc 3785 3786 /(?!(abc)(?C1)d)(?C2)abcxyz/I 3787 Capturing subpattern count = 1 3788 No options 3789 First char = 'a' 3790 Need char = 'z' 3791 abcxyz\C+ 3792 Callout 1: last capture = 1 3793 0: <unset> 3794 1: abc 3795 --->abcxyz 3796 ^ ^ d 3797 Callout 2: last capture = -1 3798 0: <unset> 3799 --->abcxyz 3800 ^ a 3801 0: abcxyz 3802 3803 /(?<=(abc)(?C))xyz/I 3804 Capturing subpattern count = 1 3805 Max lookbehind = 3 3806 No options 3807 First char = 'x' 3808 Need char = 'z' 3809 abcxyz\C+ 3810 Callout 0: last capture = 1 3811 0: <unset> 3812 1: abc 3813 --->abcxyz 3814 ^ ) 3815 0: xyz 3816 1: abc 3817 3818 /a(b+)(c*)(?C1)/I 3819 Capturing subpattern count = 2 3820 No options 3821 First char = 'a' 3822 Need char = 'b' 3823 abbbbbccc\C*1 3824 --->abbbbbccc 3825 1 ^ ^ 3826 Callout data = 1 3827 No match 3828 3829 /a(b+?)(c*?)(?C1)/I 3830 Capturing subpattern count = 2 3831 No options 3832 First char = 'a' 3833 Need char = 'b' 3834 abbbbbccc\C*1 3835 --->abbbbbccc 3836 1 ^ ^ 3837 Callout data = 1 3838 1 ^ ^ 3839 Callout data = 1 3840 1 ^ ^ 3841 Callout data = 1 3842 1 ^ ^ 3843 Callout data = 1 3844 1 ^ ^ 3845 Callout data = 1 3846 1 ^ ^ 3847 Callout data = 1 3848 1 ^ ^ 3849 Callout data = 1 3850 1 ^ ^ 3851 Callout data = 1 3852 No match 3853 3854 /(?C)abc/I 3855 Capturing subpattern count = 0 3856 No options 3857 First char = 'a' 3858 Need char = 'c' 3859 3860 /(?C)^abc/I 3861 Capturing subpattern count = 0 3862 Options: anchored 3863 No first char 3864 No need char 3865 3866 /(?C)a|b/IS 3867 Capturing subpattern count = 0 3868 No options 3869 No first char 3870 No need char 3871 Subject length lower bound = 1 3872 Starting chars: a b 3873 3874 /(?R)/I 3875 Failed: recursive call could loop indefinitely at offset 3 3876 3877 /(a|(?R))/I 3878 Failed: recursive call could loop indefinitely at offset 6 3879 3880 /(ab|(bc|(de|(?R))))/I 3881 Failed: recursive call could loop indefinitely at offset 15 3882 3883 /x(ab|(bc|(de|(?R))))/I 3884 Capturing subpattern count = 3 3885 No options 3886 First char = 'x' 3887 No need char 3888 xab 3889 0: xab 3890 1: ab 3891 xbc 3892 0: xbc 3893 1: bc 3894 2: bc 3895 xde 3896 0: xde 3897 1: de 3898 2: de 3899 3: de 3900 xxab 3901 0: xxab 3902 1: xab 3903 2: xab 3904 3: xab 3905 xxxab 3906 0: xxxab 3907 1: xxab 3908 2: xxab 3909 3: xxab 3910 *** Failers 3911 No match 3912 xyab 3913 No match 3914 3915 /(ab|(bc|(de|(?1))))/I 3916 Failed: recursive call could loop indefinitely at offset 15 3917 3918 /x(ab|(bc|(de|(?1)x)x)x)/I 3919 Failed: recursive call could loop indefinitely at offset 16 3920 3921 /^([^()]|\((?1)*\))*$/I 3922 Capturing subpattern count = 1 3923 May match empty string 3924 Options: anchored 3925 No first char 3926 No need char 3927 abc 3928 0: abc 3929 1: c 3930 a(b)c 3931 0: a(b)c 3932 1: c 3933 a(b(c))d 3934 0: a(b(c))d 3935 1: d 3936 *** Failers) 3937 No match 3938 a(b(c)d 3939 No match 3940 3941 /^>abc>([^()]|\((?1)*\))*<xyz<$/I 3942 Capturing subpattern count = 1 3943 Options: anchored 3944 No first char 3945 Need char = '<' 3946 >abc>123<xyz< 3947 0: >abc>123<xyz< 3948 1: 3 3949 >abc>1(2)3<xyz< 3950 0: >abc>1(2)3<xyz< 3951 1: 3 3952 >abc>(1(2)3)<xyz< 3953 0: >abc>(1(2)3)<xyz< 3954 1: (1(2)3) 3955 3956 /(a(?1)b)/DZ 3957 ------------------------------------------------------------------ 3958 Bra 3959 CBra 1 3960 a 3961 Recurse 3962 b 3963 Ket 3964 Ket 3965 End 3966 ------------------------------------------------------------------ 3967 Capturing subpattern count = 1 3968 No options 3969 First char = 'a' 3970 Need char = 'b' 3971 3972 /(a(?1)+b)/DZ 3973 ------------------------------------------------------------------ 3974 Bra 3975 CBra 1 3976 a 3977 Once 3978 Recurse 3979 KetRmax 3980 b 3981 Ket 3982 Ket 3983 End 3984 ------------------------------------------------------------------ 3985 Capturing subpattern count = 1 3986 No options 3987 First char = 'a' 3988 Need char = 'b' 3989 3990 /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I 3991 Capturing subpattern count = 2 3992 Options: anchored 3993 No first char 3994 No need char 3995 12 3996 0: 12 3997 1: 12 3998 (((2+2)*-3)-7) 3999 0: (((2+2)*-3)-7) 4000 1: (((2+2)*-3)-7) 4001 2: - 4002 -12 4003 0: -12 4004 1: -12 4005 *** Failers 4006 No match 4007 ((2+2)*-3)-7) 4008 No match 4009 4010 /^(x(y|(?1){2})z)/I 4011 Capturing subpattern count = 2 4012 Options: anchored 4013 No first char 4014 No need char 4015 xyz 4016 0: xyz 4017 1: xyz 4018 2: y 4019 xxyzxyzz 4020 0: xxyzxyzz 4021 1: xxyzxyzz 4022 2: xyzxyz 4023 *** Failers 4024 No match 4025 xxyzz 4026 No match 4027 xxyzxyzxyzz 4028 No match 4029 4030 /((< (?: (?(R) \d++ | [^<>]*+) | (?2)) * >))/Ix 4031 Capturing subpattern count = 2 4032 Options: extended 4033 First char = '<' 4034 Need char = '>' 4035 <> 4036 0: <> 4037 1: <> 4038 2: <> 4039 <abcd> 4040 0: <abcd> 4041 1: <abcd> 4042 2: <abcd> 4043 <abc <123> hij> 4044 0: <abc <123> hij> 4045 1: <abc <123> hij> 4046 2: <abc <123> hij> 4047 <abc <def> hij> 4048 0: <def> 4049 1: <def> 4050 2: <def> 4051 <abc<>def> 4052 0: <abc<>def> 4053 1: <abc<>def> 4054 2: <abc<>def> 4055 <abc<> 4056 0: <> 4057 1: <> 4058 2: <> 4059 *** Failers 4060 No match 4061 <abc 4062 No match 4063 4064 /(?1)/I 4065 Failed: reference to non-existent subpattern at offset 3 4066 4067 /((?2)(abc)/I 4068 Failed: missing ) at offset 10 4069 4070 /^(abc)def(?1)/I 4071 Capturing subpattern count = 1 4072 Options: anchored 4073 No first char 4074 No need char 4075 abcdefabc 4076 0: abcdefabc 4077 1: abc 4078 4079 /^(a|b|c)=(?1)+/I 4080 Capturing subpattern count = 1 4081 Options: anchored 4082 No first char 4083 No need char 4084 a=a 4085 0: a=a 4086 1: a 4087 a=b 4088 0: a=b 4089 1: a 4090 a=bc 4091 0: a=bc 4092 1: a 4093 4094 /^(a|b|c)=((?1))+/I 4095 Capturing subpattern count = 2 4096 Options: anchored 4097 No first char 4098 No need char 4099 a=a 4100 0: a=a 4101 1: a 4102 2: a 4103 a=b 4104 0: a=b 4105 1: a 4106 2: b 4107 a=bc 4108 0: a=bc 4109 1: a 4110 2: c 4111 4112 /a(?P<name1>b|c)d(?P<longername2>e)/DZ 4113 ------------------------------------------------------------------ 4114 Bra 4115 a 4116 CBra 1 4117 b 4118 Alt 4119 c 4120 Ket 4121 d 4122 CBra 2 4123 e 4124 Ket 4125 Ket 4126 End 4127 ------------------------------------------------------------------ 4128 Capturing subpattern count = 2 4129 Named capturing subpatterns: 4130 longername2 2 4131 name1 1 4132 No options 4133 First char = 'a' 4134 Need char = 'e' 4135 abde 4136 0: abde 4137 1: b 4138 2: e 4139 acde 4140 0: acde 4141 1: c 4142 2: e 4143 4144 /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/DZ 4145 ------------------------------------------------------------------ 4146 Bra 4147 Bra 4148 a 4149 CBra 1 4150 c 4151 CBra 2 4152 d 4153 Ket 4154 Ket 4155 Ket 4156 CBra 3 4157 a 4158 Ket 4159 Ket 4160 End 4161 ------------------------------------------------------------------ 4162 Capturing subpattern count = 3 4163 Named capturing subpatterns: 4164 a 3 4165 c 1 4166 d 2 4167 No options 4168 First char = 'a' 4169 Need char = 'a' 4170 4171 /(?P<a>a)...(?P=a)bbb(?P>a)d/DZ 4172 ------------------------------------------------------------------ 4173 Bra 4174 CBra 1 4175 a 4176 Ket 4177 Any 4178 Any 4179 Any 4180 \1 4181 bbb 4182 Recurse 4183 d 4184 Ket 4185 End 4186 ------------------------------------------------------------------ 4187 Capturing subpattern count = 1 4188 Max back reference = 1 4189 Named capturing subpatterns: 4190 a 1 4191 No options 4192 First char = 'a' 4193 Need char = 'd' 4194 4195 /^\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 4196 Capturing subpattern count = 4 4197 Max back reference = 4 4198 Named capturing subpatterns: 4199 four 4 4200 one 1 4201 three 3 4202 two 2 4203 May match empty string 4204 Options: anchored caseless 4205 No first char 4206 No need char 4207 1221 4208 0: 1221 4209 1: 1221 4210 2: 1 4211 Satan, oscillate my metallic sonatas! 4212 0: Satan, oscillate my metallic sonatas! 4213 1: <unset> 4214 2: <unset> 4215 3: Satan, oscillate my metallic sonatas 4216 4: S 4217 A man, a plan, a canal: Panama! 4218 0: A man, a plan, a canal: Panama! 4219 1: <unset> 4220 2: <unset> 4221 3: A man, a plan, a canal: Panama 4222 4: A 4223 Able was I ere I saw Elba. 4224 0: Able was I ere I saw Elba. 4225 1: <unset> 4226 2: <unset> 4227 3: Able was I ere I saw Elba 4228 4: A 4229 *** Failers 4230 No match 4231 The quick brown fox 4232 No match 4233 4234 /((?(R)a|b))\1(?1)?/I 4235 Capturing subpattern count = 1 4236 Max back reference = 1 4237 No options 4238 No first char 4239 No need char 4240 bb 4241 0: bb 4242 1: b 4243 bbaa 4244 0: bba 4245 1: b 4246 4247 /(.*)a/Is 4248 Capturing subpattern count = 1 4249 Options: anchored dotall 4250 No first char 4251 Need char = 'a' 4252 4253 /(.*)a\1/Is 4254 Capturing subpattern count = 1 4255 Max back reference = 1 4256 Options: dotall 4257 No first char 4258 Need char = 'a' 4259 4260 /(.*)a(b)\2/Is 4261 Capturing subpattern count = 2 4262 Max back reference = 2 4263 Options: anchored dotall 4264 No first char 4265 Need char = 'b' 4266 4267 /((.*)a|(.*)b)z/Is 4268 Capturing subpattern count = 3 4269 Options: anchored dotall 4270 No first char 4271 Need char = 'z' 4272 4273 /((.*)a|(.*)b)z\1/Is 4274 Capturing subpattern count = 3 4275 Max back reference = 1 4276 Options: dotall 4277 No first char 4278 Need char = 'z' 4279 4280 /((.*)a|(.*)b)z\2/Is 4281 Capturing subpattern count = 3 4282 Max back reference = 2 4283 Options: dotall 4284 No first char 4285 Need char = 'z' 4286 4287 /((.*)a|(.*)b)z\3/Is 4288 Capturing subpattern count = 3 4289 Max back reference = 3 4290 Options: dotall 4291 No first char 4292 Need char = 'z' 4293 4294 /((.*)a|^(.*)b)z\3/Is 4295 Capturing subpattern count = 3 4296 Max back reference = 3 4297 Options: anchored dotall 4298 No first char 4299 Need char = 'z' 4300 4301 /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is 4302 Capturing subpattern count = 31 4303 May match empty string 4304 Options: anchored dotall 4305 No first char 4306 No need char 4307 4308 /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is 4309 Capturing subpattern count = 31 4310 Max back reference = 31 4311 May match empty string 4312 Options: dotall 4313 No first char 4314 No need char 4315 4316 /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is 4317 Capturing subpattern count = 32 4318 Max back reference = 32 4319 May match empty string 4320 Options: dotall 4321 No first char 4322 No need char 4323 4324 /(a)(bc)/INDZ 4325 ------------------------------------------------------------------ 4326 Bra 4327 Bra 4328 a 4329 Ket 4330 Bra 4331 bc 4332 Ket 4333 Ket 4334 End 4335 ------------------------------------------------------------------ 4336 Capturing subpattern count = 0 4337 Options: no_auto_capture 4338 First char = 'a' 4339 Need char = 'c' 4340 abc 4341 0: abc 4342 4343 /(?P<one>a)(bc)/INDZ 4344 ------------------------------------------------------------------ 4345 Bra 4346 CBra 1 4347 a 4348 Ket 4349 Bra 4350 bc 4351 Ket 4352 Ket 4353 End 4354 ------------------------------------------------------------------ 4355 Capturing subpattern count = 1 4356 Named capturing subpatterns: 4357 one 1 4358 Options: no_auto_capture 4359 First char = 'a' 4360 Need char = 'c' 4361 abc 4362 0: abc 4363 1: a 4364 4365 /(a)(?P<named>bc)/INDZ 4366 ------------------------------------------------------------------ 4367 Bra 4368 Bra 4369 a 4370 Ket 4371 CBra 1 4372 bc 4373 Ket 4374 Ket 4375 End 4376 ------------------------------------------------------------------ 4377 Capturing subpattern count = 1 4378 Named capturing subpatterns: 4379 named 1 4380 Options: no_auto_capture 4381 First char = 'a' 4382 Need char = 'c' 4383 4384 /(a+)*zz/I 4385 Capturing subpattern count = 1 4386 No options 4387 No first char 4388 Need char = 'z' 4389 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzbbbbbb\M 4390 Minimum match() limit = 8 4391 Minimum match() recursion limit = 6 4392 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazz 4393 1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 4394 aaaaaaaaaaaaaz\M 4395 Minimum match() limit = 32768 4396 Minimum match() recursion limit = 29 4397 No match 4398 4399 /(aaa(?C1)bbb|ab)/I 4400 Capturing subpattern count = 1 4401 No options 4402 First char = 'a' 4403 Need char = 'b' 4404 aaabbb 4405 --->aaabbb 4406 1 ^ ^ b 4407 0: aaabbb 4408 1: aaabbb 4409 aaabbb\C*0 4410 --->aaabbb 4411 1 ^ ^ b 4412 0: aaabbb 4413 1: aaabbb 4414 aaabbb\C*1 4415 --->aaabbb 4416 1 ^ ^ b 4417 Callout data = 1 4418 0: ab 4419 1: ab 4420 aaabbb\C*-1 4421 --->aaabbb 4422 1 ^ ^ b 4423 Callout data = -1 4424 No match 4425 4426 /ab(?P<one>cd)ef(?P<two>gh)/I 4427 Capturing subpattern count = 2 4428 Named capturing subpatterns: 4429 one 1 4430 two 2 4431 No options 4432 First char = 'a' 4433 Need char = 'h' 4434 abcdefgh 4435 0: abcdefgh 4436 1: cd 4437 2: gh 4438 abcdefgh\C1\Gtwo 4439 0: abcdefgh 4440 1: cd 4441 2: gh 4442 1C cd (2) 4443 G gh (2) two 4444 abcdefgh\Cone\Ctwo 4445 0: abcdefgh 4446 1: cd 4447 2: gh 4448 C cd (2) one 4449 C gh (2) two 4450 abcdefgh\Cthree 4451 no parentheses with name "three" 4452 0: abcdefgh 4453 1: cd 4454 2: gh 4455 copy substring three failed -7 4456 4457 /(?P<Tes>)(?P<Test>)/DZ 4458 ------------------------------------------------------------------ 4459 Bra 4460 CBra 1 4461 Ket 4462 CBra 2 4463 Ket 4464 Ket 4465 End 4466 ------------------------------------------------------------------ 4467 Capturing subpattern count = 2 4468 Named capturing subpatterns: 4469 Tes 1 4470 Test 2 4471 May match empty string 4472 No options 4473 No first char 4474 No need char 4475 4476 /(?P<Test>)(?P<Tes>)/DZ 4477 ------------------------------------------------------------------ 4478 Bra 4479 CBra 1 4480 Ket 4481 CBra 2 4482 Ket 4483 Ket 4484 End 4485 ------------------------------------------------------------------ 4486 Capturing subpattern count = 2 4487 Named capturing subpatterns: 4488 Tes 2 4489 Test 1 4490 May match empty string 4491 No options 4492 No first char 4493 No need char 4494 4495 /(?P<Z>zz)(?P<A>aa)/I 4496 Capturing subpattern count = 2 4497 Named capturing subpatterns: 4498 A 2 4499 Z 1 4500 No options 4501 First char = 'z' 4502 Need char = 'a' 4503 zzaa\CZ 4504 0: zzaa 4505 1: zz 4506 2: aa 4507 C zz (2) Z 4508 zzaa\CA 4509 0: zzaa 4510 1: zz 4511 2: aa 4512 C aa (2) A 4513 4514 /(?P<x>eks)(?P<x>eccs)/I 4515 Failed: two named subpatterns have the same name at offset 15 4516 4517 /(?P<abc>abc(?P<def>def)(?P<abc>xyz))/I 4518 Failed: two named subpatterns have the same name at offset 30 4519 4520 "\[((?P<elem>\d+)(,(?P>elem))*)\]"I 4521 Capturing subpattern count = 3 4522 Named capturing subpatterns: 4523 elem 2 4524 No options 4525 First char = '[' 4526 Need char = ']' 4527 [10,20,30,5,5,4,4,2,43,23,4234] 4528 0: [10,20,30,5,5,4,4,2,43,23,4234] 4529 1: 10,20,30,5,5,4,4,2,43,23,4234 4530 2: 10 4531 3: ,4234 4532 *** Failers 4533 No match 4534 [] 4535 No match 4536 4537 "\[((?P<elem>\d+)(,(?P>elem))*)?\]"I 4538 Capturing subpattern count = 3 4539 Named capturing subpatterns: 4540 elem 2 4541 No options 4542 First char = '[' 4543 Need char = ']' 4544 [10,20,30,5,5,4,4,2,43,23,4234] 4545 0: [10,20,30,5,5,4,4,2,43,23,4234] 4546 1: 10,20,30,5,5,4,4,2,43,23,4234 4547 2: 10 4548 3: ,4234 4549 [] 4550 0: [] 4551 4552 /(a(b(?2)c))?/DZ 4553 ------------------------------------------------------------------ 4554 Bra 4555 Brazero 4556 CBra 1 4557 a 4558 CBra 2 4559 b 4560 Recurse 4561 c 4562 Ket 4563 Ket 4564 Ket 4565 End 4566 ------------------------------------------------------------------ 4567 Capturing subpattern count = 2 4568 May match empty string 4569 No options 4570 No first char 4571 No need char 4572 4573 /(a(b(?2)c))*/DZ 4574 ------------------------------------------------------------------ 4575 Bra 4576 Brazero 4577 CBra 1 4578 a 4579 CBra 2 4580 b 4581 Recurse 4582 c 4583 Ket 4584 KetRmax 4585 Ket 4586 End 4587 ------------------------------------------------------------------ 4588 Capturing subpattern count = 2 4589 May match empty string 4590 No options 4591 No first char 4592 No need char 4593 4594 /(a(b(?2)c)){0,2}/DZ 4595 ------------------------------------------------------------------ 4596 Bra 4597 Brazero 4598 Bra 4599 CBra 1 4600 a 4601 CBra 2 4602 b 4603 Recurse 4604 c 4605 Ket 4606 Ket 4607 Brazero 4608 CBra 1 4609 a 4610 CBra 2 4611 b 4612 Recurse 4613 c 4614 Ket 4615 Ket 4616 Ket 4617 Ket 4618 End 4619 ------------------------------------------------------------------ 4620 Capturing subpattern count = 2 4621 May match empty string 4622 No options 4623 No first char 4624 No need char 4625 4626 /[ab]{1}+/DZ 4627 ------------------------------------------------------------------ 4628 Bra 4629 [ab]{1,1}+ 4630 Ket 4631 End 4632 ------------------------------------------------------------------ 4633 Capturing subpattern count = 0 4634 No options 4635 No first char 4636 No need char 4637 4638 /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii 4639 Capturing subpattern count = 3 4640 Options: caseless 4641 No first char 4642 Need char = 'g' (caseless) 4643 Baby Bjorn Active Carrier - With free SHIPPING!! 4644 0: Baby Bjorn Active Carrier - With free SHIPPING!! 4645 1: Baby Bjorn Active Carrier - With free SHIPPING!! 4646 4647 /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS 4648 Capturing subpattern count = 3 4649 Options: caseless 4650 No first char 4651 Need char = 'g' (caseless) 4652 Subject length lower bound = 8 4653 No starting char list 4654 Baby Bjorn Active Carrier - With free SHIPPING!! 4655 0: Baby Bjorn Active Carrier - With free SHIPPING!! 4656 1: Baby Bjorn Active Carrier - With free SHIPPING!! 4657 4658 /a*.*b/ISDZ 4659 ------------------------------------------------------------------ 4660 Bra 4661 a* 4662 Any* 4663 b 4664 Ket 4665 End 4666 ------------------------------------------------------------------ 4667 Capturing subpattern count = 0 4668 No options 4669 No first char 4670 Need char = 'b' 4671 Subject length lower bound = 1 4672 No starting char list 4673 4674 /(a|b)*.?c/ISDZ 4675 ------------------------------------------------------------------ 4676 Bra 4677 Brazero 4678 CBra 1 4679 a 4680 Alt 4681 b 4682 KetRmax 4683 Any? 4684 c 4685 Ket 4686 End 4687 ------------------------------------------------------------------ 4688 Capturing subpattern count = 1 4689 No options 4690 No first char 4691 Need char = 'c' 4692 Subject length lower bound = 1 4693 No starting char list 4694 4695 /abc(?C255)de(?C)f/DZ 4696 ------------------------------------------------------------------ 4697 Bra 4698 abc 4699 Callout 255 10 1 4700 de 4701 Callout 0 16 1 4702 f 4703 Ket 4704 End 4705 ------------------------------------------------------------------ 4706 Capturing subpattern count = 0 4707 No options 4708 First char = 'a' 4709 Need char = 'f' 4710 4711 /abcde/ICDZ 4712 ------------------------------------------------------------------ 4713 Bra 4714 Callout 255 0 1 4715 a 4716 Callout 255 1 1 4717 b 4718 Callout 255 2 1 4719 c 4720 Callout 255 3 1 4721 d 4722 Callout 255 4 1 4723 e 4724 Callout 255 5 0 4725 Ket 4726 End 4727 ------------------------------------------------------------------ 4728 Capturing subpattern count = 0 4729 Options: 4730 First char = 'a' 4731 Need char = 'e' 4732 abcde 4733 --->abcde 4734 +0 ^ a 4735 +1 ^^ b 4736 +2 ^ ^ c 4737 +3 ^ ^ d 4738 +4 ^ ^ e 4739 +5 ^ ^ 4740 0: abcde 4741 abcdfe 4742 --->abcdfe 4743 +0 ^ a 4744 +1 ^^ b 4745 +2 ^ ^ c 4746 +3 ^ ^ d 4747 +4 ^ ^ e 4748 No match 4749 4750 /a*b/ICDZS 4751 ------------------------------------------------------------------ 4752 Bra 4753 Callout 255 0 2 4754 a*+ 4755 Callout 255 2 1 4756 b 4757 Callout 255 3 0 4758 Ket 4759 End 4760 ------------------------------------------------------------------ 4761 Capturing subpattern count = 0 4762 Options: 4763 No first char 4764 Need char = 'b' 4765 Subject length lower bound = 1 4766 Starting chars: a b 4767 ab 4768 --->ab 4769 +0 ^ a* 4770 +2 ^^ b 4771 +3 ^ ^ 4772 0: ab 4773 aaaab 4774 --->aaaab 4775 +0 ^ a* 4776 +2 ^ ^ b 4777 +3 ^ ^ 4778 0: aaaab 4779 aaaacb 4780 --->aaaacb 4781 +0 ^ a* 4782 +2 ^ ^ b 4783 +0 ^ a* 4784 +2 ^ ^ b 4785 +0 ^ a* 4786 +2 ^ ^ b 4787 +0 ^ a* 4788 +2 ^^ b 4789 +0 ^ a* 4790 +2 ^ b 4791 +3 ^^ 4792 0: b 4793 4794 /a*b/ICDZSS 4795 ------------------------------------------------------------------ 4796 Bra 4797 Callout 255 0 2 4798 a*+ 4799 Callout 255 2 1 4800 b 4801 Callout 255 3 0 4802 Ket 4803 End 4804 ------------------------------------------------------------------ 4805 Capturing subpattern count = 0 4806 Options: 4807 No first char 4808 Need char = 'b' 4809 ab 4810 --->ab 4811 +0 ^ a* 4812 +2 ^^ b 4813 +3 ^ ^ 4814 0: ab 4815 aaaab 4816 --->aaaab 4817 +0 ^ a* 4818 +2 ^ ^ b 4819 +3 ^ ^ 4820 0: aaaab 4821 aaaacb 4822 --->aaaacb 4823 +0 ^ a* 4824 +2 ^ ^ b 4825 +0 ^ a* 4826 +2 ^ ^ b 4827 +0 ^ a* 4828 +2 ^ ^ b 4829 +0 ^ a* 4830 +2 ^^ b 4831 +0 ^ a* 4832 +2 ^ b 4833 +0 ^ a* 4834 +2 ^ b 4835 +3 ^^ 4836 0: b 4837 4838 /a+b/ICDZ 4839 ------------------------------------------------------------------ 4840 Bra 4841 Callout 255 0 2 4842 a++ 4843 Callout 255 2 1 4844 b 4845 Callout 255 3 0 4846 Ket 4847 End 4848 ------------------------------------------------------------------ 4849 Capturing subpattern count = 0 4850 Options: 4851 First char = 'a' 4852 Need char = 'b' 4853 ab 4854 --->ab 4855 +0 ^ a+ 4856 +2 ^^ b 4857 +3 ^ ^ 4858 0: ab 4859 aaaab 4860 --->aaaab 4861 +0 ^ a+ 4862 +2 ^ ^ b 4863 +3 ^ ^ 4864 0: aaaab 4865 aaaacb 4866 --->aaaacb 4867 +0 ^ a+ 4868 +2 ^ ^ b 4869 +0 ^ a+ 4870 +2 ^ ^ b 4871 +0 ^ a+ 4872 +2 ^ ^ b 4873 +0 ^ a+ 4874 +2 ^^ b 4875 No match 4876 4877 /(abc|def)x/ICDZS 4878 ------------------------------------------------------------------ 4879 Bra 4880 Callout 255 0 9 4881 CBra 1 4882 Callout 255 1 1 4883 a 4884 Callout 255 2 1 4885 b 4886 Callout 255 3 1 4887 c 4888 Callout 255 4 0 4889 Alt 4890 Callout 255 5 1 4891 d 4892 Callout 255 6 1 4893 e 4894 Callout 255 7 1 4895 f 4896 Callout 255 8 0 4897 Ket 4898 Callout 255 9 1 4899 x 4900 Callout 255 10 0 4901 Ket 4902 End 4903 ------------------------------------------------------------------ 4904 Capturing subpattern count = 1 4905 Options: 4906 No first char 4907 Need char = 'x' 4908 Subject length lower bound = 4 4909 Starting chars: a d 4910 abcx 4911 --->abcx 4912 +0 ^ (abc|def) 4913 +1 ^ a 4914 +2 ^^ b 4915 +3 ^ ^ c 4916 +4 ^ ^ | 4917 +9 ^ ^ x 4918 +10 ^ ^ 4919 0: abcx 4920 1: abc 4921 defx 4922 --->defx 4923 +0 ^ (abc|def) 4924 +1 ^ a 4925 +5 ^ d 4926 +6 ^^ e 4927 +7 ^ ^ f 4928 +8 ^ ^ ) 4929 +9 ^ ^ x 4930 +10 ^ ^ 4931 0: defx 4932 1: def 4933 ** Failers 4934 No match 4935 abcdefzx 4936 --->abcdefzx 4937 +0 ^ (abc|def) 4938 +1 ^ a 4939 +2 ^^ b 4940 +3 ^ ^ c 4941 +4 ^ ^ | 4942 +9 ^ ^ x 4943 +5 ^ d 4944 +0 ^ (abc|def) 4945 +1 ^ a 4946 +5 ^ d 4947 +6 ^^ e 4948 +7 ^ ^ f 4949 +8 ^ ^ ) 4950 +9 ^ ^ x 4951 No match 4952 4953 /(abc|def)x/ICDZSS 4954 ------------------------------------------------------------------ 4955 Bra 4956 Callout 255 0 9 4957 CBra 1 4958 Callout 255 1 1 4959 a 4960 Callout 255 2 1 4961 b 4962 Callout 255 3 1 4963 c 4964 Callout 255 4 0 4965 Alt 4966 Callout 255 5 1 4967 d 4968 Callout 255 6 1 4969 e 4970 Callout 255 7 1 4971 f 4972 Callout 255 8 0 4973 Ket 4974 Callout 255 9 1 4975 x 4976 Callout 255 10 0 4977 Ket 4978 End 4979 ------------------------------------------------------------------ 4980 Capturing subpattern count = 1 4981 Options: 4982 No first char 4983 Need char = 'x' 4984 abcx 4985 --->abcx 4986 +0 ^ (abc|def) 4987 +1 ^ a 4988 +2 ^^ b 4989 +3 ^ ^ c 4990 +4 ^ ^ | 4991 +9 ^ ^ x 4992 +10 ^ ^ 4993 0: abcx 4994 1: abc 4995 defx 4996 --->defx 4997 +0 ^ (abc|def) 4998 +1 ^ a 4999 +5 ^ d 5000 +6 ^^ e 5001 +7 ^ ^ f 5002 +8 ^ ^ ) 5003 +9 ^ ^ x 5004 +10 ^ ^ 5005 0: defx 5006 1: def 5007 ** Failers 5008 No match 5009 abcdefzx 5010 --->abcdefzx 5011 +0 ^ (abc|def) 5012 +1 ^ a 5013 +2 ^^ b 5014 +3 ^ ^ c 5015 +4 ^ ^ | 5016 +9 ^ ^ x 5017 +5 ^ d 5018 +0 ^ (abc|def) 5019 +1 ^ a 5020 +5 ^ d 5021 +0 ^ (abc|def) 5022 +1 ^ a 5023 +5 ^ d 5024 +0 ^ (abc|def) 5025 +1 ^ a 5026 +5 ^ d 5027 +6 ^^ e 5028 +7 ^ ^ f 5029 +8 ^ ^ ) 5030 +9 ^ ^ x 5031 +0 ^ (abc|def) 5032 +1 ^ a 5033 +5 ^ d 5034 +0 ^ (abc|def) 5035 +1 ^ a 5036 +5 ^ d 5037 +0 ^ (abc|def) 5038 +1 ^ a 5039 +5 ^ d 5040 +0 ^ (abc|def) 5041 +1 ^ a 5042 +5 ^ d 5043 No match 5044 5045 /(ab|cd){3,4}/IC 5046 Capturing subpattern count = 1 5047 Options: 5048 No first char 5049 No need char 5050 ababab 5051 --->ababab 5052 +0 ^ (ab|cd){3,4} 5053 +1 ^ a 5054 +2 ^^ b 5055 +3 ^ ^ | 5056 +1 ^ ^ a 5057 +2 ^ ^ b 5058 +3 ^ ^ | 5059 +1 ^ ^ a 5060 +2 ^ ^ b 5061 +3 ^ ^ | 5062 +1 ^ ^ a 5063 +4 ^ ^ c 5064 +12 ^ ^ 5065 0: ababab 5066 1: ab 5067 abcdabcd 5068 --->abcdabcd 5069 +0 ^ (ab|cd){3,4} 5070 +1 ^ a 5071 +2 ^^ b 5072 +3 ^ ^ | 5073 +1 ^ ^ a 5074 +4 ^ ^ c 5075 +5 ^ ^ d 5076 +6 ^ ^ ) 5077 +1 ^ ^ a 5078 +2 ^ ^ b 5079 +3 ^ ^ | 5080 +1 ^ ^ a 5081 +4 ^ ^ c 5082 +5 ^ ^ d 5083 +6 ^ ^ ) 5084 +12 ^ ^ 5085 0: abcdabcd 5086 1: cd 5087 abcdcdcdcdcd 5088 --->abcdcdcdcdcd 5089 +0 ^ (ab|cd){3,4} 5090 +1 ^ a 5091 +2 ^^ b 5092 +3 ^ ^ | 5093 +1 ^ ^ a 5094 +4 ^ ^ c 5095 +5 ^ ^ d 5096 +6 ^ ^ ) 5097 +1 ^ ^ a 5098 +4 ^ ^ c 5099 +5 ^ ^ d 5100 +6 ^ ^ ) 5101 +1 ^ ^ a 5102 +4 ^ ^ c 5103 +5 ^ ^ d 5104 +6 ^ ^ ) 5105 +12 ^ ^ 5106 0: abcdcdcd 5107 1: cd 5108 5109 /([ab]{,4}c|xy)/ICDZS 5110 ------------------------------------------------------------------ 5111 Bra 5112 Callout 255 0 14 5113 CBra 1 5114 Callout 255 1 4 5115 [ab] 5116 Callout 255 5 1 5117 { 5118 Callout 255 6 1 5119 , 5120 Callout 255 7 1 5121 4 5122 Callout 255 8 1 5123 } 5124 Callout 255 9 1 5125 c 5126 Callout 255 10 0 5127 Alt 5128 Callout 255 11 1 5129 x 5130 Callout 255 12 1 5131 y 5132 Callout 255 13 0 5133 Ket 5134 Callout 255 14 0 5135 Ket 5136 End 5137 ------------------------------------------------------------------ 5138 Capturing subpattern count = 1 5139 Options: 5140 No first char 5141 No need char 5142 Subject length lower bound = 2 5143 Starting chars: a b x 5144 Note: that { does NOT introduce a quantifier 5145 --->Note: that { does NOT introduce a quantifier 5146 +0 ^ ([ab]{,4}c|xy) 5147 +1 ^ [ab] 5148 +5 ^^ { 5149 +11 ^ x 5150 +0 ^ ([ab]{,4}c|xy) 5151 +1 ^ [ab] 5152 +5 ^^ { 5153 +11 ^ x 5154 +0 ^ ([ab]{,4}c|xy) 5155 +1 ^ [ab] 5156 +5 ^^ { 5157 +11 ^ x 5158 No match 5159 5160 /([ab]{,4}c|xy)/ICDZSS 5161 ------------------------------------------------------------------ 5162 Bra 5163 Callout 255 0 14 5164 CBra 1 5165 Callout 255 1 4 5166 [ab] 5167 Callout 255 5 1 5168 { 5169 Callout 255 6 1 5170 , 5171 Callout 255 7 1 5172 4 5173 Callout 255 8 1 5174 } 5175 Callout 255 9 1 5176 c 5177 Callout 255 10 0 5178 Alt 5179 Callout 255 11 1 5180 x 5181 Callout 255 12 1 5182 y 5183 Callout 255 13 0 5184 Ket 5185 Callout 255 14 0 5186 Ket 5187 End 5188 ------------------------------------------------------------------ 5189 Capturing subpattern count = 1 5190 Options: 5191 No first char 5192 No need char 5193 Note: that { does NOT introduce a quantifier 5194 --->Note: that { does NOT introduce a quantifier 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 +11 ^ x 5213 +0 ^ ([ab]{,4}c|xy) 5214 +1 ^ [ab] 5215 +11 ^ x 5216 +0 ^ ([ab]{,4}c|xy) 5217 +1 ^ [ab] 5218 +11 ^ x 5219 +0 ^ ([ab]{,4}c|xy) 5220 +1 ^ [ab] 5221 +5 ^^ { 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 +11 ^ x 5286 +0 ^ ([ab]{,4}c|xy) 5287 +1 ^ [ab] 5288 +11 ^ x 5289 +0 ^ ([ab]{,4}c|xy) 5290 +1 ^ [ab] 5291 +11 ^ x 5292 +0 ^ ([ab]{,4}c|xy) 5293 +1 ^ [ab] 5294 +5 ^^ { 5295 +11 ^ x 5296 +0 ^ ([ab]{,4}c|xy) 5297 +1 ^ [ab] 5298 +11 ^ x 5299 +0 ^ ([ab]{,4}c|xy) 5300 +1 ^ [ab] 5301 +11 ^ x 5302 +0 ^ ([ab]{,4}c|xy) 5303 +1 ^ [ab] 5304 +11 ^ x 5305 +0 ^ ([ab]{,4}c|xy) 5306 +1 ^ [ab] 5307 +5 ^^ { 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 +0 ^ ([ab]{,4}c|xy) 5325 +1 ^ [ab] 5326 +11 ^ x 5327 +0 ^ ([ab]{,4}c|xy) 5328 +1 ^ [ab] 5329 +11 ^ x 5330 +0 ^ ([ab]{,4}c|xy) 5331 +1 ^ [ab] 5332 +11 ^ x 5333 No match 5334 5335 /([ab]{1,4}c|xy){4,5}?123/ICDZ 5336 ------------------------------------------------------------------ 5337 Bra 5338 Callout 255 0 21 5339 CBra 1 5340 Callout 255 1 9 5341 [ab]{1,4}+ 5342 Callout 255 10 1 5343 c 5344 Callout 255 11 0 5345 Alt 5346 Callout 255 12 1 5347 x 5348 Callout 255 13 1 5349 y 5350 Callout 255 14 0 5351 Ket 5352 CBra 1 5353 Callout 255 1 9 5354 [ab]{1,4}+ 5355 Callout 255 10 1 5356 c 5357 Callout 255 11 0 5358 Alt 5359 Callout 255 12 1 5360 x 5361 Callout 255 13 1 5362 y 5363 Callout 255 14 0 5364 Ket 5365 CBra 1 5366 Callout 255 1 9 5367 [ab]{1,4}+ 5368 Callout 255 10 1 5369 c 5370 Callout 255 11 0 5371 Alt 5372 Callout 255 12 1 5373 x 5374 Callout 255 13 1 5375 y 5376 Callout 255 14 0 5377 Ket 5378 CBra 1 5379 Callout 255 1 9 5380 [ab]{1,4}+ 5381 Callout 255 10 1 5382 c 5383 Callout 255 11 0 5384 Alt 5385 Callout 255 12 1 5386 x 5387 Callout 255 13 1 5388 y 5389 Callout 255 14 0 5390 Ket 5391 Braminzero 5392 CBra 1 5393 Callout 255 1 9 5394 [ab]{1,4}+ 5395 Callout 255 10 1 5396 c 5397 Callout 255 11 0 5398 Alt 5399 Callout 255 12 1 5400 x 5401 Callout 255 13 1 5402 y 5403 Callout 255 14 0 5404 Ket 5405 Callout 255 21 1 5406 1 5407 Callout 255 22 1 5408 2 5409 Callout 255 23 1 5410 3 5411 Callout 255 24 0 5412 Ket 5413 End 5414 ------------------------------------------------------------------ 5415 Capturing subpattern count = 1 5416 Options: 5417 No first char 5418 Need char = '3' 5419 aacaacaacaacaac123 5420 --->aacaacaacaacaac123 5421 +0 ^ ([ab]{1,4}c|xy){4,5}? 5422 +1 ^ [ab]{1,4} 5423 +10 ^ ^ c 5424 +11 ^ ^ | 5425 +1 ^ ^ [ab]{1,4} 5426 +10 ^ ^ c 5427 +11 ^ ^ | 5428 +1 ^ ^ [ab]{1,4} 5429 +10 ^ ^ c 5430 +11 ^ ^ | 5431 +1 ^ ^ [ab]{1,4} 5432 +10 ^ ^ c 5433 +11 ^ ^ | 5434 +21 ^ ^ 1 5435 +1 ^ ^ [ab]{1,4} 5436 +10 ^ ^ c 5437 +11 ^ ^ | 5438 +21 ^ ^ 1 5439 +22 ^ ^ 2 5440 +23 ^ ^ 3 5441 +24 ^ ^ 5442 0: aacaacaacaacaac123 5443 1: aac 5444 5445 /\b.*/I 5446 Capturing subpattern count = 0 5447 Max lookbehind = 1 5448 May match empty string 5449 No options 5450 No first char 5451 No need char 5452 ab cd\>1 5453 0: cd 5454 5455 /\b.*/Is 5456 Capturing subpattern count = 0 5457 Max lookbehind = 1 5458 May match empty string 5459 Options: dotall 5460 No first char 5461 No need char 5462 ab cd\>1 5463 0: cd 5464 5465 /(?!.bcd).*/I 5466 Capturing subpattern count = 0 5467 May match empty string 5468 No options 5469 No first char 5470 No need char 5471 Xbcd12345 5472 0: bcd12345 5473 5474 /abcde/I 5475 Capturing subpattern count = 0 5476 No options 5477 First char = 'a' 5478 Need char = 'e' 5479 ab\P 5480 Partial match: ab 5481 abc\P 5482 Partial match: abc 5483 abcd\P 5484 Partial match: abcd 5485 abcde\P 5486 0: abcde 5487 the quick brown abc\P 5488 Partial match: abc 5489 ** Failers\P 5490 No match 5491 the quick brown abxyz fox\P 5492 No match 5493 5494 "^(0?[1-9]|[12][0-9]|3[01])/(0?[1-9]|1[012])/(20)?\d\d$"I 5495 Capturing subpattern count = 3 5496 Options: anchored 5497 No first char 5498 Need char = '/' 5499 13/05/04\P 5500 0: 13/05/04 5501 1: 13 5502 2: 05 5503 13/5/2004\P 5504 0: 13/5/2004 5505 1: 13 5506 2: 5 5507 3: 20 5508 02/05/09\P 5509 0: 02/05/09 5510 1: 02 5511 2: 05 5512 1\P 5513 Partial match: 1 5514 1/2\P 5515 Partial match: 1/2 5516 1/2/0\P 5517 Partial match: 1/2/0 5518 1/2/04\P 5519 0: 1/2/04 5520 1: 1 5521 2: 2 5522 0\P 5523 Partial match: 0 5524 02/\P 5525 Partial match: 02/ 5526 02/0\P 5527 Partial match: 02/0 5528 02/1\P 5529 Partial match: 02/1 5530 ** Failers\P 5531 No match 5532 \P 5533 No match 5534 123\P 5535 No match 5536 33/4/04\P 5537 No match 5538 3/13/04\P 5539 No match 5540 0/1/2003\P 5541 No match 5542 0/\P 5543 No match 5544 02/0/\P 5545 No match 5546 02/13\P 5547 No match 5548 5549 /0{0,2}ABC/I 5550 Capturing subpattern count = 0 5551 No options 5552 No first char 5553 Need char = 'C' 5554 5555 /\d{3,}ABC/I 5556 Capturing subpattern count = 0 5557 No options 5558 No first char 5559 Need char = 'C' 5560 5561 /\d*ABC/I 5562 Capturing subpattern count = 0 5563 No options 5564 No first char 5565 Need char = 'C' 5566 5567 /[abc]+DE/I 5568 Capturing subpattern count = 0 5569 No options 5570 No first char 5571 Need char = 'E' 5572 5573 /[abc]?123/I 5574 Capturing subpattern count = 0 5575 No options 5576 No first char 5577 Need char = '3' 5578 123\P 5579 0: 123 5580 a\P 5581 Partial match: a 5582 b\P 5583 Partial match: b 5584 c\P 5585 Partial match: c 5586 c12\P 5587 Partial match: c12 5588 c123\P 5589 0: c123 5590 5591 /^(?:\d){3,5}X/I 5592 Capturing subpattern count = 0 5593 Options: anchored 5594 No first char 5595 Need char = 'X' 5596 1\P 5597 Partial match: 1 5598 123\P 5599 Partial match: 123 5600 123X 5601 0: 123X 5602 1234\P 5603 Partial match: 1234 5604 1234X 5605 0: 1234X 5606 12345\P 5607 Partial match: 12345 5608 12345X 5609 0: 12345X 5610 *** Failers 5611 No match 5612 1X 5613 No match 5614 123456\P 5615 No match 5616 5617 //KF>testsavedregex 5618 Compiled pattern written to testsavedregex 5619 Study data written to testsavedregex 5620 5621 /abc/IS>testsavedregex 5622 Capturing subpattern count = 0 5623 No options 5624 First char = 'a' 5625 Need char = 'c' 5626 Subject length lower bound = 3 5627 No starting char list 5628 Compiled pattern written to testsavedregex 5629 Study data written to testsavedregex 5630 <testsavedregex 5631 Compiled pattern loaded from testsavedregex 5632 Study data loaded from testsavedregex 5633 abc 5634 0: abc 5635 ** Failers 5636 No match 5637 bca 5638 No match 5639 5640 /abc/ISS>testsavedregex 5641 Capturing subpattern count = 0 5642 No options 5643 First char = 'a' 5644 Need char = 'c' 5645 Compiled pattern written to testsavedregex 5646 <testsavedregex 5647 Compiled pattern loaded from testsavedregex 5648 No study data 5649 abc 5650 0: abc 5651 ** Failers 5652 No match 5653 bca 5654 No match 5655 5656 /abc/IFS>testsavedregex 5657 Capturing subpattern count = 0 5658 No options 5659 First char = 'a' 5660 Need char = 'c' 5661 Subject length lower bound = 3 5662 No starting char list 5663 Compiled pattern written to testsavedregex 5664 Study data written to testsavedregex 5665 <testsavedregex 5666 Compiled pattern (byte-inverted) loaded from testsavedregex 5667 Study data loaded from testsavedregex 5668 abc 5669 0: abc 5670 ** Failers 5671 No match 5672 bca 5673 No match 5674 5675 /abc/IFSS>testsavedregex 5676 Capturing subpattern count = 0 5677 No options 5678 First char = 'a' 5679 Need char = 'c' 5680 Compiled pattern written to testsavedregex 5681 <testsavedregex 5682 Compiled pattern (byte-inverted) loaded from testsavedregex 5683 No study data 5684 abc 5685 0: abc 5686 ** Failers 5687 No match 5688 bca 5689 No match 5690 5691 /(a|b)/IS>testsavedregex 5692 Capturing subpattern count = 1 5693 No options 5694 No first char 5695 No need char 5696 Subject length lower bound = 1 5697 Starting chars: a b 5698 Compiled pattern written to testsavedregex 5699 Study data written to testsavedregex 5700 <testsavedregex 5701 Compiled pattern loaded from testsavedregex 5702 Study data loaded from testsavedregex 5703 abc 5704 0: a 5705 1: a 5706 ** Failers 5707 0: a 5708 1: a 5709 def 5710 No match 5711 5712 /(a|b)/ISS>testsavedregex 5713 Capturing subpattern count = 1 5714 No options 5715 No first char 5716 No need char 5717 Compiled pattern written to testsavedregex 5718 <testsavedregex 5719 Compiled pattern loaded from testsavedregex 5720 No study data 5721 abc 5722 0: a 5723 1: a 5724 ** Failers 5725 0: a 5726 1: a 5727 def 5728 No match 5729 5730 /(a|b)/ISF>testsavedregex 5731 Capturing subpattern count = 1 5732 No options 5733 No first char 5734 No need char 5735 Subject length lower bound = 1 5736 Starting chars: a b 5737 Compiled pattern written to testsavedregex 5738 Study data written to testsavedregex 5739 <testsavedregex 5740 Compiled pattern (byte-inverted) loaded from testsavedregex 5741 Study data loaded from testsavedregex 5742 abc 5743 0: a 5744 1: a 5745 ** Failers 5746 0: a 5747 1: a 5748 def 5749 No match 5750 5751 /(a|b)/ISSF>testsavedregex 5752 Capturing subpattern count = 1 5753 No options 5754 No first char 5755 No need char 5756 Compiled pattern written to testsavedregex 5757 <testsavedregex 5758 Compiled pattern (byte-inverted) loaded from testsavedregex 5759 No study data 5760 abc 5761 0: a 5762 1: a 5763 ** Failers 5764 0: a 5765 1: a 5766 def 5767 No match 5768 5769 ~<(\w+)/?>(.)*</(\1)>~smgI 5770 Capturing subpattern count = 3 5771 Max back reference = 1 5772 Options: multiline dotall 5773 First char = '<' 5774 Need char = '>' 5775 \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> 5776 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> 5777 1: seite 5778 2: \x0a 5779 3: seite 5780 5781 /^a/IF 5782 Capturing subpattern count = 0 5783 Options: anchored 5784 No first char 5785 No need char 5786 5787 /line\nbreak/I 5788 Capturing subpattern count = 0 5789 Contains explicit CR or LF match 5790 No options 5791 First char = 'l' 5792 Need char = 'k' 5793 this is a line\nbreak 5794 0: line\x0abreak 5795 line one\nthis is a line\nbreak in the second line 5796 0: line\x0abreak 5797 5798 /line\nbreak/If 5799 Capturing subpattern count = 0 5800 Contains explicit CR or LF match 5801 Options: 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 /line\nbreak/Imf 5812 Capturing subpattern count = 0 5813 Contains explicit CR or LF match 5814 Options: multiline firstline 5815 First char = 'l' 5816 Need char = 'k' 5817 this is a line\nbreak 5818 0: line\x0abreak 5819 ** Failers 5820 No match 5821 line one\nthis is a line\nbreak in the second line 5822 No match 5823 5824 /(?i)(?-i)AbCd/I 5825 Capturing subpattern count = 0 5826 No options 5827 First char = 'A' 5828 Need char = 'd' 5829 AbCd 5830 0: AbCd 5831 ** Failers 5832 No match 5833 abcd 5834 No match 5835 5836 /a{11111111111111111111}/I 5837 Failed: number too big in {} quantifier at offset 8 5838 5839 /(){64294967295}/I 5840 Failed: number too big in {} quantifier at offset 9 5841 5842 /(){2,4294967295}/I 5843 Failed: number too big in {} quantifier at offset 11 5844 5845 "(?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 5846 Capturing subpattern count = 1 5847 Max back reference = 1 5848 No options 5849 First char = 'a' (caseless) 5850 Need char = 'B' 5851 abcdefghijklAkB 5852 0: abcdefghijklAkB 5853 1: k 5854 5855 "(?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 5856 Capturing subpattern count = 12 5857 Max back reference = 11 5858 Named capturing subpatterns: 5859 n0 1 5860 n1 2 5861 n10 11 5862 n11 12 5863 n2 3 5864 n3 4 5865 n4 5 5866 n5 6 5867 n6 7 5868 n7 8 5869 n8 9 5870 n9 10 5871 No options 5872 First char = 'a' 5873 Need char = 'B' 5874 abcdefghijklAkB 5875 0: abcdefghijklAkB 5876 1: a 5877 2: b 5878 3: c 5879 4: d 5880 5: e 5881 6: f 5882 7: g 5883 8: h 5884 9: i 5885 10: j 5886 11: k 5887 12: l 5888 5889 "(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)A\11B"I 5890 Capturing subpattern count = 12 5891 Max back reference = 11 5892 No options 5893 First char = 'a' 5894 Need char = 'B' 5895 abcdefghijklAkB 5896 0: abcdefghijklAkB 5897 1: a 5898 2: b 5899 3: c 5900 4: d 5901 5: e 5902 6: f 5903 7: g 5904 8: h 5905 9: i 5906 10: j 5907 11: k 5908 12: l 5909 5910 "(?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 5911 Capturing subpattern count = 101 5912 Named capturing subpatterns: 5913 name0 1 5914 name1 2 5915 name10 11 5916 name100 101 5917 name11 12 5918 name12 13 5919 name13 14 5920 name14 15 5921 name15 16 5922 name16 17 5923 name17 18 5924 name18 19 5925 name19 20 5926 name2 3 5927 name20 21 5928 name21 22 5929 name22 23 5930 name23 24 5931 name24 25 5932 name25 26 5933 name26 27 5934 name27 28 5935 name28 29 5936 name29 30 5937 name3 4 5938 name30 31 5939 name31 32 5940 name32 33 5941 name33 34 5942 name34 35 5943 name35 36 5944 name36 37 5945 name37 38 5946 name38 39 5947 name39 40 5948 name4 5 5949 name40 41 5950 name41 42 5951 name42 43 5952 name43 44 5953 name44 45 5954 name45 46 5955 name46 47 5956 name47 48 5957 name48 49 5958 name49 50 5959 name5 6 5960 name50 51 5961 name51 52 5962 name52 53 5963 name53 54 5964 name54 55 5965 name55 56 5966 name56 57 5967 name57 58 5968 name58 59 5969 name59 60 5970 name6 7 5971 name60 61 5972 name61 62 5973 name62 63 5974 name63 64 5975 name64 65 5976 name65 66 5977 name66 67 5978 name67 68 5979 name68 69 5980 name69 70 5981 name7 8 5982 name70 71 5983 name71 72 5984 name72 73 5985 name73 74 5986 name74 75 5987 name75 76 5988 name76 77 5989 name77 78 5990 name78 79 5991 name79 80 5992 name8 9 5993 name80 81 5994 name81 82 5995 name82 83 5996 name83 84 5997 name84 85 5998 name85 86 5999 name86 87 6000 name87 88 6001 name88 89 6002 name89 90 6003 name9 10 6004 name90 91 6005 name91 92 6006 name92 93 6007 name93 94 6008 name94 95 6009 name95 96 6010 name96 97 6011 name97 98 6012 name98 99 6013 name99 100 6014 No options 6015 First char = 'a' 6016 Need char = 'a' 6017 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 6018 Matched, but too many substrings 6019 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 6020 1: a 6021 2: a 6022 3: a 6023 4: a 6024 5: a 6025 6: a 6026 7: a 6027 8: a 6028 9: a 6029 10: a 6030 11: a 6031 12: a 6032 13: a 6033 14: a 6034 6035 "(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 6036 Capturing subpattern count = 101 6037 No options 6038 First char = 'a' 6039 Need char = 'a' 6040 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 6041 Matched, but too many substrings 6042 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 6043 1: a 6044 2: a 6045 3: a 6046 4: a 6047 5: a 6048 6: a 6049 7: a 6050 8: a 6051 9: a 6052 10: a 6053 11: a 6054 12: a 6055 13: a 6056 14: a 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 (this(and)that)stuff 6069 0: (this(and)that)stuff 6070 6071 /[^()]*(?:\((?>(?R))\)[^()]*)*/I 6072 Capturing subpattern count = 0 6073 May match empty string 6074 No options 6075 No first char 6076 No need char 6077 (this(and)that 6078 0: 6079 (this(and)that) 6080 0: (this(and)that) 6081 6082 /[^()]*(?:\((?R)\))*[^()]*/I 6083 Capturing subpattern count = 0 6084 May match empty string 6085 No options 6086 No first char 6087 No need char 6088 (this(and)that 6089 0: 6090 (this(and)that) 6091 0: (this(and)that) 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 6106 /(?:\((?R)\))|[^()]*/I 6107 Capturing subpattern count = 0 6108 May match empty string 6109 No options 6110 No first char 6111 No need char 6112 (this(and)that 6113 0: 6114 (this(and)that) 6115 0: 6116 (this) 6117 0: (this) 6118 ((this)) 6119 0: ((this)) 6120 6121 /\x{0000ff}/I 6122 Capturing subpattern count = 0 6123 No options 6124 First char = \xff 6125 No need char 6126 6127 /^((?P<A>a1)|(?P<A>a2)b)/I 6128 Failed: two named subpatterns have the same name at offset 17 6129 6130 /^((?P<A>a1)|(?P<A>a2)b)/IJ 6131 Capturing subpattern count = 3 6132 Named capturing subpatterns: 6133 A 2 6134 A 3 6135 Options: anchored dupnames 6136 No first char 6137 No need char 6138 a1b\CA 6139 0: a1 6140 1: a1 6141 2: a1 6142 C a1 (2) A 6143 a2b\CA 6144 0: a2b 6145 1: a2b 6146 2: <unset> 6147 3: a2 6148 C a2 (2) A 6149 ** Failers 6150 No match 6151 a1b\CZ\CA 6152 no parentheses with name "Z" 6153 0: a1 6154 1: a1 6155 2: a1 6156 copy substring Z failed -7 6157 C a1 (2) A 6158 6159 /(?|(?<a>)(?<b>)(?<a>)|(?<a>)(?<b>)(?<a>))/IJ 6160 Capturing subpattern count = 3 6161 Named capturing subpatterns: 6162 a 1 6163 a 3 6164 b 2 6165 May match empty string 6166 Options: dupnames 6167 No first char 6168 No need char 6169 6170 /^(?P<A>a)(?P<A>b)/IJ 6171 Capturing subpattern count = 2 6172 Named capturing subpatterns: 6173 A 1 6174 A 2 6175 Options: anchored dupnames 6176 No first char 6177 No need char 6178 ab\CA 6179 0: ab 6180 1: a 6181 2: b 6182 C a (1) A 6183 6184 /^(?P<A>a)(?P<A>b)|cd/IJ 6185 Capturing subpattern count = 2 6186 Named capturing subpatterns: 6187 A 1 6188 A 2 6189 Options: dupnames 6190 No first char 6191 No need char 6192 ab\CA 6193 0: ab 6194 1: a 6195 2: b 6196 C a (1) A 6197 cd\CA 6198 0: cd 6199 copy substring A failed -7 6200 6201 /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ 6202 Capturing subpattern count = 4 6203 Named capturing subpatterns: 6204 A 1 6205 A 2 6206 A 3 6207 A 4 6208 Options: dupnames 6209 No first char 6210 No need char 6211 cdefgh\CA 6212 0: cdefgh 6213 1: <unset> 6214 2: <unset> 6215 3: ef 6216 4: gh 6217 C ef (2) A 6218 6219 /^((?P<A>a1)|(?P<A>a2)b)/IJ 6220 Capturing subpattern count = 3 6221 Named capturing subpatterns: 6222 A 2 6223 A 3 6224 Options: anchored dupnames 6225 No first char 6226 No need char 6227 a1b\GA 6228 0: a1 6229 1: a1 6230 2: a1 6231 G a1 (2) A 6232 a2b\GA 6233 0: a2b 6234 1: a2b 6235 2: <unset> 6236 3: a2 6237 G a2 (2) A 6238 ** Failers 6239 No match 6240 a1b\GZ\GA 6241 no parentheses with name "Z" 6242 0: a1 6243 1: a1 6244 2: a1 6245 get substring Z failed -7 6246 G a1 (2) A 6247 6248 /^(?P<A>a)(?P<A>b)/IJ 6249 Capturing subpattern count = 2 6250 Named capturing subpatterns: 6251 A 1 6252 A 2 6253 Options: anchored dupnames 6254 No first char 6255 No need char 6256 ab\GA 6257 0: ab 6258 1: a 6259 2: b 6260 G a (1) A 6261 6262 /^(?P<A>a)(?P<A>b)|cd/IJ 6263 Capturing subpattern count = 2 6264 Named capturing subpatterns: 6265 A 1 6266 A 2 6267 Options: dupnames 6268 No first char 6269 No need char 6270 ab\GA 6271 0: ab 6272 1: a 6273 2: b 6274 G a (1) A 6275 cd\GA 6276 0: cd 6277 get substring A failed -7 6278 6279 /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ 6280 Capturing subpattern count = 4 6281 Named capturing subpatterns: 6282 A 1 6283 A 2 6284 A 3 6285 A 4 6286 Options: dupnames 6287 No first char 6288 No need char 6289 cdefgh\GA 6290 0: cdefgh 6291 1: <unset> 6292 2: <unset> 6293 3: ef 6294 4: gh 6295 G ef (2) A 6296 6297 /(?J)^((?P<A>a1)|(?P<A>a2)b)/I 6298 Capturing subpattern count = 3 6299 Named capturing subpatterns: 6300 A 2 6301 A 3 6302 Options: anchored dupnames 6303 Duplicate name status changes 6304 No first char 6305 No need char 6306 a1b\CA 6307 0: a1 6308 1: a1 6309 2: a1 6310 C a1 (2) A 6311 a2b\CA 6312 0: a2b 6313 1: a2b 6314 2: <unset> 6315 3: a2 6316 C a2 (2) A 6317 6318 /^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<A>d)/I 6319 Failed: two named subpatterns have the same name at offset 37 6320 6321 / In this next test, J is not set at the outer level; consequently it isn't 6322 set in the pattern's options; consequently pcre_get_named_substring() produces 6323 a random value. /Ix 6324 Capturing subpattern count = 1 6325 Options: extended 6326 First char = 'I' 6327 Need char = 'e' 6328 6329 /^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<C>d)/I 6330 Capturing subpattern count = 4 6331 Named capturing subpatterns: 6332 A 1 6333 B 2 6334 B 3 6335 C 4 6336 Options: anchored 6337 Duplicate name status changes 6338 No first char 6339 No need char 6340 a bc d\CA\CB\CC 6341 0: a bc d 6342 1: a 6343 2: b 6344 3: c 6345 4: d 6346 C a (1) A 6347 C b (1) B 6348 C d (1) C 6349 6350 /^(?P<A>a)?(?(A)a|b)/I 6351 Capturing subpattern count = 1 6352 Max back reference = 1 6353 Named capturing subpatterns: 6354 A 1 6355 Options: anchored 6356 No first char 6357 No need char 6358 aabc 6359 0: aa 6360 1: a 6361 bc 6362 0: b 6363 ** Failers 6364 No match 6365 abc 6366 No match 6367 6368 /(?:(?(ZZ)a|b)(?P<ZZ>X))+/I 6369 Capturing subpattern count = 1 6370 Max back reference = 1 6371 Named capturing subpatterns: 6372 ZZ 1 6373 No options 6374 No first char 6375 Need char = 'X' 6376 bXaX 6377 0: bXaX 6378 1: X 6379 6380 /(?:(?(2y)a|b)(X))+/I 6381 Failed: malformed number or name after (?( at offset 7 6382 6383 /(?:(?(ZA)a|b)(?P<ZZ>X))+/I 6384 Failed: reference to non-existent subpattern at offset 9 6385 6386 /(?:(?(ZZ)a|b)(?(ZZ)a|b)(?P<ZZ>X))+/I 6387 Capturing subpattern count = 1 6388 Max back reference = 1 6389 Named capturing subpatterns: 6390 ZZ 1 6391 No options 6392 No first char 6393 Need char = 'X' 6394 bbXaaX 6395 0: bbXaaX 6396 1: X 6397 6398 /(?:(?(ZZ)a|\(b\))\\(?P<ZZ>X))+/I 6399 Capturing subpattern count = 1 6400 Max back reference = 1 6401 Named capturing subpatterns: 6402 ZZ 1 6403 No options 6404 No first char 6405 Need char = 'X' 6406 (b)\\Xa\\X 6407 0: (b)\Xa\X 6408 1: X 6409 6410 /(?P<ABC/I 6411 Failed: syntax error in subpattern name (missing terminator) at offset 7 6412 6413 /(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/I 6414 Capturing subpattern count = 1 6415 Max back reference = 1 6416 Named capturing subpatterns: 6417 A 1 6418 No options 6419 No first char 6420 No need char 6421 bXXaYYaY 6422 0: bXXaYYaY 6423 1: Y 6424 bXYaXXaX 6425 0: bX 6426 1: X 6427 6428 /()()()()()()()()()(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/I 6429 Capturing subpattern count = 10 6430 Max back reference = 10 6431 Named capturing subpatterns: 6432 A 10 6433 No options 6434 No first char 6435 No need char 6436 bXXaYYaY 6437 0: bXXaYYaY 6438 1: 6439 2: 6440 3: 6441 4: 6442 5: 6443 6: 6444 7: 6445 8: 6446 9: 6447 10: Y 6448 6449 /\s*,\s*/IS 6450 Capturing subpattern count = 0 6451 No options 6452 No first char 6453 Need char = ',' 6454 Subject length lower bound = 1 6455 Starting chars: \x09 \x0a \x0b \x0c \x0d \x20 , 6456 \x0b,\x0b 6457 0: \x0b,\x0b 6458 \x0c,\x0d 6459 0: \x0c,\x0d 6460 6461 /^abc/Im 6462 Capturing subpattern count = 0 6463 Options: multiline 6464 First char at start or follows newline 6465 Need char = 'c' 6466 xyz\nabc 6467 0: abc 6468 xyz\nabc\<lf> 6469 0: abc 6470 xyz\r\nabc\<lf> 6471 0: abc 6472 xyz\rabc\<cr> 6473 0: abc 6474 xyz\r\nabc\<crlf> 6475 0: abc 6476 ** Failers 6477 No match 6478 xyz\nabc\<cr> 6479 No match 6480 xyz\r\nabc\<cr> 6481 No match 6482 xyz\nabc\<crlf> 6483 No match 6484 xyz\rabc\<crlf> 6485 No match 6486 xyz\rabc\<lf> 6487 No match 6488 6489 /abc$/Im<lf> 6490 Capturing subpattern count = 0 6491 Options: multiline 6492 Forced newline sequence: LF 6493 First char = 'a' 6494 Need char = 'c' 6495 xyzabc 6496 0: abc 6497 xyzabc\n 6498 0: abc 6499 xyzabc\npqr 6500 0: abc 6501 xyzabc\r\<cr> 6502 0: abc 6503 xyzabc\rpqr\<cr> 6504 0: abc 6505 xyzabc\r\n\<crlf> 6506 0: abc 6507 xyzabc\r\npqr\<crlf> 6508 0: abc 6509 ** Failers 6510 No match 6511 xyzabc\r 6512 No match 6513 xyzabc\rpqr 6514 No match 6515 xyzabc\r\n 6516 No match 6517 xyzabc\r\npqr 6518 No match 6519 6520 /^abc/Im<cr> 6521 Capturing subpattern count = 0 6522 Options: multiline 6523 Forced newline sequence: CR 6524 First char at start or follows newline 6525 Need char = 'c' 6526 xyz\rabcdef 6527 0: abc 6528 xyz\nabcdef\<lf> 6529 0: abc 6530 ** Failers 6531 No match 6532 xyz\nabcdef 6533 No match 6534 6535 /^abc/Im<lf> 6536 Capturing subpattern count = 0 6537 Options: multiline 6538 Forced newline sequence: LF 6539 First char at start or follows newline 6540 Need char = 'c' 6541 xyz\nabcdef 6542 0: abc 6543 xyz\rabcdef\<cr> 6544 0: abc 6545 ** Failers 6546 No match 6547 xyz\rabcdef 6548 No match 6549 6550 /^abc/Im<crlf> 6551 Capturing subpattern count = 0 6552 Options: multiline 6553 Forced newline sequence: CRLF 6554 First char at start or follows newline 6555 Need char = 'c' 6556 xyz\r\nabcdef 6557 0: abc 6558 xyz\rabcdef\<cr> 6559 0: abc 6560 ** Failers 6561 No match 6562 xyz\rabcdef 6563 No match 6564 6565 /^abc/Im<bad> 6566 Unknown modifier at: <bad> 6567 6568 6569 /abc/I 6570 Capturing subpattern count = 0 6571 No options 6572 First char = 'a' 6573 Need char = 'c' 6574 xyz\rabc\<bad> 6575 Unknown escape sequence at: <bad> 6576 abc 6577 0: abc 6578 6579 /.*/I<lf> 6580 Capturing subpattern count = 0 6581 May match empty string 6582 Options: 6583 Forced newline sequence: LF 6584 First char at start or follows newline 6585 No need char 6586 abc\ndef 6587 0: abc 6588 abc\rdef 6589 0: abc\x0ddef 6590 abc\r\ndef 6591 0: abc\x0d 6592 \<cr>abc\ndef 6593 0: abc\x0adef 6594 \<cr>abc\rdef 6595 0: abc 6596 \<cr>abc\r\ndef 6597 0: abc 6598 \<crlf>abc\ndef 6599 0: abc\x0adef 6600 \<crlf>abc\rdef 6601 0: abc\x0ddef 6602 \<crlf>abc\r\ndef 6603 0: abc 6604 6605 /\w+(.)(.)?def/Is 6606 Capturing subpattern count = 2 6607 Options: dotall 6608 No first char 6609 Need char = 'f' 6610 abc\ndef 6611 0: abc\x0adef 6612 1: \x0a 6613 abc\rdef 6614 0: abc\x0ddef 6615 1: \x0d 6616 abc\r\ndef 6617 0: abc\x0d\x0adef 6618 1: \x0d 6619 2: \x0a 6620 6621 +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I 6622 Capturing subpattern count = 1 6623 May match empty string 6624 No options 6625 No first char 6626 No need char 6627 /* this is a C style comment */\M 6628 Minimum match() limit = 120 6629 Minimum match() recursion limit = 6 6630 0: /* this is a C style comment */ 6631 1: /* this is a C style comment */ 6632 6633 /(?P<B>25[0-5]|2[0-4]\d|[01]?\d?\d)(?:\.(?P>B)){3}/I 6634 Capturing subpattern count = 1 6635 Named capturing subpatterns: 6636 B 1 6637 No options 6638 No first char 6639 Need char = '.' 6640 6641 /()()()()()()()()()()()()()()()()()()()() 6642 ()()()()()()()()()()()()()()()()()()()() 6643 ()()()()()()()()()()()()()()()()()()()() 6644 ()()()()()()()()()()()()()()()()()()()() 6645 ()()()()()()()()()()()()()()()()()()()() 6646 (.(.))/Ix 6647 Capturing subpattern count = 102 6648 Options: extended 6649 No first char 6650 No need char 6651 XY\O400 6652 0: XY 6653 1: 6654 2: 6655 3: 6656 4: 6657 5: 6658 6: 6659 7: 6660 8: 6661 9: 6662 10: 6663 11: 6664 12: 6665 13: 6666 14: 6667 15: 6668 16: 6669 17: 6670 18: 6671 19: 6672 20: 6673 21: 6674 22: 6675 23: 6676 24: 6677 25: 6678 26: 6679 27: 6680 28: 6681 29: 6682 30: 6683 31: 6684 32: 6685 33: 6686 34: 6687 35: 6688 36: 6689 37: 6690 38: 6691 39: 6692 40: 6693 41: 6694 42: 6695 43: 6696 44: 6697 45: 6698 46: 6699 47: 6700 48: 6701 49: 6702 50: 6703 51: 6704 52: 6705 53: 6706 54: 6707 55: 6708 56: 6709 57: 6710 58: 6711 59: 6712 60: 6713 61: 6714 62: 6715 63: 6716 64: 6717 65: 6718 66: 6719 67: 6720 68: 6721 69: 6722 70: 6723 71: 6724 72: 6725 73: 6726 74: 6727 75: 6728 76: 6729 77: 6730 78: 6731 79: 6732 80: 6733 81: 6734 82: 6735 83: 6736 84: 6737 85: 6738 86: 6739 87: 6740 88: 6741 89: 6742 90: 6743 91: 6744 92: 6745 93: 6746 94: 6747 95: 6748 96: 6749 97: 6750 98: 6751 99: 6752 100: 6753 101: XY 6754 102: Y 6755 6756 /(a*b|(?i:c*(?-i)d))/IS 6757 Capturing subpattern count = 1 6758 No options 6759 No first char 6760 No need char 6761 Subject length lower bound = 1 6762 Starting chars: C a b c d 6763 6764 /()[ab]xyz/IS 6765 Capturing subpattern count = 1 6766 No options 6767 No first char 6768 Need char = 'z' 6769 Subject length lower bound = 4 6770 Starting chars: a b 6771 6772 /(|)[ab]xyz/IS 6773 Capturing subpattern count = 1 6774 No options 6775 No first char 6776 Need char = 'z' 6777 Subject length lower bound = 4 6778 Starting chars: a b 6779 6780 /(|c)[ab]xyz/IS 6781 Capturing subpattern count = 1 6782 No options 6783 No first char 6784 Need char = 'z' 6785 Subject length lower bound = 4 6786 Starting chars: a b c 6787 6788 /(|c?)[ab]xyz/IS 6789 Capturing subpattern count = 1 6790 No options 6791 No first char 6792 Need char = 'z' 6793 Subject length lower bound = 4 6794 Starting chars: a b c 6795 6796 /(d?|c?)[ab]xyz/IS 6797 Capturing subpattern count = 1 6798 No options 6799 No first char 6800 Need char = 'z' 6801 Subject length lower bound = 4 6802 Starting chars: a b c d 6803 6804 /(d?|c)[ab]xyz/IS 6805 Capturing subpattern count = 1 6806 No options 6807 No first char 6808 Need char = 'z' 6809 Subject length lower bound = 4 6810 Starting chars: a b c d 6811 6812 /^a*b\d/DZ 6813 ------------------------------------------------------------------ 6814 Bra 6815 ^ 6816 a*+ 6817 b 6818 \d 6819 Ket 6820 End 6821 ------------------------------------------------------------------ 6822 Capturing subpattern count = 0 6823 Options: anchored 6824 No first char 6825 Need char = 'b' 6826 6827 /^a*+b\d/DZ 6828 ------------------------------------------------------------------ 6829 Bra 6830 ^ 6831 a*+ 6832 b 6833 \d 6834 Ket 6835 End 6836 ------------------------------------------------------------------ 6837 Capturing subpattern count = 0 6838 Options: anchored 6839 No first char 6840 Need char = 'b' 6841 6842 /^a*?b\d/DZ 6843 ------------------------------------------------------------------ 6844 Bra 6845 ^ 6846 a*+ 6847 b 6848 \d 6849 Ket 6850 End 6851 ------------------------------------------------------------------ 6852 Capturing subpattern count = 0 6853 Options: anchored 6854 No first char 6855 Need char = 'b' 6856 6857 /^a+A\d/DZ 6858 ------------------------------------------------------------------ 6859 Bra 6860 ^ 6861 a++ 6862 A 6863 \d 6864 Ket 6865 End 6866 ------------------------------------------------------------------ 6867 Capturing subpattern count = 0 6868 Options: anchored 6869 No first char 6870 Need char = 'A' 6871 aaaA5 6872 0: aaaA5 6873 ** Failers 6874 No match 6875 aaaa5 6876 No match 6877 6878 /^a*A\d/IiDZ 6879 ------------------------------------------------------------------ 6880 Bra 6881 ^ 6882 /i a* 6883 /i A 6884 \d 6885 Ket 6886 End 6887 ------------------------------------------------------------------ 6888 Capturing subpattern count = 0 6889 Options: anchored caseless 6890 No first char 6891 Need char = 'A' (caseless) 6892 aaaA5 6893 0: aaaA5 6894 aaaa5 6895 0: aaaa5 6896 6897 /(a*|b*)[cd]/IS 6898 Capturing subpattern count = 1 6899 No options 6900 No first char 6901 No need char 6902 Subject length lower bound = 1 6903 Starting chars: a b c d 6904 6905 /(a+|b*)[cd]/IS 6906 Capturing subpattern count = 1 6907 No options 6908 No first char 6909 No need char 6910 Subject length lower bound = 1 6911 Starting chars: a b c d 6912 6913 /(a*|b+)[cd]/IS 6914 Capturing subpattern count = 1 6915 No options 6916 No first char 6917 No need char 6918 Subject length lower bound = 1 6919 Starting chars: a b c d 6920 6921 /(a+|b+)[cd]/IS 6922 Capturing subpattern count = 1 6923 No options 6924 No first char 6925 No need char 6926 Subject length lower bound = 2 6927 Starting chars: a b 6928 6929 /(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((( 6930 (((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((( 6931 ((( 6932 a 6933 )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 6934 )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 6935 ))) 6936 /Ix 6937 Capturing subpattern count = 203 6938 Options: extended 6939 First char = 'a' 6940 No need char 6941 large nest 6942 Matched, but too many substrings 6943 0: a 6944 1: a 6945 2: a 6946 3: a 6947 4: a 6948 5: a 6949 6: a 6950 7: a 6951 8: a 6952 9: a 6953 10: a 6954 11: a 6955 12: a 6956 13: a 6957 14: a 6958 6959 /a*\d/BZ 6960 ------------------------------------------------------------------ 6961 Bra 6962 a*+ 6963 \d 6964 Ket 6965 End 6966 ------------------------------------------------------------------ 6967 6968 /a*\D/BZ 6969 ------------------------------------------------------------------ 6970 Bra 6971 a* 6972 \D 6973 Ket 6974 End 6975 ------------------------------------------------------------------ 6976 6977 /0*\d/BZ 6978 ------------------------------------------------------------------ 6979 Bra 6980 0* 6981 \d 6982 Ket 6983 End 6984 ------------------------------------------------------------------ 6985 6986 /0*\D/BZ 6987 ------------------------------------------------------------------ 6988 Bra 6989 0*+ 6990 \D 6991 Ket 6992 End 6993 ------------------------------------------------------------------ 6994 6995 /a*\s/BZ 6996 ------------------------------------------------------------------ 6997 Bra 6998 a*+ 6999 \s 7000 Ket 7001 End 7002 ------------------------------------------------------------------ 7003 7004 /a*\S/BZ 7005 ------------------------------------------------------------------ 7006 Bra 7007 a* 7008 \S 7009 Ket 7010 End 7011 ------------------------------------------------------------------ 7012 7013 / *\s/BZ 7014 ------------------------------------------------------------------ 7015 Bra 7016 * 7017 \s 7018 Ket 7019 End 7020 ------------------------------------------------------------------ 7021 7022 / *\S/BZ 7023 ------------------------------------------------------------------ 7024 Bra 7025 *+ 7026 \S 7027 Ket 7028 End 7029 ------------------------------------------------------------------ 7030 7031 /a*\w/BZ 7032 ------------------------------------------------------------------ 7033 Bra 7034 a* 7035 \w 7036 Ket 7037 End 7038 ------------------------------------------------------------------ 7039 7040 /a*\W/BZ 7041 ------------------------------------------------------------------ 7042 Bra 7043 a*+ 7044 \W 7045 Ket 7046 End 7047 ------------------------------------------------------------------ 7048 7049 /=*\w/BZ 7050 ------------------------------------------------------------------ 7051 Bra 7052 =*+ 7053 \w 7054 Ket 7055 End 7056 ------------------------------------------------------------------ 7057 7058 /=*\W/BZ 7059 ------------------------------------------------------------------ 7060 Bra 7061 =* 7062 \W 7063 Ket 7064 End 7065 ------------------------------------------------------------------ 7066 7067 /\d*a/BZ 7068 ------------------------------------------------------------------ 7069 Bra 7070 \d*+ 7071 a 7072 Ket 7073 End 7074 ------------------------------------------------------------------ 7075 7076 /\d*2/BZ 7077 ------------------------------------------------------------------ 7078 Bra 7079 \d* 7080 2 7081 Ket 7082 End 7083 ------------------------------------------------------------------ 7084 7085 /\d*\d/BZ 7086 ------------------------------------------------------------------ 7087 Bra 7088 \d* 7089 \d 7090 Ket 7091 End 7092 ------------------------------------------------------------------ 7093 7094 /\d*\D/BZ 7095 ------------------------------------------------------------------ 7096 Bra 7097 \d*+ 7098 \D 7099 Ket 7100 End 7101 ------------------------------------------------------------------ 7102 7103 /\d*\s/BZ 7104 ------------------------------------------------------------------ 7105 Bra 7106 \d*+ 7107 \s 7108 Ket 7109 End 7110 ------------------------------------------------------------------ 7111 7112 /\d*\S/BZ 7113 ------------------------------------------------------------------ 7114 Bra 7115 \d* 7116 \S 7117 Ket 7118 End 7119 ------------------------------------------------------------------ 7120 7121 /\d*\w/BZ 7122 ------------------------------------------------------------------ 7123 Bra 7124 \d* 7125 \w 7126 Ket 7127 End 7128 ------------------------------------------------------------------ 7129 7130 /\d*\W/BZ 7131 ------------------------------------------------------------------ 7132 Bra 7133 \d*+ 7134 \W 7135 Ket 7136 End 7137 ------------------------------------------------------------------ 7138 7139 /\D*a/BZ 7140 ------------------------------------------------------------------ 7141 Bra 7142 \D* 7143 a 7144 Ket 7145 End 7146 ------------------------------------------------------------------ 7147 7148 /\D*2/BZ 7149 ------------------------------------------------------------------ 7150 Bra 7151 \D*+ 7152 2 7153 Ket 7154 End 7155 ------------------------------------------------------------------ 7156 7157 /\D*\d/BZ 7158 ------------------------------------------------------------------ 7159 Bra 7160 \D*+ 7161 \d 7162 Ket 7163 End 7164 ------------------------------------------------------------------ 7165 7166 /\D*\D/BZ 7167 ------------------------------------------------------------------ 7168 Bra 7169 \D* 7170 \D 7171 Ket 7172 End 7173 ------------------------------------------------------------------ 7174 7175 /\D*\s/BZ 7176 ------------------------------------------------------------------ 7177 Bra 7178 \D* 7179 \s 7180 Ket 7181 End 7182 ------------------------------------------------------------------ 7183 7184 /\D*\S/BZ 7185 ------------------------------------------------------------------ 7186 Bra 7187 \D* 7188 \S 7189 Ket 7190 End 7191 ------------------------------------------------------------------ 7192 7193 /\D*\w/BZ 7194 ------------------------------------------------------------------ 7195 Bra 7196 \D* 7197 \w 7198 Ket 7199 End 7200 ------------------------------------------------------------------ 7201 7202 /\D*\W/BZ 7203 ------------------------------------------------------------------ 7204 Bra 7205 \D* 7206 \W 7207 Ket 7208 End 7209 ------------------------------------------------------------------ 7210 7211 /\s*a/BZ 7212 ------------------------------------------------------------------ 7213 Bra 7214 \s*+ 7215 a 7216 Ket 7217 End 7218 ------------------------------------------------------------------ 7219 7220 /\s*2/BZ 7221 ------------------------------------------------------------------ 7222 Bra 7223 \s*+ 7224 2 7225 Ket 7226 End 7227 ------------------------------------------------------------------ 7228 7229 /\s*\d/BZ 7230 ------------------------------------------------------------------ 7231 Bra 7232 \s*+ 7233 \d 7234 Ket 7235 End 7236 ------------------------------------------------------------------ 7237 7238 /\s*\D/BZ 7239 ------------------------------------------------------------------ 7240 Bra 7241 \s* 7242 \D 7243 Ket 7244 End 7245 ------------------------------------------------------------------ 7246 7247 /\s*\s/BZ 7248 ------------------------------------------------------------------ 7249 Bra 7250 \s* 7251 \s 7252 Ket 7253 End 7254 ------------------------------------------------------------------ 7255 7256 /\s*\S/BZ 7257 ------------------------------------------------------------------ 7258 Bra 7259 \s*+ 7260 \S 7261 Ket 7262 End 7263 ------------------------------------------------------------------ 7264 7265 /\s*\w/BZ 7266 ------------------------------------------------------------------ 7267 Bra 7268 \s*+ 7269 \w 7270 Ket 7271 End 7272 ------------------------------------------------------------------ 7273 7274 /\s*\W/BZ 7275 ------------------------------------------------------------------ 7276 Bra 7277 \s* 7278 \W 7279 Ket 7280 End 7281 ------------------------------------------------------------------ 7282 7283 /\S*a/BZ 7284 ------------------------------------------------------------------ 7285 Bra 7286 \S* 7287 a 7288 Ket 7289 End 7290 ------------------------------------------------------------------ 7291 7292 /\S*2/BZ 7293 ------------------------------------------------------------------ 7294 Bra 7295 \S* 7296 2 7297 Ket 7298 End 7299 ------------------------------------------------------------------ 7300 7301 /\S*\d/BZ 7302 ------------------------------------------------------------------ 7303 Bra 7304 \S* 7305 \d 7306 Ket 7307 End 7308 ------------------------------------------------------------------ 7309 7310 /\S*\D/BZ 7311 ------------------------------------------------------------------ 7312 Bra 7313 \S* 7314 \D 7315 Ket 7316 End 7317 ------------------------------------------------------------------ 7318 7319 /\S*\s/BZ 7320 ------------------------------------------------------------------ 7321 Bra 7322 \S*+ 7323 \s 7324 Ket 7325 End 7326 ------------------------------------------------------------------ 7327 7328 /\S*\S/BZ 7329 ------------------------------------------------------------------ 7330 Bra 7331 \S* 7332 \S 7333 Ket 7334 End 7335 ------------------------------------------------------------------ 7336 7337 /\S*\w/BZ 7338 ------------------------------------------------------------------ 7339 Bra 7340 \S* 7341 \w 7342 Ket 7343 End 7344 ------------------------------------------------------------------ 7345 7346 /\S*\W/BZ 7347 ------------------------------------------------------------------ 7348 Bra 7349 \S* 7350 \W 7351 Ket 7352 End 7353 ------------------------------------------------------------------ 7354 7355 /\w*a/BZ 7356 ------------------------------------------------------------------ 7357 Bra 7358 \w* 7359 a 7360 Ket 7361 End 7362 ------------------------------------------------------------------ 7363 7364 /\w*2/BZ 7365 ------------------------------------------------------------------ 7366 Bra 7367 \w* 7368 2 7369 Ket 7370 End 7371 ------------------------------------------------------------------ 7372 7373 /\w*\d/BZ 7374 ------------------------------------------------------------------ 7375 Bra 7376 \w* 7377 \d 7378 Ket 7379 End 7380 ------------------------------------------------------------------ 7381 7382 /\w*\D/BZ 7383 ------------------------------------------------------------------ 7384 Bra 7385 \w* 7386 \D 7387 Ket 7388 End 7389 ------------------------------------------------------------------ 7390 7391 /\w*\s/BZ 7392 ------------------------------------------------------------------ 7393 Bra 7394 \w*+ 7395 \s 7396 Ket 7397 End 7398 ------------------------------------------------------------------ 7399 7400 /\w*\S/BZ 7401 ------------------------------------------------------------------ 7402 Bra 7403 \w* 7404 \S 7405 Ket 7406 End 7407 ------------------------------------------------------------------ 7408 7409 /\w*\w/BZ 7410 ------------------------------------------------------------------ 7411 Bra 7412 \w* 7413 \w 7414 Ket 7415 End 7416 ------------------------------------------------------------------ 7417 7418 /\w*\W/BZ 7419 ------------------------------------------------------------------ 7420 Bra 7421 \w*+ 7422 \W 7423 Ket 7424 End 7425 ------------------------------------------------------------------ 7426 7427 /\W*a/BZ 7428 ------------------------------------------------------------------ 7429 Bra 7430 \W*+ 7431 a 7432 Ket 7433 End 7434 ------------------------------------------------------------------ 7435 7436 /\W*2/BZ 7437 ------------------------------------------------------------------ 7438 Bra 7439 \W*+ 7440 2 7441 Ket 7442 End 7443 ------------------------------------------------------------------ 7444 7445 /\W*\d/BZ 7446 ------------------------------------------------------------------ 7447 Bra 7448 \W*+ 7449 \d 7450 Ket 7451 End 7452 ------------------------------------------------------------------ 7453 7454 /\W*\D/BZ 7455 ------------------------------------------------------------------ 7456 Bra 7457 \W* 7458 \D 7459 Ket 7460 End 7461 ------------------------------------------------------------------ 7462 7463 /\W*\s/BZ 7464 ------------------------------------------------------------------ 7465 Bra 7466 \W* 7467 \s 7468 Ket 7469 End 7470 ------------------------------------------------------------------ 7471 7472 /\W*\S/BZ 7473 ------------------------------------------------------------------ 7474 Bra 7475 \W* 7476 \S 7477 Ket 7478 End 7479 ------------------------------------------------------------------ 7480 7481 /\W*\w/BZ 7482 ------------------------------------------------------------------ 7483 Bra 7484 \W*+ 7485 \w 7486 Ket 7487 End 7488 ------------------------------------------------------------------ 7489 7490 /\W*\W/BZ 7491 ------------------------------------------------------------------ 7492 Bra 7493 \W* 7494 \W 7495 Ket 7496 End 7497 ------------------------------------------------------------------ 7498 7499 /[^a]+a/BZ 7500 ------------------------------------------------------------------ 7501 Bra 7502 [^a]++ 7503 a 7504 Ket 7505 End 7506 ------------------------------------------------------------------ 7507 7508 /[^a]+a/BZi 7509 ------------------------------------------------------------------ 7510 Bra 7511 /i [^a]++ 7512 /i a 7513 Ket 7514 End 7515 ------------------------------------------------------------------ 7516 7517 /[^a]+A/BZi 7518 ------------------------------------------------------------------ 7519 Bra 7520 /i [^a]++ 7521 /i A 7522 Ket 7523 End 7524 ------------------------------------------------------------------ 7525 7526 /[^a]+b/BZ 7527 ------------------------------------------------------------------ 7528 Bra 7529 [^a]+ 7530 b 7531 Ket 7532 End 7533 ------------------------------------------------------------------ 7534 7535 /[^a]+\d/BZ 7536 ------------------------------------------------------------------ 7537 Bra 7538 [^a]+ 7539 \d 7540 Ket 7541 End 7542 ------------------------------------------------------------------ 7543 7544 /a*[^a]/BZ 7545 ------------------------------------------------------------------ 7546 Bra 7547 a*+ 7548 [^a] 7549 Ket 7550 End 7551 ------------------------------------------------------------------ 7552 7553 /(?P<abc>x)(?P<xyz>y)/I 7554 Capturing subpattern count = 2 7555 Named capturing subpatterns: 7556 abc 1 7557 xyz 2 7558 No options 7559 First char = 'x' 7560 Need char = 'y' 7561 xy\Cabc\Cxyz 7562 0: xy 7563 1: x 7564 2: y 7565 C x (1) abc 7566 C y (1) xyz 7567 7568 /(?<abc>x)(?'xyz'y)/I 7569 Capturing subpattern count = 2 7570 Named capturing subpatterns: 7571 abc 1 7572 xyz 2 7573 No options 7574 First char = 'x' 7575 Need char = 'y' 7576 xy\Cabc\Cxyz 7577 0: xy 7578 1: x 7579 2: y 7580 C x (1) abc 7581 C y (1) xyz 7582 7583 /(?<abc'x)(?'xyz'y)/I 7584 Failed: syntax error in subpattern name (missing terminator) at offset 6 7585 7586 /(?<abc>x)(?'xyz>y)/I 7587 Failed: syntax error in subpattern name (missing terminator) at offset 15 7588 7589 /(?P'abc'x)(?P<xyz>y)/I 7590 Failed: unrecognized character after (?P at offset 3 7591 7592 /^(?:(?(ZZ)a|b)(?<ZZ>X))+/ 7593 bXaX 7594 0: bXaX 7595 1: X 7596 bXbX 7597 0: bX 7598 1: X 7599 ** Failers 7600 No match 7601 aXaX 7602 No match 7603 aXbX 7604 No match 7605 7606 /^(?P>abc)(?<abcd>xxx)/ 7607 Failed: reference to non-existent subpattern at offset 8 7608 7609 /^(?P>abc)(?<abc>x|y)/ 7610 xx 7611 0: xx 7612 1: x 7613 xy 7614 0: xy 7615 1: y 7616 yy 7617 0: yy 7618 1: y 7619 yx 7620 0: yx 7621 1: x 7622 7623 /^(?P>abc)(?P<abc>x|y)/ 7624 xx 7625 0: xx 7626 1: x 7627 xy 7628 0: xy 7629 1: y 7630 yy 7631 0: yy 7632 1: y 7633 yx 7634 0: yx 7635 1: x 7636 7637 /^((?(abc)a|b)(?<abc>x|y))+/ 7638 bxay 7639 0: bxay 7640 1: ay 7641 2: y 7642 bxby 7643 0: bx 7644 1: bx 7645 2: x 7646 ** Failers 7647 No match 7648 axby 7649 No match 7650 7651 /^(((?P=abc)|X)(?<abc>x|y))+/ 7652 XxXxxx 7653 0: XxXxxx 7654 1: xx 7655 2: x 7656 3: x 7657 XxXyyx 7658 0: XxXyyx 7659 1: yx 7660 2: y 7661 3: x 7662 XxXyxx 7663 0: XxXy 7664 1: Xy 7665 2: X 7666 3: y 7667 ** Failers 7668 No match 7669 x 7670 No match 7671 7672 /^(?1)(abc)/ 7673 abcabc 7674 0: abcabc 7675 1: abc 7676 7677 /^(?:(?:\1|X)(a|b))+/ 7678 Xaaa 7679 0: Xaaa 7680 1: a 7681 Xaba 7682 0: Xa 7683 1: a 7684 7685 /^[\E\Qa\E-\Qz\E]+/BZ 7686 ------------------------------------------------------------------ 7687 Bra 7688 ^ 7689 [a-z]++ 7690 Ket 7691 End 7692 ------------------------------------------------------------------ 7693 7694 /^[a\Q]bc\E]/BZ 7695 ------------------------------------------------------------------ 7696 Bra 7697 ^ 7698 [\]a-c] 7699 Ket 7700 End 7701 ------------------------------------------------------------------ 7702 7703 /^[a-\Q\E]/BZ 7704 ------------------------------------------------------------------ 7705 Bra 7706 ^ 7707 [\-a] 7708 Ket 7709 End 7710 ------------------------------------------------------------------ 7711 7712 /^(?P>abc)[()](?<abc>)/BZ 7713 ------------------------------------------------------------------ 7714 Bra 7715 ^ 7716 Recurse 7717 [()] 7718 CBra 1 7719 Ket 7720 Ket 7721 End 7722 ------------------------------------------------------------------ 7723 7724 /^((?(abc)y)[()](?P<abc>x))+/BZ 7725 ------------------------------------------------------------------ 7726 Bra 7727 ^ 7728 CBra 1 7729 Cond 7730 2 Cond ref 7731 y 7732 Ket 7733 [()] 7734 CBra 2 7735 x 7736 Ket 7737 KetRmax 7738 Ket 7739 End 7740 ------------------------------------------------------------------ 7741 (xy)x 7742 0: (xy)x 7743 1: y)x 7744 2: x 7745 7746 /^(?P>abc)\Q()\E(?<abc>)/BZ 7747 ------------------------------------------------------------------ 7748 Bra 7749 ^ 7750 Recurse 7751 () 7752 CBra 1 7753 Ket 7754 Ket 7755 End 7756 ------------------------------------------------------------------ 7757 7758 /^(?P>abc)[a\Q(]\E(](?<abc>)/BZ 7759 ------------------------------------------------------------------ 7760 Bra 7761 ^ 7762 Recurse 7763 [(\]a] 7764 CBra 1 7765 Ket 7766 Ket 7767 End 7768 ------------------------------------------------------------------ 7769 7770 /^(?P>abc) # this is (a comment) 7771 (?<abc>)/BZx 7772 ------------------------------------------------------------------ 7773 Bra 7774 ^ 7775 Recurse 7776 CBra 1 7777 Ket 7778 Ket 7779 End 7780 ------------------------------------------------------------------ 7781 7782 /^\W*(?:(?<one>(?<two>.)\W*(?&one)\W*\k<two>|)|(?<three>(?<four>.)\W*(?&three)\W*\k'four'|\W*.\W*))\W*$/Ii 7783 Capturing subpattern count = 4 7784 Max back reference = 4 7785 Named capturing subpatterns: 7786 four 4 7787 one 1 7788 three 3 7789 two 2 7790 May match empty string 7791 Options: anchored caseless 7792 No first char 7793 No need char 7794 1221 7795 0: 1221 7796 1: 1221 7797 2: 1 7798 Satan, oscillate my metallic sonatas! 7799 0: Satan, oscillate my metallic sonatas! 7800 1: <unset> 7801 2: <unset> 7802 3: Satan, oscillate my metallic sonatas 7803 4: S 7804 A man, a plan, a canal: Panama! 7805 0: A man, a plan, a canal: Panama! 7806 1: <unset> 7807 2: <unset> 7808 3: A man, a plan, a canal: Panama 7809 4: A 7810 Able was I ere I saw Elba. 7811 0: Able was I ere I saw Elba. 7812 1: <unset> 7813 2: <unset> 7814 3: Able was I ere I saw Elba 7815 4: A 7816 *** Failers 7817 No match 7818 The quick brown fox 7819 No match 7820 7821 /(?=(\w+))\1:/I 7822 Capturing subpattern count = 1 7823 Max back reference = 1 7824 No options 7825 No first char 7826 Need char = ':' 7827 abcd: 7828 0: abcd: 7829 1: abcd 7830 7831 /(?=(?'abc'\w+))\k<abc>:/I 7832 Capturing subpattern count = 1 7833 Max back reference = 1 7834 Named capturing subpatterns: 7835 abc 1 7836 No options 7837 No first char 7838 Need char = ':' 7839 abcd: 7840 0: abcd: 7841 1: abcd 7842 7843 /(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J 7844 adaa 7845 0: adaa 7846 1: a 7847 2: d 7848 ** Failers 7849 No match 7850 addd 7851 No match 7852 adbb 7853 No match 7854 7855 /(?'abc'a|b)(?<abc>d|e)(?&abc){2}/J 7856 bdaa 7857 0: bdaa 7858 1: b 7859 2: d 7860 bdab 7861 0: bdab 7862 1: b 7863 2: d 7864 ** Failers 7865 No match 7866 bddd 7867 No match 7868 7869 /(?(<bc))/ 7870 Failed: malformed number or name after (?( at offset 6 7871 7872 /(?(''))/ 7873 Failed: assertion expected after (?( at offset 4 7874 7875 /(?('R')stuff)/ 7876 Failed: reference to non-existent subpattern at offset 7 7877 7878 /((abc (?(R) (?(R1)1) (?(R2)2) X | (?1) (?2) (?R) ))) /x 7879 abcabc1Xabc2XabcXabcabc 7880 0: abcabc1Xabc2XabcX 7881 1: abcabc1Xabc2XabcX 7882 2: abcabc1Xabc2XabcX 7883 7884 /(?<A> (?'B' abc (?(R) (?(R&A)1) (?(R&B)2) X | (?1) (?2) (?R) ))) /x 7885 abcabc1Xabc2XabcXabcabc 7886 0: abcabc1Xabc2XabcX 7887 1: abcabc1Xabc2XabcX 7888 2: abcabc1Xabc2XabcX 7889 7890 /(?<A> (?'B' abc (?(R) (?(R&C)1) (?(R&B)2) X | (?1) (?2) (?R) ))) /x 7891 Failed: reference to non-existent subpattern at offset 29 7892 7893 /^(?(DEFINE) abc | xyz ) /x 7894 Failed: DEFINE group contains more than one branch at offset 22 7895 7896 /(?(DEFINE) abc) xyz/xI 7897 Capturing subpattern count = 0 7898 Options: extended 7899 First char = 'x' 7900 Need char = 'z' 7901 7902 /(a|)*\d/ 7903 \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 7904 No match 7905 \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4 7906 Matched, but too many substrings 7907 7908 /^a.b/<lf> 7909 a\rb 7910 0: a\x0db 7911 a\nb\<cr> 7912 0: a\x0ab 7913 a\x85b\<anycrlf> 7914 0: a\x85b 7915 ** Failers 7916 No match 7917 a\nb 7918 No match 7919 a\nb\<any> 7920 No match 7921 a\rb\<cr> 7922 No match 7923 a\rb\<any> 7924 No match 7925 a\x85b\<any> 7926 No match 7927 a\rb\<anycrlf> 7928 No match 7929 7930 /^abc./mgx<any> 7931 abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x85abc7 JUNK 7932 0: abc1 7933 0: abc2 7934 0: abc3 7935 0: abc4 7936 0: abc5 7937 0: abc6 7938 0: abc7 7939 7940 /abc.$/mgx<any> 7941 abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc7 abc9 7942 0: abc1 7943 0: abc2 7944 0: abc3 7945 0: abc4 7946 0: abc5 7947 0: abc6 7948 0: abc9 7949 7950 /a/<cr><any> 7951 7952 /a/<any><crlf> 7953 Failed: inconsistent NEWLINE options at offset 0 7954 7955 /^a\Rb/<bsr_unicode> 7956 a\nb 7957 0: a\x0ab 7958 a\rb 7959 0: a\x0db 7960 a\r\nb 7961 0: a\x0d\x0ab 7962 a\x0bb 7963 0: a\x0bb 7964 a\x0cb 7965 0: a\x0cb 7966 a\x85b 7967 0: a\x85b 7968 ** Failers 7969 No match 7970 a\n\rb 7971 No match 7972 7973 /^a\R*b/<bsr_unicode> 7974 ab 7975 0: ab 7976 a\nb 7977 0: a\x0ab 7978 a\rb 7979 0: a\x0db 7980 a\r\nb 7981 0: a\x0d\x0ab 7982 a\x0bb 7983 0: a\x0bb 7984 a\x0cb 7985 0: a\x0cb 7986 a\x85b 7987 0: a\x85b 7988 a\n\rb 7989 0: a\x0a\x0db 7990 a\n\r\x85\x0cb 7991 0: a\x0a\x0d\x85\x0cb 7992 7993 /^a\R+b/<bsr_unicode> 7994 a\nb 7995 0: a\x0ab 7996 a\rb 7997 0: a\x0db 7998 a\r\nb 7999 0: a\x0d\x0ab 8000 a\x0bb 8001 0: a\x0bb 8002 a\x0cb 8003 0: a\x0cb 8004 a\x85b 8005 0: a\x85b 8006 a\n\rb 8007 0: a\x0a\x0db 8008 a\n\r\x85\x0cb 8009 0: a\x0a\x0d\x85\x0cb 8010 ** Failers 8011 No match 8012 ab 8013 No match 8014 8015 /^a\R{1,3}b/<bsr_unicode> 8016 a\nb 8017 0: a\x0ab 8018 a\n\rb 8019 0: a\x0a\x0db 8020 a\n\r\x85b 8021 0: a\x0a\x0d\x85b 8022 a\r\n\r\nb 8023 0: a\x0d\x0a\x0d\x0ab 8024 a\r\n\r\n\r\nb 8025 0: a\x0d\x0a\x0d\x0a\x0d\x0ab 8026 a\n\r\n\rb 8027 0: a\x0a\x0d\x0a\x0db 8028 a\n\n\r\nb 8029 0: a\x0a\x0a\x0d\x0ab 8030 ** Failers 8031 No match 8032 a\n\n\n\rb 8033 No match 8034 a\r 8035 No match 8036 8037 /^a[\R]b/<bsr_unicode> 8038 aRb 8039 0: aRb 8040 ** Failers 8041 No match 8042 a\nb 8043 No match 8044 8045 /(?&abc)X(?<abc>P)/I 8046 Capturing subpattern count = 1 8047 Named capturing subpatterns: 8048 abc 1 8049 No options 8050 No first char 8051 Need char = 'P' 8052 abcPXP123 8053 0: PXP 8054 1: P 8055 8056 /(?1)X(?<abc>P)/I 8057 Capturing subpattern count = 1 8058 Named capturing subpatterns: 8059 abc 1 8060 No options 8061 No first char 8062 Need char = 'P' 8063 abcPXP123 8064 0: PXP 8065 1: P 8066 8067 /(?:a(?&abc)b)*(?<abc>x)/ 8068 123axbaxbaxbx456 8069 0: axbaxbaxbx 8070 1: x 8071 123axbaxbaxb456 8072 0: x 8073 1: x 8074 8075 /(?:a(?&abc)b){1,5}(?<abc>x)/ 8076 123axbaxbaxbx456 8077 0: axbaxbaxbx 8078 1: x 8079 8080 /(?:a(?&abc)b){2,5}(?<abc>x)/ 8081 123axbaxbaxbx456 8082 0: axbaxbaxbx 8083 1: x 8084 8085 /(?:a(?&abc)b){2,}(?<abc>x)/ 8086 123axbaxbaxbx456 8087 0: axbaxbaxbx 8088 1: x 8089 8090 /(abc)(?i:(?1))/ 8091 defabcabcxyz 8092 0: abcabc 8093 1: abc 8094 DEFabcABCXYZ 8095 No match 8096 8097 /(abc)(?:(?i)(?1))/ 8098 defabcabcxyz 8099 0: abcabc 8100 1: abc 8101 DEFabcABCXYZ 8102 No match 8103 8104 /^(a)\g-2/ 8105 Failed: reference to non-existent subpattern at offset 7 8106 8107 /^(a)\g/ 8108 Failed: a numbered reference must not be zero at offset 5 8109 8110 /^(a)\g{0}/ 8111 Failed: a numbered reference must not be zero at offset 8 8112 8113 /^(a)\g{3/ 8114 Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 8 8115 8116 /^(a)\g{aa}/ 8117 Failed: reference to non-existent subpattern at offset 9 8118 8119 /^a.b/<lf> 8120 a\rb 8121 0: a\x0db 8122 *** Failers 8123 No match 8124 a\nb 8125 No match 8126 8127 /.+foo/ 8128 afoo 8129 0: afoo 8130 ** Failers 8131 No match 8132 \r\nfoo 8133 No match 8134 \nfoo 8135 No match 8136 8137 /.+foo/<crlf> 8138 afoo 8139 0: afoo 8140 \nfoo 8141 0: \x0afoo 8142 ** Failers 8143 No match 8144 \r\nfoo 8145 No match 8146 8147 /.+foo/<any> 8148 afoo 8149 0: afoo 8150 ** Failers 8151 No match 8152 \nfoo 8153 No match 8154 \r\nfoo 8155 No match 8156 8157 /.+foo/s 8158 afoo 8159 0: afoo 8160 \r\nfoo 8161 0: \x0d\x0afoo 8162 \nfoo 8163 0: \x0afoo 8164 8165 /^$/mg<any> 8166 abc\r\rxyz 8167 0: 8168 abc\n\rxyz 8169 0: 8170 ** Failers 8171 No match 8172 abc\r\nxyz 8173 No match 8174 8175 /(?m)^$/<any>g+ 8176 abc\r\n\r\n 8177 0: 8178 0+ \x0d\x0a 8179 8180 /(?m)^$|^\r\n/<any>g+ 8181 abc\r\n\r\n 8182 0: 8183 0+ \x0d\x0a 8184 0: \x0d\x0a 8185 0+ 8186 8187 /(?m)$/<any>g+ 8188 abc\r\n\r\n 8189 0: 8190 0+ \x0d\x0a\x0d\x0a 8191 0: 8192 0+ \x0d\x0a 8193 0: 8194 0+ 8195 8196 /abc.$/mgx<anycrlf> 8197 abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc9 8198 0: abc1 8199 0: abc4 8200 0: abc5 8201 0: abc9 8202 8203 /^X/m 8204 XABC 8205 0: X 8206 ** Failers 8207 No match 8208 XABC\B 8209 No match 8210 8211 /(ab|c)(?-1)/BZ 8212 ------------------------------------------------------------------ 8213 Bra 8214 CBra 1 8215 ab 8216 Alt 8217 c 8218 Ket 8219 Recurse 8220 Ket 8221 End 8222 ------------------------------------------------------------------ 8223 abc 8224 0: abc 8225 1: ab 8226 8227 /xy(?+1)(abc)/BZ 8228 ------------------------------------------------------------------ 8229 Bra 8230 xy 8231 Recurse 8232 CBra 1 8233 abc 8234 Ket 8235 Ket 8236 End 8237 ------------------------------------------------------------------ 8238 xyabcabc 8239 0: xyabcabc 8240 1: abc 8241 ** Failers 8242 No match 8243 xyabc 8244 No match 8245 8246 /x(?-0)y/ 8247 Failed: a numbered reference must not be zero at offset 5 8248 8249 /x(?-1)y/ 8250 Failed: reference to non-existent subpattern at offset 5 8251 8252 /x(?+0)y/ 8253 Failed: a numbered reference must not be zero at offset 5 8254 8255 /x(?+1)y/ 8256 Failed: reference to non-existent subpattern at offset 5 8257 8258 /^(abc)?(?(-1)X|Y)/BZ 8259 ------------------------------------------------------------------ 8260 Bra 8261 ^ 8262 Brazero 8263 CBra 1 8264 abc 8265 Ket 8266 Cond 8267 1 Cond ref 8268 X 8269 Alt 8270 Y 8271 Ket 8272 Ket 8273 End 8274 ------------------------------------------------------------------ 8275 abcX 8276 0: abcX 8277 1: abc 8278 Y 8279 0: Y 8280 ** Failers 8281 No match 8282 abcY 8283 No match 8284 8285 /^((?(+1)X|Y)(abc))+/BZ 8286 ------------------------------------------------------------------ 8287 Bra 8288 ^ 8289 CBra 1 8290 Cond 8291 2 Cond ref 8292 X 8293 Alt 8294 Y 8295 Ket 8296 CBra 2 8297 abc 8298 Ket 8299 KetRmax 8300 Ket 8301 End 8302 ------------------------------------------------------------------ 8303 YabcXabc 8304 0: YabcXabc 8305 1: Xabc 8306 2: abc 8307 YabcXabcXabc 8308 0: YabcXabcXabc 8309 1: Xabc 8310 2: abc 8311 ** Failers 8312 No match 8313 XabcXabc 8314 No match 8315 8316 /(?(-1)a)/BZ 8317 Failed: reference to non-existent subpattern at offset 6 8318 8319 /((?(-1)a))/BZ 8320 ------------------------------------------------------------------ 8321 Bra 8322 CBra 1 8323 Cond 8324 1 Cond ref 8325 a 8326 Ket 8327 Ket 8328 Ket 8329 End 8330 ------------------------------------------------------------------ 8331 8332 /((?(-2)a))/BZ 8333 Failed: reference to non-existent subpattern at offset 7 8334 8335 /^(?(+1)X|Y)(.)/BZ 8336 ------------------------------------------------------------------ 8337 Bra 8338 ^ 8339 Cond 8340 1 Cond ref 8341 X 8342 Alt 8343 Y 8344 Ket 8345 CBra 1 8346 Any 8347 Ket 8348 Ket 8349 End 8350 ------------------------------------------------------------------ 8351 Y! 8352 0: Y! 8353 1: ! 8354 8355 /(?<A>tom|bon)-\k{A}/ 8356 tom-tom 8357 0: tom-tom 8358 1: tom 8359 bon-bon 8360 0: bon-bon 8361 1: bon 8362 ** Failers 8363 No match 8364 tom-bon 8365 No match 8366 8367 /\g{A/ 8368 Failed: syntax error in subpattern name (missing terminator) at offset 4 8369 8370 /(?|(abc)|(xyz))/BZ 8371 ------------------------------------------------------------------ 8372 Bra 8373 Bra 8374 CBra 1 8375 abc 8376 Ket 8377 Alt 8378 CBra 1 8379 xyz 8380 Ket 8381 Ket 8382 Ket 8383 End 8384 ------------------------------------------------------------------ 8385 >abc< 8386 0: abc 8387 1: abc 8388 >xyz< 8389 0: xyz 8390 1: xyz 8391 8392 /(x)(?|(abc)|(xyz))(x)/BZ 8393 ------------------------------------------------------------------ 8394 Bra 8395 CBra 1 8396 x 8397 Ket 8398 Bra 8399 CBra 2 8400 abc 8401 Ket 8402 Alt 8403 CBra 2 8404 xyz 8405 Ket 8406 Ket 8407 CBra 3 8408 x 8409 Ket 8410 Ket 8411 End 8412 ------------------------------------------------------------------ 8413 xabcx 8414 0: xabcx 8415 1: x 8416 2: abc 8417 3: x 8418 xxyzx 8419 0: xxyzx 8420 1: x 8421 2: xyz 8422 3: x 8423 8424 /(x)(?|(abc)(pqr)|(xyz))(x)/BZ 8425 ------------------------------------------------------------------ 8426 Bra 8427 CBra 1 8428 x 8429 Ket 8430 Bra 8431 CBra 2 8432 abc 8433 Ket 8434 CBra 3 8435 pqr 8436 Ket 8437 Alt 8438 CBra 2 8439 xyz 8440 Ket 8441 Ket 8442 CBra 4 8443 x 8444 Ket 8445 Ket 8446 End 8447 ------------------------------------------------------------------ 8448 xabcpqrx 8449 0: xabcpqrx 8450 1: x 8451 2: abc 8452 3: pqr 8453 4: x 8454 xxyzx 8455 0: xxyzx 8456 1: x 8457 2: xyz 8458 3: <unset> 8459 4: x 8460 8461 /\H++X/BZ 8462 ------------------------------------------------------------------ 8463 Bra 8464 \H++ 8465 X 8466 Ket 8467 End 8468 ------------------------------------------------------------------ 8469 ** Failers 8470 No match 8471 XXXX 8472 No match 8473 8474 /\H+\hY/BZ 8475 ------------------------------------------------------------------ 8476 Bra 8477 \H++ 8478 \h 8479 Y 8480 Ket 8481 End 8482 ------------------------------------------------------------------ 8483 XXXX Y 8484 0: XXXX Y 8485 8486 /\H+ Y/BZ 8487 ------------------------------------------------------------------ 8488 Bra 8489 \H++ 8490 Y 8491 Ket 8492 End 8493 ------------------------------------------------------------------ 8494 8495 /\h+A/BZ 8496 ------------------------------------------------------------------ 8497 Bra 8498 \h++ 8499 A 8500 Ket 8501 End 8502 ------------------------------------------------------------------ 8503 8504 /\v*B/BZ 8505 ------------------------------------------------------------------ 8506 Bra 8507 \v*+ 8508 B 8509 Ket 8510 End 8511 ------------------------------------------------------------------ 8512 8513 /\V+\x0a/BZ 8514 ------------------------------------------------------------------ 8515 Bra 8516 \V++ 8517 \x0a 8518 Ket 8519 End 8520 ------------------------------------------------------------------ 8521 8522 /A+\h/BZ 8523 ------------------------------------------------------------------ 8524 Bra 8525 A++ 8526 \h 8527 Ket 8528 End 8529 ------------------------------------------------------------------ 8530 8531 / *\H/BZ 8532 ------------------------------------------------------------------ 8533 Bra 8534 *+ 8535 \H 8536 Ket 8537 End 8538 ------------------------------------------------------------------ 8539 8540 /A*\v/BZ 8541 ------------------------------------------------------------------ 8542 Bra 8543 A*+ 8544 \v 8545 Ket 8546 End 8547 ------------------------------------------------------------------ 8548 8549 /\x0b*\V/BZ 8550 ------------------------------------------------------------------ 8551 Bra 8552 \x0b*+ 8553 \V 8554 Ket 8555 End 8556 ------------------------------------------------------------------ 8557 8558 /\d+\h/BZ 8559 ------------------------------------------------------------------ 8560 Bra 8561 \d++ 8562 \h 8563 Ket 8564 End 8565 ------------------------------------------------------------------ 8566 8567 /\d*\v/BZ 8568 ------------------------------------------------------------------ 8569 Bra 8570 \d*+ 8571 \v 8572 Ket 8573 End 8574 ------------------------------------------------------------------ 8575 8576 /S+\h\S+\v/BZ 8577 ------------------------------------------------------------------ 8578 Bra 8579 S++ 8580 \h 8581 \S++ 8582 \v 8583 Ket 8584 End 8585 ------------------------------------------------------------------ 8586 8587 /\w{3,}\h\w+\v/BZ 8588 ------------------------------------------------------------------ 8589 Bra 8590 \w{3} 8591 \w*+ 8592 \h 8593 \w++ 8594 \v 8595 Ket 8596 End 8597 ------------------------------------------------------------------ 8598 8599 /\h+\d\h+\w\h+\S\h+\H/BZ 8600 ------------------------------------------------------------------ 8601 Bra 8602 \h++ 8603 \d 8604 \h++ 8605 \w 8606 \h++ 8607 \S 8608 \h++ 8609 \H 8610 Ket 8611 End 8612 ------------------------------------------------------------------ 8613 8614 /\v+\d\v+\w\v+\S\v+\V/BZ 8615 ------------------------------------------------------------------ 8616 Bra 8617 \v++ 8618 \d 8619 \v++ 8620 \w 8621 \v++ 8622 \S 8623 \v++ 8624 \V 8625 Ket 8626 End 8627 ------------------------------------------------------------------ 8628 8629 /\H+\h\H+\d/BZ 8630 ------------------------------------------------------------------ 8631 Bra 8632 \H++ 8633 \h 8634 \H+ 8635 \d 8636 Ket 8637 End 8638 ------------------------------------------------------------------ 8639 8640 /\V+\v\V+\w/BZ 8641 ------------------------------------------------------------------ 8642 Bra 8643 \V++ 8644 \v 8645 \V+ 8646 \w 8647 Ket 8648 End 8649 ------------------------------------------------------------------ 8650 8651 /\( (?: [^()]* | (?R) )* \)/x 8652 \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) 8653 0: (0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(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) 8654 8655 /[\E]AAA/ 8656 Failed: missing terminating ] for character class at offset 7 8657 8658 /[\Q\E]AAA/ 8659 Failed: missing terminating ] for character class at offset 9 8660 8661 /[^\E]AAA/ 8662 Failed: missing terminating ] for character class at offset 8 8663 8664 /[^\Q\E]AAA/ 8665 Failed: missing terminating ] for character class at offset 10 8666 8667 /[\E^]AAA/ 8668 Failed: missing terminating ] for character class at offset 8 8669 8670 /[\Q\E^]AAA/ 8671 Failed: missing terminating ] for character class at offset 10 8672 8673 /A(*PRUNE)B(*SKIP)C(*THEN)D(*COMMIT)E(*F)F(*FAIL)G(?!)H(*ACCEPT)I/BZ 8674 ------------------------------------------------------------------ 8675 Bra 8676 A 8677 *PRUNE 8678 B 8679 *SKIP 8680 C 8681 *THEN 8682 D 8683 *COMMIT 8684 E 8685 *FAIL 8686 F 8687 *FAIL 8688 G 8689 *FAIL 8690 H 8691 *ACCEPT 8692 I 8693 Ket 8694 End 8695 ------------------------------------------------------------------ 8696 8697 /^a+(*FAIL)/C 8698 aaaaaa 8699 --->aaaaaa 8700 +0 ^ ^ 8701 +1 ^ a+ 8702 +3 ^ ^ (*FAIL) 8703 +3 ^ ^ (*FAIL) 8704 +3 ^ ^ (*FAIL) 8705 +3 ^ ^ (*FAIL) 8706 +3 ^ ^ (*FAIL) 8707 +3 ^^ (*FAIL) 8708 No match 8709 8710 /a+b?c+(*FAIL)/C 8711 aaabccc 8712 --->aaabccc 8713 +0 ^ a+ 8714 +2 ^ ^ b? 8715 +4 ^ ^ c+ 8716 +6 ^ ^ (*FAIL) 8717 +6 ^ ^ (*FAIL) 8718 +6 ^ ^ (*FAIL) 8719 +0 ^ a+ 8720 +2 ^ ^ b? 8721 +4 ^ ^ c+ 8722 +6 ^ ^ (*FAIL) 8723 +6 ^ ^ (*FAIL) 8724 +6 ^ ^ (*FAIL) 8725 +0 ^ a+ 8726 +2 ^^ b? 8727 +4 ^ ^ c+ 8728 +6 ^ ^ (*FAIL) 8729 +6 ^ ^ (*FAIL) 8730 +6 ^ ^ (*FAIL) 8731 No match 8732 8733 /a+b?(*PRUNE)c+(*FAIL)/C 8734 aaabccc 8735 --->aaabccc 8736 +0 ^ a+ 8737 +2 ^ ^ b? 8738 +4 ^ ^ (*PRUNE) 8739 +12 ^ ^ c+ 8740 +14 ^ ^ (*FAIL) 8741 +14 ^ ^ (*FAIL) 8742 +14 ^ ^ (*FAIL) 8743 +0 ^ a+ 8744 +2 ^ ^ b? 8745 +4 ^ ^ (*PRUNE) 8746 +12 ^ ^ c+ 8747 +14 ^ ^ (*FAIL) 8748 +14 ^ ^ (*FAIL) 8749 +14 ^ ^ (*FAIL) 8750 +0 ^ a+ 8751 +2 ^^ b? 8752 +4 ^ ^ (*PRUNE) 8753 +12 ^ ^ c+ 8754 +14 ^ ^ (*FAIL) 8755 +14 ^ ^ (*FAIL) 8756 +14 ^ ^ (*FAIL) 8757 No match 8758 8759 /a+b?(*COMMIT)c+(*FAIL)/C 8760 aaabccc 8761 --->aaabccc 8762 +0 ^ a+ 8763 +2 ^ ^ b? 8764 +4 ^ ^ (*COMMIT) 8765 +13 ^ ^ c+ 8766 +15 ^ ^ (*FAIL) 8767 +15 ^ ^ (*FAIL) 8768 +15 ^ ^ (*FAIL) 8769 No match 8770 8771 /a+b?(*SKIP)c+(*FAIL)/C 8772 aaabcccaaabccc 8773 --->aaabcccaaabccc 8774 +0 ^ a+ 8775 +2 ^ ^ b? 8776 +4 ^ ^ (*SKIP) 8777 +11 ^ ^ c+ 8778 +13 ^ ^ (*FAIL) 8779 +13 ^ ^ (*FAIL) 8780 +13 ^ ^ (*FAIL) 8781 +0 ^ a+ 8782 +2 ^ ^ b? 8783 +4 ^ ^ (*SKIP) 8784 +11 ^ ^ c+ 8785 +13 ^ ^ (*FAIL) 8786 +13 ^ ^ (*FAIL) 8787 +13 ^ ^ (*FAIL) 8788 No match 8789 8790 /a+b?(*THEN)c+(*FAIL)/C 8791 aaabccc 8792 --->aaabccc 8793 +0 ^ a+ 8794 +2 ^ ^ b? 8795 +4 ^ ^ (*THEN) 8796 +11 ^ ^ c+ 8797 +13 ^ ^ (*FAIL) 8798 +13 ^ ^ (*FAIL) 8799 +13 ^ ^ (*FAIL) 8800 +0 ^ a+ 8801 +2 ^ ^ b? 8802 +4 ^ ^ (*THEN) 8803 +11 ^ ^ c+ 8804 +13 ^ ^ (*FAIL) 8805 +13 ^ ^ (*FAIL) 8806 +13 ^ ^ (*FAIL) 8807 +0 ^ a+ 8808 +2 ^^ b? 8809 +4 ^ ^ (*THEN) 8810 +11 ^ ^ c+ 8811 +13 ^ ^ (*FAIL) 8812 +13 ^ ^ (*FAIL) 8813 +13 ^ ^ (*FAIL) 8814 No match 8815 8816 /a(*MARK)b/ 8817 Failed: (*MARK) must have an argument at offset 7 8818 8819 /(?i:A{1,}\6666666666)/ 8820 Failed: number is too big at offset 19 8821 8822 /\g6666666666/ 8823 Failed: number is too big at offset 11 8824 8825 /[\g6666666666]/BZ 8826 ------------------------------------------------------------------ 8827 Bra 8828 [6g] 8829 Ket 8830 End 8831 ------------------------------------------------------------------ 8832 8833 /(?1)\c[/ 8834 Failed: reference to non-existent subpattern at offset 3 8835 8836 /.+A/<crlf> 8837 \r\nA 8838 No match 8839 8840 /\nA/<crlf> 8841 \r\nA 8842 0: \x0aA 8843 8844 /[\r\n]A/<crlf> 8845 \r\nA 8846 0: \x0aA 8847 8848 /(\r|\n)A/<crlf> 8849 \r\nA 8850 0: \x0aA 8851 1: \x0a 8852 8853 /a(*CR)b/ 8854 Failed: (*VERB) not recognized or malformed at offset 5 8855 8856 /(*CR)a.b/ 8857 a\nb 8858 0: a\x0ab 8859 ** Failers 8860 No match 8861 a\rb 8862 No match 8863 8864 /(*CR)a.b/<lf> 8865 a\nb 8866 0: a\x0ab 8867 ** Failers 8868 No match 8869 a\rb 8870 No match 8871 8872 /(*LF)a.b/<CRLF> 8873 a\rb 8874 0: a\x0db 8875 ** Failers 8876 No match 8877 a\nb 8878 No match 8879 8880 /(*CRLF)a.b/ 8881 a\rb 8882 0: a\x0db 8883 a\nb 8884 0: a\x0ab 8885 ** Failers 8886 No match 8887 a\r\nb 8888 No match 8889 8890 /(*ANYCRLF)a.b/<CR> 8891 ** Failers 8892 No match 8893 a\rb 8894 No match 8895 a\nb 8896 No match 8897 a\r\nb 8898 No match 8899 8900 /(*ANY)a.b/<cr> 8901 ** Failers 8902 No match 8903 a\rb 8904 No match 8905 a\nb 8906 No match 8907 a\r\nb 8908 No match 8909 a\x85b 8910 No match 8911 8912 /(*ANY).*/g 8913 abc\r\ndef 8914 0: abc 8915 0: 8916 0: def 8917 0: 8918 8919 /(*ANYCRLF).*/g 8920 abc\r\ndef 8921 0: abc 8922 0: 8923 0: def 8924 0: 8925 8926 /(*CRLF).*/g 8927 abc\r\ndef 8928 0: abc 8929 0: 8930 0: def 8931 0: 8932 8933 /a\Rb/I<bsr_anycrlf> 8934 Capturing subpattern count = 0 8935 Options: bsr_anycrlf 8936 First char = 'a' 8937 Need char = 'b' 8938 a\rb 8939 0: a\x0db 8940 a\nb 8941 0: a\x0ab 8942 a\r\nb 8943 0: a\x0d\x0ab 8944 ** Failers 8945 No match 8946 a\x85b 8947 No match 8948 a\x0bb 8949 No match 8950 8951 /a\Rb/I<bsr_unicode> 8952 Capturing subpattern count = 0 8953 Options: bsr_unicode 8954 First char = 'a' 8955 Need char = 'b' 8956 a\rb 8957 0: a\x0db 8958 a\nb 8959 0: a\x0ab 8960 a\r\nb 8961 0: a\x0d\x0ab 8962 a\x85b 8963 0: a\x85b 8964 a\x0bb 8965 0: a\x0bb 8966 ** Failers 8967 No match 8968 a\x85b\<bsr_anycrlf> 8969 No match 8970 a\x0bb\<bsr_anycrlf> 8971 No match 8972 8973 /a\R?b/I<bsr_anycrlf> 8974 Capturing subpattern count = 0 8975 Options: bsr_anycrlf 8976 First char = 'a' 8977 Need char = 'b' 8978 a\rb 8979 0: a\x0db 8980 a\nb 8981 0: a\x0ab 8982 a\r\nb 8983 0: a\x0d\x0ab 8984 ** Failers 8985 No match 8986 a\x85b 8987 No match 8988 a\x0bb 8989 No match 8990 8991 /a\R?b/I<bsr_unicode> 8992 Capturing subpattern count = 0 8993 Options: bsr_unicode 8994 First char = 'a' 8995 Need char = 'b' 8996 a\rb 8997 0: a\x0db 8998 a\nb 8999 0: a\x0ab 9000 a\r\nb 9001 0: a\x0d\x0ab 9002 a\x85b 9003 0: a\x85b 9004 a\x0bb 9005 0: a\x0bb 9006 ** Failers 9007 No match 9008 a\x85b\<bsr_anycrlf> 9009 No match 9010 a\x0bb\<bsr_anycrlf> 9011 No match 9012 9013 /a\R{2,4}b/I<bsr_anycrlf> 9014 Capturing subpattern count = 0 9015 Options: bsr_anycrlf 9016 First char = 'a' 9017 Need char = 'b' 9018 a\r\n\nb 9019 0: a\x0d\x0a\x0ab 9020 a\n\r\rb 9021 0: a\x0a\x0d\x0db 9022 a\r\n\r\n\r\n\r\nb 9023 0: a\x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0ab 9024 ** Failers 9025 No match 9026 a\x85\85b 9027 No match 9028 a\x0b\0bb 9029 No match 9030 9031 /a\R{2,4}b/I<bsr_unicode> 9032 Capturing subpattern count = 0 9033 Options: bsr_unicode 9034 First char = 'a' 9035 Need char = 'b' 9036 a\r\rb 9037 0: a\x0d\x0db 9038 a\n\n\nb 9039 0: a\x0a\x0a\x0ab 9040 a\r\n\n\r\rb 9041 0: a\x0d\x0a\x0a\x0d\x0db 9042 a\x85\85b 9043 No match 9044 a\x0b\0bb 9045 No match 9046 ** Failers 9047 No match 9048 a\r\r\r\r\rb 9049 No match 9050 a\x85\85b\<bsr_anycrlf> 9051 No match 9052 a\x0b\0bb\<bsr_anycrlf> 9053 No match 9054 9055 /(*BSR_ANYCRLF)a\Rb/I 9056 Capturing subpattern count = 0 9057 Options: bsr_anycrlf 9058 First char = 'a' 9059 Need char = 'b' 9060 a\nb 9061 0: a\x0ab 9062 a\rb 9063 0: a\x0db 9064 9065 /(*BSR_UNICODE)a\Rb/I 9066 Capturing subpattern count = 0 9067 Options: bsr_unicode 9068 First char = 'a' 9069 Need char = 'b' 9070 a\x85b 9071 0: a\x85b 9072 9073 /(*BSR_ANYCRLF)(*CRLF)a\Rb/I 9074 Capturing subpattern count = 0 9075 Options: bsr_anycrlf 9076 Forced newline sequence: CRLF 9077 First char = 'a' 9078 Need char = 'b' 9079 a\nb 9080 0: a\x0ab 9081 a\rb 9082 0: a\x0db 9083 9084 /(*CRLF)(*BSR_UNICODE)a\Rb/I 9085 Capturing subpattern count = 0 9086 Options: bsr_unicode 9087 Forced newline sequence: CRLF 9088 First char = 'a' 9089 Need char = 'b' 9090 a\x85b 9091 0: a\x85b 9092 9093 /(*CRLF)(*BSR_ANYCRLF)(*CR)ab/I 9094 Capturing subpattern count = 0 9095 Options: bsr_anycrlf 9096 Forced newline sequence: CR 9097 First char = 'a' 9098 Need char = 'b' 9099 9100 /(?<a>)(?&)/ 9101 Failed: subpattern name expected at offset 9 9102 9103 /(?<abc>)(?&a)/ 9104 Failed: reference to non-existent subpattern at offset 12 9105 9106 /(?<a>)(?&aaaaaaaaaaaaaaaaaaaaaaa)/ 9107 Failed: reference to non-existent subpattern at offset 32 9108 9109 /(?+-a)/ 9110 Failed: digit expected after (?+ at offset 3 9111 9112 /(?-+a)/ 9113 Failed: unrecognized character after (? or (?- at offset 3 9114 9115 /(?(-1))/ 9116 Failed: reference to non-existent subpattern at offset 6 9117 9118 /(?(+10))/ 9119 Failed: reference to non-existent subpattern at offset 7 9120 9121 /(?(10))/ 9122 Failed: reference to non-existent subpattern at offset 6 9123 9124 /(?(+2))()()/ 9125 9126 /(?(2))()()/ 9127 9128 /\k''/ 9129 Failed: subpattern name expected at offset 3 9130 9131 /\k<>/ 9132 Failed: subpattern name expected at offset 3 9133 9134 /\k{}/ 9135 Failed: subpattern name expected at offset 3 9136 9137 /\k/ 9138 Failed: \k is not followed by a braced, angle-bracketed, or quoted name at offset 1 9139 9140 /\kabc/ 9141 Failed: \k is not followed by a braced, angle-bracketed, or quoted name at offset 1 9142 9143 /(?P=)/ 9144 Failed: subpattern name expected at offset 4 9145 9146 /(?P>)/ 9147 Failed: subpattern name expected at offset 4 9148 9149 /(?!\w)(?R)/ 9150 Failed: recursive call could loop indefinitely at offset 9 9151 9152 /(?=\w)(?R)/ 9153 Failed: recursive call could loop indefinitely at offset 9 9154 9155 /(?<!\w)(?R)/ 9156 Failed: recursive call could loop indefinitely at offset 10 9157 9158 /(?<=\w)(?R)/ 9159 Failed: recursive call could loop indefinitely at offset 10 9160 9161 /[[:foo:]]/ 9162 Failed: unknown POSIX class name at offset 3 9163 9164 /[[:1234:]]/ 9165 Failed: unknown POSIX class name at offset 3 9166 9167 /[[:f\oo:]]/ 9168 Failed: unknown POSIX class name at offset 3 9169 9170 /[[: :]]/ 9171 Failed: unknown POSIX class name at offset 3 9172 9173 /[[:...:]]/ 9174 Failed: unknown POSIX class name at offset 3 9175 9176 /[[:l\ower:]]/ 9177 Failed: unknown POSIX class name at offset 3 9178 9179 /[[:abc\:]]/ 9180 Failed: unknown POSIX class name at offset 3 9181 9182 /[abc[:x\]pqr:]]/ 9183 Failed: unknown POSIX class name at offset 6 9184 9185 /[[:a\dz:]]/ 9186 Failed: unknown POSIX class name at offset 3 9187 9188 /(^(a|b\g<-1'c))/ 9189 Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 8 9190 9191 /^(?+1)(?<a>x|y){0}z/ 9192 xzxx 9193 0: xz 9194 yzyy 9195 0: yz 9196 ** Failers 9197 No match 9198 xxz 9199 No match 9200 9201 /(\3)(\1)(a)/ 9202 cat 9203 No match 9204 9205 /(\3)(\1)(a)/<JS> 9206 cat 9207 0: a 9208 1: 9209 2: 9210 3: a 9211 9212 /TA]/ 9213 The ACTA] comes 9214 0: TA] 9215 9216 /TA]/<JS> 9217 Failed: ] is an invalid data character in JavaScript compatibility mode at offset 2 9218 9219 /(?2)[]a()b](abc)/ 9220 Failed: reference to non-existent subpattern at offset 3 9221 9222 /(?2)[^]a()b](abc)/ 9223 Failed: reference to non-existent subpattern at offset 3 9224 9225 /(?1)[]a()b](abc)/ 9226 abcbabc 9227 0: abcbabc 9228 1: abc 9229 ** Failers 9230 No match 9231 abcXabc 9232 No match 9233 9234 /(?1)[^]a()b](abc)/ 9235 abcXabc 9236 0: abcXabc 9237 1: abc 9238 ** Failers 9239 No match 9240 abcbabc 9241 No match 9242 9243 /(?2)[]a()b](abc)(xyz)/ 9244 xyzbabcxyz 9245 0: xyzbabcxyz 9246 1: abc 9247 2: xyz 9248 9249 /(?&N)[]a(?<N>)](?<M>abc)/ 9250 Failed: reference to non-existent subpattern at offset 4 9251 9252 /(?&N)[]a(?<N>)](abc)/ 9253 Failed: reference to non-existent subpattern at offset 4 9254 9255 /a[]b/ 9256 Failed: missing terminating ] for character class at offset 4 9257 9258 /a[^]b/ 9259 Failed: missing terminating ] for character class at offset 5 9260 9261 /a[]b/<JS> 9262 ** Failers 9263 No match 9264 ab 9265 No match 9266 9267 /a[]+b/<JS> 9268 ** Failers 9269 No match 9270 ab 9271 No match 9272 9273 /a[]*+b/<JS> 9274 ** Failers 9275 No match 9276 ab 9277 No match 9278 9279 /a[^]b/<JS> 9280 aXb 9281 0: aXb 9282 a\nb 9283 0: a\x0ab 9284 ** Failers 9285 No match 9286 ab 9287 No match 9288 9289 /a[^]+b/<JS> 9290 aXb 9291 0: aXb 9292 a\nX\nXb 9293 0: a\x0aX\x0aXb 9294 ** Failers 9295 No match 9296 ab 9297 No match 9298 9299 /a(?!)b/BZ 9300 ------------------------------------------------------------------ 9301 Bra 9302 a 9303 *FAIL 9304 b 9305 Ket 9306 End 9307 ------------------------------------------------------------------ 9308 9309 /(?!)?a/BZ 9310 ------------------------------------------------------------------ 9311 Bra 9312 Brazero 9313 Assert not 9314 Ket 9315 a 9316 Ket 9317 End 9318 ------------------------------------------------------------------ 9319 ab 9320 0: a 9321 9322 /a(*FAIL)+b/ 9323 Failed: nothing to repeat at offset 8 9324 9325 /(abc|pqr|123){0}[xyz]/SI 9326 Capturing subpattern count = 1 9327 No options 9328 No first char 9329 No need char 9330 Subject length lower bound = 1 9331 Starting chars: x y z 9332 9333 /(?(?=.*b)b|^)/CI 9334 Capturing subpattern count = 0 9335 May match empty string 9336 Options: 9337 No first char 9338 No need char 9339 adc 9340 --->adc 9341 +0 ^ (?(?=.*b)b|^) 9342 +2 ^ (?=.*b) 9343 +5 ^ .* 9344 +7 ^ ^ b 9345 +7 ^ ^ b 9346 +7 ^^ b 9347 +7 ^ b 9348 +11 ^ ^ 9349 +12 ^ ) 9350 +13 ^ 9351 0: 9352 abc 9353 --->abc 9354 +0 ^ (?(?=.*b)b|^) 9355 +2 ^ (?=.*b) 9356 +5 ^ .* 9357 +7 ^ ^ b 9358 +7 ^ ^ b 9359 +7 ^^ b 9360 +8 ^ ^ ) 9361 +9 ^ b 9362 +0 ^ (?(?=.*b)b|^) 9363 +2 ^ (?=.*b) 9364 +5 ^ .* 9365 +7 ^ ^ b 9366 +7 ^^ b 9367 +7 ^ b 9368 +8 ^^ ) 9369 +9 ^ b 9370 +10 ^^ | 9371 +13 ^^ 9372 0: b 9373 9374 /(?(?=b).*b|^d)/I 9375 Capturing subpattern count = 0 9376 No options 9377 No first char 9378 No need char 9379 9380 /(?(?=.*b).*b|^d)/I 9381 Capturing subpattern count = 0 9382 No options 9383 First char at start or follows newline 9384 No need char 9385 9386 /xyz/C 9387 xyz 9388 --->xyz 9389 +0 ^ x 9390 +1 ^^ y 9391 +2 ^ ^ z 9392 +3 ^ ^ 9393 0: xyz 9394 abcxyz 9395 --->abcxyz 9396 +0 ^ x 9397 +1 ^^ y 9398 +2 ^ ^ z 9399 +3 ^ ^ 9400 0: xyz 9401 abcxyz\Y 9402 --->abcxyz 9403 +0 ^ x 9404 +0 ^ x 9405 +0 ^ x 9406 +0 ^ x 9407 +1 ^^ y 9408 +2 ^ ^ z 9409 +3 ^ ^ 9410 0: xyz 9411 ** Failers 9412 No match 9413 abc 9414 No match 9415 abc\Y 9416 --->abc 9417 +0 ^ x 9418 +0 ^ x 9419 +0 ^ x 9420 +0 ^ x 9421 No match 9422 abcxypqr 9423 No match 9424 abcxypqr\Y 9425 --->abcxypqr 9426 +0 ^ x 9427 +0 ^ x 9428 +0 ^ x 9429 +0 ^ x 9430 +1 ^^ y 9431 +2 ^ ^ z 9432 +0 ^ x 9433 +0 ^ x 9434 +0 ^ x 9435 +0 ^ x 9436 +0 ^ x 9437 No match 9438 9439 /(*NO_START_OPT)xyz/C 9440 abcxyz 9441 --->abcxyz 9442 +15 ^ x 9443 +15 ^ x 9444 +15 ^ x 9445 +15 ^ x 9446 +16 ^^ y 9447 +17 ^ ^ z 9448 +18 ^ ^ 9449 0: xyz 9450 9451 /(*NO_AUTO_POSSESS)a+b/BZ 9452 ------------------------------------------------------------------ 9453 Bra 9454 a+ 9455 b 9456 Ket 9457 End 9458 ------------------------------------------------------------------ 9459 9460 /xyz/CY 9461 abcxyz 9462 --->abcxyz 9463 +0 ^ x 9464 +0 ^ x 9465 +0 ^ x 9466 +0 ^ x 9467 +1 ^^ y 9468 +2 ^ ^ z 9469 +3 ^ ^ 9470 0: xyz 9471 9472 /^"((?(?=[a])[^"])|b)*"$/C 9473 "ab" 9474 --->"ab" 9475 +0 ^ ^ 9476 +1 ^ " 9477 +2 ^^ ((?(?=[a])[^"])|b)* 9478 +3 ^^ (?(?=[a])[^"]) 9479 +5 ^^ (?=[a]) 9480 +8 ^^ [a] 9481 +11 ^ ^ ) 9482 +12 ^^ [^"] 9483 +16 ^ ^ ) 9484 +17 ^ ^ | 9485 +3 ^ ^ (?(?=[a])[^"]) 9486 +5 ^ ^ (?=[a]) 9487 +8 ^ ^ [a] 9488 +17 ^ ^ | 9489 +21 ^ ^ " 9490 +18 ^ ^ b 9491 +19 ^ ^ ) 9492 +3 ^ ^ (?(?=[a])[^"]) 9493 +5 ^ ^ (?=[a]) 9494 +8 ^ ^ [a] 9495 +17 ^ ^ | 9496 +21 ^ ^ " 9497 +22 ^ ^ $ 9498 +23 ^ ^ 9499 0: "ab" 9500 1: 9501 9502 /^"((?(?=[a])[^"])|b)*"$/ 9503 "ab" 9504 0: "ab" 9505 1: 9506 9507 /^X(?5)(a)(?|(b)|(q))(c)(d)Y/ 9508 Failed: reference to non-existent subpattern at offset 5 9509 9510 /^X(?&N)(a)(?|(b)|(q))(c)(d)(?<N>Y)/ 9511 XYabcdY 9512 0: XYabcdY 9513 1: a 9514 2: b 9515 3: c 9516 4: d 9517 5: Y 9518 9519 /Xa{2,4}b/ 9520 X\P 9521 Partial match: X 9522 Xa\P 9523 Partial match: Xa 9524 Xaa\P 9525 Partial match: Xaa 9526 Xaaa\P 9527 Partial match: Xaaa 9528 Xaaaa\P 9529 Partial match: Xaaaa 9530 9531 /Xa{2,4}?b/ 9532 X\P 9533 Partial match: X 9534 Xa\P 9535 Partial match: Xa 9536 Xaa\P 9537 Partial match: Xaa 9538 Xaaa\P 9539 Partial match: Xaaa 9540 Xaaaa\P 9541 Partial match: Xaaaa 9542 9543 /Xa{2,4}+b/ 9544 X\P 9545 Partial match: X 9546 Xa\P 9547 Partial match: Xa 9548 Xaa\P 9549 Partial match: Xaa 9550 Xaaa\P 9551 Partial match: Xaaa 9552 Xaaaa\P 9553 Partial match: Xaaaa 9554 9555 /X\d{2,4}b/ 9556 X\P 9557 Partial match: X 9558 X3\P 9559 Partial match: X3 9560 X33\P 9561 Partial match: X33 9562 X333\P 9563 Partial match: X333 9564 X3333\P 9565 Partial match: X3333 9566 9567 /X\d{2,4}?b/ 9568 X\P 9569 Partial match: X 9570 X3\P 9571 Partial match: X3 9572 X33\P 9573 Partial match: X33 9574 X333\P 9575 Partial match: X333 9576 X3333\P 9577 Partial match: X3333 9578 9579 /X\d{2,4}+b/ 9580 X\P 9581 Partial match: X 9582 X3\P 9583 Partial match: X3 9584 X33\P 9585 Partial match: X33 9586 X333\P 9587 Partial match: X333 9588 X3333\P 9589 Partial match: X3333 9590 9591 /X\D{2,4}b/ 9592 X\P 9593 Partial match: X 9594 Xa\P 9595 Partial match: Xa 9596 Xaa\P 9597 Partial match: Xaa 9598 Xaaa\P 9599 Partial match: Xaaa 9600 Xaaaa\P 9601 Partial match: Xaaaa 9602 9603 /X\D{2,4}?b/ 9604 X\P 9605 Partial match: X 9606 Xa\P 9607 Partial match: Xa 9608 Xaa\P 9609 Partial match: Xaa 9610 Xaaa\P 9611 Partial match: Xaaa 9612 Xaaaa\P 9613 Partial match: Xaaaa 9614 9615 /X\D{2,4}+b/ 9616 X\P 9617 Partial match: X 9618 Xa\P 9619 Partial match: Xa 9620 Xaa\P 9621 Partial match: Xaa 9622 Xaaa\P 9623 Partial match: Xaaa 9624 Xaaaa\P 9625 Partial match: Xaaaa 9626 9627 /X[abc]{2,4}b/ 9628 X\P 9629 Partial match: X 9630 Xa\P 9631 Partial match: Xa 9632 Xaa\P 9633 Partial match: Xaa 9634 Xaaa\P 9635 Partial match: Xaaa 9636 Xaaaa\P 9637 Partial match: Xaaaa 9638 9639 /X[abc]{2,4}?b/ 9640 X\P 9641 Partial match: X 9642 Xa\P 9643 Partial match: Xa 9644 Xaa\P 9645 Partial match: Xaa 9646 Xaaa\P 9647 Partial match: Xaaa 9648 Xaaaa\P 9649 Partial match: Xaaaa 9650 9651 /X[abc]{2,4}+b/ 9652 X\P 9653 Partial match: X 9654 Xa\P 9655 Partial match: Xa 9656 Xaa\P 9657 Partial match: Xaa 9658 Xaaa\P 9659 Partial match: Xaaa 9660 Xaaaa\P 9661 Partial match: Xaaaa 9662 9663 /X[^a]{2,4}b/ 9664 X\P 9665 Partial match: X 9666 Xz\P 9667 Partial match: Xz 9668 Xzz\P 9669 Partial match: Xzz 9670 Xzzz\P 9671 Partial match: Xzzz 9672 Xzzzz\P 9673 Partial match: Xzzzz 9674 9675 /X[^a]{2,4}?b/ 9676 X\P 9677 Partial match: X 9678 Xz\P 9679 Partial match: Xz 9680 Xzz\P 9681 Partial match: Xzz 9682 Xzzz\P 9683 Partial match: Xzzz 9684 Xzzzz\P 9685 Partial match: Xzzzz 9686 9687 /X[^a]{2,4}+b/ 9688 X\P 9689 Partial match: X 9690 Xz\P 9691 Partial match: Xz 9692 Xzz\P 9693 Partial match: Xzz 9694 Xzzz\P 9695 Partial match: Xzzz 9696 Xzzzz\P 9697 Partial match: Xzzzz 9698 9699 /(Y)X\1{2,4}b/ 9700 YX\P 9701 Partial match: YX 9702 YXY\P 9703 Partial match: YXY 9704 YXYY\P 9705 Partial match: YXYY 9706 YXYYY\P 9707 Partial match: YXYYY 9708 YXYYYY\P 9709 Partial match: YXYYYY 9710 9711 /(Y)X\1{2,4}?b/ 9712 YX\P 9713 Partial match: YX 9714 YXY\P 9715 Partial match: YXY 9716 YXYY\P 9717 Partial match: YXYY 9718 YXYYY\P 9719 Partial match: YXYYY 9720 YXYYYY\P 9721 Partial match: YXYYYY 9722 9723 /(Y)X\1{2,4}+b/ 9724 YX\P 9725 Partial match: YX 9726 YXY\P 9727 Partial match: YXY 9728 YXYY\P 9729 Partial match: YXYY 9730 YXYYY\P 9731 Partial match: YXYYY 9732 YXYYYY\P 9733 Partial match: YXYYYY 9734 9735 /\++\KZ|\d+X|9+Y/ 9736 ++++123999\P 9737 Partial match: 123999 9738 ++++123999Y\P 9739 0: 999Y 9740 ++++Z1234\P 9741 0: Z 9742 9743 /Z(*F)/ 9744 Z\P 9745 No match 9746 ZA\P 9747 No match 9748 9749 /Z(?!)/ 9750 Z\P 9751 No match 9752 ZA\P 9753 No match 9754 9755 /dog(sbody)?/ 9756 dogs\P 9757 0: dog 9758 dogs\P\P 9759 Partial match: dogs 9760 9761 /dog(sbody)??/ 9762 dogs\P 9763 0: dog 9764 dogs\P\P 9765 0: dog 9766 9767 /dog|dogsbody/ 9768 dogs\P 9769 0: dog 9770 dogs\P\P 9771 0: dog 9772 9773 /dogsbody|dog/ 9774 dogs\P 9775 0: dog 9776 dogs\P\P 9777 Partial match: dogs 9778 9779 /\bthe cat\b/ 9780 the cat\P 9781 0: the cat 9782 the cat\P\P 9783 Partial match: the cat 9784 9785 /abc/ 9786 abc\P 9787 0: abc 9788 abc\P\P 9789 0: abc 9790 9791 /abc\K123/ 9792 xyzabc123pqr 9793 0: 123 9794 xyzabc12\P 9795 Partial match: abc12 9796 xyzabc12\P\P 9797 Partial match: abc12 9798 9799 /(?<=abc)123/ 9800 xyzabc123pqr 9801 0: 123 9802 xyzabc12\P 9803 Partial match at offset 6: abc12 9804 xyzabc12\P\P 9805 Partial match at offset 6: abc12 9806 9807 /\babc\b/ 9808 +++abc+++ 9809 0: abc 9810 +++ab\P 9811 Partial match at offset 3: +ab 9812 +++ab\P\P 9813 Partial match at offset 3: +ab 9814 9815 /(?&word)(?&element)(?(DEFINE)(?<element><[^m][^>]>[^<])(?<word>\w*+))/BZ 9816 ------------------------------------------------------------------ 9817 Bra 9818 Recurse 9819 Recurse 9820 Cond 9821 Cond def 9822 CBra 1 9823 < 9824 [^m] 9825 [^>] 9826 > 9827 [^<] 9828 Ket 9829 CBra 2 9830 \w*+ 9831 Ket 9832 Ket 9833 Ket 9834 End 9835 ------------------------------------------------------------------ 9836 9837 /(?&word)(?&element)(?(DEFINE)(?<element><[^\d][^>]>[^<])(?<word>\w*+))/BZ 9838 ------------------------------------------------------------------ 9839 Bra 9840 Recurse 9841 Recurse 9842 Cond 9843 Cond def 9844 CBra 1 9845 < 9846 [\x00-/:-\xff] (neg) 9847 [^>] 9848 > 9849 [^<] 9850 Ket 9851 CBra 2 9852 \w*+ 9853 Ket 9854 Ket 9855 Ket 9856 End 9857 ------------------------------------------------------------------ 9858 9859 /(ab)(x(y)z(cd(*ACCEPT)))pq/BZ 9860 ------------------------------------------------------------------ 9861 Bra 9862 CBra 1 9863 ab 9864 Ket 9865 CBra 2 9866 x 9867 CBra 3 9868 y 9869 Ket 9870 z 9871 CBra 4 9872 cd 9873 Close 4 9874 Close 2 9875 *ACCEPT 9876 Ket 9877 Ket 9878 pq 9879 Ket 9880 End 9881 ------------------------------------------------------------------ 9882 9883 /abc\K/+ 9884 abcdef 9885 0: 9886 0+ def 9887 abcdef\N\N 9888 0: 9889 0+ def 9890 xyzabcdef\N\N 9891 0: 9892 0+ def 9893 ** Failers 9894 No match 9895 abcdef\N 9896 No match 9897 xyzabcdef\N 9898 No match 9899 9900 /^(?:(?=abc)|abc\K)/+ 9901 abcdef 9902 0: 9903 0+ abcdef 9904 abcdef\N\N 9905 0: 9906 0+ def 9907 ** Failers 9908 No match 9909 abcdef\N 9910 No match 9911 9912 /a?b?/+ 9913 xyz 9914 0: 9915 0+ xyz 9916 xyzabc 9917 0: 9918 0+ xyzabc 9919 xyzabc\N 9920 0: ab 9921 0+ c 9922 xyzabc\N\N 9923 0: 9924 0+ yzabc 9925 xyz\N\N 9926 0: 9927 0+ yz 9928 ** Failers 9929 0: 9930 0+ ** Failers 9931 xyz\N 9932 No match 9933 9934 /^a?b?/+ 9935 xyz 9936 0: 9937 0+ xyz 9938 xyzabc 9939 0: 9940 0+ xyzabc 9941 ** Failers 9942 0: 9943 0+ ** Failers 9944 xyzabc\N 9945 No match 9946 xyzabc\N\N 9947 No match 9948 xyz\N\N 9949 No match 9950 xyz\N 9951 No match 9952 9953 /^(?<name>a|b\g<name>c)/ 9954 aaaa 9955 0: a 9956 1: a 9957 bacxxx 9958 0: bac 9959 1: bac 9960 bbaccxxx 9961 0: bbacc 9962 1: bbacc 9963 bbbacccxx 9964 0: bbbaccc 9965 1: bbbaccc 9966 9967 /^(?<name>a|b\g'name'c)/ 9968 aaaa 9969 0: a 9970 1: a 9971 bacxxx 9972 0: bac 9973 1: bac 9974 bbaccxxx 9975 0: bbacc 9976 1: bbacc 9977 bbbacccxx 9978 0: bbbaccc 9979 1: bbbaccc 9980 9981 /^(a|b\g<1>c)/ 9982 aaaa 9983 0: a 9984 1: a 9985 bacxxx 9986 0: bac 9987 1: bac 9988 bbaccxxx 9989 0: bbacc 9990 1: bbacc 9991 bbbacccxx 9992 0: bbbaccc 9993 1: bbbaccc 9994 9995 /^(a|b\g'1'c)/ 9996 aaaa 9997 0: a 9998 1: a 9999 bacxxx 10000 0: bac 10001 1: bac 10002 bbaccxxx 10003 0: bbacc 10004 1: bbacc 10005 bbbacccxx 10006 0: bbbaccc 10007 1: bbbaccc 10008 10009 /^(a|b\g'-1'c)/ 10010 aaaa 10011 0: a 10012 1: a 10013 bacxxx 10014 0: bac 10015 1: bac 10016 bbaccxxx 10017 0: bbacc 10018 1: bbacc 10019 bbbacccxx 10020 0: bbbaccc 10021 1: bbbaccc 10022 10023 /(^(a|b\g<-1>c))/ 10024 aaaa 10025 0: a 10026 1: a 10027 2: a 10028 bacxxx 10029 0: bac 10030 1: bac 10031 2: bac 10032 bbaccxxx 10033 0: bbacc 10034 1: bbacc 10035 2: bbacc 10036 bbbacccxx 10037 0: bbbaccc 10038 1: bbbaccc 10039 2: bbbaccc 10040 10041 /(?-i:\g<name>)(?i:(?<name>a))/ 10042 XaaX 10043 0: aa 10044 1: a 10045 XAAX 10046 0: AA 10047 1: A 10048 10049 /(?i:\g<name>)(?-i:(?<name>a))/ 10050 XaaX 10051 0: aa 10052 1: a 10053 ** Failers 10054 No match 10055 XAAX 10056 No match 10057 10058 /(?-i:\g<+1>)(?i:(a))/ 10059 XaaX 10060 0: aa 10061 1: a 10062 XAAX 10063 0: AA 10064 1: A 10065 10066 /(?=(?<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>\})\}))\{/ 10067 10068 /(?<n>a|b|c)\g<n>*/ 10069 abc 10070 0: abc 10071 1: a 10072 accccbbb 10073 0: accccbbb 10074 1: a 10075 10076 /^X(?7)(a)(?|(b)|(q)(r)(s))(c)(d)(Y)/ 10077 XYabcdY 10078 0: XYabcdY 10079 1: a 10080 2: b 10081 3: <unset> 10082 4: <unset> 10083 5: c 10084 6: d 10085 7: Y 10086 10087 /(?<=b(?1)|zzz)(a)/ 10088 xbaax 10089 0: a 10090 1: a 10091 xzzzax 10092 0: a 10093 1: a 10094 10095 /(a)(?<=b\1)/ 10096 Failed: lookbehind assertion is not fixed length at offset 10 10097 10098 /(a)(?<=b+(?1))/ 10099 Failed: lookbehind assertion is not fixed length at offset 13 10100 10101 /(a+)(?<=b(?1))/ 10102 Failed: lookbehind assertion is not fixed length at offset 14 10103 10104 /(a(?<=b(?1)))/ 10105 Failed: lookbehind assertion is not fixed length at offset 13 10106 10107 /(?<=b(?1))xyz/ 10108 Failed: reference to non-existent subpattern at offset 8 10109 10110 /(?<=b(?1))xyz(b+)pqrstuvew/ 10111 Failed: lookbehind assertion is not fixed length at offset 26 10112 10113 /(a|bc)\1/SI 10114 Capturing subpattern count = 1 10115 Max back reference = 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|bc)\1{2,3}/SI 10123 Capturing subpattern count = 1 10124 Max back reference = 1 10125 No options 10126 No first char 10127 No need char 10128 Subject length lower bound = 3 10129 Starting chars: a b 10130 10131 /(a|bc)(?1)/SI 10132 Capturing subpattern count = 1 10133 No options 10134 No first char 10135 No need char 10136 Subject length lower bound = 2 10137 Starting chars: a b 10138 10139 /(a|b\1)(a|b\1)/SI 10140 Capturing subpattern count = 2 10141 Max back reference = 1 10142 No options 10143 No first char 10144 No need char 10145 Subject length lower bound = 2 10146 Starting chars: a b 10147 10148 /(a|b\1){2}/SI 10149 Capturing subpattern count = 1 10150 Max back reference = 1 10151 No options 10152 No first char 10153 No need char 10154 Subject length lower bound = 2 10155 Starting chars: a b 10156 10157 /(a|bbbb\1)(a|bbbb\1)/SI 10158 Capturing subpattern count = 2 10159 Max back reference = 1 10160 No options 10161 No first char 10162 No need char 10163 Subject length lower bound = 2 10164 Starting chars: a b 10165 10166 /(a|bbbb\1){2}/SI 10167 Capturing subpattern count = 1 10168 Max back reference = 1 10169 No options 10170 No first char 10171 No need char 10172 Subject length lower bound = 2 10173 Starting chars: a b 10174 10175 /^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 10176 Capturing subpattern count = 1 10177 Options: anchored 10178 No first char 10179 Need char = ':' 10180 Subject length lower bound = 22 10181 No starting char list 10182 10183 /<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 10184 Capturing subpattern count = 11 10185 Options: caseless dotall 10186 First char = '<' 10187 Need char = '>' 10188 Subject length lower bound = 47 10189 No starting char list 10190 10191 "(?>.*/)foo"SI 10192 Capturing subpattern count = 0 10193 No options 10194 No first char 10195 Need char = 'o' 10196 Subject length lower bound = 4 10197 No starting char list 10198 10199 /(?(?=[^a-z]+[a-z]) \d{2}-[a-z]{3}-\d{2} | \d{2}-\d{2}-\d{2} ) /xSI 10200 Capturing subpattern count = 0 10201 Options: extended 10202 No first char 10203 Need char = '-' 10204 Subject length lower bound = 8 10205 No starting char list 10206 10207 /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))/iSI 10208 Capturing subpattern count = 1 10209 Options: caseless 10210 No first char 10211 No need char 10212 Subject length lower bound = 1 10213 Starting chars: A B C a b c 10214 10215 /(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/SI 10216 Capturing subpattern count = 0 10217 No options 10218 No first char 10219 Need char = 'b' 10220 Subject length lower bound = 41 10221 Starting chars: c d 10222 10223 /<a[\s]+href[\s]*=[\s]* # find <a href= 10224 ([\"\'])? # find single or double quote 10225 (?(1) (.*?)\1 | ([^\s]+)) # if quote found, match up to next matching 10226 # quote, otherwise match up to next space 10227 /isxSI 10228 Capturing subpattern count = 3 10229 Max back reference = 1 10230 Options: caseless extended dotall 10231 First char = '<' 10232 Need char = '=' 10233 Subject length lower bound = 9 10234 No starting char list 10235 10236 /^(?!:) # colon disallowed at start 10237 (?: # start of item 10238 (?: [0-9a-f]{1,4} | # 1-4 hex digits or 10239 (?(1)0 | () ) ) # if null previously matched, fail; else null 10240 : # followed by colon 10241 ){1,7} # end item; 1-7 of them required 10242 [0-9a-f]{1,4} $ # final hex number at end of string 10243 (?(1)|.) # check that there was an empty component 10244 /xiIS 10245 Capturing subpattern count = 1 10246 Max back reference = 1 10247 Options: anchored caseless extended 10248 No first char 10249 Need char = ':' 10250 Subject length lower bound = 2 10251 No starting char list 10252 10253 /(?|(?<a>A)|(?<a>B))/I 10254 Capturing subpattern count = 1 10255 Named capturing subpatterns: 10256 a 1 10257 No options 10258 No first char 10259 No need char 10260 AB\Ca 10261 0: A 10262 1: A 10263 C A (1) a 10264 BA\Ca 10265 0: B 10266 1: B 10267 C B (1) a 10268 10269 /(?|(?<a>A)|(?<b>B))/ 10270 Failed: different names for subpatterns of the same number are not allowed at offset 15 10271 10272 /(?:a(?<quote> (?<apostrophe>')|(?<realquote>")) | 10273 b(?<quote> (?<apostrophe>')|(?<realquote>")) ) 10274 (?('quote')[a-z]+|[0-9]+)/JIx 10275 Capturing subpattern count = 6 10276 Max back reference = 1 10277 Named capturing subpatterns: 10278 apostrophe 2 10279 apostrophe 5 10280 quote 1 10281 quote 4 10282 realquote 3 10283 realquote 6 10284 Options: extended dupnames 10285 No first char 10286 No need char 10287 a"aaaaa 10288 0: a"aaaaa 10289 1: " 10290 2: <unset> 10291 3: " 10292 b"aaaaa 10293 0: b"aaaaa 10294 1: <unset> 10295 2: <unset> 10296 3: <unset> 10297 4: " 10298 5: <unset> 10299 6: " 10300 ** Failers 10301 No match 10302 b"11111 10303 No match 10304 a"11111 10305 No match 10306 10307 /^(?|(a)(b)(c)(?<D>d)|(?<D>e)) (?('D')X|Y)/JDZx 10308 ------------------------------------------------------------------ 10309 Bra 10310 ^ 10311 Bra 10312 CBra 1 10313 a 10314 Ket 10315 CBra 2 10316 b 10317 Ket 10318 CBra 3 10319 c 10320 Ket 10321 CBra 4 10322 d 10323 Ket 10324 Alt 10325 CBra 1 10326 e 10327 Ket 10328 Ket 10329 Cond 10330 Cond ref <D>2 10331 X 10332 Alt 10333 Y 10334 Ket 10335 Ket 10336 End 10337 ------------------------------------------------------------------ 10338 Capturing subpattern count = 4 10339 Max back reference = 4 10340 Named capturing subpatterns: 10341 D 4 10342 D 1 10343 Options: anchored extended dupnames 10344 No first char 10345 No need char 10346 abcdX 10347 0: abcdX 10348 1: a 10349 2: b 10350 3: c 10351 4: d 10352 eX 10353 0: eX 10354 1: e 10355 ** Failers 10356 No match 10357 abcdY 10358 No match 10359 ey 10360 No match 10361 10362 /(?<A>a) (b)(c) (?<A>d (?(R&A)$ | (?4)) )/JDZx 10363 ------------------------------------------------------------------ 10364 Bra 10365 CBra 1 10366 a 10367 Ket 10368 CBra 2 10369 b 10370 Ket 10371 CBra 3 10372 c 10373 Ket 10374 CBra 4 10375 d 10376 Cond 10377 Cond recurse <A>2 10378 $ 10379 Alt 10380 Recurse 10381 Ket 10382 Ket 10383 Ket 10384 End 10385 ------------------------------------------------------------------ 10386 Capturing subpattern count = 4 10387 Max back reference = 1 10388 Named capturing subpatterns: 10389 A 1 10390 A 4 10391 Options: extended dupnames 10392 First char = 'a' 10393 Need char = 'd' 10394 abcdd 10395 0: abcdd 10396 1: a 10397 2: b 10398 3: c 10399 4: dd 10400 ** Failers 10401 No match 10402 abcdde 10403 No match 10404 10405 /abcd*/ 10406 xxxxabcd\P 10407 0: abcd 10408 xxxxabcd\P\P 10409 Partial match: abcd 10410 10411 /abcd*/i 10412 xxxxabcd\P 10413 0: abcd 10414 xxxxabcd\P\P 10415 Partial match: abcd 10416 XXXXABCD\P 10417 0: ABCD 10418 XXXXABCD\P\P 10419 Partial match: ABCD 10420 10421 /abc\d*/ 10422 xxxxabc1\P 10423 0: abc1 10424 xxxxabc1\P\P 10425 Partial match: abc1 10426 10427 /(a)bc\1*/ 10428 xxxxabca\P 10429 0: abca 10430 1: a 10431 xxxxabca\P\P 10432 Partial match: abca 10433 10434 /abc[de]*/ 10435 xxxxabcde\P 10436 0: abcde 10437 xxxxabcde\P\P 10438 Partial match: abcde 10439 10440 /-- This is not in the Perl-compatible test because Perl seems currently to be 10441 broken and not behaving as specified in that it *does* bumpalong after 10442 hitting (*COMMIT). --/ 10443 10444 /(?1)(A(*COMMIT)|B)D/ 10445 ABD 10446 0: ABD 10447 1: B 10448 XABD 10449 0: ABD 10450 1: B 10451 BAD 10452 0: BAD 10453 1: A 10454 ABXABD 10455 0: ABD 10456 1: B 10457 ** Failers 10458 No match 10459 ABX 10460 No match 10461 BAXBAD 10462 No match 10463 10464 /(\3)(\1)(a)/<JS> 10465 cat 10466 0: a 10467 1: 10468 2: 10469 3: a 10470 10471 /(\3)(\1)(a)/SI<JS> 10472 Capturing subpattern count = 3 10473 Max back reference = 3 10474 Options: 10475 No first char 10476 Need char = 'a' 10477 Subject length lower bound = 1 10478 No starting char list 10479 cat 10480 0: a 10481 1: 10482 2: 10483 3: a 10484 10485 /(\3)(\1)(a)/SI 10486 Capturing subpattern count = 3 10487 Max back reference = 3 10488 No options 10489 No first char 10490 Need char = 'a' 10491 Subject length lower bound = 3 10492 No starting char list 10493 cat 10494 No match 10495 10496 /i(?(DEFINE)(?<s>a))/SI 10497 Capturing subpattern count = 1 10498 Named capturing subpatterns: 10499 s 1 10500 No options 10501 First char = 'i' 10502 No need char 10503 Subject length lower bound = 1 10504 No starting char list 10505 i 10506 0: i 10507 10508 /()i(?(1)a)/SI 10509 Capturing subpattern count = 1 10510 Max back reference = 1 10511 No options 10512 No first char 10513 Need char = 'i' 10514 Subject length lower bound = 1 10515 Starting chars: i 10516 ia 10517 0: ia 10518 1: 10519 10520 /(?i)a(?-i)b|c/BZ 10521 ------------------------------------------------------------------ 10522 Bra 10523 /i a 10524 b 10525 Alt 10526 c 10527 Ket 10528 End 10529 ------------------------------------------------------------------ 10530 XabX 10531 0: ab 10532 XAbX 10533 0: Ab 10534 CcC 10535 0: c 10536 ** Failers 10537 No match 10538 XABX 10539 No match 10540 10541 /(?i)a(?s)b|c/BZ 10542 ------------------------------------------------------------------ 10543 Bra 10544 /i ab 10545 Alt 10546 /i c 10547 Ket 10548 End 10549 ------------------------------------------------------------------ 10550 10551 /(?i)a(?s-i)b|c/BZ 10552 ------------------------------------------------------------------ 10553 Bra 10554 /i a 10555 b 10556 Alt 10557 c 10558 Ket 10559 End 10560 ------------------------------------------------------------------ 10561 10562 /^(ab(c\1)d|x){2}$/BZ 10563 ------------------------------------------------------------------ 10564 Bra 10565 ^ 10566 Once 10567 CBra 1 10568 ab 10569 CBra 2 10570 c 10571 \1 10572 Ket 10573 d 10574 Alt 10575 x 10576 Ket 10577 Ket 10578 Once 10579 CBra 1 10580 ab 10581 CBra 2 10582 c 10583 \1 10584 Ket 10585 d 10586 Alt 10587 x 10588 Ket 10589 Ket 10590 $ 10591 Ket 10592 End 10593 ------------------------------------------------------------------ 10594 xabcxd 10595 0: xabcxd 10596 1: abcxd 10597 2: cx 10598 10599 /^(?&t)*+(?(DEFINE)(?<t>.))$/BZ 10600 ------------------------------------------------------------------ 10601 Bra 10602 ^ 10603 Braposzero 10604 SBraPos 10605 Recurse 10606 KetRpos 10607 Cond 10608 Cond def 10609 CBra 1 10610 Any 10611 Ket 10612 Ket 10613 $ 10614 Ket 10615 End 10616 ------------------------------------------------------------------ 10617 10618 /^(?&t)*(?(DEFINE)(?<t>.))$/BZ 10619 ------------------------------------------------------------------ 10620 Bra 10621 ^ 10622 Brazero 10623 Once 10624 Recurse 10625 KetRmax 10626 Cond 10627 Cond def 10628 CBra 1 10629 Any 10630 Ket 10631 Ket 10632 $ 10633 Ket 10634 End 10635 ------------------------------------------------------------------ 10636 10637 / -- This one is here because Perl gives the match as "b" rather than "ab". I 10638 believe this to be a Perl bug. --/ 10639 10640 /(?>a\Kb)z|(ab)/ 10641 ab 10642 0: ab 10643 1: ab 10644 10645 /(?P<L1>(?P<L2>0|)|(?P>L2)(?P>L1))/ 10646 Failed: recursive call could loop indefinitely at offset 31 10647 10648 /abc(*MARK:)pqr/ 10649 Failed: (*MARK) must have an argument at offset 10 10650 10651 /abc(*:)pqr/ 10652 Failed: (*MARK) must have an argument at offset 6 10653 10654 /abc(*FAIL:123)xyz/ 10655 Failed: an argument is not allowed for (*ACCEPT), (*FAIL), or (*COMMIT) at offset 13 10656 10657 /--- This should, and does, fail. In Perl, it does not, which I think is a 10658 bug because replacing the B in the pattern by (B|D) does make it fail. ---/ 10659 10660 /A(*COMMIT)B/+K 10661 ACABX 10662 No match 10663 10664 /--- These should be different, but in Perl they are not, which I think 10665 is a bug in Perl. ---/ 10666 10667 /A(*THEN)B|A(*THEN)C/K 10668 AC 10669 0: AC 10670 10671 /A(*PRUNE)B|A(*PRUNE)C/K 10672 AC 10673 No match 10674 10675 /--- Mark names can be duplicated. Perl doesn't give a mark for this one, 10676 though PCRE does. ---/ 10677 10678 /^A(*:A)B|^X(*:A)Y/K 10679 ** Failers 10680 No match 10681 XAQQ 10682 No match, mark = A 10683 10684 /--- COMMIT at the start of a pattern should be the same as an anchor. Perl 10685 optimizations defeat this. So does the PCRE optimization unless we disable it 10686 with \Y. ---/ 10687 10688 /(*COMMIT)ABC/ 10689 ABCDEFG 10690 0: ABC 10691 ** Failers 10692 No match 10693 DEFGABC\Y 10694 No match 10695 10696 /^(ab (c+(*THEN)cd) | xyz)/x 10697 abcccd 10698 No match 10699 10700 /^(ab (c+(*PRUNE)cd) | xyz)/x 10701 abcccd 10702 No match 10703 10704 /^(ab (c+(*FAIL)cd) | xyz)/x 10705 abcccd 10706 No match 10707 10708 /--- Perl gets some of these wrong ---/ 10709 10710 /(?>.(*ACCEPT))*?5/ 10711 abcde 10712 0: a 10713 10714 /(.(*ACCEPT))*?5/ 10715 abcde 10716 0: a 10717 1: a 10718 10719 /(.(*ACCEPT))5/ 10720 abcde 10721 0: a 10722 1: a 10723 10724 /(.(*ACCEPT))*5/ 10725 abcde 10726 0: a 10727 1: a 10728 10729 /A\NB./BZ 10730 ------------------------------------------------------------------ 10731 Bra 10732 A 10733 Any 10734 B 10735 Any 10736 Ket 10737 End 10738 ------------------------------------------------------------------ 10739 ACBD 10740 0: ACBD 10741 *** Failers 10742 No match 10743 A\nB 10744 No match 10745 ACB\n 10746 No match 10747 10748 /A\NB./sBZ 10749 ------------------------------------------------------------------ 10750 Bra 10751 A 10752 Any 10753 B 10754 AllAny 10755 Ket 10756 End 10757 ------------------------------------------------------------------ 10758 ACBD 10759 0: ACBD 10760 ACB\n 10761 0: ACB\x0a 10762 *** Failers 10763 No match 10764 A\nB 10765 No match 10766 10767 /A\NB/<crlf> 10768 A\nB 10769 0: A\x0aB 10770 A\rB 10771 0: A\x0dB 10772 ** Failers 10773 No match 10774 A\r\nB 10775 No match 10776 10777 /\R+b/BZ 10778 ------------------------------------------------------------------ 10779 Bra 10780 \R++ 10781 b 10782 Ket 10783 End 10784 ------------------------------------------------------------------ 10785 10786 /\R+\n/BZ 10787 ------------------------------------------------------------------ 10788 Bra 10789 \R+ 10790 \x0a 10791 Ket 10792 End 10793 ------------------------------------------------------------------ 10794 10795 /\R+\d/BZ 10796 ------------------------------------------------------------------ 10797 Bra 10798 \R++ 10799 \d 10800 Ket 10801 End 10802 ------------------------------------------------------------------ 10803 10804 /\d*\R/BZ 10805 ------------------------------------------------------------------ 10806 Bra 10807 \d*+ 10808 \R 10809 Ket 10810 End 10811 ------------------------------------------------------------------ 10812 10813 /\s*\R/BZ 10814 ------------------------------------------------------------------ 10815 Bra 10816 \s* 10817 \R 10818 Ket 10819 End 10820 ------------------------------------------------------------------ 10821 \x20\x0a 10822 0: \x0a 10823 \x20\x0d 10824 0: \x0d 10825 \x20\x0d\x0a 10826 0: \x0d\x0a 10827 10828 /\S*\R/BZ 10829 ------------------------------------------------------------------ 10830 Bra 10831 \S*+ 10832 \R 10833 Ket 10834 End 10835 ------------------------------------------------------------------ 10836 a\x0a 10837 0: a\x0a 10838 10839 /X\h*\R/BZ 10840 ------------------------------------------------------------------ 10841 Bra 10842 X 10843 \h*+ 10844 \R 10845 Ket 10846 End 10847 ------------------------------------------------------------------ 10848 X\x20\x0a 10849 0: X \x0a 10850 10851 /X\H*\R/BZ 10852 ------------------------------------------------------------------ 10853 Bra 10854 X 10855 \H* 10856 \R 10857 Ket 10858 End 10859 ------------------------------------------------------------------ 10860 X\x0d\x0a 10861 0: X\x0d\x0a 10862 10863 /X\H+\R/BZ 10864 ------------------------------------------------------------------ 10865 Bra 10866 X 10867 \H+ 10868 \R 10869 Ket 10870 End 10871 ------------------------------------------------------------------ 10872 X\x0d\x0a 10873 0: X\x0d\x0a 10874 10875 /X\H++\R/BZ 10876 ------------------------------------------------------------------ 10877 Bra 10878 X 10879 \H++ 10880 \R 10881 Ket 10882 End 10883 ------------------------------------------------------------------ 10884 X\x0d\x0a 10885 No match 10886 10887 /(?<=abc)def/ 10888 abc\P\P 10889 Partial match at offset 3: abc 10890 10891 /abc$/ 10892 abc 10893 0: abc 10894 abc\P 10895 0: abc 10896 abc\P\P 10897 Partial match: abc 10898 10899 /abc$/m 10900 abc 10901 0: abc 10902 abc\n 10903 0: abc 10904 abc\P\P 10905 Partial match: abc 10906 abc\n\P\P 10907 0: abc 10908 abc\P 10909 0: abc 10910 abc\n\P 10911 0: abc 10912 10913 /abc\z/ 10914 abc 10915 0: abc 10916 abc\P 10917 0: abc 10918 abc\P\P 10919 Partial match: abc 10920 10921 /abc\Z/ 10922 abc 10923 0: abc 10924 abc\P 10925 0: abc 10926 abc\P\P 10927 Partial match: abc 10928 10929 /abc\b/ 10930 abc 10931 0: abc 10932 abc\P 10933 0: abc 10934 abc\P\P 10935 Partial match: abc 10936 10937 /abc\B/ 10938 abc 10939 No match 10940 abc\P 10941 Partial match: abc 10942 abc\P\P 10943 Partial match: abc 10944 10945 /.+/ 10946 abc\>0 10947 0: abc 10948 abc\>1 10949 0: bc 10950 abc\>2 10951 0: c 10952 abc\>3 10953 No match 10954 abc\>4 10955 Error -24 (bad offset value) 10956 abc\>-4 10957 Error -24 (bad offset value) 10958 10959 /^\c/ 10960 Failed: \c must be followed by an ASCII character at offset 3 10961 10962 /(?P<abn>(?P=abn)xxx)/BZ 10963 ------------------------------------------------------------------ 10964 Bra 10965 Once 10966 CBra 1 10967 \1 10968 xxx 10969 Ket 10970 Ket 10971 Ket 10972 End 10973 ------------------------------------------------------------------ 10974 10975 /(a\1z)/BZ 10976 ------------------------------------------------------------------ 10977 Bra 10978 Once 10979 CBra 1 10980 a 10981 \1 10982 z 10983 Ket 10984 Ket 10985 Ket 10986 End 10987 ------------------------------------------------------------------ 10988 10989 /(?P<abn>(?P=abn)(?<badstufxxx)/BZ 10990 Failed: syntax error in subpattern name (missing terminator) at offset 29 10991 10992 /(?P<abn>(?P=axn)xxx)/BZ 10993 Failed: reference to non-existent subpattern at offset 15 10994 10995 /(?P<abn>(?P=axn)xxx)(?<axn>yy)/BZ 10996 ------------------------------------------------------------------ 10997 Bra 10998 CBra 1 10999 \2 11000 xxx 11001 Ket 11002 CBra 2 11003 yy 11004 Ket 11005 Ket 11006 End 11007 ------------------------------------------------------------------ 11008 11009 /-- These tests are here because Perl gets the first one wrong. --/ 11010 11011 /(\R*)(.)/s 11012 \r\n 11013 0: \x0d 11014 1: 11015 2: \x0d 11016 \r\r\n\n\r 11017 0: \x0d\x0d\x0a\x0a\x0d 11018 1: \x0d\x0d\x0a\x0a 11019 2: \x0d 11020 \r\r\n\n\r\n 11021 0: \x0d\x0d\x0a\x0a\x0d 11022 1: \x0d\x0d\x0a\x0a 11023 2: \x0d 11024 11025 /(\R)*(.)/s 11026 \r\n 11027 0: \x0d 11028 1: <unset> 11029 2: \x0d 11030 \r\r\n\n\r 11031 0: \x0d\x0d\x0a\x0a\x0d 11032 1: \x0a 11033 2: \x0d 11034 \r\r\n\n\r\n 11035 0: \x0d\x0d\x0a\x0a\x0d 11036 1: \x0a 11037 2: \x0d 11038 11039 /((?>\r\n|\n|\x0b|\f|\r|\x85)*)(.)/s 11040 \r\n 11041 0: \x0d 11042 1: 11043 2: \x0d 11044 \r\r\n\n\r 11045 0: \x0d\x0d\x0a\x0a\x0d 11046 1: \x0d\x0d\x0a\x0a 11047 2: \x0d 11048 \r\r\n\n\r\n 11049 0: \x0d\x0d\x0a\x0a\x0d 11050 1: \x0d\x0d\x0a\x0a 11051 2: \x0d 11052 11053 /-- --/ 11054 11055 /^abc$/BZ 11056 ------------------------------------------------------------------ 11057 Bra 11058 ^ 11059 abc 11060 $ 11061 Ket 11062 End 11063 ------------------------------------------------------------------ 11064 11065 /^abc$/BZm 11066 ------------------------------------------------------------------ 11067 Bra 11068 /m ^ 11069 abc 11070 /m $ 11071 Ket 11072 End 11073 ------------------------------------------------------------------ 11074 11075 /^(a)*+(\w)/S 11076 aaaaX 11077 0: aaaaX 11078 1: a 11079 2: X 11080 ** Failers 11081 No match 11082 aaaa 11083 No match 11084 11085 /^(?:a)*+(\w)/S 11086 aaaaX 11087 0: aaaaX 11088 1: X 11089 ** Failers 11090 No match 11091 aaaa 11092 No match 11093 11094 /(a)++1234/SDZ 11095 ------------------------------------------------------------------ 11096 Bra 11097 CBraPos 1 11098 a 11099 KetRpos 11100 1234 11101 Ket 11102 End 11103 ------------------------------------------------------------------ 11104 Capturing subpattern count = 1 11105 No options 11106 First char = 'a' 11107 Need char = '4' 11108 Subject length lower bound = 5 11109 No starting char list 11110 11111 /([abc])++1234/SI 11112 Capturing subpattern count = 1 11113 No options 11114 No first char 11115 Need char = '4' 11116 Subject length lower bound = 5 11117 Starting chars: a b c 11118 11119 /(?<=(abc)+)X/ 11120 Failed: lookbehind assertion is not fixed length at offset 10 11121 11122 /(^ab)/I 11123 Capturing subpattern count = 1 11124 Options: anchored 11125 No first char 11126 No need char 11127 11128 /(^ab)++/I 11129 Capturing subpattern count = 1 11130 Options: anchored 11131 No first char 11132 No need char 11133 11134 /(^ab|^)+/I 11135 Capturing subpattern count = 1 11136 May match empty string 11137 Options: anchored 11138 No first char 11139 No need char 11140 11141 /(^ab|^)++/I 11142 Capturing subpattern count = 1 11143 May match empty string 11144 Options: anchored 11145 No first char 11146 No need char 11147 11148 /(?:^ab)/I 11149 Capturing subpattern count = 0 11150 Options: anchored 11151 No first char 11152 No need char 11153 11154 /(?:^ab)++/I 11155 Capturing subpattern count = 0 11156 Options: anchored 11157 No first char 11158 No need char 11159 11160 /(?:^ab|^)+/I 11161 Capturing subpattern count = 0 11162 May match empty string 11163 Options: anchored 11164 No first char 11165 No need char 11166 11167 /(?:^ab|^)++/I 11168 Capturing subpattern count = 0 11169 May match empty string 11170 Options: anchored 11171 No first char 11172 No need char 11173 11174 /(.*ab)/I 11175 Capturing subpattern count = 1 11176 No options 11177 First char at start or follows newline 11178 Need char = 'b' 11179 11180 /(.*ab)++/I 11181 Capturing subpattern count = 1 11182 No options 11183 First char at start or follows newline 11184 Need char = 'b' 11185 11186 /(.*ab|.*)+/I 11187 Capturing subpattern count = 1 11188 May match empty string 11189 No options 11190 First char at start or follows newline 11191 No need char 11192 11193 /(.*ab|.*)++/I 11194 Capturing subpattern count = 1 11195 May match empty string 11196 No options 11197 First char at start or follows newline 11198 No need char 11199 11200 /(?:.*ab)/I 11201 Capturing subpattern count = 0 11202 No options 11203 First char at start or follows newline 11204 Need char = 'b' 11205 11206 /(?:.*ab)++/I 11207 Capturing subpattern count = 0 11208 No options 11209 First char at start or follows newline 11210 Need char = 'b' 11211 11212 /(?:.*ab|.*)+/I 11213 Capturing subpattern count = 0 11214 May match empty string 11215 No options 11216 First char at start or follows newline 11217 No need char 11218 11219 /(?:.*ab|.*)++/I 11220 Capturing subpattern count = 0 11221 May match empty string 11222 No options 11223 First char at start or follows newline 11224 No need char 11225 11226 /(?=a)[bcd]/I 11227 Capturing subpattern count = 0 11228 No options 11229 First char = 'a' 11230 No need char 11231 11232 /((?=a))[bcd]/I 11233 Capturing subpattern count = 1 11234 No options 11235 First char = 'a' 11236 No need char 11237 11238 /((?=a))+[bcd]/I 11239 Capturing subpattern count = 1 11240 No options 11241 First char = 'a' 11242 No need char 11243 11244 /((?=a))++[bcd]/I 11245 Capturing subpattern count = 1 11246 No options 11247 First char = 'a' 11248 No need char 11249 11250 /(?=a+)[bcd]/iI 11251 Capturing subpattern count = 0 11252 Options: caseless 11253 First char = 'a' (caseless) 11254 No need char 11255 11256 /(?=a+?)[bcd]/iI 11257 Capturing subpattern count = 0 11258 Options: caseless 11259 First char = 'a' (caseless) 11260 No need char 11261 11262 /(?=a++)[bcd]/iI 11263 Capturing subpattern count = 0 11264 Options: caseless 11265 First char = 'a' (caseless) 11266 No need char 11267 11268 /(?=a{3})[bcd]/iI 11269 Capturing subpattern count = 0 11270 Options: caseless 11271 First char = 'a' (caseless) 11272 Need char = 'a' (caseless) 11273 11274 /(abc)\1+/S 11275 11276 /-- Perl doesn't get these right IMO (the 3rd is PCRE-specific) --/ 11277 11278 /(?1)(?:(b(*ACCEPT))){0}/ 11279 b 11280 0: b 11281 11282 /(?1)(?:(b(*ACCEPT))){0}c/ 11283 bc 11284 0: bc 11285 ** Failers 11286 No match 11287 b 11288 No match 11289 11290 /(?1)(?:((*ACCEPT))){0}c/ 11291 c 11292 0: c 11293 c\N 11294 0: c 11295 11296 /^.*?(?(?=a)a|b(*THEN)c)/ 11297 ba 11298 No match 11299 11300 /^.*?(?(?=a)a|bc)/ 11301 ba 11302 0: ba 11303 11304 /^.*?(?(?=a)a(*THEN)b|c)/ 11305 ac 11306 No match 11307 11308 /^.*?(?(?=a)a(*THEN)b)c/ 11309 ac 11310 No match 11311 11312 /^.*?(a(*THEN)b)c/ 11313 aabc 11314 No match 11315 11316 /^.*? (?1) c (?(DEFINE)(a(*THEN)b))/x 11317 aabc 11318 0: aabc 11319 11320 /^.*?(a(*THEN)b|z)c/ 11321 aabc 11322 0: aabc 11323 1: ab 11324 11325 /^.*?(z|a(*THEN)b)c/ 11326 aabc 11327 0: aabc 11328 1: ab 11329 11330 /-- --/ 11331 11332 /-- These studied versions are here because they are not Perl-compatible; the 11333 studying means the mark is not seen. --/ 11334 11335 /(*MARK:A)(*SKIP:B)(C|X)/KS 11336 C 11337 0: C 11338 1: C 11339 MK: A 11340 D 11341 No match, mark = A 11342 11343 /(*:A)A+(*SKIP:A)(B|Z)/KS 11344 AAAC 11345 No match, mark = A 11346 11347 /-- --/ 11348 11349 "(?=a*(*ACCEPT)b)c" 11350 c 11351 0: c 11352 c\N 11353 0: c 11354 11355 /(?1)c(?(DEFINE)((*ACCEPT)b))/ 11356 c 11357 0: c 11358 c\N 11359 0: c 11360 11361 /(?>(*ACCEPT)b)c/ 11362 c 11363 0: 11364 c\N 11365 No match 11366 11367 /(?:(?>(a)))+a%/++ 11368 %aa% 11369 0: aa% 11370 0+ 11371 1: a 11372 1+ a% 11373 11374 /(a)b|ac/++SS 11375 ac\O3 11376 0: ac 11377 0+ 11378 11379 /(a)(b)x|abc/++ 11380 abc\O6 11381 0: abc 11382 0+ 11383 11384 /(a)bc|(a)(b)\2/ 11385 \O3abc 11386 Matched, but too many substrings 11387 0: abc 11388 \O4abc 11389 Matched, but too many substrings 11390 0: abc 11391 11392 /(?(DEFINE)(a(?2)|b)(b(?1)|a))(?:(?1)|(?2))/SI 11393 Capturing subpattern count = 2 11394 No options 11395 No first char 11396 No need char 11397 Subject length lower bound = 1 11398 No starting char list 11399 11400 /(a(?2)|b)(b(?1)|a)(?:(?1)|(?2))/SI 11401 Capturing subpattern count = 2 11402 No options 11403 No first char 11404 No need char 11405 Subject length lower bound = 3 11406 Starting chars: a b 11407 11408 /(a(?2)|b)(b(?1)|a)(?1)(?2)/SI 11409 Capturing subpattern count = 2 11410 No options 11411 No first char 11412 No need char 11413 Subject length lower bound = 4 11414 Starting chars: a b 11415 11416 /(abc)(?1)/SI 11417 Capturing subpattern count = 1 11418 No options 11419 First char = 'a' 11420 Need char = 'c' 11421 Subject length lower bound = 6 11422 No starting char list 11423 11424 /^(?>a)++/ 11425 aa\M 11426 Minimum match() limit = 5 11427 Minimum match() recursion limit = 2 11428 0: aa 11429 aaaaaaaaa\M 11430 Minimum match() limit = 12 11431 Minimum match() recursion limit = 2 11432 0: aaaaaaaaa 11433 11434 /(a)(?1)++/ 11435 aa\M 11436 Minimum match() limit = 7 11437 Minimum match() recursion limit = 4 11438 0: aa 11439 1: a 11440 aaaaaaaaa\M 11441 Minimum match() limit = 21 11442 Minimum match() recursion limit = 4 11443 0: aaaaaaaaa 11444 1: a 11445 11446 /(?:(foo)|(bar)|(baz))X/SS= 11447 bazfooX 11448 0: fooX 11449 1: foo 11450 2: <unset> 11451 3: <unset> 11452 foobazbarX 11453 0: barX 11454 1: <unset> 11455 2: bar 11456 3: <unset> 11457 barfooX 11458 0: fooX 11459 1: foo 11460 2: <unset> 11461 3: <unset> 11462 bazX 11463 0: bazX 11464 1: <unset> 11465 2: <unset> 11466 3: baz 11467 foobarbazX 11468 0: bazX 11469 1: <unset> 11470 2: <unset> 11471 3: baz 11472 bazfooX\O0 11473 Matched, but too many substrings 11474 bazfooX\O2 11475 Matched, but too many substrings 11476 0: fooX 11477 bazfooX\O4 11478 Matched, but too many substrings 11479 0: fooX 11480 1: <unset> 11481 bazfooX\O6 11482 Matched, but too many substrings 11483 0: fooX 11484 1: foo 11485 2: <unset> 11486 bazfooX\O8 11487 Matched, but too many substrings 11488 0: fooX 11489 1: foo 11490 2: <unset> 11491 3: <unset> 11492 bazfooX\O10 11493 0: fooX 11494 1: foo 11495 2: <unset> 11496 3: <unset> 11497 11498 /(?=abc){3}abc/BZ 11499 ------------------------------------------------------------------ 11500 Bra 11501 Assert 11502 abc 11503 Ket 11504 abc 11505 Ket 11506 End 11507 ------------------------------------------------------------------ 11508 11509 /(?=abc)+abc/BZ 11510 ------------------------------------------------------------------ 11511 Bra 11512 Assert 11513 abc 11514 Ket 11515 abc 11516 Ket 11517 End 11518 ------------------------------------------------------------------ 11519 11520 /(?=abc)++abc/BZ 11521 ------------------------------------------------------------------ 11522 Bra 11523 Assert 11524 abc 11525 Ket 11526 abc 11527 Ket 11528 End 11529 ------------------------------------------------------------------ 11530 11531 /(?=abc){0}xyz/BZ 11532 ------------------------------------------------------------------ 11533 Bra 11534 Skip zero 11535 Assert 11536 abc 11537 Ket 11538 xyz 11539 Ket 11540 End 11541 ------------------------------------------------------------------ 11542 11543 /(?=(a))?./BZ 11544 ------------------------------------------------------------------ 11545 Bra 11546 Brazero 11547 Assert 11548 CBra 1 11549 a 11550 Ket 11551 Ket 11552 Any 11553 Ket 11554 End 11555 ------------------------------------------------------------------ 11556 11557 /(?=(a))??./BZ 11558 ------------------------------------------------------------------ 11559 Bra 11560 Braminzero 11561 Assert 11562 CBra 1 11563 a 11564 Ket 11565 Ket 11566 Any 11567 Ket 11568 End 11569 ------------------------------------------------------------------ 11570 11571 /^(?=(a)){0}b(?1)/BZ 11572 ------------------------------------------------------------------ 11573 Bra 11574 ^ 11575 Skip zero 11576 Assert 11577 CBra 1 11578 a 11579 Ket 11580 Ket 11581 b 11582 Recurse 11583 Ket 11584 End 11585 ------------------------------------------------------------------ 11586 11587 /(?(DEFINE)(a))?b(?1)/BZ 11588 ------------------------------------------------------------------ 11589 Bra 11590 Cond 11591 Cond def 11592 CBra 1 11593 a 11594 Ket 11595 Ket 11596 b 11597 Recurse 11598 Ket 11599 End 11600 ------------------------------------------------------------------ 11601 11602 /^(?=(?1))?[az]([abc])d/BZ 11603 ------------------------------------------------------------------ 11604 Bra 11605 ^ 11606 Brazero 11607 Assert 11608 Recurse 11609 Ket 11610 [az] 11611 CBra 1 11612 [a-c] 11613 Ket 11614 d 11615 Ket 11616 End 11617 ------------------------------------------------------------------ 11618 11619 /^(?!a){0}\w+/BZ 11620 ------------------------------------------------------------------ 11621 Bra 11622 ^ 11623 Skip zero 11624 Assert not 11625 a 11626 Ket 11627 \w++ 11628 Ket 11629 End 11630 ------------------------------------------------------------------ 11631 11632 /(?<=(abc))?xyz/BZ 11633 ------------------------------------------------------------------ 11634 Bra 11635 Brazero 11636 AssertB 11637 Reverse 11638 CBra 1 11639 abc 11640 Ket 11641 Ket 11642 xyz 11643 Ket 11644 End 11645 ------------------------------------------------------------------ 11646 11647 /[:a[:abc]b:]/BZ 11648 ------------------------------------------------------------------ 11649 Bra 11650 [:[a-c] 11651 b:] 11652 Ket 11653 End 11654 ------------------------------------------------------------------ 11655 11656 /((?2))((?1))/SS 11657 abc 11658 Error -26 (nested recursion at the same subject position) 11659 11660 /((?(R2)a+|(?1)b))/SS 11661 aaaabcde 11662 Error -26 (nested recursion at the same subject position) 11663 11664 /(?(R)a*(?1)|((?R))b)/SS 11665 aaaabcde 11666 Error -26 (nested recursion at the same subject position) 11667 11668 /(a+|(?R)b)/ 11669 Failed: recursive call could loop indefinitely at offset 7 11670 11671 /^(a(*:A)(d|e(*:B))z|aeq)/C 11672 adz 11673 --->adz 11674 +0 ^ ^ 11675 +1 ^ (a(*:A)(d|e(*:B))z|aeq) 11676 +2 ^ a 11677 +3 ^^ (*:A) 11678 +8 ^^ (d|e(*:B)) 11679 Latest Mark: A 11680 +9 ^^ d 11681 +10 ^ ^ | 11682 +18 ^ ^ z 11683 +19 ^ ^ | 11684 +24 ^ ^ 11685 0: adz 11686 1: adz 11687 2: d 11688 aez 11689 --->aez 11690 +0 ^ ^ 11691 +1 ^ (a(*:A)(d|e(*:B))z|aeq) 11692 +2 ^ a 11693 +3 ^^ (*:A) 11694 +8 ^^ (d|e(*:B)) 11695 Latest Mark: A 11696 +9 ^^ d 11697 +11 ^^ e 11698 +12 ^ ^ (*:B) 11699 +17 ^ ^ ) 11700 Latest Mark: B 11701 +18 ^ ^ z 11702 +19 ^ ^ | 11703 +24 ^ ^ 11704 0: aez 11705 1: aez 11706 2: e 11707 aeqwerty 11708 --->aeqwerty 11709 +0 ^ ^ 11710 +1 ^ (a(*:A)(d|e(*:B))z|aeq) 11711 +2 ^ a 11712 +3 ^^ (*:A) 11713 +8 ^^ (d|e(*:B)) 11714 Latest Mark: A 11715 +9 ^^ d 11716 +11 ^^ e 11717 +12 ^ ^ (*:B) 11718 +17 ^ ^ ) 11719 Latest Mark: B 11720 +18 ^ ^ z 11721 +20 ^ a 11722 +21 ^^ e 11723 +22 ^ ^ q 11724 +23 ^ ^ ) 11725 +24 ^ ^ 11726 0: aeq 11727 1: aeq 11728 11729 /.(*F)/ 11730 \P\Pabc 11731 No match 11732 11733 /\btype\b\W*?\btext\b\W*?\bjavascript\b/IS 11734 Capturing subpattern count = 0 11735 Max lookbehind = 1 11736 No options 11737 First char = 't' 11738 Need char = 't' 11739 Subject length lower bound = 18 11740 No starting char list 11741 11742 /\btype\b\W*?\btext\b\W*?\bjavascript\b|\burl\b\W*?\bshell:|<input\b.*?\btype\b\W*?\bimage\b|\bonkeyup\b\W*?\=/IS 11743 Capturing subpattern count = 0 11744 Max lookbehind = 1 11745 No options 11746 No first char 11747 No need char 11748 Subject length lower bound = 8 11749 Starting chars: < o t u 11750 11751 /a(*SKIP)c|b(*ACCEPT)|/+S!I 11752 Capturing subpattern count = 0 11753 May match empty string 11754 No options 11755 No first char 11756 No need char 11757 Subject length lower bound = -1 11758 No starting char list 11759 a 11760 0: 11761 0+ 11762 11763 /a(*SKIP)c|b(*ACCEPT)cd(*ACCEPT)|x/SI 11764 Capturing subpattern count = 0 11765 No options 11766 No first char 11767 No need char 11768 Subject length lower bound = -1 11769 Starting chars: a b x 11770 ax 11771 0: x 11772 11773 'a*(*ACCEPT)b'+ 11774 \N\N 11775 No match 11776 abc\N\N 11777 0: a 11778 0+ bc 11779 bbb\N\N 11780 0: 11781 0+ bb 11782 11783 /(*ACCEPT)a/+I 11784 Capturing subpattern count = 0 11785 No options 11786 No first char 11787 No need char 11788 bax 11789 0: 11790 0+ bax 11791 11792 /z(*ACCEPT)a/+I 11793 Capturing subpattern count = 0 11794 No options 11795 First char = 'z' 11796 No need char 11797 baxzbx 11798 0: z 11799 0+ bx 11800 11801 /a(?:.)*?a/ims 11802 \Mabbbbbbbbbbbbbbbbbbbbba 11803 Minimum match() limit = 65 11804 Minimum match() recursion limit = 2 11805 0: abbbbbbbbbbbbbbbbbbbbba 11806 11807 /a(?:.(*THEN))*?a/ims 11808 \Mabbbbbbbbbbbbbbbbbbbbba 11809 Minimum match() limit = 86 11810 Minimum match() recursion limit = 45 11811 0: abbbbbbbbbbbbbbbbbbbbba 11812 11813 /a(?:.(*THEN:ABC))*?a/ims 11814 \Mabbbbbbbbbbbbbbbbbbbbba 11815 Minimum match() limit = 86 11816 Minimum match() recursion limit = 45 11817 0: abbbbbbbbbbbbbbbbbbbbba 11818 11819 /^(?>a+)(?>(z+))\w/BZ 11820 ------------------------------------------------------------------ 11821 Bra 11822 ^ 11823 Once_NC 11824 a++ 11825 Ket 11826 Once 11827 CBra 1 11828 z++ 11829 Ket 11830 Ket 11831 \w 11832 Ket 11833 End 11834 ------------------------------------------------------------------ 11835 aaaazzzzb 11836 0: aaaazzzzb 11837 1: zzzz 11838 ** Failers 11839 No match 11840 aazz 11841 No match 11842 11843 /(.)(\1|a(?2))/ 11844 bab 11845 0: bab 11846 1: b 11847 2: ab 11848 11849 /\1|(.)(?R)\1/ 11850 cbbbc 11851 0: cbbbc 11852 1: c 11853 11854 /(.)((?(1)c|a)|a(?2))/ 11855 baa 11856 No match 11857 11858 /(?P<abn>(?P=abn)xxx)/BZ 11859 ------------------------------------------------------------------ 11860 Bra 11861 Once 11862 CBra 1 11863 \1 11864 xxx 11865 Ket 11866 Ket 11867 Ket 11868 End 11869 ------------------------------------------------------------------ 11870 11871 /(a\1z)/BZ 11872 ------------------------------------------------------------------ 11873 Bra 11874 Once 11875 CBra 1 11876 a 11877 \1 11878 z 11879 Ket 11880 Ket 11881 Ket 11882 End 11883 ------------------------------------------------------------------ 11884 11885 /^(?>a+)(?>b+)(?>c+)(?>d+)(?>e+)/ 11886 \Maabbccddee 11887 Minimum match() limit = 7 11888 Minimum match() recursion limit = 2 11889 0: aabbccddee 11890 11891 /^(?>(a+))(?>(b+))(?>(c+))(?>(d+))(?>(e+))/ 11892 \Maabbccddee 11893 Minimum match() limit = 17 11894 Minimum match() recursion limit = 16 11895 0: aabbccddee 11896 1: aa 11897 2: bb 11898 3: cc 11899 4: dd 11900 5: ee 11901 11902 /^(?>(a+))(?>b+)(?>(c+))(?>d+)(?>(e+))/ 11903 \Maabbccddee 11904 Minimum match() limit = 13 11905 Minimum match() recursion limit = 10 11906 0: aabbccddee 11907 1: aa 11908 2: cc 11909 3: ee 11910 11911 /^a\x41z/<JS> 11912 aAz 11913 0: aAz 11914 *** Failers 11915 No match 11916 ax41z 11917 No match 11918 11919 /^a[m\x41]z/<JS> 11920 aAz 11921 0: aAz 11922 11923 /^a\x1z/<JS> 11924 ax1z 11925 0: ax1z 11926 11927 /^a\u0041z/<JS> 11928 aAz 11929 0: aAz 11930 *** Failers 11931 No match 11932 au0041z 11933 No match 11934 11935 /^a[m\u0041]z/<JS> 11936 aAz 11937 0: aAz 11938 11939 /^a\u041z/<JS> 11940 au041z 11941 0: au041z 11942 *** Failers 11943 No match 11944 aAz 11945 No match 11946 11947 /^a\U0041z/<JS> 11948 aU0041z 11949 0: aU0041z 11950 *** Failers 11951 No match 11952 aAz 11953 No match 11954 11955 /(?(?=c)c|d)++Y/BZ 11956 ------------------------------------------------------------------ 11957 Bra 11958 BraPos 11959 Cond 11960 Assert 11961 c 11962 Ket 11963 c 11964 Alt 11965 d 11966 Ket 11967 KetRpos 11968 Y 11969 Ket 11970 End 11971 ------------------------------------------------------------------ 11972 11973 /(?(?=c)c|d)*+Y/BZ 11974 ------------------------------------------------------------------ 11975 Bra 11976 Braposzero 11977 BraPos 11978 Cond 11979 Assert 11980 c 11981 Ket 11982 c 11983 Alt 11984 d 11985 Ket 11986 KetRpos 11987 Y 11988 Ket 11989 End 11990 ------------------------------------------------------------------ 11991 11992 /a[\NB]c/ 11993 Failed: \N is not supported in a class at offset 3 11994 11995 /a[B-\Nc]/ 11996 Failed: invalid range in character class at offset 5 11997 11998 /a[B\Nc]/ 11999 Failed: \N is not supported in a class at offset 4 12000 12001 /(a)(?2){0,1999}?(b)/ 12002 12003 /(a)(?(DEFINE)(b))(?2){0,1999}?(?2)/ 12004 12005 /--- This test, with something more complicated than individual letters, causes 12006 different behaviour in Perl. Perhaps it disables some optimization; no tag is 12007 passed back for the failures, whereas in PCRE there is a tag. ---/ 12008 12009 /(A|P)(*:A)(B|P) | (X|P)(X|P)(*:B)(Y|P)/xK 12010 AABC 12011 0: AB 12012 1: A 12013 2: B 12014 MK: A 12015 XXYZ 12016 0: XXY 12017 1: <unset> 12018 2: <unset> 12019 3: X 12020 4: X 12021 5: Y 12022 MK: B 12023 ** Failers 12024 No match 12025 XAQQ 12026 No match, mark = A 12027 XAQQXZZ 12028 No match, mark = A 12029 AXQQQ 12030 No match, mark = A 12031 AXXQQQ 12032 No match, mark = B 12033 12034 /-- Perl doesn't give marks for these, though it does if the alternatives are 12035 replaced by single letters. --/ 12036 12037 /(b|q)(*:m)f|a(*:n)w/K 12038 aw 12039 0: aw 12040 MK: n 12041 ** Failers 12042 No match, mark = n 12043 abc 12044 No match, mark = m 12045 12046 /(q|b)(*:m)f|a(*:n)w/K 12047 aw 12048 0: aw 12049 MK: n 12050 ** Failers 12051 No match, mark = n 12052 abc 12053 No match, mark = m 12054 12055 /-- After a partial match, the behaviour is as for a failure. --/ 12056 12057 /^a(*:X)bcde/K 12058 abc\P 12059 Partial match, mark=X: abc 12060 12061 /-- These are here because Perl doesn't return a mark, except for the first --/ 12062 12063 /(?=(*:x))(q|)/K+ 12064 abc 12065 0: 12066 0+ abc 12067 1: 12068 MK: x 12069 12070 /(?=(*:x))((*:y)q|)/K+ 12071 abc 12072 0: 12073 0+ abc 12074 1: 12075 MK: x 12076 12077 /(?=(*:x))(?:(*:y)q|)/K+ 12078 abc 12079 0: 12080 0+ abc 12081 MK: x 12082 12083 /(?=(*:x))(?>(*:y)q|)/K+ 12084 abc 12085 0: 12086 0+ abc 12087 MK: x 12088 12089 /(?=a(*:x))(?!a(*:y)c)/K+ 12090 ab 12091 0: 12092 0+ ab 12093 MK: x 12094 12095 /(?=a(*:x))(?=a(*:y)c|)/K+ 12096 ab 12097 0: 12098 0+ ab 12099 MK: x 12100 12101 /(..)\1/ 12102 ab\P 12103 Partial match: ab 12104 aba\P 12105 Partial match: aba 12106 abab\P 12107 0: abab 12108 1: ab 12109 12110 /(..)\1/i 12111 ab\P 12112 Partial match: ab 12113 abA\P 12114 Partial match: abA 12115 aBAb\P 12116 0: aBAb 12117 1: aB 12118 12119 /(..)\1{2,}/ 12120 ab\P 12121 Partial match: ab 12122 aba\P 12123 Partial match: aba 12124 abab\P 12125 Partial match: abab 12126 ababa\P 12127 Partial match: ababa 12128 ababab\P 12129 0: ababab 12130 1: ab 12131 ababab\P\P 12132 Partial match: ababab 12133 abababa\P 12134 0: ababab 12135 1: ab 12136 abababa\P\P 12137 Partial match: abababa 12138 12139 /(..)\1{2,}/i 12140 ab\P 12141 Partial match: ab 12142 aBa\P 12143 Partial match: aBa 12144 aBAb\P 12145 Partial match: aBAb 12146 AbaBA\P 12147 Partial match: AbaBA 12148 abABAb\P 12149 0: abABAb 12150 1: ab 12151 aBAbaB\P\P 12152 Partial match: aBAbaB 12153 abABabA\P 12154 0: abABab 12155 1: ab 12156 abaBABa\P\P 12157 Partial match: abaBABa 12158 12159 /(..)\1{2,}?x/i 12160 ab\P 12161 Partial match: ab 12162 abA\P 12163 Partial match: abA 12164 aBAb\P 12165 Partial match: aBAb 12166 abaBA\P 12167 Partial match: abaBA 12168 abAbaB\P 12169 Partial match: abAbaB 12170 abaBabA\P 12171 Partial match: abaBabA 12172 abAbABaBx\P 12173 0: abAbABaBx 12174 1: ab 12175 12176 /^(..)\1/ 12177 aba\P 12178 Partial match: aba 12179 12180 /^(..)\1{2,3}x/ 12181 aba\P 12182 Partial match: aba 12183 ababa\P 12184 Partial match: ababa 12185 ababa\P\P 12186 Partial match: ababa 12187 abababx 12188 0: abababx 12189 1: ab 12190 ababababx 12191 0: ababababx 12192 1: ab 12193 12194 /^(..)\1{2,3}?x/ 12195 aba\P 12196 Partial match: aba 12197 ababa\P 12198 Partial match: ababa 12199 ababa\P\P 12200 Partial match: ababa 12201 abababx 12202 0: abababx 12203 1: ab 12204 ababababx 12205 0: ababababx 12206 1: ab 12207 12208 /^(..)(\1{2,3})ab/ 12209 abababab 12210 0: abababab 12211 1: ab 12212 2: abab 12213 12214 /^\R/ 12215 \r\P 12216 0: \x0d 12217 \r\P\P 12218 Partial match: \x0d 12219 12220 /^\R{2,3}x/ 12221 \r\P 12222 Partial match: \x0d 12223 \r\P\P 12224 Partial match: \x0d 12225 \r\r\P 12226 Partial match: \x0d\x0d 12227 \r\r\P\P 12228 Partial match: \x0d\x0d 12229 \r\r\r\P 12230 Partial match: \x0d\x0d\x0d 12231 \r\r\r\P\P 12232 Partial match: \x0d\x0d\x0d 12233 \r\rx 12234 0: \x0d\x0dx 12235 \r\r\rx 12236 0: \x0d\x0d\x0dx 12237 12238 /^\R{2,3}?x/ 12239 \r\P 12240 Partial match: \x0d 12241 \r\P\P 12242 Partial match: \x0d 12243 \r\r\P 12244 Partial match: \x0d\x0d 12245 \r\r\P\P 12246 Partial match: \x0d\x0d 12247 \r\r\r\P 12248 Partial match: \x0d\x0d\x0d 12249 \r\r\r\P\P 12250 Partial match: \x0d\x0d\x0d 12251 \r\rx 12252 0: \x0d\x0dx 12253 \r\r\rx 12254 0: \x0d\x0d\x0dx 12255 12256 /^\R?x/ 12257 \r\P 12258 Partial match: \x0d 12259 \r\P\P 12260 Partial match: \x0d 12261 x 12262 0: x 12263 \rx 12264 0: \x0dx 12265 12266 /^\R+x/ 12267 \r\P 12268 Partial match: \x0d 12269 \r\P\P 12270 Partial match: \x0d 12271 \r\n\P 12272 Partial match: \x0d\x0a 12273 \r\n\P\P 12274 Partial match: \x0d\x0a 12275 \rx 12276 0: \x0dx 12277 12278 /^a$/<CRLF> 12279 a\r\P 12280 Partial match: a\x0d 12281 a\r\P\P 12282 Partial match: a\x0d 12283 12284 /^a$/m<CRLF> 12285 a\r\P 12286 Partial match: a\x0d 12287 a\r\P\P 12288 Partial match: a\x0d 12289 12290 /^(a$|a\r)/<CRLF> 12291 a\r\P 12292 0: a\x0d 12293 1: a\x0d 12294 a\r\P\P 12295 Partial match: a\x0d 12296 12297 /^(a$|a\r)/m<CRLF> 12298 a\r\P 12299 0: a\x0d 12300 1: a\x0d 12301 a\r\P\P 12302 Partial match: a\x0d 12303 12304 /./<CRLF> 12305 \r\P 12306 0: \x0d 12307 \r\P\P 12308 Partial match: \x0d 12309 12310 /.{2,3}/<CRLF> 12311 \r\P 12312 Partial match: \x0d 12313 \r\P\P 12314 Partial match: \x0d 12315 \r\r\P 12316 0: \x0d\x0d 12317 \r\r\P\P 12318 Partial match: \x0d\x0d 12319 \r\r\r\P 12320 0: \x0d\x0d\x0d 12321 \r\r\r\P\P 12322 Partial match: \x0d\x0d\x0d 12323 12324 /.{2,3}?/<CRLF> 12325 \r\P 12326 Partial match: \x0d 12327 \r\P\P 12328 Partial match: \x0d 12329 \r\r\P 12330 0: \x0d\x0d 12331 \r\r\P\P 12332 Partial match: \x0d\x0d 12333 \r\r\r\P 12334 0: \x0d\x0d 12335 \r\r\r\P\P 12336 0: \x0d\x0d 12337 12338 "AB(C(D))(E(F))?(?(?=\2)(?=\4))" 12339 ABCDGHI\O03 12340 Matched, but too many substrings 12341 0: ABCD 12342 12343 /-- These are all run as real matches in test 1; here we are just checking the 12344 settings of the anchored and startline bits. --/ 12345 12346 /(?>.*?a)(?<=ba)/I 12347 Capturing subpattern count = 0 12348 Max lookbehind = 2 12349 No options 12350 No first char 12351 Need char = 'a' 12352 12353 /(?:.*?a)(?<=ba)/I 12354 Capturing subpattern count = 0 12355 Max lookbehind = 2 12356 No options 12357 First char at start or follows newline 12358 Need char = 'a' 12359 12360 /.*?a(*PRUNE)b/I 12361 Capturing subpattern count = 0 12362 No options 12363 No first char 12364 Need char = 'b' 12365 12366 /.*?a(*PRUNE)b/sI 12367 Capturing subpattern count = 0 12368 Options: dotall 12369 No first char 12370 Need char = 'b' 12371 12372 /^a(*PRUNE)b/sI 12373 Capturing subpattern count = 0 12374 Options: anchored dotall 12375 No first char 12376 No need char 12377 12378 /.*?a(*SKIP)b/I 12379 Capturing subpattern count = 0 12380 No options 12381 No first char 12382 Need char = 'b' 12383 12384 /(?>.*?a)b/sI 12385 Capturing subpattern count = 0 12386 Options: dotall 12387 No first char 12388 Need char = 'b' 12389 12390 /(?>.*?a)b/I 12391 Capturing subpattern count = 0 12392 No options 12393 No first char 12394 Need char = 'b' 12395 12396 /(?>^a)b/sI 12397 Capturing subpattern count = 0 12398 Options: anchored dotall 12399 No first char 12400 No need char 12401 12402 /(?>.*?)(?<=(abcd)|(wxyz))/I 12403 Capturing subpattern count = 2 12404 Max lookbehind = 4 12405 May match empty string 12406 No options 12407 No first char 12408 No need char 12409 12410 /(?>.*)(?<=(abcd)|(wxyz))/I 12411 Capturing subpattern count = 2 12412 Max lookbehind = 4 12413 May match empty string 12414 No options 12415 No first char 12416 No need char 12417 12418 "(?>.*)foo"I 12419 Capturing subpattern count = 0 12420 No options 12421 No first char 12422 Need char = 'o' 12423 12424 "(?>.*?)foo"I 12425 Capturing subpattern count = 0 12426 No options 12427 No first char 12428 Need char = 'o' 12429 12430 /(?>^abc)/mI 12431 Capturing subpattern count = 0 12432 Options: multiline 12433 First char at start or follows newline 12434 Need char = 'c' 12435 12436 /(?>.*abc)/mI 12437 Capturing subpattern count = 0 12438 Options: multiline 12439 No first char 12440 Need char = 'c' 12441 12442 /(?:.*abc)/mI 12443 Capturing subpattern count = 0 12444 Options: multiline 12445 First char at start or follows newline 12446 Need char = 'c' 12447 12448 /-- Check PCRE_STUDY_EXTRA_NEEDED --/ 12449 12450 /.?/S-I 12451 Capturing subpattern count = 0 12452 May match empty string 12453 No options 12454 No first char 12455 No need char 12456 Study returned NULL 12457 12458 /.?/S!I 12459 Capturing subpattern count = 0 12460 May match empty string 12461 No options 12462 No first char 12463 No need char 12464 Subject length lower bound = -1 12465 No starting char list 12466 12467 /(?:(a)+(?C1)bb|aa(?C2)b)/ 12468 aab\C+ 12469 Callout 1: last capture = 1 12470 0: <unset> 12471 1: a 12472 --->aab 12473 ^ ^ b 12474 Callout 1: last capture = 1 12475 0: <unset> 12476 1: a 12477 --->aab 12478 ^^ b 12479 Callout 2: last capture = -1 12480 0: <unset> 12481 --->aab 12482 ^ ^ b 12483 0: aab 12484 12485 /(?:(a)++(?C1)bb|aa(?C2)b)/ 12486 aab\C+ 12487 Callout 1: last capture = 1 12488 0: <unset> 12489 1: a 12490 --->aab 12491 ^ ^ b 12492 Callout 2: last capture = -1 12493 0: <unset> 12494 --->aab 12495 ^ ^ b 12496 0: aab 12497 12498 /(?:(?>(a))(?C1)bb|aa(?C2)b)/ 12499 aab\C+ 12500 Callout 1: last capture = 1 12501 0: <unset> 12502 1: a 12503 --->aab 12504 ^^ b 12505 Callout 2: last capture = -1 12506 0: <unset> 12507 --->aab 12508 ^ ^ b 12509 0: aab 12510 12511 /(?:(?1)(?C1)x|ab(?C2))((a)){0}/ 12512 aab\C+ 12513 Callout 1: last capture = -1 12514 0: <unset> 12515 --->aab 12516 ^^ x 12517 Callout 1: last capture = -1 12518 0: <unset> 12519 --->aab 12520 ^^ x 12521 Callout 2: last capture = -1 12522 0: <unset> 12523 --->aab 12524 ^ ^ ) 12525 0: ab 12526 12527 /(?1)(?C1)((a)(?C2)){0}/ 12528 aab\C+ 12529 Callout 2: last capture = 2 12530 0: <unset> 12531 1: <unset> 12532 2: a 12533 --->aab 12534 ^^ ) 12535 Callout 1: last capture = -1 12536 0: <unset> 12537 --->aab 12538 ^^ ((a)(?C2)){0} 12539 0: a 12540 12541 /(?:(a)+(?C1)bb|aa(?C2)b)++/ 12542 aab\C+ 12543 Callout 1: last capture = 1 12544 0: <unset> 12545 1: a 12546 --->aab 12547 ^ ^ b 12548 Callout 1: last capture = 1 12549 0: <unset> 12550 1: a 12551 --->aab 12552 ^^ b 12553 Callout 2: last capture = -1 12554 0: <unset> 12555 --->aab 12556 ^ ^ b 12557 0: aab 12558 aab\C+\O2 12559 Callout 1: last capture = 1 12560 0: <unset> 12561 --->aab 12562 ^ ^ b 12563 Callout 1: last capture = 1 12564 0: <unset> 12565 --->aab 12566 ^^ b 12567 Callout 2: last capture = -1 12568 0: <unset> 12569 --->aab 12570 ^ ^ b 12571 0: aab 12572 12573 /(ab)x|ab/ 12574 ab\O3 12575 0: ab 12576 ab\O2 12577 0: ab 12578 12579 /(ab)/ 12580 ab\O3 12581 Matched, but too many substrings 12582 0: ab 12583 ab\O2 12584 Matched, but too many substrings 12585 0: ab 12586 12587 /(?<=123)(*MARK:xx)abc/K 12588 xxxx123a\P\P 12589 Partial match at offset 7, mark=xx: 123a 12590 xxxx123a\P 12591 Partial match at offset 7, mark=xx: 123a 12592 12593 /123\Kabc/ 12594 xxxx123a\P\P 12595 Partial match: 123a 12596 xxxx123a\P 12597 Partial match: 123a 12598 12599 /^(?(?=a)aa|bb)/C 12600 bb 12601 --->bb 12602 +0 ^ ^ 12603 +1 ^ (?(?=a)aa|bb) 12604 +3 ^ (?=a) 12605 +6 ^ a 12606 +11 ^ b 12607 +12 ^^ b 12608 +13 ^ ^ ) 12609 +14 ^ ^ 12610 0: bb 12611 12612 /(?C1)^(?C2)(?(?C99)(?=(?C3)a(?C4))(?C5)a(?C6)a(?C7)|(?C8)b(?C9)b(?C10))(?C11)/ 12613 bb 12614 --->bb 12615 1 ^ ^ 12616 2 ^ (?(?C99)(?=(?C3)a(?C4))(?C5)a(?C6)a(?C7)|(?C8)b(?C9)b(?C10)) 12617 99 ^ (?=(?C3)a(?C4)) 12618 3 ^ a 12619 8 ^ b 12620 9 ^^ b 12621 10 ^ ^ ) 12622 11 ^ ^ 12623 0: bb 12624 12625 /-- Perl seems to have a bug with this one --/ 12626 12627 /aaaaa(*COMMIT)(*PRUNE)b|a+c/ 12628 aaaaaac 12629 0: aaaac 12630 12631 /-- Here are some that Perl treats differently because of the way it handles 12632 backtracking verbs. --/ 12633 12634 /(?!a(*COMMIT)b)ac|ad/ 12635 ac 12636 0: ac 12637 ad 12638 0: ad 12639 12640 /^(?!a(*THEN)b|ac)../ 12641 ac 12642 No match 12643 ad 12644 0: ad 12645 12646 /^(?=a(*THEN)b|ac)/ 12647 ac 12648 0: 12649 12650 /\A.*?(?:a|b(*THEN)c)/ 12651 ba 12652 0: ba 12653 12654 /\A.*?(?:a|b(*THEN)c)++/ 12655 ba 12656 0: ba 12657 12658 /\A.*?(?:a|b(*THEN)c|d)/ 12659 ba 12660 0: ba 12661 12662 /(?:(a(*MARK:X)a+(*SKIP:X)b)){0}(?:(?1)|aac)/ 12663 aac 12664 0: aac 12665 12666 /\A.*?(a|b(*THEN)c)/ 12667 ba 12668 0: ba 12669 1: a 12670 12671 /^(A(*THEN)B|A(*THEN)D)/ 12672 AD 12673 0: AD 12674 1: AD 12675 12676 /(?!b(*THEN)a)bn|bnn/ 12677 bnn 12678 0: bn 12679 12680 /(?(?=b(*SKIP)a)bn|bnn)/ 12681 bnn 12682 No match 12683 12684 /(?=b(*THEN)a|)bn|bnn/ 12685 bnn 12686 0: bn 12687 12688 /-------------------------/ 12689 12690 /(*LIMIT_MATCH=12bc)abc/ 12691 Failed: (*VERB) not recognized or malformed at offset 7 12692 12693 /(*LIMIT_MATCH=4294967290)abc/ 12694 Failed: (*VERB) not recognized or malformed at offset 7 12695 12696 /(*LIMIT_RECURSION=4294967280)abc/I 12697 Capturing subpattern count = 0 12698 Recursion limit = 4294967280 12699 No options 12700 First char = 'a' 12701 Need char = 'c' 12702 12703 /(a+)*zz/ 12704 aaaaaaaaaaaaaz 12705 No match 12706 aaaaaaaaaaaaaz\q3000 12707 Error -8 (match limit exceeded) 12708 12709 /(a+)*zz/S- 12710 aaaaaaaaaaaaaz\Q10 12711 Error -21 (recursion limit exceeded) 12712 12713 /(*LIMIT_MATCH=3000)(a+)*zz/I 12714 Capturing subpattern count = 1 12715 Match limit = 3000 12716 No options 12717 No first char 12718 Need char = 'z' 12719 aaaaaaaaaaaaaz 12720 Error -8 (match limit exceeded) 12721 aaaaaaaaaaaaaz\q60000 12722 Error -8 (match limit exceeded) 12723 12724 /(*LIMIT_MATCH=60000)(*LIMIT_MATCH=3000)(a+)*zz/I 12725 Capturing subpattern count = 1 12726 Match limit = 3000 12727 No options 12728 No first char 12729 Need char = 'z' 12730 aaaaaaaaaaaaaz 12731 Error -8 (match limit exceeded) 12732 12733 /(*LIMIT_MATCH=60000)(a+)*zz/I 12734 Capturing subpattern count = 1 12735 Match limit = 60000 12736 No options 12737 No first char 12738 Need char = 'z' 12739 aaaaaaaaaaaaaz 12740 No match 12741 aaaaaaaaaaaaaz\q3000 12742 Error -8 (match limit exceeded) 12743 12744 /(*LIMIT_RECURSION=10)(a+)*zz/IS- 12745 Capturing subpattern count = 1 12746 Recursion limit = 10 12747 No options 12748 No first char 12749 Need char = 'z' 12750 Subject length lower bound = 2 12751 Starting chars: a z 12752 aaaaaaaaaaaaaz 12753 Error -21 (recursion limit exceeded) 12754 aaaaaaaaaaaaaz\Q1000 12755 Error -21 (recursion limit exceeded) 12756 12757 /(*LIMIT_RECURSION=10)(*LIMIT_RECURSION=1000)(a+)*zz/IS- 12758 Capturing subpattern count = 1 12759 Recursion limit = 10 12760 No options 12761 No first char 12762 Need char = 'z' 12763 Subject length lower bound = 2 12764 Starting chars: a z 12765 aaaaaaaaaaaaaz 12766 Error -21 (recursion limit exceeded) 12767 12768 /(*LIMIT_RECURSION=1000)(a+)*zz/IS- 12769 Capturing subpattern count = 1 12770 Recursion limit = 1000 12771 No options 12772 No first char 12773 Need char = 'z' 12774 Subject length lower bound = 2 12775 Starting chars: a z 12776 aaaaaaaaaaaaaz 12777 No match 12778 aaaaaaaaaaaaaz\Q10 12779 Error -21 (recursion limit exceeded) 12780 12781 /-- This test causes a segfault with Perl 5.18.0 --/ 12782 12783 /^(?=(a)){0}b(?1)/ 12784 backgammon 12785 0: ba 12786 12787 /(?|(?<n>f)|(?<n>b))/JI 12788 Capturing subpattern count = 1 12789 Named capturing subpatterns: 12790 n 1 12791 Options: dupnames 12792 No first char 12793 No need char 12794 12795 /(?<a>abc)(?<a>z)\k<a>()/JDZS 12796 ------------------------------------------------------------------ 12797 Bra 12798 CBra 1 12799 abc 12800 Ket 12801 CBra 2 12802 z 12803 Ket 12804 \k<a>2 12805 CBra 3 12806 Ket 12807 Ket 12808 End 12809 ------------------------------------------------------------------ 12810 Capturing subpattern count = 3 12811 Max back reference = 2 12812 Named capturing subpatterns: 12813 a 1 12814 a 2 12815 Options: dupnames 12816 First char = 'a' 12817 Need char = 'z' 12818 Subject length lower bound = 5 12819 No starting char list 12820 12821 /a*[bcd]/BZ 12822 ------------------------------------------------------------------ 12823 Bra 12824 a*+ 12825 [b-d] 12826 Ket 12827 End 12828 ------------------------------------------------------------------ 12829 12830 /[bcd]*a/BZ 12831 ------------------------------------------------------------------ 12832 Bra 12833 [b-d]*+ 12834 a 12835 Ket 12836 End 12837 ------------------------------------------------------------------ 12838 12839 /-- A complete set of tests for auto-possessification of character types --/ 12840 12841 /\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 12842 ------------------------------------------------------------------ 12843 Bra 12844 \D+ 12845 \D 12846 \D++ 12847 \d 12848 \D+ 12849 \S 12850 \D+ 12851 \s 12852 \D+ 12853 \W 12854 \D+ 12855 \w 12856 \D+ 12857 Any 12858 \D+ 12859 AllAny 12860 \D+ 12861 \R 12862 \D+ 12863 \H 12864 \D+ 12865 \h 12866 \D+ 12867 \V 12868 \D+ 12869 \v 12870 \D+ 12871 \Z 12872 \D++ 12873 \z 12874 \D+ 12875 $ 12876 Ket 12877 End 12878 ------------------------------------------------------------------ 12879 12880 /\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 12881 ------------------------------------------------------------------ 12882 Bra 12883 \d++ 12884 \D 12885 \d+ 12886 \d 12887 \d+ 12888 \S 12889 \d++ 12890 \s 12891 \d++ 12892 \W 12893 \d+ 12894 \w 12895 \d+ 12896 Any 12897 \d+ 12898 AllAny 12899 \d++ 12900 \R 12901 \d+ 12902 \H 12903 \d++ 12904 \h 12905 \d+ 12906 \V 12907 \d++ 12908 \v 12909 \d++ 12910 \Z 12911 \d++ 12912 \z 12913 \d++ 12914 $ 12915 Ket 12916 End 12917 ------------------------------------------------------------------ 12918 12919 /\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 12920 ------------------------------------------------------------------ 12921 Bra 12922 \S+ 12923 \D 12924 \S+ 12925 \d 12926 \S+ 12927 \S 12928 \S++ 12929 \s 12930 \S+ 12931 \W 12932 \S+ 12933 \w 12934 \S+ 12935 Any 12936 \S+ 12937 AllAny 12938 \S++ 12939 \R 12940 \S+ 12941 \H 12942 \S++ 12943 \h 12944 \S+ 12945 \V 12946 \S++ 12947 \v 12948 \S++ 12949 \Z 12950 \S++ 12951 \z 12952 \S++ 12953 $ 12954 Ket 12955 End 12956 ------------------------------------------------------------------ 12957 12958 /\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 12959 ------------------------------------------------------------------ 12960 Bra 12961 \s+ 12962 \D 12963 \s++ 12964 \d 12965 \s++ 12966 \S 12967 \s+ 12968 \s 12969 \s+ 12970 \W 12971 \s++ 12972 \w 12973 \s+ 12974 Any 12975 \s+ 12976 AllAny 12977 \s+ 12978 \R 12979 \s+ 12980 \H 12981 \s+ 12982 \h 12983 \s+ 12984 \V 12985 \s+ 12986 \v 12987 \s+ 12988 \Z 12989 \s++ 12990 \z 12991 \s+ 12992 $ 12993 Ket 12994 End 12995 ------------------------------------------------------------------ 12996 12997 /\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 12998 ------------------------------------------------------------------ 12999 Bra 13000 \W+ 13001 \D 13002 \W++ 13003 \d 13004 \W+ 13005 \S 13006 \W+ 13007 \s 13008 \W+ 13009 \W 13010 \W++ 13011 \w 13012 \W+ 13013 Any 13014 \W+ 13015 AllAny 13016 \W+ 13017 \R 13018 \W+ 13019 \H 13020 \W+ 13021 \h 13022 \W+ 13023 \V 13024 \W+ 13025 \v 13026 \W+ 13027 \Z 13028 \W++ 13029 \z 13030 \W+ 13031 $ 13032 Ket 13033 End 13034 ------------------------------------------------------------------ 13035 13036 /\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 13037 ------------------------------------------------------------------ 13038 Bra 13039 \w+ 13040 \D 13041 \w+ 13042 \d 13043 \w+ 13044 \S 13045 \w++ 13046 \s 13047 \w++ 13048 \W 13049 \w+ 13050 \w 13051 \w+ 13052 Any 13053 \w+ 13054 AllAny 13055 \w++ 13056 \R 13057 \w+ 13058 \H 13059 \w++ 13060 \h 13061 \w+ 13062 \V 13063 \w++ 13064 \v 13065 \w++ 13066 \Z 13067 \w++ 13068 \z 13069 \w++ 13070 $ 13071 Ket 13072 End 13073 ------------------------------------------------------------------ 13074 13075 /\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 13076 ------------------------------------------------------------------ 13077 Bra 13078 AllAny+ 13079 \D 13080 AllAny+ 13081 \d 13082 AllAny+ 13083 \S 13084 AllAny+ 13085 \s 13086 AllAny+ 13087 \W 13088 AllAny+ 13089 \w 13090 AllAny+ 13091 Any 13092 AllAny+ 13093 AllAny 13094 AllAny+ 13095 \R 13096 AllAny+ 13097 \H 13098 AllAny+ 13099 \h 13100 AllAny+ 13101 \V 13102 AllAny+ 13103 \v 13104 AllAny+ 13105 \Z 13106 AllAny++ 13107 \z 13108 AllAny+ 13109 $ 13110 Ket 13111 End 13112 ------------------------------------------------------------------ 13113 13114 /\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 13115 ------------------------------------------------------------------ 13116 Bra 13117 \R+ 13118 \D 13119 \R++ 13120 \d 13121 \R+ 13122 \S 13123 \R++ 13124 \s 13125 \R+ 13126 \W 13127 \R++ 13128 \w 13129 \R++ 13130 Any 13131 \R+ 13132 AllAny 13133 \R+ 13134 \R 13135 \R+ 13136 \H 13137 \R++ 13138 \h 13139 \R+ 13140 \V 13141 \R+ 13142 \v 13143 \R+ 13144 \Z 13145 \R++ 13146 \z 13147 \R+ 13148 $ 13149 Ket 13150 End 13151 ------------------------------------------------------------------ 13152 13153 /\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 13154 ------------------------------------------------------------------ 13155 Bra 13156 \H+ 13157 \D 13158 \H+ 13159 \d 13160 \H+ 13161 \S 13162 \H+ 13163 \s 13164 \H+ 13165 \W 13166 \H+ 13167 \w 13168 \H+ 13169 Any 13170 \H+ 13171 AllAny 13172 \H+ 13173 \R 13174 \H+ 13175 \H 13176 \H++ 13177 \h 13178 \H+ 13179 \V 13180 \H+ 13181 \v 13182 \H+ 13183 \Z 13184 \H++ 13185 \z 13186 \H+ 13187 $ 13188 Ket 13189 End 13190 ------------------------------------------------------------------ 13191 13192 /\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 13193 ------------------------------------------------------------------ 13194 Bra 13195 \h+ 13196 \D 13197 \h++ 13198 \d 13199 \h++ 13200 \S 13201 \h+ 13202 \s 13203 \h+ 13204 \W 13205 \h++ 13206 \w 13207 \h+ 13208 Any 13209 \h+ 13210 AllAny 13211 \h++ 13212 \R 13213 \h++ 13214 \H 13215 \h+ 13216 \h 13217 \h+ 13218 \V 13219 \h++ 13220 \v 13221 \h+ 13222 \Z 13223 \h++ 13224 \z 13225 \h+ 13226 $ 13227 Ket 13228 End 13229 ------------------------------------------------------------------ 13230 13231 /\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 13232 ------------------------------------------------------------------ 13233 Bra 13234 \V+ 13235 \D 13236 \V+ 13237 \d 13238 \V+ 13239 \S 13240 \V+ 13241 \s 13242 \V+ 13243 \W 13244 \V+ 13245 \w 13246 \V+ 13247 Any 13248 \V+ 13249 AllAny 13250 \V++ 13251 \R 13252 \V+ 13253 \H 13254 \V+ 13255 \h 13256 \V+ 13257 \V 13258 \V++ 13259 \v 13260 \V+ 13261 \Z 13262 \V++ 13263 \z 13264 \V+ 13265 $ 13266 Ket 13267 End 13268 ------------------------------------------------------------------ 13269 13270 /\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 13271 ------------------------------------------------------------------ 13272 Bra 13273 \v+ 13274 \D 13275 \v++ 13276 \d 13277 \v++ 13278 \S 13279 \v+ 13280 \s 13281 \v+ 13282 \W 13283 \v++ 13284 \w 13285 \v+ 13286 Any 13287 \v+ 13288 AllAny 13289 \v+ 13290 \R 13291 \v+ 13292 \H 13293 \v++ 13294 \h 13295 \v++ 13296 \V 13297 \v+ 13298 \v 13299 \v+ 13300 \Z 13301 \v++ 13302 \z 13303 \v+ 13304 $ 13305 Ket 13306 End 13307 ------------------------------------------------------------------ 13308 13309 / 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 13310 ------------------------------------------------------------------ 13311 Bra 13312 a+ 13313 \D 13314 a++ 13315 \d 13316 a+ 13317 \S 13318 a++ 13319 \s 13320 a++ 13321 \W 13322 a+ 13323 \w 13324 a+ 13325 Any 13326 a+ 13327 AllAny 13328 a++ 13329 \R 13330 a+ 13331 \H 13332 a++ 13333 \h 13334 a+ 13335 \V 13336 a++ 13337 \v 13338 a++ 13339 \Z 13340 a++ 13341 \z 13342 a++ 13343 $ 13344 Ket 13345 End 13346 ------------------------------------------------------------------ 13347 13348 /\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 13349 ------------------------------------------------------------------ 13350 Bra 13351 \x0a+ 13352 \D 13353 \x0a++ 13354 \d 13355 \x0a++ 13356 \S 13357 \x0a+ 13358 \s 13359 \x0a+ 13360 \W 13361 \x0a++ 13362 \w 13363 \x0a+ 13364 Any 13365 \x0a+ 13366 AllAny 13367 \x0a+ 13368 \R 13369 \x0a+ 13370 \H 13371 \x0a++ 13372 \h 13373 \x0a++ 13374 \V 13375 \x0a+ 13376 \v 13377 \x0a+ 13378 \Z 13379 \x0a++ 13380 \z 13381 \x0a+ 13382 $ 13383 Ket 13384 End 13385 ------------------------------------------------------------------ 13386 13387 / .+\D .+\d .+\S .+\s .+\W .+\w .+. .+\C .+\R .+\H .+\h .+\V .+\v .+\Z .+\z .+$/BZx 13388 ------------------------------------------------------------------ 13389 Bra 13390 Any+ 13391 \D 13392 Any+ 13393 \d 13394 Any+ 13395 \S 13396 Any+ 13397 \s 13398 Any+ 13399 \W 13400 Any+ 13401 \w 13402 Any+ 13403 Any 13404 Any+ 13405 AllAny 13406 Any++ 13407 \R 13408 Any+ 13409 \H 13410 Any+ 13411 \h 13412 Any+ 13413 \V 13414 Any+ 13415 \v 13416 Any+ 13417 \Z 13418 Any++ 13419 \z 13420 Any+ 13421 $ 13422 Ket 13423 End 13424 ------------------------------------------------------------------ 13425 13426 / .+\D .+\d .+\S .+\s .+\W .+\w .+. .+\C .+\R .+\H .+\h .+\V .+\v .+\Z .+\z .+$/BZxs 13427 ------------------------------------------------------------------ 13428 Bra 13429 AllAny+ 13430 \D 13431 AllAny+ 13432 \d 13433 AllAny+ 13434 \S 13435 AllAny+ 13436 \s 13437 AllAny+ 13438 \W 13439 AllAny+ 13440 \w 13441 AllAny+ 13442 AllAny 13443 AllAny+ 13444 AllAny 13445 AllAny+ 13446 \R 13447 AllAny+ 13448 \H 13449 AllAny+ 13450 \h 13451 AllAny+ 13452 \V 13453 AllAny+ 13454 \v 13455 AllAny+ 13456 \Z 13457 AllAny++ 13458 \z 13459 AllAny+ 13460 $ 13461 Ket 13462 End 13463 ------------------------------------------------------------------ 13464 13465 /\D+$ \d+$ \S+$ \s+$ \W+$ \w+$ \C+$ \R+$ \H+$ \h+$ \V+$ \v+$ a+$ \n+$ .+$ .+$/BZxm 13466 ------------------------------------------------------------------ 13467 Bra 13468 \D+ 13469 /m $ 13470 \d++ 13471 /m $ 13472 \S++ 13473 /m $ 13474 \s+ 13475 /m $ 13476 \W+ 13477 /m $ 13478 \w++ 13479 /m $ 13480 AllAny+ 13481 /m $ 13482 \R+ 13483 /m $ 13484 \H+ 13485 /m $ 13486 \h+ 13487 /m $ 13488 \V+ 13489 /m $ 13490 \v+ 13491 /m $ 13492 a+ 13493 /m $ 13494 \x0a+ 13495 /m $ 13496 Any+ 13497 /m $ 13498 Any+ 13499 /m $ 13500 Ket 13501 End 13502 ------------------------------------------------------------------ 13503 13504 /(?=a+)a(a+)++a/BZ 13505 ------------------------------------------------------------------ 13506 Bra 13507 Assert 13508 a++ 13509 Ket 13510 a 13511 CBraPos 1 13512 a++ 13513 KetRpos 13514 a 13515 Ket 13516 End 13517 ------------------------------------------------------------------ 13518 13519 /a+(bb|cc)a+(?:bb|cc)a+(?>bb|cc)a+(?:bb|cc)+a+(aa)a+(?:bb|aa)/BZ 13520 ------------------------------------------------------------------ 13521 Bra 13522 a++ 13523 CBra 1 13524 bb 13525 Alt 13526 cc 13527 Ket 13528 a++ 13529 Bra 13530 bb 13531 Alt 13532 cc 13533 Ket 13534 a++ 13535 Once_NC 13536 bb 13537 Alt 13538 cc 13539 Ket 13540 a++ 13541 Bra 13542 bb 13543 Alt 13544 cc 13545 KetRmax 13546 a+ 13547 CBra 2 13548 aa 13549 Ket 13550 a+ 13551 Bra 13552 bb 13553 Alt 13554 aa 13555 Ket 13556 Ket 13557 End 13558 ------------------------------------------------------------------ 13559 13560 /a+(bb|cc)?#a+(?:bb|cc)??#a+(?:bb|cc)?+#a+(?:bb|cc)*#a+(bb|cc)?a#a+(?:aa)?/BZ 13561 ------------------------------------------------------------------ 13562 Bra 13563 a++ 13564 Brazero 13565 CBra 1 13566 bb 13567 Alt 13568 cc 13569 Ket 13570 # 13571 a++ 13572 Braminzero 13573 Bra 13574 bb 13575 Alt 13576 cc 13577 Ket 13578 # 13579 a++ 13580 Once 13581 Brazero 13582 Bra 13583 bb 13584 Alt 13585 cc 13586 Ket 13587 Ket 13588 # 13589 a++ 13590 Brazero 13591 Bra 13592 bb 13593 Alt 13594 cc 13595 KetRmax 13596 # 13597 a+ 13598 Brazero 13599 CBra 2 13600 bb 13601 Alt 13602 cc 13603 Ket 13604 a# 13605 a+ 13606 Brazero 13607 Bra 13608 aa 13609 Ket 13610 Ket 13611 End 13612 ------------------------------------------------------------------ 13613 13614 /a+(?:bb)?a#a+(?:|||)#a+(?:|b)a#a+(?:|||)?a/BZ 13615 ------------------------------------------------------------------ 13616 Bra 13617 a+ 13618 Brazero 13619 Bra 13620 bb 13621 Ket 13622 a# 13623 a++ 13624 Bra 13625 Alt 13626 Alt 13627 Alt 13628 Ket 13629 # 13630 a+ 13631 Bra 13632 Alt 13633 b 13634 Ket 13635 a# 13636 a+ 13637 Brazero 13638 Bra 13639 Alt 13640 Alt 13641 Alt 13642 Ket 13643 a 13644 Ket 13645 End 13646 ------------------------------------------------------------------ 13647 13648 /[ab]*/BZ 13649 ------------------------------------------------------------------ 13650 Bra 13651 [ab]*+ 13652 Ket 13653 End 13654 ------------------------------------------------------------------ 13655 aaaa 13656 0: aaaa 13657 13658 /[ab]*?/BZ 13659 ------------------------------------------------------------------ 13660 Bra 13661 [ab]*? 13662 Ket 13663 End 13664 ------------------------------------------------------------------ 13665 aaaa 13666 0: 13667 13668 /[ab]?/BZ 13669 ------------------------------------------------------------------ 13670 Bra 13671 [ab]?+ 13672 Ket 13673 End 13674 ------------------------------------------------------------------ 13675 aaaa 13676 0: a 13677 13678 /[ab]??/BZ 13679 ------------------------------------------------------------------ 13680 Bra 13681 [ab]?? 13682 Ket 13683 End 13684 ------------------------------------------------------------------ 13685 aaaa 13686 0: 13687 13688 /[ab]+/BZ 13689 ------------------------------------------------------------------ 13690 Bra 13691 [ab]++ 13692 Ket 13693 End 13694 ------------------------------------------------------------------ 13695 aaaa 13696 0: aaaa 13697 13698 /[ab]+?/BZ 13699 ------------------------------------------------------------------ 13700 Bra 13701 [ab]+? 13702 Ket 13703 End 13704 ------------------------------------------------------------------ 13705 aaaa 13706 0: a 13707 13708 /[ab]{2,3}/BZ 13709 ------------------------------------------------------------------ 13710 Bra 13711 [ab]{2,3}+ 13712 Ket 13713 End 13714 ------------------------------------------------------------------ 13715 aaaa 13716 0: aaa 13717 13718 /[ab]{2,3}?/BZ 13719 ------------------------------------------------------------------ 13720 Bra 13721 [ab]{2,3}? 13722 Ket 13723 End 13724 ------------------------------------------------------------------ 13725 aaaa 13726 0: aa 13727 13728 /[ab]{2,}/BZ 13729 ------------------------------------------------------------------ 13730 Bra 13731 [ab]{2,}+ 13732 Ket 13733 End 13734 ------------------------------------------------------------------ 13735 aaaa 13736 0: aaaa 13737 13738 /[ab]{2,}?/BZ 13739 ------------------------------------------------------------------ 13740 Bra 13741 [ab]{2,}? 13742 Ket 13743 End 13744 ------------------------------------------------------------------ 13745 aaaa 13746 0: aa 13747 13748 /\d+\s{0,5}=\s*\S?=\w{0,4}\W*/BZ 13749 ------------------------------------------------------------------ 13750 Bra 13751 \d++ 13752 \s{0,5}+ 13753 = 13754 \s*+ 13755 \S? 13756 = 13757 \w{0,4}+ 13758 \W*+ 13759 Ket 13760 End 13761 ------------------------------------------------------------------ 13762 13763 /[a-d]{5,12}[e-z0-9]*#[^a-z]+[b-y]*a[2-7]?[^0-9a-z]+/BZ 13764 ------------------------------------------------------------------ 13765 Bra 13766 [a-d]{5,12}+ 13767 [0-9e-z]*+ 13768 # 13769 [\x00-`{-\xff] (neg)++ 13770 [b-y]*+ 13771 a 13772 [2-7]?+ 13773 [\x00-/:-`{-\xff] (neg)++ 13774 Ket 13775 End 13776 ------------------------------------------------------------------ 13777 13778 /[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 13779 ------------------------------------------------------------------ 13780 Bra 13781 [a-z]*+ 13782 \s 13783 # 13784 [\x09 ]?+ 13785 \S 13786 # 13787 [a-c]* 13788 \S 13789 # 13790 [C-G]++ 13791 \d 13792 # 13793 [4-8]*+ 13794 \D 13795 # 13796 [,4-9]* 13797 \D 13798 # 13799 [!$]{0,5}+ 13800 \w 13801 # 13802 [M-Xf-l]++ 13803 \W 13804 # 13805 [,a-c]? 13806 \W 13807 Ket 13808 End 13809 ------------------------------------------------------------------ 13810 13811 /a+(aa|bb)*c#a*(bb|cc)*a#a?(bb|cc)*d#[a-f]*(g|hh)*f/BZ 13812 ------------------------------------------------------------------ 13813 Bra 13814 a+ 13815 Brazero 13816 CBra 1 13817 aa 13818 Alt 13819 bb 13820 KetRmax 13821 c# 13822 a* 13823 Brazero 13824 CBra 2 13825 bb 13826 Alt 13827 cc 13828 KetRmax 13829 a# 13830 a?+ 13831 Brazero 13832 CBra 3 13833 bb 13834 Alt 13835 cc 13836 KetRmax 13837 d# 13838 [a-f]* 13839 Brazero 13840 CBra 4 13841 g 13842 Alt 13843 hh 13844 KetRmax 13845 f 13846 Ket 13847 End 13848 ------------------------------------------------------------------ 13849 13850 /[a-f]*(g|hh|i)*i#[a-x]{4,}(y{0,6})*y#[a-k]+(ll|mm)+n/BZ 13851 ------------------------------------------------------------------ 13852 Bra 13853 [a-f]*+ 13854 Brazero 13855 CBra 1 13856 g 13857 Alt 13858 hh 13859 Alt 13860 i 13861 KetRmax 13862 i# 13863 [a-x]{4,} 13864 Brazero 13865 SCBra 2 13866 y{0,6} 13867 KetRmax 13868 y# 13869 [a-k]++ 13870 CBra 3 13871 ll 13872 Alt 13873 mm 13874 KetRmax 13875 n 13876 Ket 13877 End 13878 ------------------------------------------------------------------ 13879 13880 /[a-f]*(?>gg|hh)+#[a-f]*(?>gg|hh)?#[a-f]*(?>gg|hh)*a#[a-f]*(?>gg|hh)*h/BZ 13881 ------------------------------------------------------------------ 13882 Bra 13883 [a-f]*+ 13884 Once_NC 13885 gg 13886 Alt 13887 hh 13888 KetRmax 13889 # 13890 [a-f]*+ 13891 Brazero 13892 Once_NC 13893 gg 13894 Alt 13895 hh 13896 Ket 13897 # 13898 [a-f]* 13899 Brazero 13900 Once_NC 13901 gg 13902 Alt 13903 hh 13904 KetRmax 13905 a# 13906 [a-f]*+ 13907 Brazero 13908 Once_NC 13909 gg 13910 Alt 13911 hh 13912 KetRmax 13913 h 13914 Ket 13915 End 13916 ------------------------------------------------------------------ 13917 13918 /[a-c]*d/DZS 13919 ------------------------------------------------------------------ 13920 Bra 13921 [a-c]*+ 13922 d 13923 Ket 13924 End 13925 ------------------------------------------------------------------ 13926 Capturing subpattern count = 0 13927 No options 13928 No first char 13929 Need char = 'd' 13930 Subject length lower bound = 1 13931 Starting chars: a b c d 13932 13933 /[a-c]+d/DZS 13934 ------------------------------------------------------------------ 13935 Bra 13936 [a-c]++ 13937 d 13938 Ket 13939 End 13940 ------------------------------------------------------------------ 13941 Capturing subpattern count = 0 13942 No options 13943 No first char 13944 Need char = 'd' 13945 Subject length lower bound = 2 13946 Starting chars: a b c 13947 13948 /[a-c]?d/DZS 13949 ------------------------------------------------------------------ 13950 Bra 13951 [a-c]?+ 13952 d 13953 Ket 13954 End 13955 ------------------------------------------------------------------ 13956 Capturing subpattern count = 0 13957 No options 13958 No first char 13959 Need char = 'd' 13960 Subject length lower bound = 1 13961 Starting chars: a b c d 13962 13963 /[a-c]{4,6}d/DZS 13964 ------------------------------------------------------------------ 13965 Bra 13966 [a-c]{4,6}+ 13967 d 13968 Ket 13969 End 13970 ------------------------------------------------------------------ 13971 Capturing subpattern count = 0 13972 No options 13973 No first char 13974 Need char = 'd' 13975 Subject length lower bound = 5 13976 Starting chars: a b c 13977 13978 /[a-c]{0,6}d/DZS 13979 ------------------------------------------------------------------ 13980 Bra 13981 [a-c]{0,6}+ 13982 d 13983 Ket 13984 End 13985 ------------------------------------------------------------------ 13986 Capturing subpattern count = 0 13987 No options 13988 No first char 13989 Need char = 'd' 13990 Subject length lower bound = 1 13991 Starting chars: a b c d 13992 13993 /-- End of special auto-possessive tests --/ 13994 13995 /^A\o{1239}B/ 13996 Failed: non-octal character in \o{} (closing brace missing?) at offset 8 13997 13998 /^A\oB/ 13999 Failed: missing opening brace after \o at offset 3 14000 14001 /^A\x{zz}B/ 14002 Failed: non-hex character in \x{} (closing brace missing?) at offset 5 14003 14004 /^A\x{12Z/ 14005 Failed: non-hex character in \x{} (closing brace missing?) at offset 7 14006 14007 /^A\x{/ 14008 Failed: non-hex character in \x{} (closing brace missing?) at offset 5 14009 14010 /[ab]++/BZO 14011 ------------------------------------------------------------------ 14012 Bra 14013 [ab]++ 14014 Ket 14015 End 14016 ------------------------------------------------------------------ 14017 14018 /[^ab]*+/BZO 14019 ------------------------------------------------------------------ 14020 Bra 14021 [\x00-`c-\xff] (neg)*+ 14022 Ket 14023 End 14024 ------------------------------------------------------------------ 14025 14026 /a{4}+/BZO 14027 ------------------------------------------------------------------ 14028 Bra 14029 a{4} 14030 Ket 14031 End 14032 ------------------------------------------------------------------ 14033 14034 /a{4}+/BZOi 14035 ------------------------------------------------------------------ 14036 Bra 14037 /i a{4} 14038 Ket 14039 End 14040 ------------------------------------------------------------------ 14041 14042 /[a-[:digit:]]+/ 14043 Failed: invalid range in character class at offset 3 14044 14045 /[A-[:digit:]]+/ 14046 Failed: invalid range in character class at offset 3 14047 14048 /[a-[.xxx.]]+/ 14049 Failed: invalid range in character class at offset 3 14050 14051 /[a-[=xxx=]]+/ 14052 Failed: invalid range in character class at offset 3 14053 14054 /[a-[!xxx!]]+/ 14055 Failed: range out of order in character class at offset 3 14056 14057 /[A-[!xxx!]]+/ 14058 A]]] 14059 0: A]]] 14060 14061 /[a-\d]+/ 14062 Failed: invalid range in character class at offset 4 14063 14064 /(?<0abc>xx)/ 14065 Failed: group name must start with a non-digit at offset 3 14066 14067 /(?&1abc)xx(?<1abc>y)/ 14068 Failed: group name must start with a non-digit at offset 3 14069 14070 /(?<ab-cd>xx)/ 14071 Failed: syntax error in subpattern name (missing terminator) at offset 5 14072 14073 /(?'0abc'xx)/ 14074 Failed: group name must start with a non-digit at offset 3 14075 14076 /(?P<0abc>xx)/ 14077 Failed: group name must start with a non-digit at offset 4 14078 14079 /\k<5ghj>/ 14080 Failed: group name must start with a non-digit at offset 3 14081 14082 /\k'5ghj'/ 14083 Failed: group name must start with a non-digit at offset 3 14084 14085 /\k{2fgh}/ 14086 Failed: group name must start with a non-digit at offset 3 14087 14088 /(?P=8yuki)/ 14089 Failed: group name must start with a non-digit at offset 4 14090 14091 /\g{4df}/ 14092 Failed: group name must start with a non-digit at offset 3 14093 14094 /(?&1abc)xx(?<1abc>y)/ 14095 Failed: group name must start with a non-digit at offset 3 14096 14097 /(?P>1abc)xx(?<1abc>y)/ 14098 Failed: group name must start with a non-digit at offset 4 14099 14100 /\g'3gh'/ 14101 Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 2 14102 14103 /\g<5fg>/ 14104 Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 2 14105 14106 /(?(<4gh>)abc)/ 14107 Failed: group name must start with a non-digit at offset 4 14108 14109 /(?('4gh')abc)/ 14110 Failed: group name must start with a non-digit at offset 4 14111 14112 /(?(4gh)abc)/ 14113 Failed: malformed number or name after (?( at offset 4 14114 14115 /(?(R&6yh)abc)/ 14116 Failed: group name must start with a non-digit at offset 5 14117 14118 /(((a\2)|(a*)\g<-1>))*a?/BZ 14119 ------------------------------------------------------------------ 14120 Bra 14121 Brazero 14122 SCBra 1 14123 Once 14124 CBra 2 14125 CBra 3 14126 a 14127 \2 14128 Ket 14129 Alt 14130 CBra 4 14131 a* 14132 Ket 14133 Recurse 14134 Ket 14135 Ket 14136 KetRmax 14137 a?+ 14138 Ket 14139 End 14140 ------------------------------------------------------------------ 14141 14142 /-- Test the ugly "start or end of word" compatibility syntax --/ 14143 14144 /[[:<:]]red[[:>:]]/BZ 14145 ------------------------------------------------------------------ 14146 Bra 14147 \b 14148 Assert 14149 \w 14150 Ket 14151 red 14152 \b 14153 AssertB 14154 Reverse 14155 \w 14156 Ket 14157 Ket 14158 End 14159 ------------------------------------------------------------------ 14160 little red riding hood 14161 0: red 14162 a /red/ thing 14163 0: red 14164 red is a colour 14165 0: red 14166 put it all on red 14167 0: red 14168 ** Failers 14169 No match 14170 no reduction 14171 No match 14172 Alfred Winifred 14173 No match 14174 14175 /[a[:<:]] should give error/ 14176 Failed: unknown POSIX class name at offset 4 14177 14178 /(?=ab\K)/+ 14179 abcd 14180 Start of matched string is beyond its end - displaying from end to start. 14181 0: ab 14182 0+ abcd 14183 14184 /abcd/f<lf> 14185 xx\nxabcd 14186 No match 14187 14188 / -- Test stack check external calls --/ 14189 14190 /(((((a)))))/Q0 14191 14192 /(((((a)))))/Q1 14193 Failed: parentheses are too deeply nested (stack check) at offset 0 14194 14195 /(((((a)))))/Q 14196 ** Missing 0 or 1 after /Q 14197 14198 /^\w+(?>\s*)(?<=\w)/BZ 14199 ------------------------------------------------------------------ 14200 Bra 14201 ^ 14202 \w+ 14203 Once_NC 14204 \s*+ 14205 Ket 14206 AssertB 14207 Reverse 14208 \w 14209 Ket 14210 Ket 14211 End 14212 ------------------------------------------------------------------ 14213 14214 /\othing/ 14215 Failed: missing opening brace after \o at offset 1 14216 14217 /\o{}/ 14218 Failed: digits missing in \x{} or \o{} at offset 1 14219 14220 /\o{whatever}/ 14221 Failed: non-octal character in \o{} (closing brace missing?) at offset 3 14222 14223 /\xthing/ 14224 14225 /\x{}/ 14226 Failed: digits missing in \x{} or \o{} at offset 3 14227 14228 /\x{whatever}/ 14229 Failed: non-hex character in \x{} (closing brace missing?) at offset 3 14230 14231 "((?=(?(?=(?(?=(?(?=()))))))))" 14232 a 14233 0: 14234 1: 14235 2: 14236 14237 "(?(?=)==)(((((((((?=)))))))))" 14238 a 14239 No match 14240 14241 /^(?:(a)|b)(?(1)A|B)/I 14242 Capturing subpattern count = 1 14243 Max back reference = 1 14244 Options: anchored 14245 No first char 14246 No need char 14247 aA123\O3 14248 Matched, but too many substrings 14249 0: aA 14250 aA123\O6 14251 0: aA 14252 1: a 14253 14254 '^(?:(?<AA>a)|b)(?(<AA>)A|B)' 14255 aA123\O3 14256 Matched, but too many substrings 14257 0: aA 14258 aA123\O6 14259 0: aA 14260 1: a 14261 14262 '^(?<AA>)(?:(?<AA>a)|b)(?(<AA>)A|B)'J 14263 aA123\O3 14264 Matched, but too many substrings 14265 0: aA 14266 aA123\O6 14267 Matched, but too many substrings 14268 0: aA 14269 1: 14270 14271 '^(?:(?<AA>X)|)(?:(?<AA>a)|b)\k{AA}'J 14272 aa123\O3 14273 Matched, but too many substrings 14274 0: aa 14275 aa123\O6 14276 Matched, but too many substrings 14277 0: aa 14278 1: <unset> 14279 14280 /(?<N111>(?J)(?<N111>1(111111)11|)1|1|)(?(<N111>)1)/ 14281 14282 /(?(?=0)?)+/ 14283 Failed: nothing to repeat at offset 7 14284 14285 /(?(?=0)(?=00)?00765)/ 14286 00765 14287 0: 00765 14288 14289 /(?(?=0)(?=00)?00765|(?!3).56)/ 14290 00765 14291 0: 00765 14292 456 14293 0: 456 14294 ** Failers 14295 No match 14296 356 14297 No match 14298 14299 '^(a)*+(\w)' 14300 g 14301 0: g 14302 1: <unset> 14303 2: g 14304 g\O3 14305 Matched, but too many substrings 14306 0: g 14307 14308 '^(?:a)*+(\w)' 14309 g 14310 0: g 14311 1: g 14312 g\O3 14313 Matched, but too many substrings 14314 0: g 14315 14316 //C 14317 \O\C+ 14318 Callout 255: last capture = -1 14319 ---> 14320 +0 ^ 14321 Matched, but too many substrings 14322 14323 "((?2){0,1999}())?" 14324 14325 /((?+1)(\1))/BZ 14326 ------------------------------------------------------------------ 14327 Bra 14328 Once 14329 CBra 1 14330 Recurse 14331 CBra 2 14332 \1 14333 Ket 14334 Ket 14335 Ket 14336 Ket 14337 End 14338 ------------------------------------------------------------------ 14339 14340 /(?(?!)a|b)/ 14341 bbb 14342 0: b 14343 aaa 14344 No match 14345 14346 "((?2)+)((?1))" 14347 14348 "(?(?<E>.*!.*)?)" 14349 Failed: assertion expected after (?( at offset 3 14350 14351 "X((?2)()*+){2}+"BZ 14352 ------------------------------------------------------------------ 14353 Bra 14354 X 14355 Once 14356 CBra 1 14357 Recurse 14358 Braposzero 14359 SCBraPos 2 14360 KetRpos 14361 Ket 14362 CBra 1 14363 Recurse 14364 Braposzero 14365 SCBraPos 2 14366 KetRpos 14367 Ket 14368 Ket 14369 Ket 14370 End 14371 ------------------------------------------------------------------ 14372 14373 "X((?2)()*+){2}"BZ 14374 ------------------------------------------------------------------ 14375 Bra 14376 X 14377 CBra 1 14378 Recurse 14379 Braposzero 14380 SCBraPos 2 14381 KetRpos 14382 Ket 14383 CBra 1 14384 Recurse 14385 Braposzero 14386 SCBraPos 2 14387 KetRpos 14388 Ket 14389 Ket 14390 End 14391 ------------------------------------------------------------------ 14392 14393 "(?<=((?2))((?1)))" 14394 Failed: lookbehind assertion is not fixed length at offset 17 14395 14396 /(?<=\Ka)/g+ 14397 aaaaa 14398 0: a 14399 0+ aaaa 14400 0: a 14401 0+ aaaa 14402 0: a 14403 0+ aaa 14404 0: a 14405 0+ aa 14406 0: a 14407 0+ a 14408 0: a 14409 0+ 14410 14411 /(?<=\Ka)/G+ 14412 aaaaa 14413 0: a 14414 0+ aaaa 14415 0: a 14416 0+ aaa 14417 0: a 14418 0+ aa 14419 0: a 14420 0+ a 14421 0: a 14422 0+ 14423 14424 /((?2){73}(?2))((?1))/ 14425 14426 /.((?2)(?R)\1)()/BZ 14427 ------------------------------------------------------------------ 14428 Bra 14429 Any 14430 Once 14431 CBra 1 14432 Recurse 14433 Recurse 14434 \1 14435 Ket 14436 Ket 14437 CBra 2 14438 Ket 14439 Ket 14440 End 14441 ------------------------------------------------------------------ 14442 14443 /(?1)()((((((\1++))\x85)+)|))/ 14444 14445 /(\9*+(?2);\3++()2|)++{/ 14446 Failed: reference to non-existent subpattern at offset 22 14447 14448 /\V\x85\9*+((?2)\3++()2)*:2/ 14449 Failed: reference to non-existent subpattern at offset 26 14450 14451 /(((?(R)){0,2}) (?''((?'R')((?'R')))))/J 14452 14453 /(((?(X)){0,2}) (?''((?'X')((?'X')))))/J 14454 14455 /(((?(R)){0,2}) (?''((?'X')((?'R')))))/ 14456 14457 "(?J)(?'d'(?'d'\g{d}))" 14458 14459 ".*?\h.+.\.+\R*?\xd(?i)(?=!(?=b`b`b`\`b\xa9b!)`\a`bbbbbbbbbbbbb`bbbbbbbbbbbb*R\x85bbbbbbb\C?{((?2)(?))(( 14460 \H){8(?<=(?1){29}\xa8bbbb\x16\xd\xc6^($(?<! )(\xa9H4){4}h}1)B))\x15')" 14461 14462 "(?J:(?|(?'R')(\k'R')|((?'R'))))" 14463 14464 /(?<=|(\,\$(?73591620449005828816)\xa8.{7}){6}\x09)/ 14465 Failed: number is too big at offset 32 14466 14467 // 14468 \O1 14469 Matched, but too many substrings 14470 14471 /^(?:(?(1)x|)+)+$()/BZ 14472 ------------------------------------------------------------------ 14473 Bra 14474 ^ 14475 SBra 14476 SCond 14477 1 Cond ref 14478 x 14479 Alt 14480 KetRmax 14481 KetRmax 14482 $ 14483 CBra 1 14484 Ket 14485 Ket 14486 End 14487 ------------------------------------------------------------------ 14488 14489 /(?=di(?<=(?1))|(?=(.))))/ 14490 Failed: unmatched parentheses at offset 23 14491 14492 /(?(R))*+/BZ 14493 ------------------------------------------------------------------ 14494 Bra 14495 Braposzero 14496 SBraPos 14497 SCond 14498 Cond recurse any 14499 Ket 14500 KetRpos 14501 Ket 14502 End 14503 ------------------------------------------------------------------ 14504 14505 /[[:\\](?'abc')[a:]/ 14506 14507 "[[[.\xe8Nq\xffq\xff\xe0\x2|||::Nq\xffq\xff\xe0\x6\x2|||::[[[:[::::::[[[[[::::::::[:[[[:[:::[[[[[[[[[[[[:::::::::::::::::[[.\xe8Nq\xffq\xff\xe0\x2|||::Nq\xffq\xff\xe0\x6\x2|||::[[[:[::::::[[[[[::::::::[:[[[:[:::[[[[[[[[[[[[[[:::E[[[:[:[[:[:::[[:::E[[[:[:[[:'[:::::E[[[:[::::::[[[:[[[[[[[::E[[[:[::::::[[[:[[[[[[[[:[[::[::::[[:::::::[[:[[[[[[[:[[::[:[[:[~" 14508 Failed: missing terminating ] for character class at offset 353 14509 14510 /()(?(R)0)*+/BZ 14511 ------------------------------------------------------------------ 14512 Bra 14513 CBra 1 14514 Ket 14515 Braposzero 14516 SBraPos 14517 SCond 14518 Cond recurse any 14519 0 14520 Ket 14521 KetRpos 14522 Ket 14523 End 14524 ------------------------------------------------------------------ 14525 14526 /(?R-:(?</ 14527 Failed: (?R or (?[+-]digits must be followed by ) at offset 3 14528 14529 /(?1){3918}(((((0(\k'R'))))(?J)(?'R'(?'R'\3){99})))/I 14530 Capturing subpattern count = 8 14531 Max back reference = 8 14532 Named capturing subpatterns: 14533 R 7 14534 R 8 14535 No options 14536 Duplicate name status changes 14537 No first char 14538 Need char = '0' 14539 14540 /(?J:(?|(:(?|(?'R')(\k'R')|((?'R')))H'Rk'Rf)|s(?'R')))/ 14541 14542 /0(?0)|(1)(*THEN)(*SKIP:0)(*FAIL)/ 14543 01 14544 No match 14545 14546 /((?(R8000000000)))/ 14547 Failed: number is too big at offset 16 14548 14549 /(?(8000000000/ 14550 Failed: number is too big at offset 13 14551 14552 /(?:ab)?(?:ab)(?:ab)/ 14553 abab 14554 0: abab 14555 ababab 14556 0: ababab 14557 aba 14558 No match 14559 14560 /((*MARK:A))++a(*SKIP:B)b/ 14561 aacb 14562 No match 14563 14564 /(?J:(?|(:(?|(?'R')(\z(?|(?'R')(\k'R')|((?'R')))k'R')|((?'R')))H'Ak'Rf)|s(?'R')))/ 14565 14566 /(?&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)(?&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)(?&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)(?&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)(?&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)(?&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)(?&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)(?&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)(?&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)(?&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)(?&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)(?&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)(?&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)(?&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)(?&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)(?&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)(?&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)(?&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)(?&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)(?&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>1)/ 14567 14568 /a[[:punct:]b]/BZ 14569 ------------------------------------------------------------------ 14570 Bra 14571 a 14572 [!-/:-@[-`b{-~] 14573 Ket 14574 End 14575 ------------------------------------------------------------------ 14576 14577 /-- End of testinput2 --/ 14578