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 /-- Originally, the Perl >= 5.10 things were in here too, but now I have 9 separated many (most?) of them out into test 11. However, there may still 10 be some that were overlooked. --/ 11 12 /(a)b|/I 13 Capturing subpattern count = 1 14 No options 15 No first char 16 No need char 17 18 /abc/I 19 Capturing subpattern count = 0 20 No options 21 First char = 'a' 22 Need char = 'c' 23 abc 24 0: abc 25 defabc 26 0: abc 27 \Aabc 28 0: abc 29 *** Failers 30 No match 31 \Adefabc 32 No match 33 ABC 34 No match 35 36 /^abc/I 37 Capturing subpattern count = 0 38 Options: anchored 39 No first char 40 No need char 41 abc 42 0: abc 43 \Aabc 44 0: abc 45 *** Failers 46 No match 47 defabc 48 No match 49 \Adefabc 50 No match 51 52 /a+bc/I 53 Capturing subpattern count = 0 54 No options 55 First char = 'a' 56 Need char = 'c' 57 58 /a*bc/I 59 Capturing subpattern count = 0 60 No options 61 No first char 62 Need char = 'c' 63 64 /a{3}bc/I 65 Capturing subpattern count = 0 66 No options 67 First char = 'a' 68 Need char = 'c' 69 70 /(abc|a+z)/I 71 Capturing subpattern count = 1 72 No options 73 First char = 'a' 74 No need char 75 76 /^abc$/I 77 Capturing subpattern count = 0 78 Options: anchored 79 No first char 80 No need char 81 abc 82 0: abc 83 *** Failers 84 No match 85 def\nabc 86 No match 87 88 /ab\idef/X 89 Failed: unrecognized character follows \ at offset 3 90 91 /(?X)ab\idef/X 92 Failed: unrecognized character follows \ at offset 7 93 94 /x{5,4}/ 95 Failed: numbers out of order in {} quantifier at offset 5 96 97 /z{65536}/ 98 Failed: number too big in {} quantifier at offset 7 99 100 /[abcd/ 101 Failed: missing terminating ] for character class at offset 5 102 103 /(?X)[\B]/ 104 Failed: invalid escape sequence in character class at offset 6 105 106 /(?X)[\R]/ 107 Failed: invalid escape sequence in character class at offset 6 108 109 /(?X)[\X]/ 110 Failed: invalid escape sequence in character class at offset 6 111 112 /[\B]/BZ 113 ------------------------------------------------------------------ 114 Bra 115 B 116 Ket 117 End 118 ------------------------------------------------------------------ 119 120 /[\R]/BZ 121 ------------------------------------------------------------------ 122 Bra 123 R 124 Ket 125 End 126 ------------------------------------------------------------------ 127 128 /[\X]/BZ 129 ------------------------------------------------------------------ 130 Bra 131 X 132 Ket 133 End 134 ------------------------------------------------------------------ 135 136 /[z-a]/ 137 Failed: range out of order in character class at offset 3 138 139 /^*/ 140 Failed: nothing to repeat at offset 1 141 142 /(abc/ 143 Failed: missing ) at offset 4 144 145 /(?# abc/ 146 Failed: missing ) after comment at offset 7 147 148 /(?z)abc/ 149 Failed: unrecognized character after (? or (?- at offset 2 150 151 /.*b/I 152 Capturing subpattern count = 0 153 No options 154 First char at start or follows newline 155 Need char = 'b' 156 157 /.*?b/I 158 Capturing subpattern count = 0 159 No options 160 First char at start or follows newline 161 Need char = 'b' 162 163 /cat|dog|elephant/I 164 Capturing subpattern count = 0 165 No options 166 No first char 167 No need char 168 this sentence eventually mentions a cat 169 0: cat 170 this sentences rambles on and on for a while and then reaches elephant 171 0: elephant 172 173 /cat|dog|elephant/IS 174 Capturing subpattern count = 0 175 No options 176 No first char 177 No need char 178 Subject length lower bound = 3 179 Starting byte set: c d e 180 this sentence eventually mentions a cat 181 0: cat 182 this sentences rambles on and on for a while and then reaches elephant 183 0: elephant 184 185 /cat|dog|elephant/IiS 186 Capturing subpattern count = 0 187 Options: caseless 188 No first char 189 No need char 190 Subject length lower bound = 3 191 Starting byte set: C D E c d e 192 this sentence eventually mentions a CAT cat 193 0: CAT 194 this sentences rambles on and on for a while to elephant ElePhant 195 0: elephant 196 197 /a|[bcd]/IS 198 Capturing subpattern count = 0 199 No options 200 No first char 201 No need char 202 Subject length lower bound = 1 203 Starting byte set: a b c d 204 205 /(a|[^\dZ])/IS 206 Capturing subpattern count = 1 207 No options 208 No first char 209 No need char 210 Subject length lower bound = 1 211 Starting byte set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a 212 \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 213 \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = > 214 ? @ 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 215 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 216 \x84 \x85 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f \x90 \x91 \x92 217 \x93 \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e \x9f \xa0 \xa1 218 \xa2 \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae \xaf \xb0 219 \xb1 \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd \xbe \xbf 220 \xc0 \xc1 \xc2 \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc \xcd \xce 221 \xcf \xd0 \xd1 \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb \xdc \xdd 222 \xde \xdf \xe0 \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb \xec 223 \xed \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb 224 \xfc \xfd \xfe \xff 225 226 /(a|b)*[\s]/IS 227 Capturing subpattern count = 1 228 No options 229 No first char 230 No need char 231 Subject length lower bound = 1 232 Starting byte set: \x09 \x0a \x0c \x0d \x20 a b 233 234 /(ab\2)/ 235 Failed: reference to non-existent subpattern at offset 6 236 237 /{4,5}abc/ 238 Failed: nothing to repeat at offset 4 239 240 /(a)(b)(c)\2/I 241 Capturing subpattern count = 3 242 Max back reference = 2 243 No options 244 First char = 'a' 245 Need char = 'c' 246 abcb 247 0: abcb 248 1: a 249 2: b 250 3: c 251 \O0abcb 252 Matched, but too many substrings 253 \O3abcb 254 Matched, but too many substrings 255 0: abcb 256 \O6abcb 257 Matched, but too many substrings 258 0: abcb 259 1: a 260 \O9abcb 261 Matched, but too many substrings 262 0: abcb 263 1: a 264 2: b 265 \O12abcb 266 0: abcb 267 1: a 268 2: b 269 3: c 270 271 /(a)bc|(a)(b)\2/I 272 Capturing subpattern count = 3 273 Max back reference = 2 274 No options 275 First char = 'a' 276 No need char 277 abc 278 0: abc 279 1: a 280 \O0abc 281 Matched, but too many substrings 282 \O3abc 283 Matched, but too many substrings 284 0: abc 285 \O6abc 286 0: abc 287 1: a 288 aba 289 0: aba 290 1: <unset> 291 2: a 292 3: b 293 \O0aba 294 Matched, but too many substrings 295 \O3aba 296 Matched, but too many substrings 297 0: aba 298 \O6aba 299 Matched, but too many substrings 300 0: aba 301 1: <unset> 302 \O9aba 303 Matched, but too many substrings 304 0: aba 305 1: <unset> 306 2: a 307 \O12aba 308 0: aba 309 1: <unset> 310 2: a 311 3: b 312 313 /abc$/IE 314 Capturing subpattern count = 0 315 Options: dollar_endonly 316 First char = 'a' 317 Need char = 'c' 318 abc 319 0: abc 320 *** Failers 321 No match 322 abc\n 323 No match 324 abc\ndef 325 No match 326 327 /(a)(b)(c)(d)(e)\6/ 328 Failed: reference to non-existent subpattern at offset 17 329 330 /the quick brown fox/I 331 Capturing subpattern count = 0 332 No options 333 First char = 't' 334 Need char = 'x' 335 the quick brown fox 336 0: the quick brown fox 337 this is a line with the quick brown fox 338 0: the quick brown fox 339 340 /the quick brown fox/IA 341 Capturing subpattern count = 0 342 Options: anchored 343 No first char 344 No need char 345 the quick brown fox 346 0: the quick brown fox 347 *** Failers 348 No match 349 this is a line with the quick brown fox 350 No match 351 352 /ab(?z)cd/ 353 Failed: unrecognized character after (? or (?- at offset 4 354 355 /^abc|def/I 356 Capturing subpattern count = 0 357 No options 358 No first char 359 No need char 360 abcdef 361 0: abc 362 abcdef\B 363 0: def 364 365 /.*((abc)$|(def))/I 366 Capturing subpattern count = 3 367 No options 368 First char at start or follows newline 369 No need char 370 defabc 371 0: defabc 372 1: abc 373 2: abc 374 \Zdefabc 375 0: def 376 1: def 377 2: <unset> 378 3: def 379 380 /abc/P 381 abc 382 0: abc 383 *** Failers 384 No match: POSIX code 17: match failed 385 386 /^abc|def/P 387 abcdef 388 0: abc 389 abcdef\B 390 0: def 391 392 /.*((abc)$|(def))/P 393 defabc 394 0: defabc 395 1: abc 396 2: abc 397 \Zdefabc 398 0: def 399 1: def 400 3: def 401 402 /the quick brown fox/P 403 the quick brown fox 404 0: the quick brown fox 405 *** Failers 406 No match: POSIX code 17: match failed 407 The Quick Brown Fox 408 No match: POSIX code 17: match failed 409 410 /the quick brown fox/Pi 411 the quick brown fox 412 0: the quick brown fox 413 The Quick Brown Fox 414 0: The Quick Brown Fox 415 416 /abc.def/P 417 *** Failers 418 No match: POSIX code 17: match failed 419 abc\ndef 420 No match: POSIX code 17: match failed 421 422 /abc$/P 423 abc 424 0: abc 425 abc\n 426 0: abc 427 428 /(abc)\2/P 429 Failed: POSIX code 15: bad back reference at offset 7 430 431 /(abc\1)/P 432 abc 433 No match: POSIX code 17: match failed 434 435 /)/ 436 Failed: unmatched parentheses at offset 0 437 438 /a[]b/ 439 Failed: missing terminating ] for character class at offset 4 440 441 /[^aeiou ]{3,}/I 442 Capturing subpattern count = 0 443 No options 444 No first char 445 No need char 446 co-processors, and for 447 0: -pr 448 449 /<.*>/I 450 Capturing subpattern count = 0 451 No options 452 First char = '<' 453 Need char = '>' 454 abc<def>ghi<klm>nop 455 0: <def>ghi<klm> 456 457 /<.*?>/I 458 Capturing subpattern count = 0 459 No options 460 First char = '<' 461 Need char = '>' 462 abc<def>ghi<klm>nop 463 0: <def> 464 465 /<.*>/IU 466 Capturing subpattern count = 0 467 Options: ungreedy 468 First char = '<' 469 Need char = '>' 470 abc<def>ghi<klm>nop 471 0: <def> 472 473 /(?U)<.*>/I 474 Capturing subpattern count = 0 475 Options: ungreedy 476 First char = '<' 477 Need char = '>' 478 abc<def>ghi<klm>nop 479 0: <def> 480 481 /<.*?>/IU 482 Capturing subpattern count = 0 483 Options: ungreedy 484 First char = '<' 485 Need char = '>' 486 abc<def>ghi<klm>nop 487 0: <def>ghi<klm> 488 489 /={3,}/IU 490 Capturing subpattern count = 0 491 Options: ungreedy 492 First char = '=' 493 Need char = '=' 494 abc========def 495 0: === 496 497 /(?U)={3,}?/I 498 Capturing subpattern count = 0 499 Options: ungreedy 500 First char = '=' 501 Need char = '=' 502 abc========def 503 0: ======== 504 505 /(?<!bar|cattle)foo/I 506 Capturing subpattern count = 0 507 No options 508 First char = 'f' 509 Need char = 'o' 510 foo 511 0: foo 512 catfoo 513 0: foo 514 *** Failers 515 No match 516 the barfoo 517 No match 518 and cattlefoo 519 No match 520 521 /(?<=a+)b/ 522 Failed: lookbehind assertion is not fixed length at offset 6 523 524 /(?<=aaa|b{0,3})b/ 525 Failed: lookbehind assertion is not fixed length at offset 14 526 527 /(?<!(foo)a\1)bar/ 528 Failed: lookbehind assertion is not fixed length at offset 12 529 530 /(?i)abc/I 531 Capturing subpattern count = 0 532 Options: caseless 533 First char = 'a' (caseless) 534 Need char = 'c' (caseless) 535 536 /(a|(?m)a)/I 537 Capturing subpattern count = 1 538 No options 539 First char = 'a' 540 No need char 541 542 /(?i)^1234/I 543 Capturing subpattern count = 0 544 Options: anchored caseless 545 No first char 546 No need char 547 548 /(^b|(?i)^d)/I 549 Capturing subpattern count = 1 550 Options: anchored 551 No first char 552 No need char 553 554 /(?s).*/I 555 Capturing subpattern count = 0 556 Options: anchored dotall 557 No first char 558 No need char 559 560 /[abcd]/IS 561 Capturing subpattern count = 0 562 No options 563 No first char 564 No need char 565 Subject length lower bound = 1 566 Starting byte set: a b c d 567 568 /(?i)[abcd]/IS 569 Capturing subpattern count = 0 570 Options: caseless 571 No first char 572 No need char 573 Subject length lower bound = 1 574 Starting byte set: A B C D a b c d 575 576 /(?m)[xy]|(b|c)/IS 577 Capturing subpattern count = 1 578 Options: multiline 579 No first char 580 No need char 581 Subject length lower bound = 1 582 Starting byte set: b c x y 583 584 /(^a|^b)/Im 585 Capturing subpattern count = 1 586 Options: multiline 587 First char at start or follows newline 588 No need char 589 590 /(?i)(^a|^b)/Im 591 Capturing subpattern count = 1 592 Options: caseless multiline 593 First char at start or follows newline 594 No need char 595 596 /(a)(?(1)a|b|c)/ 597 Failed: conditional group contains more than two branches at offset 13 598 599 /(?(?=a)a|b|c)/ 600 Failed: conditional group contains more than two branches at offset 12 601 602 /(?(1a)/ 603 Failed: missing ) at offset 6 604 605 /(?(1a))/ 606 Failed: reference to non-existent subpattern at offset 6 607 608 /(?(?i))/ 609 Failed: assertion expected after (?( at offset 3 610 611 /(?(abc))/ 612 Failed: reference to non-existent subpattern at offset 7 613 614 /(?(?<ab))/ 615 Failed: syntax error in subpattern name (missing terminator) at offset 7 616 617 /((?s)blah)\s+\1/I 618 Capturing subpattern count = 1 619 Max back reference = 1 620 No options 621 First char = 'b' 622 Need char = 'h' 623 624 /((?i)blah)\s+\1/I 625 Capturing subpattern count = 1 626 Max back reference = 1 627 No options 628 First char = 'b' (caseless) 629 Need char = 'h' (caseless) 630 631 /((?i)b)/IDZS 632 ------------------------------------------------------------------ 633 Bra 634 CBra 1 635 01 Opt 636 NC b 637 Ket 638 00 Opt 639 Ket 640 End 641 ------------------------------------------------------------------ 642 Capturing subpattern count = 1 643 No options 644 First char = 'b' (caseless) 645 No need char 646 Subject length lower bound = 1 647 No set of starting bytes 648 649 /(a*b|(?i:c*(?-i)d))/IS 650 Capturing subpattern count = 1 651 No options 652 No first char 653 No need char 654 Subject length lower bound = 1 655 Starting byte set: C a b c d 656 657 /a$/I 658 Capturing subpattern count = 0 659 No options 660 First char = 'a' 661 No need char 662 a 663 0: a 664 a\n 665 0: a 666 *** Failers 667 No match 668 \Za 669 No match 670 \Za\n 671 No match 672 673 /a$/Im 674 Capturing subpattern count = 0 675 Options: multiline 676 First char = 'a' 677 No need char 678 a 679 0: a 680 a\n 681 0: a 682 \Za\n 683 0: a 684 *** Failers 685 No match 686 \Za 687 No match 688 689 /\Aabc/Im 690 Capturing subpattern count = 0 691 Options: anchored multiline 692 No first char 693 No need char 694 695 /^abc/Im 696 Capturing subpattern count = 0 697 Options: multiline 698 First char at start or follows newline 699 Need char = 'c' 700 701 /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I 702 Capturing subpattern count = 5 703 Options: anchored 704 No first char 705 No need char 706 aaaaabbbbbcccccdef 707 0: aaaaabbbbbcccccdef 708 1: aaaaabbbbbcccccdef 709 2: aaaaa 710 3: b 711 4: bbbbccccc 712 5: def 713 714 /(?<=foo)[ab]/IS 715 Capturing subpattern count = 0 716 No options 717 No first char 718 No need char 719 Subject length lower bound = 1 720 Starting byte set: a b 721 722 /(?<!foo)(alpha|omega)/IS 723 Capturing subpattern count = 1 724 No options 725 No first char 726 Need char = 'a' 727 Subject length lower bound = 5 728 Starting byte set: a o 729 730 /(?!alphabet)[ab]/IS 731 Capturing subpattern count = 0 732 No options 733 No first char 734 No need char 735 Subject length lower bound = 1 736 Starting byte set: a b 737 738 /(?<=foo\n)^bar/Im 739 Capturing subpattern count = 0 740 Contains explicit CR or LF match 741 Options: multiline 742 No first char 743 Need char = 'r' 744 foo\nbarbar 745 0: bar 746 ***Failers 747 No match 748 rhubarb 749 No match 750 barbell 751 No match 752 abc\nbarton 753 No match 754 755 /^(?<=foo\n)bar/Im 756 Capturing subpattern count = 0 757 Contains explicit CR or LF match 758 Options: multiline 759 First char at start or follows newline 760 Need char = 'r' 761 foo\nbarbar 762 0: bar 763 ***Failers 764 No match 765 rhubarb 766 No match 767 barbell 768 No match 769 abc\nbarton 770 No match 771 772 /(?>^abc)/Im 773 Capturing subpattern count = 0 774 Options: multiline 775 First char at start or follows newline 776 Need char = 'c' 777 abc 778 0: abc 779 def\nabc 780 0: abc 781 *** Failers 782 No match 783 defabc 784 No match 785 786 /(?<=ab(c+)d)ef/ 787 Failed: lookbehind assertion is not fixed length at offset 11 788 789 /(?<=ab(?<=c+)d)ef/ 790 Failed: lookbehind assertion is not fixed length at offset 12 791 792 /(?<=ab(c|de)f)g/ 793 Failed: lookbehind assertion is not fixed length at offset 13 794 795 /The next three are in testinput2 because they have variable length branches/ 796 797 /(?<=bullock|donkey)-cart/I 798 Capturing subpattern count = 0 799 No options 800 First char = '-' 801 Need char = 't' 802 the bullock-cart 803 0: -cart 804 a donkey-cart race 805 0: -cart 806 *** Failers 807 No match 808 cart 809 No match 810 horse-and-cart 811 No match 812 813 /(?<=ab(?i)x|y|z)/I 814 Capturing subpattern count = 0 815 No options 816 No first char 817 No need char 818 819 /(?>.*)(?<=(abcd)|(xyz))/I 820 Capturing subpattern count = 2 821 No options 822 First char at start or follows newline 823 No need char 824 alphabetabcd 825 0: alphabetabcd 826 1: abcd 827 endingxyz 828 0: endingxyz 829 1: <unset> 830 2: xyz 831 832 /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/I 833 Capturing subpattern count = 0 834 No options 835 First char = 'Z' 836 Need char = 'Z' 837 abxyZZ 838 0: ZZ 839 abXyZZ 840 0: ZZ 841 ZZZ 842 0: ZZ 843 zZZ 844 0: ZZ 845 bZZ 846 0: ZZ 847 BZZ 848 0: ZZ 849 *** Failers 850 No match 851 ZZ 852 No match 853 abXYZZ 854 No match 855 zzz 856 No match 857 bzz 858 No match 859 860 /(?<!(foo)a)bar/I 861 Capturing subpattern count = 1 862 No options 863 First char = 'b' 864 Need char = 'r' 865 bar 866 0: bar 867 foobbar 868 0: bar 869 *** Failers 870 No match 871 fooabar 872 No match 873 874 /This one is here because Perl 5.005_02 doesn't fail it/I 875 Capturing subpattern count = 0 876 No options 877 First char = 'T' 878 Need char = 't' 879 880 /^(a)?(?(1)a|b)+$/I 881 Capturing subpattern count = 1 882 Options: anchored 883 No first char 884 No need char 885 *** Failers 886 No match 887 a 888 No match 889 890 /This one is here because Perl behaves differently; see also the following/I 891 Capturing subpattern count = 0 892 No options 893 First char = 'T' 894 Need char = 'g' 895 896 /^(a\1?){4}$/I 897 Capturing subpattern count = 1 898 Max back reference = 1 899 Options: anchored 900 No first char 901 No need char 902 aaaa 903 No match 904 aaaaaa 905 No match 906 907 /Perl does not fail these two for the final subjects. Neither did PCRE until/ 908 /release 8.01. The problem is in backtracking into a subpattern that contains/ 909 No match 910 /a recursive reference to itself. PCRE has now made these into atomic patterns./ 911 No match 912 913 /^(xa|=?\1a){2}$/ 914 xa=xaa 915 0: xa=xaa 916 1: =xaa 917 ** Failers 918 No match 919 xa=xaaa 920 No match 921 922 /^(xa|=?\1a)+$/ 923 xa=xaa 924 0: xa=xaa 925 1: =xaa 926 ** Failers 927 No match 928 xa=xaaa 929 No match 930 931 /These are syntax tests from Perl 5.005/I 932 Capturing subpattern count = 0 933 No options 934 First char = 'T' 935 Need char = '5' 936 937 /a[b-a]/ 938 Failed: range out of order in character class at offset 4 939 940 /a[]b/ 941 Failed: missing terminating ] for character class at offset 4 942 943 /a[/ 944 Failed: missing terminating ] for character class at offset 2 945 946 /*a/ 947 Failed: nothing to repeat at offset 0 948 949 /(*)b/ 950 Failed: nothing to repeat at offset 1 951 952 /abc)/ 953 Failed: unmatched parentheses at offset 3 954 955 /(abc/ 956 Failed: missing ) at offset 4 957 958 /a**/ 959 Failed: nothing to repeat at offset 2 960 961 /)(/ 962 Failed: unmatched parentheses at offset 0 963 964 /\1/ 965 Failed: reference to non-existent subpattern at offset 2 966 967 /\2/ 968 Failed: reference to non-existent subpattern at offset 2 969 970 /(a)|\2/ 971 Failed: reference to non-existent subpattern at offset 6 972 973 /a[b-a]/Ii 974 Failed: range out of order in character class at offset 4 975 976 /a[]b/Ii 977 Failed: missing terminating ] for character class at offset 4 978 979 /a[/Ii 980 Failed: missing terminating ] for character class at offset 2 981 982 /*a/Ii 983 Failed: nothing to repeat at offset 0 984 985 /(*)b/Ii 986 Failed: nothing to repeat at offset 1 987 988 /abc)/Ii 989 Failed: unmatched parentheses at offset 3 990 991 /(abc/Ii 992 Failed: missing ) at offset 4 993 994 /a**/Ii 995 Failed: nothing to repeat at offset 2 996 997 /)(/Ii 998 Failed: unmatched parentheses at offset 0 999 1000 /:(?:/ 1001 Failed: missing ) at offset 4 1002 1003 /(?<%)b/ 1004 Failed: unrecognized character after (?< at offset 3 1005 1006 /a(?{)b/ 1007 Failed: unrecognized character after (? or (?- at offset 3 1008 1009 /a(?{{})b/ 1010 Failed: unrecognized character after (? or (?- at offset 3 1011 1012 /a(?{}})b/ 1013 Failed: unrecognized character after (? or (?- at offset 3 1014 1015 /a(?{"{"})b/ 1016 Failed: unrecognized character after (? or (?- at offset 3 1017 1018 /a(?{"{"}})b/ 1019 Failed: unrecognized character after (? or (?- at offset 3 1020 1021 /(?(1?)a|b)/ 1022 Failed: malformed number or name after (?( at offset 4 1023 1024 /[a[:xyz:/ 1025 Failed: missing terminating ] for character class at offset 8 1026 1027 /(?<=x+)y/ 1028 Failed: lookbehind assertion is not fixed length at offset 6 1029 1030 /a{37,17}/ 1031 Failed: numbers out of order in {} quantifier at offset 7 1032 1033 /abc/\ 1034 Failed: \ at end of pattern at offset 4 1035 1036 /abc/\P 1037 Failed: POSIX code 9: bad escape sequence at offset 4 1038 1039 /abc/\i 1040 Failed: \ at end of pattern at offset 4 1041 1042 /(a)bc(d)/I 1043 Capturing subpattern count = 2 1044 No options 1045 First char = 'a' 1046 Need char = 'd' 1047 abcd 1048 0: abcd 1049 1: a 1050 2: d 1051 abcd\C2 1052 0: abcd 1053 1: a 1054 2: d 1055 2C d (1) 1056 abcd\C5 1057 0: abcd 1058 1: a 1059 2: d 1060 copy substring 5 failed -7 1061 1062 /(.{20})/I 1063 Capturing subpattern count = 1 1064 No options 1065 No first char 1066 No need char 1067 abcdefghijklmnopqrstuvwxyz 1068 0: abcdefghijklmnopqrst 1069 1: abcdefghijklmnopqrst 1070 abcdefghijklmnopqrstuvwxyz\C1 1071 0: abcdefghijklmnopqrst 1072 1: abcdefghijklmnopqrst 1073 1C abcdefghijklmnopqrst (20) 1074 abcdefghijklmnopqrstuvwxyz\G1 1075 0: abcdefghijklmnopqrst 1076 1: abcdefghijklmnopqrst 1077 1G abcdefghijklmnopqrst (20) 1078 1079 /(.{15})/I 1080 Capturing subpattern count = 1 1081 No options 1082 No first char 1083 No need char 1084 abcdefghijklmnopqrstuvwxyz 1085 0: abcdefghijklmno 1086 1: abcdefghijklmno 1087 abcdefghijklmnopqrstuvwxyz\C1\G1 1088 0: abcdefghijklmno 1089 1: abcdefghijklmno 1090 1C abcdefghijklmno (15) 1091 1G abcdefghijklmno (15) 1092 1093 /(.{16})/I 1094 Capturing subpattern count = 1 1095 No options 1096 No first char 1097 No need char 1098 abcdefghijklmnopqrstuvwxyz 1099 0: abcdefghijklmnop 1100 1: abcdefghijklmnop 1101 abcdefghijklmnopqrstuvwxyz\C1\G1\L 1102 0: abcdefghijklmnop 1103 1: abcdefghijklmnop 1104 1C abcdefghijklmnop (16) 1105 1G abcdefghijklmnop (16) 1106 0L abcdefghijklmnop 1107 1L abcdefghijklmnop 1108 1109 /^(a|(bc))de(f)/I 1110 Capturing subpattern count = 3 1111 Options: anchored 1112 No first char 1113 No need char 1114 adef\G1\G2\G3\G4\L 1115 0: adef 1116 1: a 1117 2: <unset> 1118 3: f 1119 1G a (1) 1120 2G (0) 1121 3G f (1) 1122 get substring 4 failed -7 1123 0L adef 1124 1L a 1125 2L 1126 3L f 1127 bcdef\G1\G2\G3\G4\L 1128 0: bcdef 1129 1: bc 1130 2: bc 1131 3: f 1132 1G bc (2) 1133 2G bc (2) 1134 3G f (1) 1135 get substring 4 failed -7 1136 0L bcdef 1137 1L bc 1138 2L bc 1139 3L f 1140 adefghijk\C0 1141 0: adef 1142 1: a 1143 2: <unset> 1144 3: f 1145 0C adef (4) 1146 1147 /^abc\00def/I 1148 Capturing subpattern count = 0 1149 Options: anchored 1150 No first char 1151 No need char 1152 abc\00def\L\C0 1153 0: abc\x00def 1154 0C abc (7) 1155 0L abc 1156 1157 /word ((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ 1158 )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ 1159 )?)?)?)?)?)?)?)?)?otherword/I 1160 Capturing subpattern count = 8 1161 Contains explicit CR or LF match 1162 No options 1163 First char = 'w' 1164 Need char = 'd' 1165 1166 /.*X/IDZ 1167 ------------------------------------------------------------------ 1168 Bra 1169 Any* 1170 X 1171 Ket 1172 End 1173 ------------------------------------------------------------------ 1174 Capturing subpattern count = 0 1175 No options 1176 First char at start or follows newline 1177 Need char = 'X' 1178 1179 /.*X/IDZs 1180 ------------------------------------------------------------------ 1181 Bra 1182 AllAny* 1183 X 1184 Ket 1185 End 1186 ------------------------------------------------------------------ 1187 Capturing subpattern count = 0 1188 Options: anchored dotall 1189 No first char 1190 Need char = 'X' 1191 1192 /(.*X|^B)/IDZ 1193 ------------------------------------------------------------------ 1194 Bra 1195 CBra 1 1196 Any* 1197 X 1198 Alt 1199 ^ 1200 B 1201 Ket 1202 Ket 1203 End 1204 ------------------------------------------------------------------ 1205 Capturing subpattern count = 1 1206 No options 1207 First char at start or follows newline 1208 No need char 1209 1210 /(.*X|^B)/IDZs 1211 ------------------------------------------------------------------ 1212 Bra 1213 CBra 1 1214 AllAny* 1215 X 1216 Alt 1217 ^ 1218 B 1219 Ket 1220 Ket 1221 End 1222 ------------------------------------------------------------------ 1223 Capturing subpattern count = 1 1224 Options: anchored dotall 1225 No first char 1226 No need char 1227 1228 /(?s)(.*X|^B)/IDZ 1229 ------------------------------------------------------------------ 1230 Bra 1231 CBra 1 1232 AllAny* 1233 X 1234 Alt 1235 ^ 1236 B 1237 Ket 1238 Ket 1239 End 1240 ------------------------------------------------------------------ 1241 Capturing subpattern count = 1 1242 Options: anchored dotall 1243 No first char 1244 No need char 1245 1246 /(?s:.*X|^B)/IDZ 1247 ------------------------------------------------------------------ 1248 Bra 1249 Bra 1250 04 Opt 1251 AllAny* 1252 X 1253 Alt 1254 04 Opt 1255 ^ 1256 B 1257 Ket 1258 00 Opt 1259 Ket 1260 End 1261 ------------------------------------------------------------------ 1262 Capturing subpattern count = 0 1263 Options: anchored 1264 No first char 1265 No need char 1266 1267 /\Biss\B/I+ 1268 Capturing subpattern count = 0 1269 No options 1270 First char = 'i' 1271 Need char = 's' 1272 Mississippi 1273 0: iss 1274 0+ issippi 1275 1276 /\Biss\B/I+P 1277 Mississippi 1278 0: iss 1279 0+ issippi 1280 1281 /iss/IG+ 1282 Capturing subpattern count = 0 1283 No options 1284 First char = 'i' 1285 Need char = 's' 1286 Mississippi 1287 0: iss 1288 0+ issippi 1289 0: iss 1290 0+ ippi 1291 1292 /\Biss\B/IG+ 1293 Capturing subpattern count = 0 1294 No options 1295 First char = 'i' 1296 Need char = 's' 1297 Mississippi 1298 0: iss 1299 0+ issippi 1300 1301 /\Biss\B/Ig+ 1302 Capturing subpattern count = 0 1303 No options 1304 First char = 'i' 1305 Need char = 's' 1306 Mississippi 1307 0: iss 1308 0+ issippi 1309 0: iss 1310 0+ ippi 1311 *** Failers 1312 No match 1313 Mississippi\A 1314 No match 1315 1316 /(?<=[Ms])iss/Ig+ 1317 Capturing subpattern count = 0 1318 No options 1319 First char = 'i' 1320 Need char = 's' 1321 Mississippi 1322 0: iss 1323 0+ issippi 1324 0: iss 1325 0+ ippi 1326 1327 /(?<=[Ms])iss/IG+ 1328 Capturing subpattern count = 0 1329 No options 1330 First char = 'i' 1331 Need char = 's' 1332 Mississippi 1333 0: iss 1334 0+ issippi 1335 1336 /^iss/Ig+ 1337 Capturing subpattern count = 0 1338 Options: anchored 1339 No first char 1340 No need char 1341 ississippi 1342 0: iss 1343 0+ issippi 1344 1345 /.*iss/Ig+ 1346 Capturing subpattern count = 0 1347 No options 1348 First char at start or follows newline 1349 Need char = 's' 1350 abciss\nxyzisspqr 1351 0: abciss 1352 0+ \x0axyzisspqr 1353 0: xyziss 1354 0+ pqr 1355 1356 /.i./I+g 1357 Capturing subpattern count = 0 1358 No options 1359 No first char 1360 Need char = 'i' 1361 Mississippi 1362 0: Mis 1363 0+ sissippi 1364 0: sis 1365 0+ sippi 1366 0: sip 1367 0+ pi 1368 Mississippi\A 1369 0: Mis 1370 0+ sissippi 1371 0: sis 1372 0+ sippi 1373 0: sip 1374 0+ pi 1375 Missouri river 1376 0: Mis 1377 0+ souri river 1378 0: ri 1379 0+ river 1380 0: riv 1381 0+ er 1382 Missouri river\A 1383 0: Mis 1384 0+ souri river 1385 1386 /^.is/I+g 1387 Capturing subpattern count = 0 1388 Options: anchored 1389 No first char 1390 No need char 1391 Mississippi 1392 0: Mis 1393 0+ sissippi 1394 1395 /^ab\n/Ig+ 1396 Capturing subpattern count = 0 1397 Contains explicit CR or LF match 1398 Options: anchored 1399 No first char 1400 No need char 1401 ab\nab\ncd 1402 0: ab\x0a 1403 0+ ab\x0acd 1404 1405 /^ab\n/Img+ 1406 Capturing subpattern count = 0 1407 Contains explicit CR or LF match 1408 Options: multiline 1409 First char at start or follows newline 1410 Need char = 10 1411 ab\nab\ncd 1412 0: ab\x0a 1413 0+ ab\x0acd 1414 0: ab\x0a 1415 0+ cd 1416 1417 /abc/I 1418 Capturing subpattern count = 0 1419 No options 1420 First char = 'a' 1421 Need char = 'c' 1422 1423 /abc|bac/I 1424 Capturing subpattern count = 0 1425 No options 1426 No first char 1427 Need char = 'c' 1428 1429 /(abc|bac)/I 1430 Capturing subpattern count = 1 1431 No options 1432 No first char 1433 Need char = 'c' 1434 1435 /(abc|(c|dc))/I 1436 Capturing subpattern count = 2 1437 No options 1438 No first char 1439 Need char = 'c' 1440 1441 /(abc|(d|de)c)/I 1442 Capturing subpattern count = 2 1443 No options 1444 No first char 1445 Need char = 'c' 1446 1447 /a*/I 1448 Capturing subpattern count = 0 1449 No options 1450 No first char 1451 No need char 1452 1453 /a+/I 1454 Capturing subpattern count = 0 1455 No options 1456 First char = 'a' 1457 No need char 1458 1459 /(baa|a+)/I 1460 Capturing subpattern count = 1 1461 No options 1462 No first char 1463 Need char = 'a' 1464 1465 /a{0,3}/I 1466 Capturing subpattern count = 0 1467 No options 1468 No first char 1469 No need char 1470 1471 /baa{3,}/I 1472 Capturing subpattern count = 0 1473 No options 1474 First char = 'b' 1475 Need char = 'a' 1476 1477 /"([^\\"]+|\\.)*"/I 1478 Capturing subpattern count = 1 1479 No options 1480 First char = '"' 1481 Need char = '"' 1482 1483 /(abc|ab[cd])/I 1484 Capturing subpattern count = 1 1485 No options 1486 First char = 'a' 1487 No need char 1488 1489 /(a|.)/I 1490 Capturing subpattern count = 1 1491 No options 1492 No first char 1493 No need char 1494 1495 /a|ba|\w/I 1496 Capturing subpattern count = 0 1497 No options 1498 No first char 1499 No need char 1500 1501 /abc(?=pqr)/I 1502 Capturing subpattern count = 0 1503 No options 1504 First char = 'a' 1505 Need char = 'r' 1506 1507 /...(?<=abc)/I 1508 Capturing subpattern count = 0 1509 No options 1510 No first char 1511 No need char 1512 1513 /abc(?!pqr)/I 1514 Capturing subpattern count = 0 1515 No options 1516 First char = 'a' 1517 Need char = 'c' 1518 1519 /ab./I 1520 Capturing subpattern count = 0 1521 No options 1522 First char = 'a' 1523 Need char = 'b' 1524 1525 /ab[xyz]/I 1526 Capturing subpattern count = 0 1527 No options 1528 First char = 'a' 1529 Need char = 'b' 1530 1531 /abc*/I 1532 Capturing subpattern count = 0 1533 No options 1534 First char = 'a' 1535 Need char = 'b' 1536 1537 /ab.c*/I 1538 Capturing subpattern count = 0 1539 No options 1540 First char = 'a' 1541 Need char = 'b' 1542 1543 /a.c*/I 1544 Capturing subpattern count = 0 1545 No options 1546 First char = 'a' 1547 No need char 1548 1549 /.c*/I 1550 Capturing subpattern count = 0 1551 No options 1552 No first char 1553 No need char 1554 1555 /ac*/I 1556 Capturing subpattern count = 0 1557 No options 1558 First char = 'a' 1559 No need char 1560 1561 /(a.c*|b.c*)/I 1562 Capturing subpattern count = 1 1563 No options 1564 No first char 1565 No need char 1566 1567 /a.c*|aba/I 1568 Capturing subpattern count = 0 1569 No options 1570 First char = 'a' 1571 No need char 1572 1573 /.+a/I 1574 Capturing subpattern count = 0 1575 No options 1576 No first char 1577 Need char = 'a' 1578 1579 /(?=abcda)a.*/I 1580 Capturing subpattern count = 0 1581 No options 1582 First char = 'a' 1583 Need char = 'a' 1584 1585 /(?=a)a.*/I 1586 Capturing subpattern count = 0 1587 No options 1588 First char = 'a' 1589 No need char 1590 1591 /a(b)*/I 1592 Capturing subpattern count = 1 1593 No options 1594 First char = 'a' 1595 No need char 1596 1597 /a\d*/I 1598 Capturing subpattern count = 0 1599 No options 1600 First char = 'a' 1601 No need char 1602 1603 /ab\d*/I 1604 Capturing subpattern count = 0 1605 No options 1606 First char = 'a' 1607 Need char = 'b' 1608 1609 /a(\d)*/I 1610 Capturing subpattern count = 1 1611 No options 1612 First char = 'a' 1613 No need char 1614 1615 /abcde{0,0}/I 1616 Capturing subpattern count = 0 1617 No options 1618 First char = 'a' 1619 Need char = 'd' 1620 1621 /ab\d+/I 1622 Capturing subpattern count = 0 1623 No options 1624 First char = 'a' 1625 Need char = 'b' 1626 1627 /a(?(1)b)(.)/I 1628 Capturing subpattern count = 1 1629 No options 1630 First char = 'a' 1631 No need char 1632 1633 /a(?(1)bag|big)(.)/I 1634 Capturing subpattern count = 1 1635 No options 1636 First char = 'a' 1637 Need char = 'g' 1638 1639 /a(?(1)bag|big)*(.)/I 1640 Capturing subpattern count = 1 1641 No options 1642 First char = 'a' 1643 No need char 1644 1645 /a(?(1)bag|big)+(.)/I 1646 Capturing subpattern count = 1 1647 No options 1648 First char = 'a' 1649 Need char = 'g' 1650 1651 /a(?(1)b..|b..)(.)/I 1652 Capturing subpattern count = 1 1653 No options 1654 First char = 'a' 1655 Need char = 'b' 1656 1657 /ab\d{0}e/I 1658 Capturing subpattern count = 0 1659 No options 1660 First char = 'a' 1661 Need char = 'e' 1662 1663 /a?b?/I 1664 Capturing subpattern count = 0 1665 No options 1666 No first char 1667 No need char 1668 a 1669 0: a 1670 b 1671 0: b 1672 ab 1673 0: ab 1674 \ 1675 0: 1676 *** Failers 1677 0: 1678 \N 1679 No match 1680 1681 /|-/I 1682 Capturing subpattern count = 0 1683 No options 1684 No first char 1685 No need char 1686 abcd 1687 0: 1688 -abc 1689 0: 1690 \Nab-c 1691 0: - 1692 *** Failers 1693 0: 1694 \Nabc 1695 No match 1696 1697 /a*(b+)(z)(z)/P 1698 aaaabbbbzzzz 1699 0: aaaabbbbzz 1700 1: bbbb 1701 2: z 1702 3: z 1703 aaaabbbbzzzz\O0 1704 aaaabbbbzzzz\O1 1705 0: aaaabbbbzz 1706 aaaabbbbzzzz\O2 1707 0: aaaabbbbzz 1708 1: bbbb 1709 aaaabbbbzzzz\O3 1710 0: aaaabbbbzz 1711 1: bbbb 1712 2: z 1713 aaaabbbbzzzz\O4 1714 0: aaaabbbbzz 1715 1: bbbb 1716 2: z 1717 3: z 1718 aaaabbbbzzzz\O5 1719 0: aaaabbbbzz 1720 1: bbbb 1721 2: z 1722 3: z 1723 1724 /^.?abcd/IS 1725 Capturing subpattern count = 0 1726 Options: anchored 1727 No first char 1728 Need char = 'd' 1729 Subject length lower bound = 4 1730 No set of starting bytes 1731 1732 /\( # ( at start 1733 (?: # Non-capturing bracket 1734 (?>[^()]+) # Either a sequence of non-brackets (no backtracking) 1735 | # Or 1736 (?R) # Recurse - i.e. nested bracketed string 1737 )* # Zero or more contents 1738 \) # Closing ) 1739 /Ix 1740 Capturing subpattern count = 0 1741 Options: extended 1742 First char = '(' 1743 Need char = ')' 1744 (abcd) 1745 0: (abcd) 1746 (abcd)xyz 1747 0: (abcd) 1748 xyz(abcd) 1749 0: (abcd) 1750 (ab(xy)cd)pqr 1751 0: (ab(xy)cd) 1752 (ab(xycd)pqr 1753 0: (xycd) 1754 () abc () 1755 0: () 1756 12(abcde(fsh)xyz(foo(bar))lmno)89 1757 0: (abcde(fsh)xyz(foo(bar))lmno) 1758 *** Failers 1759 No match 1760 abcd 1761 No match 1762 abcd) 1763 No match 1764 (abcd 1765 No match 1766 1767 /\( ( (?>[^()]+) | (?R) )* \) /Ixg 1768 Capturing subpattern count = 1 1769 Options: extended 1770 First char = '(' 1771 Need char = ')' 1772 (ab(xy)cd)pqr 1773 0: (ab(xy)cd) 1774 1: cd 1775 1(abcd)(x(y)z)pqr 1776 0: (abcd) 1777 1: abcd 1778 0: (x(y)z) 1779 1: z 1780 1781 /\( (?: (?>[^()]+) | (?R) ) \) /Ix 1782 Capturing subpattern count = 0 1783 Options: extended 1784 First char = '(' 1785 Need char = ')' 1786 (abcd) 1787 0: (abcd) 1788 (ab(xy)cd) 1789 0: (xy) 1790 (a(b(c)d)e) 1791 0: (c) 1792 ((ab)) 1793 0: ((ab)) 1794 *** Failers 1795 No match 1796 () 1797 No match 1798 1799 /\( (?: (?>[^()]+) | (?R) )? \) /Ix 1800 Capturing subpattern count = 0 1801 Options: extended 1802 First char = '(' 1803 Need char = ')' 1804 () 1805 0: () 1806 12(abcde(fsh)xyz(foo(bar))lmno)89 1807 0: (fsh) 1808 1809 /\( ( (?>[^()]+) | (?R) )* \) /Ix 1810 Capturing subpattern count = 1 1811 Options: extended 1812 First char = '(' 1813 Need char = ')' 1814 (ab(xy)cd) 1815 0: (ab(xy)cd) 1816 1: cd 1817 1818 /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix 1819 Capturing subpattern count = 2 1820 Options: extended 1821 First char = '(' 1822 Need char = ')' 1823 (ab(xy)cd) 1824 0: (ab(xy)cd) 1825 1: ab(xy)cd 1826 2: cd 1827 1828 /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix 1829 Capturing subpattern count = 3 1830 Options: extended 1831 First char = '(' 1832 Need char = ')' 1833 (ab(xy)cd) 1834 0: (ab(xy)cd) 1835 1: <unset> 1836 2: ab(xy)cd 1837 3: cd 1838 (123ab(xy)cd) 1839 0: (123ab(xy)cd) 1840 1: 123 1841 2: ab(xy)cd 1842 3: cd 1843 1844 /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix 1845 Capturing subpattern count = 3 1846 Options: extended 1847 First char = '(' 1848 Need char = ')' 1849 (ab(xy)cd) 1850 0: (ab(xy)cd) 1851 1: ab(xy)cd 1852 2: <unset> 1853 3: cd 1854 (123ab(xy)cd) 1855 0: (123ab(xy)cd) 1856 1: 123ab(xy)cd 1857 2: 123 1858 3: cd 1859 1860 /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix 1861 Capturing subpattern count = 11 1862 Options: extended 1863 First char = '(' 1864 Need char = ')' 1865 (ab(xy)cd) 1866 0: (ab(xy)cd) 1867 1: ab(xy)cd 1868 2: ab(xy)cd 1869 3: ab(xy)cd 1870 4: ab(xy)cd 1871 5: ab(xy)cd 1872 6: ab(xy)cd 1873 7: ab(xy)cd 1874 8: ab(xy)cd 1875 9: ab(xy)cd 1876 10: ab(xy)cd 1877 11: cd 1878 1879 /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix 1880 Capturing subpattern count = 3 1881 Options: extended 1882 First char = '(' 1883 Need char = ')' 1884 (abcd(xyz<p>qrs)123) 1885 0: (abcd(xyz<p>qrs)123) 1886 1: abcd(xyz<p>qrs)123 1887 2: 123 1888 1889 /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix 1890 Capturing subpattern count = 3 1891 Options: extended 1892 First char = '(' 1893 Need char = ')' 1894 (ab(cd)ef) 1895 0: (ab(cd)ef) 1896 1: ab(cd)ef 1897 2: ef 1898 3: (cd) 1899 (ab(cd(ef)gh)ij) 1900 0: (ab(cd(ef)gh)ij) 1901 1: ab(cd(ef)gh)ij 1902 2: ij 1903 3: (cd(ef)gh) 1904 1905 /^[[:alnum:]]/DZ 1906 ------------------------------------------------------------------ 1907 Bra 1908 ^ 1909 [0-9A-Za-z] 1910 Ket 1911 End 1912 ------------------------------------------------------------------ 1913 Capturing subpattern count = 0 1914 Options: anchored 1915 No first char 1916 No need char 1917 1918 /^[[:^alnum:]]/DZ 1919 ------------------------------------------------------------------ 1920 Bra 1921 ^ 1922 [\x00-/:-@[-`{-\xff] (neg) 1923 Ket 1924 End 1925 ------------------------------------------------------------------ 1926 Capturing subpattern count = 0 1927 Options: anchored 1928 No first char 1929 No need char 1930 1931 /^[[:alpha:]]/DZ 1932 ------------------------------------------------------------------ 1933 Bra 1934 ^ 1935 [A-Za-z] 1936 Ket 1937 End 1938 ------------------------------------------------------------------ 1939 Capturing subpattern count = 0 1940 Options: anchored 1941 No first char 1942 No need char 1943 1944 /^[[:^alpha:]]/DZ 1945 ------------------------------------------------------------------ 1946 Bra 1947 ^ 1948 [\x00-@[-`{-\xff] (neg) 1949 Ket 1950 End 1951 ------------------------------------------------------------------ 1952 Capturing subpattern count = 0 1953 Options: anchored 1954 No first char 1955 No need char 1956 1957 /[_[:alpha:]]/IS 1958 Capturing subpattern count = 0 1959 No options 1960 No first char 1961 No need char 1962 Subject length lower bound = 1 1963 Starting byte set: 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 1964 _ 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 1965 1966 /^[[:ascii:]]/DZ 1967 ------------------------------------------------------------------ 1968 Bra 1969 ^ 1970 [\x00-\x7f] 1971 Ket 1972 End 1973 ------------------------------------------------------------------ 1974 Capturing subpattern count = 0 1975 Options: anchored 1976 No first char 1977 No need char 1978 1979 /^[[:^ascii:]]/DZ 1980 ------------------------------------------------------------------ 1981 Bra 1982 ^ 1983 [\x80-\xff] (neg) 1984 Ket 1985 End 1986 ------------------------------------------------------------------ 1987 Capturing subpattern count = 0 1988 Options: anchored 1989 No first char 1990 No need char 1991 1992 /^[[:blank:]]/DZ 1993 ------------------------------------------------------------------ 1994 Bra 1995 ^ 1996 [\x09 ] 1997 Ket 1998 End 1999 ------------------------------------------------------------------ 2000 Capturing subpattern count = 0 2001 Options: anchored 2002 No first char 2003 No need char 2004 2005 /^[[:^blank:]]/DZ 2006 ------------------------------------------------------------------ 2007 Bra 2008 ^ 2009 [\x00-\x08\x0a-\x1f!-\xff] (neg) 2010 Ket 2011 End 2012 ------------------------------------------------------------------ 2013 Capturing subpattern count = 0 2014 Options: anchored 2015 No first char 2016 No need char 2017 2018 /[\n\x0b\x0c\x0d[:blank:]]/IS 2019 Capturing subpattern count = 0 2020 Contains explicit CR or LF match 2021 No options 2022 No first char 2023 No need char 2024 Subject length lower bound = 1 2025 Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20 2026 2027 /^[[:cntrl:]]/DZ 2028 ------------------------------------------------------------------ 2029 Bra 2030 ^ 2031 [\x00-\x1f\x7f] 2032 Ket 2033 End 2034 ------------------------------------------------------------------ 2035 Capturing subpattern count = 0 2036 Options: anchored 2037 No first char 2038 No need char 2039 2040 /^[[:digit:]]/DZ 2041 ------------------------------------------------------------------ 2042 Bra 2043 ^ 2044 [0-9] 2045 Ket 2046 End 2047 ------------------------------------------------------------------ 2048 Capturing subpattern count = 0 2049 Options: anchored 2050 No first char 2051 No need char 2052 2053 /^[[:graph:]]/DZ 2054 ------------------------------------------------------------------ 2055 Bra 2056 ^ 2057 [!-~] 2058 Ket 2059 End 2060 ------------------------------------------------------------------ 2061 Capturing subpattern count = 0 2062 Options: anchored 2063 No first char 2064 No need char 2065 2066 /^[[:lower:]]/DZ 2067 ------------------------------------------------------------------ 2068 Bra 2069 ^ 2070 [a-z] 2071 Ket 2072 End 2073 ------------------------------------------------------------------ 2074 Capturing subpattern count = 0 2075 Options: anchored 2076 No first char 2077 No need char 2078 2079 /^[[:print:]]/DZ 2080 ------------------------------------------------------------------ 2081 Bra 2082 ^ 2083 [ -~] 2084 Ket 2085 End 2086 ------------------------------------------------------------------ 2087 Capturing subpattern count = 0 2088 Options: anchored 2089 No first char 2090 No need char 2091 2092 /^[[:punct:]]/DZ 2093 ------------------------------------------------------------------ 2094 Bra 2095 ^ 2096 [!-/:-@[-`{-~] 2097 Ket 2098 End 2099 ------------------------------------------------------------------ 2100 Capturing subpattern count = 0 2101 Options: anchored 2102 No first char 2103 No need char 2104 2105 /^[[:space:]]/DZ 2106 ------------------------------------------------------------------ 2107 Bra 2108 ^ 2109 [\x09-\x0d ] 2110 Ket 2111 End 2112 ------------------------------------------------------------------ 2113 Capturing subpattern count = 0 2114 Options: anchored 2115 No first char 2116 No need char 2117 2118 /^[[:upper:]]/DZ 2119 ------------------------------------------------------------------ 2120 Bra 2121 ^ 2122 [A-Z] 2123 Ket 2124 End 2125 ------------------------------------------------------------------ 2126 Capturing subpattern count = 0 2127 Options: anchored 2128 No first char 2129 No need char 2130 2131 /^[[:xdigit:]]/DZ 2132 ------------------------------------------------------------------ 2133 Bra 2134 ^ 2135 [0-9A-Fa-f] 2136 Ket 2137 End 2138 ------------------------------------------------------------------ 2139 Capturing subpattern count = 0 2140 Options: anchored 2141 No first char 2142 No need char 2143 2144 /^[[:word:]]/DZ 2145 ------------------------------------------------------------------ 2146 Bra 2147 ^ 2148 [0-9A-Z_a-z] 2149 Ket 2150 End 2151 ------------------------------------------------------------------ 2152 Capturing subpattern count = 0 2153 Options: anchored 2154 No first char 2155 No need char 2156 2157 /^[[:^cntrl:]]/DZ 2158 ------------------------------------------------------------------ 2159 Bra 2160 ^ 2161 [ -~\x80-\xff] (neg) 2162 Ket 2163 End 2164 ------------------------------------------------------------------ 2165 Capturing subpattern count = 0 2166 Options: anchored 2167 No first char 2168 No need char 2169 2170 /^[12[:^digit:]]/DZ 2171 ------------------------------------------------------------------ 2172 Bra 2173 ^ 2174 [\x00-/12:-\xff] (neg) 2175 Ket 2176 End 2177 ------------------------------------------------------------------ 2178 Capturing subpattern count = 0 2179 Options: anchored 2180 No first char 2181 No need char 2182 2183 /^[[:^blank:]]/DZ 2184 ------------------------------------------------------------------ 2185 Bra 2186 ^ 2187 [\x00-\x08\x0a-\x1f!-\xff] (neg) 2188 Ket 2189 End 2190 ------------------------------------------------------------------ 2191 Capturing subpattern count = 0 2192 Options: anchored 2193 No first char 2194 No need char 2195 2196 /[01[:alpha:]%]/DZ 2197 ------------------------------------------------------------------ 2198 Bra 2199 [%01A-Za-z] 2200 Ket 2201 End 2202 ------------------------------------------------------------------ 2203 Capturing subpattern count = 0 2204 No options 2205 No first char 2206 No need char 2207 2208 /[[.ch.]]/I 2209 Failed: POSIX collating elements are not supported at offset 1 2210 2211 /[[=ch=]]/I 2212 Failed: POSIX collating elements are not supported at offset 1 2213 2214 /[[:rhubarb:]]/I 2215 Failed: unknown POSIX class name at offset 3 2216 2217 /[[:upper:]]/Ii 2218 Capturing subpattern count = 0 2219 Options: caseless 2220 No first char 2221 No need char 2222 A 2223 0: A 2224 a 2225 0: a 2226 2227 /[[:lower:]]/Ii 2228 Capturing subpattern count = 0 2229 Options: caseless 2230 No first char 2231 No need char 2232 A 2233 0: A 2234 a 2235 0: a 2236 2237 /((?-i)[[:lower:]])[[:lower:]]/Ii 2238 Capturing subpattern count = 1 2239 Options: caseless 2240 No first char 2241 No need char 2242 ab 2243 0: ab 2244 1: a 2245 aB 2246 0: aB 2247 1: a 2248 *** Failers 2249 0: ai 2250 1: a 2251 Ab 2252 No match 2253 AB 2254 No match 2255 2256 /[\200-\110]/I 2257 Failed: range out of order in character class at offset 9 2258 2259 /^(?(0)f|b)oo/I 2260 Failed: invalid condition (?(0) at offset 6 2261 2262 /This one's here because of the large output vector needed/I 2263 Capturing subpattern count = 0 2264 No options 2265 First char = 'T' 2266 Need char = 'd' 2267 2268 /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\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 2269 Capturing subpattern count = 271 2270 Max back reference = 270 2271 No options 2272 No first char 2273 No need char 2274 \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 2275 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 2276 1: 1 2277 2: 2 2278 3: 3 2279 4: 4 2280 5: 5 2281 6: 6 2282 7: 7 2283 8: 8 2284 9: 9 2285 10: 10 2286 11: 11 2287 12: 12 2288 13: 13 2289 14: 14 2290 15: 15 2291 16: 16 2292 17: 17 2293 18: 18 2294 19: 19 2295 20: 20 2296 21: 21 2297 22: 22 2298 23: 23 2299 24: 24 2300 25: 25 2301 26: 26 2302 27: 27 2303 28: 28 2304 29: 29 2305 30: 30 2306 31: 31 2307 32: 32 2308 33: 33 2309 34: 34 2310 35: 35 2311 36: 36 2312 37: 37 2313 38: 38 2314 39: 39 2315 40: 40 2316 41: 41 2317 42: 42 2318 43: 43 2319 44: 44 2320 45: 45 2321 46: 46 2322 47: 47 2323 48: 48 2324 49: 49 2325 50: 50 2326 51: 51 2327 52: 52 2328 53: 53 2329 54: 54 2330 55: 55 2331 56: 56 2332 57: 57 2333 58: 58 2334 59: 59 2335 60: 60 2336 61: 61 2337 62: 62 2338 63: 63 2339 64: 64 2340 65: 65 2341 66: 66 2342 67: 67 2343 68: 68 2344 69: 69 2345 70: 70 2346 71: 71 2347 72: 72 2348 73: 73 2349 74: 74 2350 75: 75 2351 76: 76 2352 77: 77 2353 78: 78 2354 79: 79 2355 80: 80 2356 81: 81 2357 82: 82 2358 83: 83 2359 84: 84 2360 85: 85 2361 86: 86 2362 87: 87 2363 88: 88 2364 89: 89 2365 90: 90 2366 91: 91 2367 92: 92 2368 93: 93 2369 94: 94 2370 95: 95 2371 96: 96 2372 97: 97 2373 98: 98 2374 99: 99 2375 100: 100 2376 101: 101 2377 102: 102 2378 103: 103 2379 104: 104 2380 105: 105 2381 106: 106 2382 107: 107 2383 108: 108 2384 109: 109 2385 110: 110 2386 111: 111 2387 112: 112 2388 113: 113 2389 114: 114 2390 115: 115 2391 116: 116 2392 117: 117 2393 118: 118 2394 119: 119 2395 120: 120 2396 121: 121 2397 122: 122 2398 123: 123 2399 124: 124 2400 125: 125 2401 126: 126 2402 127: 127 2403 128: 128 2404 129: 129 2405 130: 130 2406 131: 131 2407 132: 132 2408 133: 133 2409 134: 134 2410 135: 135 2411 136: 136 2412 137: 137 2413 138: 138 2414 139: 139 2415 140: 140 2416 141: 141 2417 142: 142 2418 143: 143 2419 144: 144 2420 145: 145 2421 146: 146 2422 147: 147 2423 148: 148 2424 149: 149 2425 150: 150 2426 151: 151 2427 152: 152 2428 153: 153 2429 154: 154 2430 155: 155 2431 156: 156 2432 157: 157 2433 158: 158 2434 159: 159 2435 160: 160 2436 161: 161 2437 162: 162 2438 163: 163 2439 164: 164 2440 165: 165 2441 166: 166 2442 167: 167 2443 168: 168 2444 169: 169 2445 170: 170 2446 171: 171 2447 172: 172 2448 173: 173 2449 174: 174 2450 175: 175 2451 176: 176 2452 177: 177 2453 178: 178 2454 179: 179 2455 180: 180 2456 181: 181 2457 182: 182 2458 183: 183 2459 184: 184 2460 185: 185 2461 186: 186 2462 187: 187 2463 188: 188 2464 189: 189 2465 190: 190 2466 191: 191 2467 192: 192 2468 193: 193 2469 194: 194 2470 195: 195 2471 196: 196 2472 197: 197 2473 198: 198 2474 199: 199 2475 200: 200 2476 201: 201 2477 202: 202 2478 203: 203 2479 204: 204 2480 205: 205 2481 206: 206 2482 207: 207 2483 208: 208 2484 209: 209 2485 210: 210 2486 211: 211 2487 212: 212 2488 213: 213 2489 214: 214 2490 215: 215 2491 216: 216 2492 217: 217 2493 218: 218 2494 219: 219 2495 220: 220 2496 221: 221 2497 222: 222 2498 223: 223 2499 224: 224 2500 225: 225 2501 226: 226 2502 227: 227 2503 228: 228 2504 229: 229 2505 230: 230 2506 231: 231 2507 232: 232 2508 233: 233 2509 234: 234 2510 235: 235 2511 236: 236 2512 237: 237 2513 238: 238 2514 239: 239 2515 240: 240 2516 241: 241 2517 242: 242 2518 243: 243 2519 244: 244 2520 245: 245 2521 246: 246 2522 247: 247 2523 248: 248 2524 249: 249 2525 250: 250 2526 251: 251 2527 252: 252 2528 253: 253 2529 254: 254 2530 255: 255 2531 256: 256 2532 257: 257 2533 258: 258 2534 259: 259 2535 260: 260 2536 261: 261 2537 262: 262 2538 263: 263 2539 264: 264 2540 265: 265 2541 266: 266 2542 267: 267 2543 268: 268 2544 269: 269 2545 270: ABC 2546 271: ABC 2547 2548 /This one's here because Perl does this differently and PCRE can't at present/I 2549 Capturing subpattern count = 0 2550 No options 2551 First char = 'T' 2552 Need char = 't' 2553 2554 /(main(O)?)+/I 2555 Capturing subpattern count = 2 2556 No options 2557 First char = 'm' 2558 Need char = 'n' 2559 mainmain 2560 0: mainmain 2561 1: main 2562 mainOmain 2563 0: mainOmain 2564 1: main 2565 2: O 2566 2567 /These are all cases where Perl does it differently (nested captures)/I 2568 Capturing subpattern count = 1 2569 No options 2570 First char = 'T' 2571 Need char = 's' 2572 2573 /^(a(b)?)+$/I 2574 Capturing subpattern count = 2 2575 Options: anchored 2576 No first char 2577 No need char 2578 aba 2579 0: aba 2580 1: a 2581 2: b 2582 2583 /^(aa(bb)?)+$/I 2584 Capturing subpattern count = 2 2585 Options: anchored 2586 No first char 2587 No need char 2588 aabbaa 2589 0: aabbaa 2590 1: aa 2591 2: bb 2592 2593 /^(aa|aa(bb))+$/I 2594 Capturing subpattern count = 2 2595 Options: anchored 2596 No first char 2597 No need char 2598 aabbaa 2599 0: aabbaa 2600 1: aa 2601 2: bb 2602 2603 /^(aa(bb)??)+$/I 2604 Capturing subpattern count = 2 2605 Options: anchored 2606 No first char 2607 No need char 2608 aabbaa 2609 0: aabbaa 2610 1: aa 2611 2: bb 2612 2613 /^(?:aa(bb)?)+$/I 2614 Capturing subpattern count = 1 2615 Options: anchored 2616 No first char 2617 No need char 2618 aabbaa 2619 0: aabbaa 2620 1: bb 2621 2622 /^(aa(b(b))?)+$/I 2623 Capturing subpattern count = 3 2624 Options: anchored 2625 No first char 2626 No need char 2627 aabbaa 2628 0: aabbaa 2629 1: aa 2630 2: bb 2631 3: b 2632 2633 /^(?:aa(b(b))?)+$/I 2634 Capturing subpattern count = 2 2635 Options: anchored 2636 No first char 2637 No need char 2638 aabbaa 2639 0: aabbaa 2640 1: bb 2641 2: b 2642 2643 /^(?:aa(b(?:b))?)+$/I 2644 Capturing subpattern count = 1 2645 Options: anchored 2646 No first char 2647 No need char 2648 aabbaa 2649 0: aabbaa 2650 1: bb 2651 2652 /^(?:aa(bb(?:b))?)+$/I 2653 Capturing subpattern count = 1 2654 Options: anchored 2655 No first char 2656 No need char 2657 aabbbaa 2658 0: aabbbaa 2659 1: bbb 2660 2661 /^(?:aa(b(?:bb))?)+$/I 2662 Capturing subpattern count = 1 2663 Options: anchored 2664 No first char 2665 No need char 2666 aabbbaa 2667 0: aabbbaa 2668 1: bbb 2669 2670 /^(?:aa(?:b(b))?)+$/I 2671 Capturing subpattern count = 1 2672 Options: anchored 2673 No first char 2674 No need char 2675 aabbaa 2676 0: aabbaa 2677 1: b 2678 2679 /^(?:aa(?:b(bb))?)+$/I 2680 Capturing subpattern count = 1 2681 Options: anchored 2682 No first char 2683 No need char 2684 aabbbaa 2685 0: aabbbaa 2686 1: bb 2687 2688 /^(aa(b(bb))?)+$/I 2689 Capturing subpattern count = 3 2690 Options: anchored 2691 No first char 2692 No need char 2693 aabbbaa 2694 0: aabbbaa 2695 1: aa 2696 2: bbb 2697 3: bb 2698 2699 /^(aa(bb(bb))?)+$/I 2700 Capturing subpattern count = 3 2701 Options: anchored 2702 No first char 2703 No need char 2704 aabbbbaa 2705 0: aabbbbaa 2706 1: aa 2707 2: bbbb 2708 3: bb 2709 2710 /--------------------------------------------------------------------/I 2711 Capturing subpattern count = 0 2712 No options 2713 First char = '-' 2714 Need char = '-' 2715 2716 /#/IxDZ 2717 ------------------------------------------------------------------ 2718 Bra 2719 Ket 2720 End 2721 ------------------------------------------------------------------ 2722 Capturing subpattern count = 0 2723 Options: extended 2724 No first char 2725 No need char 2726 2727 /a#/IxDZ 2728 ------------------------------------------------------------------ 2729 Bra 2730 a 2731 Ket 2732 End 2733 ------------------------------------------------------------------ 2734 Capturing subpattern count = 0 2735 Options: extended 2736 First char = 'a' 2737 No need char 2738 2739 /[\s]/DZ 2740 ------------------------------------------------------------------ 2741 Bra 2742 [\x09\x0a\x0c\x0d ] 2743 Ket 2744 End 2745 ------------------------------------------------------------------ 2746 Capturing subpattern count = 0 2747 No options 2748 No first char 2749 No need char 2750 2751 /[\S]/DZ 2752 ------------------------------------------------------------------ 2753 Bra 2754 [\x00-\x08\x0b\x0e-\x1f!-\xff] (neg) 2755 Ket 2756 End 2757 ------------------------------------------------------------------ 2758 Capturing subpattern count = 0 2759 No options 2760 No first char 2761 No need char 2762 2763 /a(?i)b/DZ 2764 ------------------------------------------------------------------ 2765 Bra 2766 a 2767 01 Opt 2768 NC b 2769 Ket 2770 End 2771 ------------------------------------------------------------------ 2772 Capturing subpattern count = 0 2773 No options 2774 First char = 'a' 2775 Need char = 'b' (caseless) 2776 ab 2777 0: ab 2778 aB 2779 0: aB 2780 *** Failers 2781 No match 2782 AB 2783 No match 2784 2785 /(a(?i)b)/DZ 2786 ------------------------------------------------------------------ 2787 Bra 2788 CBra 1 2789 a 2790 01 Opt 2791 NC b 2792 Ket 2793 00 Opt 2794 Ket 2795 End 2796 ------------------------------------------------------------------ 2797 Capturing subpattern count = 1 2798 No options 2799 First char = 'a' 2800 Need char = 'b' (caseless) 2801 ab 2802 0: ab 2803 1: ab 2804 aB 2805 0: aB 2806 1: aB 2807 *** Failers 2808 No match 2809 AB 2810 No match 2811 2812 / (?i)abc/IxDZ 2813 ------------------------------------------------------------------ 2814 Bra 2815 NC abc 2816 Ket 2817 End 2818 ------------------------------------------------------------------ 2819 Capturing subpattern count = 0 2820 Options: caseless extended 2821 First char = 'a' (caseless) 2822 Need char = 'c' (caseless) 2823 2824 /#this is a comment 2825 (?i)abc/IxDZ 2826 ------------------------------------------------------------------ 2827 Bra 2828 NC abc 2829 Ket 2830 End 2831 ------------------------------------------------------------------ 2832 Capturing subpattern count = 0 2833 Options: caseless extended 2834 First char = 'a' (caseless) 2835 Need char = 'c' (caseless) 2836 2837 /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ 2838 ------------------------------------------------------------------ 2839 Bra 2840 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 2841 Ket 2842 End 2843 ------------------------------------------------------------------ 2844 Capturing subpattern count = 0 2845 No options 2846 First char = '1' 2847 Need char = '0' 2848 2849 /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ 2850 ------------------------------------------------------------------ 2851 Bra 2852 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 2853 Ket 2854 End 2855 ------------------------------------------------------------------ 2856 Capturing subpattern count = 0 2857 No options 2858 First char = '1' 2859 Need char = '0' 2860 2861 /\Q\E/DZ 2862 ------------------------------------------------------------------ 2863 Bra 2864 Ket 2865 End 2866 ------------------------------------------------------------------ 2867 Capturing subpattern count = 0 2868 No options 2869 No first char 2870 No need char 2871 \ 2872 0: 2873 2874 /\Q\Ex/DZ 2875 ------------------------------------------------------------------ 2876 Bra 2877 x 2878 Ket 2879 End 2880 ------------------------------------------------------------------ 2881 Capturing subpattern count = 0 2882 No options 2883 First char = 'x' 2884 No need char 2885 2886 / \Q\E/DZ 2887 ------------------------------------------------------------------ 2888 Bra 2889 2890 Ket 2891 End 2892 ------------------------------------------------------------------ 2893 Capturing subpattern count = 0 2894 No options 2895 First char = ' ' 2896 No need char 2897 2898 /a\Q\E/DZ 2899 ------------------------------------------------------------------ 2900 Bra 2901 a 2902 Ket 2903 End 2904 ------------------------------------------------------------------ 2905 Capturing subpattern count = 0 2906 No options 2907 First char = 'a' 2908 No need char 2909 abc 2910 0: a 2911 bca 2912 0: a 2913 bac 2914 0: a 2915 2916 /a\Q\Eb/DZ 2917 ------------------------------------------------------------------ 2918 Bra 2919 ab 2920 Ket 2921 End 2922 ------------------------------------------------------------------ 2923 Capturing subpattern count = 0 2924 No options 2925 First char = 'a' 2926 Need char = 'b' 2927 abc 2928 0: ab 2929 2930 /\Q\Eabc/DZ 2931 ------------------------------------------------------------------ 2932 Bra 2933 abc 2934 Ket 2935 End 2936 ------------------------------------------------------------------ 2937 Capturing subpattern count = 0 2938 No options 2939 First char = 'a' 2940 Need char = 'c' 2941 2942 /x*+\w/DZ 2943 ------------------------------------------------------------------ 2944 Bra 2945 x*+ 2946 \w 2947 Ket 2948 End 2949 ------------------------------------------------------------------ 2950 Capturing subpattern count = 0 2951 No options 2952 No first char 2953 No need char 2954 *** Failers 2955 0: F 2956 xxxxx 2957 No match 2958 2959 /x?+/DZ 2960 ------------------------------------------------------------------ 2961 Bra 2962 x?+ 2963 Ket 2964 End 2965 ------------------------------------------------------------------ 2966 Capturing subpattern count = 0 2967 No options 2968 No first char 2969 No need char 2970 2971 /x++/DZ 2972 ------------------------------------------------------------------ 2973 Bra 2974 x++ 2975 Ket 2976 End 2977 ------------------------------------------------------------------ 2978 Capturing subpattern count = 0 2979 No options 2980 First char = 'x' 2981 No need char 2982 2983 /x{1,3}+/DZ 2984 ------------------------------------------------------------------ 2985 Bra 2986 Once 2987 x 2988 x{0,2} 2989 Ket 2990 Ket 2991 End 2992 ------------------------------------------------------------------ 2993 Capturing subpattern count = 0 2994 No options 2995 First char = 'x' 2996 No need char 2997 2998 /(x)*+/DZ 2999 ------------------------------------------------------------------ 3000 Bra 3001 Once 3002 Brazero 3003 CBra 1 3004 x 3005 KetRmax 3006 Ket 3007 Ket 3008 End 3009 ------------------------------------------------------------------ 3010 Capturing subpattern count = 1 3011 No options 3012 No first char 3013 No need char 3014 3015 /^(\w++|\s++)*$/I 3016 Capturing subpattern count = 1 3017 Options: anchored 3018 No first char 3019 No need char 3020 now is the time for all good men to come to the aid of the party 3021 0: now is the time for all good men to come to the aid of the party 3022 1: party 3023 *** Failers 3024 No match 3025 this is not a line with only words and spaces! 3026 No match 3027 3028 /(\d++)(\w)/I 3029 Capturing subpattern count = 2 3030 No options 3031 No first char 3032 No need char 3033 12345a 3034 0: 12345a 3035 1: 12345 3036 2: a 3037 *** Failers 3038 No match 3039 12345+ 3040 No match 3041 3042 /a++b/I 3043 Capturing subpattern count = 0 3044 No options 3045 First char = 'a' 3046 Need char = 'b' 3047 aaab 3048 0: aaab 3049 3050 /(a++b)/I 3051 Capturing subpattern count = 1 3052 No options 3053 First char = 'a' 3054 Need char = 'b' 3055 aaab 3056 0: aaab 3057 1: aaab 3058 3059 /(a++)b/I 3060 Capturing subpattern count = 1 3061 No options 3062 First char = 'a' 3063 Need char = 'b' 3064 aaab 3065 0: aaab 3066 1: aaa 3067 3068 /([^()]++|\([^()]*\))+/I 3069 Capturing subpattern count = 1 3070 No options 3071 No first char 3072 No need char 3073 ((abc(ade)ufh()()x 3074 0: abc(ade)ufh()()x 3075 1: x 3076 3077 /\(([^()]++|\([^()]+\))+\)/I 3078 Capturing subpattern count = 1 3079 No options 3080 First char = '(' 3081 Need char = ')' 3082 (abc) 3083 0: (abc) 3084 1: abc 3085 (abc(def)xyz) 3086 0: (abc(def)xyz) 3087 1: xyz 3088 *** Failers 3089 No match 3090 ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 3091 No match 3092 3093 /(abc){1,3}+/DZ 3094 ------------------------------------------------------------------ 3095 Bra 3096 Once 3097 CBra 1 3098 abc 3099 Ket 3100 Brazero 3101 Bra 3102 CBra 1 3103 abc 3104 Ket 3105 Brazero 3106 CBra 1 3107 abc 3108 Ket 3109 Ket 3110 Ket 3111 Ket 3112 End 3113 ------------------------------------------------------------------ 3114 Capturing subpattern count = 1 3115 No options 3116 First char = 'a' 3117 Need char = 'c' 3118 3119 /a+?+/I 3120 Failed: nothing to repeat at offset 3 3121 3122 /a{2,3}?+b/I 3123 Failed: nothing to repeat at offset 7 3124 3125 /(?U)a+?+/I 3126 Failed: nothing to repeat at offset 7 3127 3128 /a{2,3}?+b/IU 3129 Failed: nothing to repeat at offset 7 3130 3131 /x(?U)a++b/DZ 3132 ------------------------------------------------------------------ 3133 Bra 3134 x 3135 a++ 3136 b 3137 Ket 3138 End 3139 ------------------------------------------------------------------ 3140 Capturing subpattern count = 0 3141 No options 3142 First char = 'x' 3143 Need char = 'b' 3144 xaaaab 3145 0: xaaaab 3146 3147 /(?U)xa++b/DZ 3148 ------------------------------------------------------------------ 3149 Bra 3150 x 3151 a++ 3152 b 3153 Ket 3154 End 3155 ------------------------------------------------------------------ 3156 Capturing subpattern count = 0 3157 Options: ungreedy 3158 First char = 'x' 3159 Need char = 'b' 3160 xaaaab 3161 0: xaaaab 3162 3163 /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/DZ 3164 ------------------------------------------------------------------ 3165 Bra 3166 ^ 3167 CBra 1 3168 CBra 2 3169 a+ 3170 Ket 3171 CBra 3 3172 [ab]+? 3173 Ket 3174 CBra 4 3175 [bc]+ 3176 Ket 3177 CBra 5 3178 \w* 3179 Ket 3180 Ket 3181 Ket 3182 End 3183 ------------------------------------------------------------------ 3184 Capturing subpattern count = 5 3185 Options: anchored 3186 No first char 3187 No need char 3188 3189 /^x(?U)a+b/DZ 3190 ------------------------------------------------------------------ 3191 Bra 3192 ^ 3193 x 3194 a++ 3195 b 3196 Ket 3197 End 3198 ------------------------------------------------------------------ 3199 Capturing subpattern count = 0 3200 Options: anchored 3201 No first char 3202 Need char = 'b' 3203 3204 /^x(?U)(a+)b/DZ 3205 ------------------------------------------------------------------ 3206 Bra 3207 ^ 3208 x 3209 CBra 1 3210 a+? 3211 Ket 3212 b 3213 Ket 3214 End 3215 ------------------------------------------------------------------ 3216 Capturing subpattern count = 1 3217 Options: anchored 3218 No first char 3219 Need char = 'b' 3220 3221 /[.x.]/I 3222 Failed: POSIX collating elements are not supported at offset 0 3223 3224 /[=x=]/I 3225 Failed: POSIX collating elements are not supported at offset 0 3226 3227 /[:x:]/I 3228 Failed: POSIX named classes are supported only within a class at offset 0 3229 3230 /\l/I 3231 Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1 3232 3233 /\L/I 3234 Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1 3235 3236 /\N{name}/I 3237 Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1 3238 3239 /\u/I 3240 Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1 3241 3242 /\U/I 3243 Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1 3244 3245 /[/I 3246 Failed: missing terminating ] for character class at offset 1 3247 3248 /[a-/I 3249 Failed: missing terminating ] for character class at offset 3 3250 3251 /[[:space:]/I 3252 Failed: missing terminating ] for character class at offset 10 3253 3254 /[\s]/IDZ 3255 ------------------------------------------------------------------ 3256 Bra 3257 [\x09\x0a\x0c\x0d ] 3258 Ket 3259 End 3260 ------------------------------------------------------------------ 3261 Capturing subpattern count = 0 3262 No options 3263 No first char 3264 No need char 3265 3266 /[[:space:]]/IDZ 3267 ------------------------------------------------------------------ 3268 Bra 3269 [\x09-\x0d ] 3270 Ket 3271 End 3272 ------------------------------------------------------------------ 3273 Capturing subpattern count = 0 3274 No options 3275 No first char 3276 No need char 3277 3278 /[[:space:]abcde]/IDZ 3279 ------------------------------------------------------------------ 3280 Bra 3281 [\x09-\x0d a-e] 3282 Ket 3283 End 3284 ------------------------------------------------------------------ 3285 Capturing subpattern count = 0 3286 No options 3287 No first char 3288 No need char 3289 3290 /< (?: (?(R) \d++ | [^<>]*+) | (?R)) * >/Ix 3291 Capturing subpattern count = 0 3292 Options: extended 3293 First char = '<' 3294 Need char = '>' 3295 <> 3296 0: <> 3297 <abcd> 3298 0: <abcd> 3299 <abc <123> hij> 3300 0: <abc <123> hij> 3301 <abc <def> hij> 3302 0: <def> 3303 <abc<>def> 3304 0: <abc<>def> 3305 <abc<> 3306 0: <> 3307 *** Failers 3308 No match 3309 <abc 3310 No match 3311 3312 |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 3313 ------------------------------------------------------------------ 3314 Bra 3315 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 3316 \b 3317 Ket 3318 End 3319 ------------------------------------------------------------------ 3320 Capturing subpattern count = 0 3321 No options 3322 First char = '8' 3323 Need char = 'X' 3324 3325 |\$\<\.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 3326 ------------------------------------------------------------------ 3327 Bra 3328 $<.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 3329 \b 3330 Ket 3331 End 3332 ------------------------------------------------------------------ 3333 Capturing subpattern count = 0 3334 No options 3335 First char = '$' 3336 Need char = 'X' 3337 3338 /(.*)\d+\1/I 3339 Capturing subpattern count = 1 3340 Max back reference = 1 3341 No options 3342 No first char 3343 No need char 3344 3345 /(.*)\d+/I 3346 Capturing subpattern count = 1 3347 No options 3348 First char at start or follows newline 3349 No need char 3350 3351 /(.*)\d+\1/Is 3352 Capturing subpattern count = 1 3353 Max back reference = 1 3354 Options: dotall 3355 No first char 3356 No need char 3357 3358 /(.*)\d+/Is 3359 Capturing subpattern count = 1 3360 Options: anchored dotall 3361 No first char 3362 No need char 3363 3364 /(.*(xyz))\d+\2/I 3365 Capturing subpattern count = 2 3366 Max back reference = 2 3367 No options 3368 First char at start or follows newline 3369 Need char = 'z' 3370 3371 /((.*))\d+\1/I 3372 Capturing subpattern count = 2 3373 Max back reference = 1 3374 No options 3375 No first char 3376 No need char 3377 abc123bc 3378 0: bc123bc 3379 1: bc 3380 2: bc 3381 3382 /a[b]/I 3383 Capturing subpattern count = 0 3384 No options 3385 First char = 'a' 3386 Need char = 'b' 3387 3388 /(?=a).*/I 3389 Capturing subpattern count = 0 3390 No options 3391 First char = 'a' 3392 No need char 3393 3394 /(?=abc).xyz/IiI 3395 Capturing subpattern count = 0 3396 Options: caseless 3397 First char = 'a' (caseless) 3398 Need char = 'z' (caseless) 3399 3400 /(?=abc)(?i).xyz/I 3401 Capturing subpattern count = 0 3402 No options 3403 First char = 'a' 3404 Need char = 'z' (caseless) 3405 3406 /(?=a)(?=b)/I 3407 Capturing subpattern count = 0 3408 No options 3409 First char = 'a' 3410 No need char 3411 3412 /(?=.)a/I 3413 Capturing subpattern count = 0 3414 No options 3415 First char = 'a' 3416 No need char 3417 3418 /((?=abcda)a)/I 3419 Capturing subpattern count = 1 3420 No options 3421 First char = 'a' 3422 Need char = 'a' 3423 3424 /((?=abcda)ab)/I 3425 Capturing subpattern count = 1 3426 No options 3427 First char = 'a' 3428 Need char = 'b' 3429 3430 /()a/I 3431 Capturing subpattern count = 1 3432 No options 3433 No first char 3434 Need char = 'a' 3435 3436 /(?(1)ab|ac)(.)/I 3437 Capturing subpattern count = 1 3438 No options 3439 First char = 'a' 3440 No need char 3441 3442 /(?(1)abz|acz)(.)/I 3443 Capturing subpattern count = 1 3444 No options 3445 First char = 'a' 3446 Need char = 'z' 3447 3448 /(?(1)abz)(.)/I 3449 Capturing subpattern count = 1 3450 No options 3451 No first char 3452 No need char 3453 3454 /(?(1)abz)(1)23/I 3455 Capturing subpattern count = 1 3456 No options 3457 No first char 3458 Need char = '3' 3459 3460 /(a)+/I 3461 Capturing subpattern count = 1 3462 No options 3463 First char = 'a' 3464 No need char 3465 3466 /(a){2,3}/I 3467 Capturing subpattern count = 1 3468 No options 3469 First char = 'a' 3470 Need char = 'a' 3471 3472 /(a)*/I 3473 Capturing subpattern count = 1 3474 No options 3475 No first char 3476 No need char 3477 3478 /[a]/I 3479 Capturing subpattern count = 0 3480 No options 3481 First char = 'a' 3482 No need char 3483 3484 /[ab]/I 3485 Capturing subpattern count = 0 3486 No options 3487 No first char 3488 No need char 3489 3490 /[ab]/IS 3491 Capturing subpattern count = 0 3492 No options 3493 No first char 3494 No need char 3495 Subject length lower bound = 1 3496 Starting byte set: a b 3497 3498 /[^a]/I 3499 Capturing subpattern count = 0 3500 No options 3501 No first char 3502 No need char 3503 3504 /\d456/I 3505 Capturing subpattern count = 0 3506 No options 3507 No first char 3508 Need char = '6' 3509 3510 /\d456/IS 3511 Capturing subpattern count = 0 3512 No options 3513 No first char 3514 Need char = '6' 3515 Subject length lower bound = 4 3516 Starting byte set: 0 1 2 3 4 5 6 7 8 9 3517 3518 /a^b/I 3519 Capturing subpattern count = 0 3520 No options 3521 First char = 'a' 3522 Need char = 'b' 3523 3524 /^a/Im 3525 Capturing subpattern count = 0 3526 Options: multiline 3527 First char at start or follows newline 3528 Need char = 'a' 3529 abcde 3530 0: a 3531 xy\nabc 3532 0: a 3533 *** Failers 3534 No match 3535 xyabc 3536 No match 3537 3538 /c|abc/I 3539 Capturing subpattern count = 0 3540 No options 3541 No first char 3542 Need char = 'c' 3543 3544 /(?i)[ab]/IS 3545 Capturing subpattern count = 0 3546 Options: caseless 3547 No first char 3548 No need char 3549 Subject length lower bound = 1 3550 Starting byte set: A B a b 3551 3552 /[ab](?i)cd/IS 3553 Capturing subpattern count = 0 3554 No options 3555 No first char 3556 Need char = 'd' (caseless) 3557 Subject length lower bound = 3 3558 Starting byte set: a b 3559 3560 /abc(?C)def/I 3561 Capturing subpattern count = 0 3562 No options 3563 First char = 'a' 3564 Need char = 'f' 3565 abcdef 3566 --->abcdef 3567 0 ^ ^ d 3568 0: abcdef 3569 1234abcdef 3570 --->1234abcdef 3571 0 ^ ^ d 3572 0: abcdef 3573 *** Failers 3574 No match 3575 abcxyz 3576 No match 3577 abcxyzf 3578 --->abcxyzf 3579 0 ^ ^ d 3580 No match 3581 3582 /abc(?C)de(?C1)f/I 3583 Capturing subpattern count = 0 3584 No options 3585 First char = 'a' 3586 Need char = 'f' 3587 123abcdef 3588 --->123abcdef 3589 0 ^ ^ d 3590 1 ^ ^ f 3591 0: abcdef 3592 3593 /(?C1)\dabc(?C2)def/I 3594 Capturing subpattern count = 0 3595 No options 3596 No first char 3597 Need char = 'f' 3598 1234abcdef 3599 --->1234abcdef 3600 1 ^ \d 3601 1 ^ \d 3602 1 ^ \d 3603 1 ^ \d 3604 2 ^ ^ d 3605 0: 4abcdef 3606 *** Failers 3607 No match 3608 abcdef 3609 --->abcdef 3610 1 ^ \d 3611 1 ^ \d 3612 1 ^ \d 3613 1 ^ \d 3614 1 ^ \d 3615 1 ^ \d 3616 No match 3617 3618 /(?C255)ab/I 3619 Capturing subpattern count = 0 3620 No options 3621 First char = 'a' 3622 Need char = 'b' 3623 3624 /(?C256)ab/I 3625 Failed: number after (?C is > 255 at offset 6 3626 3627 /(?Cab)xx/I 3628 Failed: closing ) for (?C expected at offset 3 3629 3630 /(?C12vr)x/I 3631 Failed: closing ) for (?C expected at offset 5 3632 3633 /abc(?C)def/I 3634 Capturing subpattern count = 0 3635 No options 3636 First char = 'a' 3637 Need char = 'f' 3638 *** Failers 3639 No match 3640 \x83\x0\x61bcdef 3641 --->\x83\x00abcdef 3642 0 ^ ^ d 3643 0: abcdef 3644 3645 /(abc)(?C)de(?C1)f/I 3646 Capturing subpattern count = 1 3647 No options 3648 First char = 'a' 3649 Need char = 'f' 3650 123abcdef 3651 --->123abcdef 3652 0 ^ ^ d 3653 1 ^ ^ f 3654 0: abcdef 3655 1: abc 3656 123abcdef\C+ 3657 Callout 0: last capture = 1 3658 0: <unset> 3659 1: abc 3660 --->123abcdef 3661 ^ ^ d 3662 Callout 1: last capture = 1 3663 0: <unset> 3664 1: abc 3665 --->123abcdef 3666 ^ ^ f 3667 0: abcdef 3668 1: abc 3669 123abcdef\C- 3670 0: abcdef 3671 1: abc 3672 *** Failers 3673 No match 3674 123abcdef\C!1 3675 --->123abcdef 3676 0 ^ ^ d 3677 1 ^ ^ f 3678 No match 3679 3680 /(?C0)(abc(?C1))*/I 3681 Capturing subpattern count = 1 3682 No options 3683 No first char 3684 No need char 3685 abcabcabc 3686 --->abcabcabc 3687 0 ^ (abc(?C1))* 3688 1 ^ ^ ) 3689 1 ^ ^ ) 3690 1 ^ ^ ) 3691 0: abcabcabc 3692 1: abc 3693 abcabc\C!1!3 3694 --->abcabc 3695 0 ^ (abc(?C1))* 3696 1 ^ ^ ) 3697 1 ^ ^ ) 3698 0: abcabc 3699 1: abc 3700 *** Failers 3701 --->*** Failers 3702 0 ^ (abc(?C1))* 3703 0: 3704 abcabcabc\C!1!3 3705 --->abcabcabc 3706 0 ^ (abc(?C1))* 3707 1 ^ ^ ) 3708 1 ^ ^ ) 3709 1 ^ ^ ) 3710 0: abcabc 3711 1: abc 3712 3713 /(\d{3}(?C))*/I 3714 Capturing subpattern count = 1 3715 No options 3716 No first char 3717 No need char 3718 123\C+ 3719 Callout 0: last capture = -1 3720 0: <unset> 3721 --->123 3722 ^ ^ ) 3723 0: 123 3724 1: 123 3725 123456\C+ 3726 Callout 0: last capture = -1 3727 0: <unset> 3728 --->123456 3729 ^ ^ ) 3730 Callout 0: last capture = 1 3731 0: <unset> 3732 1: 123 3733 --->123456 3734 ^ ^ ) 3735 0: 123456 3736 1: 456 3737 123456789\C+ 3738 Callout 0: last capture = -1 3739 0: <unset> 3740 --->123456789 3741 ^ ^ ) 3742 Callout 0: last capture = 1 3743 0: <unset> 3744 1: 123 3745 --->123456789 3746 ^ ^ ) 3747 Callout 0: last capture = 1 3748 0: <unset> 3749 1: 456 3750 --->123456789 3751 ^ ^ ) 3752 0: 123456789 3753 1: 789 3754 3755 /((xyz)(?C)p|(?C1)xyzabc)/I 3756 Capturing subpattern count = 2 3757 No options 3758 First char = 'x' 3759 No need char 3760 xyzabc\C+ 3761 Callout 0: last capture = 2 3762 0: <unset> 3763 1: <unset> 3764 2: xyz 3765 --->xyzabc 3766 ^ ^ p 3767 Callout 1: last capture = -1 3768 0: <unset> 3769 --->xyzabc 3770 ^ x 3771 0: xyzabc 3772 1: xyzabc 3773 3774 /(X)((xyz)(?C)p|(?C1)xyzabc)/I 3775 Capturing subpattern count = 3 3776 No options 3777 First char = 'X' 3778 Need char = 'x' 3779 Xxyzabc\C+ 3780 Callout 0: last capture = 3 3781 0: <unset> 3782 1: X 3783 2: <unset> 3784 3: xyz 3785 --->Xxyzabc 3786 ^ ^ p 3787 Callout 1: last capture = 1 3788 0: <unset> 3789 1: X 3790 --->Xxyzabc 3791 ^^ x 3792 0: Xxyzabc 3793 1: X 3794 2: xyzabc 3795 3796 /(?=(abc))(?C)abcdef/I 3797 Capturing subpattern count = 1 3798 No options 3799 First char = 'a' 3800 Need char = 'f' 3801 abcdef\C+ 3802 Callout 0: last capture = 1 3803 0: <unset> 3804 1: abc 3805 --->abcdef 3806 ^ a 3807 0: abcdef 3808 1: abc 3809 3810 /(?!(abc)(?C1)d)(?C2)abcxyz/I 3811 Capturing subpattern count = 1 3812 No options 3813 First char = 'a' 3814 Need char = 'z' 3815 abcxyz\C+ 3816 Callout 1: last capture = 1 3817 0: <unset> 3818 1: abc 3819 --->abcxyz 3820 ^ ^ d 3821 Callout 2: last capture = -1 3822 0: <unset> 3823 --->abcxyz 3824 ^ a 3825 0: abcxyz 3826 3827 /(?<=(abc)(?C))xyz/I 3828 Capturing subpattern count = 1 3829 No options 3830 First char = 'x' 3831 Need char = 'z' 3832 abcxyz\C+ 3833 Callout 0: last capture = 1 3834 0: <unset> 3835 1: abc 3836 --->abcxyz 3837 ^ ) 3838 0: xyz 3839 1: abc 3840 3841 /a(b+)(c*)(?C1)/I 3842 Capturing subpattern count = 2 3843 No options 3844 First char = 'a' 3845 Need char = 'b' 3846 abbbbbccc\C*1 3847 --->abbbbbccc 3848 1 ^ ^ 3849 Callout data = 1 3850 1 ^ ^ 3851 Callout data = 1 3852 1 ^ ^ 3853 Callout data = 1 3854 1 ^ ^ 3855 Callout data = 1 3856 1 ^ ^ 3857 Callout data = 1 3858 1 ^ ^ 3859 Callout data = 1 3860 1 ^ ^ 3861 Callout data = 1 3862 1 ^ ^ 3863 Callout data = 1 3864 No match 3865 3866 /a(b+?)(c*?)(?C1)/I 3867 Capturing subpattern count = 2 3868 No options 3869 First char = 'a' 3870 Need char = 'b' 3871 abbbbbccc\C*1 3872 --->abbbbbccc 3873 1 ^ ^ 3874 Callout data = 1 3875 1 ^ ^ 3876 Callout data = 1 3877 1 ^ ^ 3878 Callout data = 1 3879 1 ^ ^ 3880 Callout data = 1 3881 1 ^ ^ 3882 Callout data = 1 3883 1 ^ ^ 3884 Callout data = 1 3885 1 ^ ^ 3886 Callout data = 1 3887 1 ^ ^ 3888 Callout data = 1 3889 No match 3890 3891 /(?C)abc/I 3892 Capturing subpattern count = 0 3893 No options 3894 First char = 'a' 3895 Need char = 'c' 3896 3897 /(?C)^abc/I 3898 Capturing subpattern count = 0 3899 Options: anchored 3900 No first char 3901 No need char 3902 3903 /(?C)a|b/IS 3904 Capturing subpattern count = 0 3905 No options 3906 No first char 3907 No need char 3908 Subject length lower bound = 1 3909 Starting byte set: a b 3910 3911 /(?R)/I 3912 Failed: recursive call could loop indefinitely at offset 3 3913 3914 /(a|(?R))/I 3915 Failed: recursive call could loop indefinitely at offset 6 3916 3917 /(ab|(bc|(de|(?R))))/I 3918 Failed: recursive call could loop indefinitely at offset 15 3919 3920 /x(ab|(bc|(de|(?R))))/I 3921 Capturing subpattern count = 3 3922 No options 3923 First char = 'x' 3924 No need char 3925 xab 3926 0: xab 3927 1: ab 3928 xbc 3929 0: xbc 3930 1: bc 3931 2: bc 3932 xde 3933 0: xde 3934 1: de 3935 2: de 3936 3: de 3937 xxab 3938 0: xxab 3939 1: xab 3940 2: xab 3941 3: xab 3942 xxxab 3943 0: xxxab 3944 1: xxab 3945 2: xxab 3946 3: xxab 3947 *** Failers 3948 No match 3949 xyab 3950 No match 3951 3952 /(ab|(bc|(de|(?1))))/I 3953 Failed: recursive call could loop indefinitely at offset 15 3954 3955 /x(ab|(bc|(de|(?1)x)x)x)/I 3956 Failed: recursive call could loop indefinitely at offset 16 3957 3958 /^([^()]|\((?1)*\))*$/I 3959 Capturing subpattern count = 1 3960 Options: anchored 3961 No first char 3962 No need char 3963 abc 3964 0: abc 3965 1: c 3966 a(b)c 3967 0: a(b)c 3968 1: c 3969 a(b(c))d 3970 0: a(b(c))d 3971 1: d 3972 *** Failers) 3973 No match 3974 a(b(c)d 3975 No match 3976 3977 /^>abc>([^()]|\((?1)*\))*<xyz<$/I 3978 Capturing subpattern count = 1 3979 Options: anchored 3980 No first char 3981 Need char = '<' 3982 >abc>123<xyz< 3983 0: >abc>123<xyz< 3984 1: 3 3985 >abc>1(2)3<xyz< 3986 0: >abc>1(2)3<xyz< 3987 1: 3 3988 >abc>(1(2)3)<xyz< 3989 0: >abc>(1(2)3)<xyz< 3990 1: (1(2)3) 3991 3992 /(a(?1)b)/DZ 3993 ------------------------------------------------------------------ 3994 Bra 3995 CBra 1 3996 a 3997 Once 3998 Recurse 3999 Ket 4000 b 4001 Ket 4002 Ket 4003 End 4004 ------------------------------------------------------------------ 4005 Capturing subpattern count = 1 4006 No options 4007 First char = 'a' 4008 Need char = 'b' 4009 4010 /(a(?1)+b)/DZ 4011 ------------------------------------------------------------------ 4012 Bra 4013 CBra 1 4014 a 4015 Once 4016 Recurse 4017 KetRmax 4018 b 4019 Ket 4020 Ket 4021 End 4022 ------------------------------------------------------------------ 4023 Capturing subpattern count = 1 4024 No options 4025 First char = 'a' 4026 Need char = 'b' 4027 4028 /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I 4029 Capturing subpattern count = 2 4030 Options: anchored 4031 No first char 4032 No need char 4033 12 4034 0: 12 4035 1: 12 4036 (((2+2)*-3)-7) 4037 0: (((2+2)*-3)-7) 4038 1: (((2+2)*-3)-7) 4039 2: - 4040 -12 4041 0: -12 4042 1: -12 4043 *** Failers 4044 No match 4045 ((2+2)*-3)-7) 4046 No match 4047 4048 /^(x(y|(?1){2})z)/I 4049 Capturing subpattern count = 2 4050 Options: anchored 4051 No first char 4052 No need char 4053 xyz 4054 0: xyz 4055 1: xyz 4056 2: y 4057 xxyzxyzz 4058 0: xxyzxyzz 4059 1: xxyzxyzz 4060 2: xyzxyz 4061 *** Failers 4062 No match 4063 xxyzz 4064 No match 4065 xxyzxyzxyzz 4066 No match 4067 4068 /((< (?: (?(R) \d++ | [^<>]*+) | (?2)) * >))/Ix 4069 Capturing subpattern count = 2 4070 Options: extended 4071 First char = '<' 4072 Need char = '>' 4073 <> 4074 0: <> 4075 1: <> 4076 2: <> 4077 <abcd> 4078 0: <abcd> 4079 1: <abcd> 4080 2: <abcd> 4081 <abc <123> hij> 4082 0: <abc <123> hij> 4083 1: <abc <123> hij> 4084 2: <abc <123> hij> 4085 <abc <def> hij> 4086 0: <def> 4087 1: <def> 4088 2: <def> 4089 <abc<>def> 4090 0: <abc<>def> 4091 1: <abc<>def> 4092 2: <abc<>def> 4093 <abc<> 4094 0: <> 4095 1: <> 4096 2: <> 4097 *** Failers 4098 No match 4099 <abc 4100 No match 4101 4102 /(?1)/I 4103 Failed: reference to non-existent subpattern at offset 3 4104 4105 /((?2)(abc)/I 4106 Failed: missing ) at offset 10 4107 4108 /^(abc)def(?1)/I 4109 Capturing subpattern count = 1 4110 Options: anchored 4111 No first char 4112 No need char 4113 abcdefabc 4114 0: abcdefabc 4115 1: abc 4116 4117 /^(a|b|c)=(?1)+/I 4118 Capturing subpattern count = 1 4119 Options: anchored 4120 No first char 4121 No need char 4122 a=a 4123 0: a=a 4124 1: a 4125 a=b 4126 0: a=b 4127 1: a 4128 a=bc 4129 0: a=bc 4130 1: a 4131 4132 /^(a|b|c)=((?1))+/I 4133 Capturing subpattern count = 2 4134 Options: anchored 4135 No first char 4136 No need char 4137 a=a 4138 0: a=a 4139 1: a 4140 2: a 4141 a=b 4142 0: a=b 4143 1: a 4144 2: b 4145 a=bc 4146 0: a=bc 4147 1: a 4148 2: c 4149 4150 /a(?P<name1>b|c)d(?P<longername2>e)/DZ 4151 ------------------------------------------------------------------ 4152 Bra 4153 a 4154 CBra 1 4155 b 4156 Alt 4157 c 4158 Ket 4159 d 4160 CBra 2 4161 e 4162 Ket 4163 Ket 4164 End 4165 ------------------------------------------------------------------ 4166 Capturing subpattern count = 2 4167 Named capturing subpatterns: 4168 longername2 2 4169 name1 1 4170 No options 4171 First char = 'a' 4172 Need char = 'e' 4173 abde 4174 0: abde 4175 1: b 4176 2: e 4177 acde 4178 0: acde 4179 1: c 4180 2: e 4181 4182 /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/DZ 4183 ------------------------------------------------------------------ 4184 Bra 4185 Bra 4186 a 4187 CBra 1 4188 c 4189 CBra 2 4190 d 4191 Ket 4192 Ket 4193 Ket 4194 CBra 3 4195 a 4196 Ket 4197 Ket 4198 End 4199 ------------------------------------------------------------------ 4200 Capturing subpattern count = 3 4201 Named capturing subpatterns: 4202 a 3 4203 c 1 4204 d 2 4205 No options 4206 First char = 'a' 4207 Need char = 'a' 4208 4209 /(?P<a>a)...(?P=a)bbb(?P>a)d/DZ 4210 ------------------------------------------------------------------ 4211 Bra 4212 CBra 1 4213 a 4214 Ket 4215 Any 4216 Any 4217 Any 4218 \1 4219 bbb 4220 Once 4221 Recurse 4222 Ket 4223 d 4224 Ket 4225 End 4226 ------------------------------------------------------------------ 4227 Capturing subpattern count = 1 4228 Max back reference = 1 4229 Named capturing subpatterns: 4230 a 1 4231 No options 4232 First char = 'a' 4233 Need char = 'd' 4234 4235 /^\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 4236 Capturing subpattern count = 4 4237 Max back reference = 4 4238 Named capturing subpatterns: 4239 four 4 4240 one 1 4241 three 3 4242 two 2 4243 Options: anchored caseless 4244 No first char 4245 No need char 4246 1221 4247 0: 1221 4248 1: 1221 4249 2: 1 4250 Satan, oscillate my metallic sonatas! 4251 0: Satan, oscillate my metallic sonatas! 4252 1: <unset> 4253 2: <unset> 4254 3: Satan, oscillate my metallic sonatas 4255 4: S 4256 A man, a plan, a canal: Panama! 4257 0: A man, a plan, a canal: Panama! 4258 1: <unset> 4259 2: <unset> 4260 3: A man, a plan, a canal: Panama 4261 4: A 4262 Able was I ere I saw Elba. 4263 0: Able was I ere I saw Elba. 4264 1: <unset> 4265 2: <unset> 4266 3: Able was I ere I saw Elba 4267 4: A 4268 *** Failers 4269 No match 4270 The quick brown fox 4271 No match 4272 4273 /((?(R)a|b))\1(?1)?/I 4274 Capturing subpattern count = 1 4275 Max back reference = 1 4276 No options 4277 No first char 4278 No need char 4279 bb 4280 0: bb 4281 1: b 4282 bbaa 4283 0: bba 4284 1: b 4285 4286 /(.*)a/Is 4287 Capturing subpattern count = 1 4288 Options: anchored dotall 4289 No first char 4290 Need char = 'a' 4291 4292 /(.*)a\1/Is 4293 Capturing subpattern count = 1 4294 Max back reference = 1 4295 Options: dotall 4296 No first char 4297 Need char = 'a' 4298 4299 /(.*)a(b)\2/Is 4300 Capturing subpattern count = 2 4301 Max back reference = 2 4302 Options: anchored dotall 4303 No first char 4304 Need char = 'b' 4305 4306 /((.*)a|(.*)b)z/Is 4307 Capturing subpattern count = 3 4308 Options: anchored dotall 4309 No first char 4310 Need char = 'z' 4311 4312 /((.*)a|(.*)b)z\1/Is 4313 Capturing subpattern count = 3 4314 Max back reference = 1 4315 Options: dotall 4316 No first char 4317 Need char = 'z' 4318 4319 /((.*)a|(.*)b)z\2/Is 4320 Capturing subpattern count = 3 4321 Max back reference = 2 4322 Options: dotall 4323 No first char 4324 Need char = 'z' 4325 4326 /((.*)a|(.*)b)z\3/Is 4327 Capturing subpattern count = 3 4328 Max back reference = 3 4329 Options: dotall 4330 No first char 4331 Need char = 'z' 4332 4333 /((.*)a|^(.*)b)z\3/Is 4334 Capturing subpattern count = 3 4335 Max back reference = 3 4336 Options: anchored dotall 4337 No first char 4338 Need char = 'z' 4339 4340 /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is 4341 Capturing subpattern count = 31 4342 Options: anchored dotall 4343 No first char 4344 No need char 4345 4346 /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is 4347 Capturing subpattern count = 31 4348 Max back reference = 31 4349 Options: dotall 4350 No first char 4351 No need char 4352 4353 /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is 4354 Capturing subpattern count = 32 4355 Max back reference = 32 4356 Options: dotall 4357 No first char 4358 No need char 4359 4360 /(a)(bc)/INDZ 4361 ------------------------------------------------------------------ 4362 Bra 4363 Bra 4364 a 4365 Ket 4366 Bra 4367 bc 4368 Ket 4369 Ket 4370 End 4371 ------------------------------------------------------------------ 4372 Capturing subpattern count = 0 4373 Options: no_auto_capture 4374 First char = 'a' 4375 Need char = 'c' 4376 abc 4377 0: abc 4378 4379 /(?P<one>a)(bc)/INDZ 4380 ------------------------------------------------------------------ 4381 Bra 4382 CBra 1 4383 a 4384 Ket 4385 Bra 4386 bc 4387 Ket 4388 Ket 4389 End 4390 ------------------------------------------------------------------ 4391 Capturing subpattern count = 1 4392 Named capturing subpatterns: 4393 one 1 4394 Options: no_auto_capture 4395 First char = 'a' 4396 Need char = 'c' 4397 abc 4398 0: abc 4399 1: a 4400 4401 /(a)(?P<named>bc)/INDZ 4402 ------------------------------------------------------------------ 4403 Bra 4404 Bra 4405 a 4406 Ket 4407 CBra 1 4408 bc 4409 Ket 4410 Ket 4411 End 4412 ------------------------------------------------------------------ 4413 Capturing subpattern count = 1 4414 Named capturing subpatterns: 4415 named 1 4416 Options: no_auto_capture 4417 First char = 'a' 4418 Need char = 'c' 4419 4420 /(a+)*zz/I 4421 Capturing subpattern count = 1 4422 No options 4423 No first char 4424 Need char = 'z' 4425 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzbbbbbb\M 4426 Minimum match() limit = 8 4427 Minimum match() recursion limit = 6 4428 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazz 4429 1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 4430 aaaaaaaaaaaaaz\M 4431 Minimum match() limit = 32768 4432 Minimum match() recursion limit = 42 4433 No match 4434 4435 /(aaa(?C1)bbb|ab)/I 4436 Capturing subpattern count = 1 4437 No options 4438 First char = 'a' 4439 Need char = 'b' 4440 aaabbb 4441 --->aaabbb 4442 1 ^ ^ b 4443 0: aaabbb 4444 1: aaabbb 4445 aaabbb\C*0 4446 --->aaabbb 4447 1 ^ ^ b 4448 0: aaabbb 4449 1: aaabbb 4450 aaabbb\C*1 4451 --->aaabbb 4452 1 ^ ^ b 4453 Callout data = 1 4454 0: ab 4455 1: ab 4456 aaabbb\C*-1 4457 --->aaabbb 4458 1 ^ ^ b 4459 Callout data = -1 4460 No match 4461 4462 /ab(?P<one>cd)ef(?P<two>gh)/I 4463 Capturing subpattern count = 2 4464 Named capturing subpatterns: 4465 one 1 4466 two 2 4467 No options 4468 First char = 'a' 4469 Need char = 'h' 4470 abcdefgh 4471 0: abcdefgh 4472 1: cd 4473 2: gh 4474 abcdefgh\C1\Gtwo 4475 0: abcdefgh 4476 1: cd 4477 2: gh 4478 1C cd (2) 4479 G gh (2) two 4480 abcdefgh\Cone\Ctwo 4481 0: abcdefgh 4482 1: cd 4483 2: gh 4484 C cd (2) one 4485 C gh (2) two 4486 abcdefgh\Cthree 4487 no parentheses with name "three" 4488 0: abcdefgh 4489 1: cd 4490 2: gh 4491 copy substring three failed -7 4492 4493 /(?P<Tes>)(?P<Test>)/DZ 4494 ------------------------------------------------------------------ 4495 Bra 4496 CBra 1 4497 Ket 4498 CBra 2 4499 Ket 4500 Ket 4501 End 4502 ------------------------------------------------------------------ 4503 Capturing subpattern count = 2 4504 Named capturing subpatterns: 4505 Tes 1 4506 Test 2 4507 No options 4508 No first char 4509 No need char 4510 4511 /(?P<Test>)(?P<Tes>)/DZ 4512 ------------------------------------------------------------------ 4513 Bra 4514 CBra 1 4515 Ket 4516 CBra 2 4517 Ket 4518 Ket 4519 End 4520 ------------------------------------------------------------------ 4521 Capturing subpattern count = 2 4522 Named capturing subpatterns: 4523 Tes 2 4524 Test 1 4525 No options 4526 No first char 4527 No need char 4528 4529 /(?P<Z>zz)(?P<A>aa)/I 4530 Capturing subpattern count = 2 4531 Named capturing subpatterns: 4532 A 2 4533 Z 1 4534 No options 4535 First char = 'z' 4536 Need char = 'a' 4537 zzaa\CZ 4538 0: zzaa 4539 1: zz 4540 2: aa 4541 C zz (2) Z 4542 zzaa\CA 4543 0: zzaa 4544 1: zz 4545 2: aa 4546 C aa (2) A 4547 4548 /(?P<x>eks)(?P<x>eccs)/I 4549 Failed: two named subpatterns have the same name at offset 15 4550 4551 /(?P<abc>abc(?P<def>def)(?P<abc>xyz))/I 4552 Failed: two named subpatterns have the same name at offset 30 4553 4554 "\[((?P<elem>\d+)(,(?P>elem))*)\]"I 4555 Capturing subpattern count = 3 4556 Named capturing subpatterns: 4557 elem 2 4558 No options 4559 First char = '[' 4560 Need char = ']' 4561 [10,20,30,5,5,4,4,2,43,23,4234] 4562 0: [10,20,30,5,5,4,4,2,43,23,4234] 4563 1: 10,20,30,5,5,4,4,2,43,23,4234 4564 2: 10 4565 3: ,4234 4566 *** Failers 4567 No match 4568 [] 4569 No match 4570 4571 "\[((?P<elem>\d+)(,(?P>elem))*)?\]"I 4572 Capturing subpattern count = 3 4573 Named capturing subpatterns: 4574 elem 2 4575 No options 4576 First char = '[' 4577 Need char = ']' 4578 [10,20,30,5,5,4,4,2,43,23,4234] 4579 0: [10,20,30,5,5,4,4,2,43,23,4234] 4580 1: 10,20,30,5,5,4,4,2,43,23,4234 4581 2: 10 4582 3: ,4234 4583 [] 4584 0: [] 4585 4586 /(a(b(?2)c))?/DZ 4587 ------------------------------------------------------------------ 4588 Bra 4589 Brazero 4590 CBra 1 4591 a 4592 CBra 2 4593 b 4594 Once 4595 Recurse 4596 Ket 4597 c 4598 Ket 4599 Ket 4600 Ket 4601 End 4602 ------------------------------------------------------------------ 4603 Capturing subpattern count = 2 4604 No options 4605 No first char 4606 No need char 4607 4608 /(a(b(?2)c))*/DZ 4609 ------------------------------------------------------------------ 4610 Bra 4611 Brazero 4612 CBra 1 4613 a 4614 CBra 2 4615 b 4616 Once 4617 Recurse 4618 Ket 4619 c 4620 Ket 4621 KetRmax 4622 Ket 4623 End 4624 ------------------------------------------------------------------ 4625 Capturing subpattern count = 2 4626 No options 4627 No first char 4628 No need char 4629 4630 /(a(b(?2)c)){0,2}/DZ 4631 ------------------------------------------------------------------ 4632 Bra 4633 Brazero 4634 Bra 4635 CBra 1 4636 a 4637 CBra 2 4638 b 4639 Once 4640 Recurse 4641 Ket 4642 c 4643 Ket 4644 Ket 4645 Brazero 4646 CBra 1 4647 a 4648 CBra 2 4649 b 4650 Once 4651 Recurse 4652 Ket 4653 c 4654 Ket 4655 Ket 4656 Ket 4657 Ket 4658 End 4659 ------------------------------------------------------------------ 4660 Capturing subpattern count = 2 4661 No options 4662 No first char 4663 No need char 4664 4665 /[ab]{1}+/DZ 4666 ------------------------------------------------------------------ 4667 Bra 4668 Once 4669 [ab]{1,1} 4670 Ket 4671 Ket 4672 End 4673 ------------------------------------------------------------------ 4674 Capturing subpattern count = 0 4675 No options 4676 No first char 4677 No need char 4678 4679 /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii 4680 Capturing subpattern count = 3 4681 Options: caseless 4682 No first char 4683 Need char = 'g' (caseless) 4684 Baby Bjorn Active Carrier - With free SHIPPING!! 4685 0: Baby Bjorn Active Carrier - With free SHIPPING!! 4686 1: Baby Bjorn Active Carrier - With free SHIPPING!! 4687 4688 /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS 4689 Capturing subpattern count = 3 4690 Options: caseless 4691 No first char 4692 Need char = 'g' (caseless) 4693 Subject length lower bound = 8 4694 No set of starting bytes 4695 Baby Bjorn Active Carrier - With free SHIPPING!! 4696 0: Baby Bjorn Active Carrier - With free SHIPPING!! 4697 1: Baby Bjorn Active Carrier - With free SHIPPING!! 4698 4699 /a*.*b/ISDZ 4700 ------------------------------------------------------------------ 4701 Bra 4702 a* 4703 Any* 4704 b 4705 Ket 4706 End 4707 ------------------------------------------------------------------ 4708 Capturing subpattern count = 0 4709 No options 4710 No first char 4711 Need char = 'b' 4712 Subject length lower bound = 1 4713 No set of starting bytes 4714 4715 /(a|b)*.?c/ISDZ 4716 ------------------------------------------------------------------ 4717 Bra 4718 Brazero 4719 CBra 1 4720 a 4721 Alt 4722 b 4723 KetRmax 4724 Any? 4725 c 4726 Ket 4727 End 4728 ------------------------------------------------------------------ 4729 Capturing subpattern count = 1 4730 No options 4731 No first char 4732 Need char = 'c' 4733 Subject length lower bound = 1 4734 No set of starting bytes 4735 4736 /abc(?C255)de(?C)f/DZ 4737 ------------------------------------------------------------------ 4738 Bra 4739 abc 4740 Callout 255 10 1 4741 de 4742 Callout 0 16 1 4743 f 4744 Ket 4745 End 4746 ------------------------------------------------------------------ 4747 Capturing subpattern count = 0 4748 No options 4749 First char = 'a' 4750 Need char = 'f' 4751 4752 /abcde/ICDZ 4753 ------------------------------------------------------------------ 4754 Bra 4755 Callout 255 0 1 4756 a 4757 Callout 255 1 1 4758 b 4759 Callout 255 2 1 4760 c 4761 Callout 255 3 1 4762 d 4763 Callout 255 4 1 4764 e 4765 Callout 255 5 0 4766 Ket 4767 End 4768 ------------------------------------------------------------------ 4769 Capturing subpattern count = 0 4770 Options: 4771 First char = 'a' 4772 Need char = 'e' 4773 abcde 4774 --->abcde 4775 +0 ^ a 4776 +1 ^^ b 4777 +2 ^ ^ c 4778 +3 ^ ^ d 4779 +4 ^ ^ e 4780 +5 ^ ^ 4781 0: abcde 4782 abcdfe 4783 --->abcdfe 4784 +0 ^ a 4785 +1 ^^ b 4786 +2 ^ ^ c 4787 +3 ^ ^ d 4788 +4 ^ ^ e 4789 No match 4790 4791 /a*b/ICDZ 4792 ------------------------------------------------------------------ 4793 Bra 4794 Callout 255 0 2 4795 a*+ 4796 Callout 255 2 1 4797 b 4798 Callout 255 3 0 4799 Ket 4800 End 4801 ------------------------------------------------------------------ 4802 Capturing subpattern count = 0 4803 Options: 4804 No first char 4805 Need char = 'b' 4806 ab 4807 --->ab 4808 +0 ^ a* 4809 +2 ^^ b 4810 +3 ^ ^ 4811 0: ab 4812 aaaab 4813 --->aaaab 4814 +0 ^ a* 4815 +2 ^ ^ b 4816 +3 ^ ^ 4817 0: aaaab 4818 aaaacb 4819 --->aaaacb 4820 +0 ^ a* 4821 +2 ^ ^ b 4822 +0 ^ a* 4823 +2 ^ ^ b 4824 +0 ^ a* 4825 +2 ^ ^ b 4826 +0 ^ a* 4827 +2 ^^ b 4828 +0 ^ a* 4829 +2 ^ b 4830 +0 ^ a* 4831 +2 ^ b 4832 +3 ^^ 4833 0: b 4834 4835 /a+b/ICDZ 4836 ------------------------------------------------------------------ 4837 Bra 4838 Callout 255 0 2 4839 a++ 4840 Callout 255 2 1 4841 b 4842 Callout 255 3 0 4843 Ket 4844 End 4845 ------------------------------------------------------------------ 4846 Capturing subpattern count = 0 4847 Options: 4848 First char = 'a' 4849 Need char = 'b' 4850 ab 4851 --->ab 4852 +0 ^ a+ 4853 +2 ^^ b 4854 +3 ^ ^ 4855 0: ab 4856 aaaab 4857 --->aaaab 4858 +0 ^ a+ 4859 +2 ^ ^ b 4860 +3 ^ ^ 4861 0: aaaab 4862 aaaacb 4863 --->aaaacb 4864 +0 ^ a+ 4865 +2 ^ ^ b 4866 +0 ^ a+ 4867 +2 ^ ^ b 4868 +0 ^ a+ 4869 +2 ^ ^ b 4870 +0 ^ a+ 4871 +2 ^^ b 4872 No match 4873 4874 /(abc|def)x/ICDZ 4875 ------------------------------------------------------------------ 4876 Bra 4877 Callout 255 0 9 4878 CBra 1 4879 Callout 255 1 1 4880 a 4881 Callout 255 2 1 4882 b 4883 Callout 255 3 1 4884 c 4885 Callout 255 4 0 4886 Alt 4887 Callout 255 5 1 4888 d 4889 Callout 255 6 1 4890 e 4891 Callout 255 7 1 4892 f 4893 Callout 255 8 0 4894 Ket 4895 Callout 255 9 1 4896 x 4897 Callout 255 10 0 4898 Ket 4899 End 4900 ------------------------------------------------------------------ 4901 Capturing subpattern count = 1 4902 Options: 4903 No first char 4904 Need char = 'x' 4905 abcx 4906 --->abcx 4907 +0 ^ (abc|def) 4908 +1 ^ a 4909 +2 ^^ b 4910 +3 ^ ^ c 4911 +4 ^ ^ | 4912 +9 ^ ^ x 4913 +10 ^ ^ 4914 0: abcx 4915 1: abc 4916 defx 4917 --->defx 4918 +0 ^ (abc|def) 4919 +1 ^ a 4920 +5 ^ d 4921 +6 ^^ e 4922 +7 ^ ^ f 4923 +8 ^ ^ ) 4924 +9 ^ ^ x 4925 +10 ^ ^ 4926 0: defx 4927 1: def 4928 abcdefzx 4929 --->abcdefzx 4930 +0 ^ (abc|def) 4931 +1 ^ a 4932 +2 ^^ b 4933 +3 ^ ^ c 4934 +4 ^ ^ | 4935 +9 ^ ^ x 4936 +5 ^ d 4937 +0 ^ (abc|def) 4938 +1 ^ a 4939 +5 ^ d 4940 +0 ^ (abc|def) 4941 +1 ^ a 4942 +5 ^ d 4943 +0 ^ (abc|def) 4944 +1 ^ a 4945 +5 ^ d 4946 +6 ^^ e 4947 +7 ^ ^ f 4948 +8 ^ ^ ) 4949 +9 ^ ^ x 4950 +0 ^ (abc|def) 4951 +1 ^ a 4952 +5 ^ d 4953 +0 ^ (abc|def) 4954 +1 ^ a 4955 +5 ^ d 4956 +0 ^ (abc|def) 4957 +1 ^ a 4958 +5 ^ d 4959 +0 ^ (abc|def) 4960 +1 ^ a 4961 +5 ^ d 4962 No match 4963 4964 /(ab|cd){3,4}/IC 4965 Capturing subpattern count = 1 4966 Options: 4967 No first char 4968 No need char 4969 ababab 4970 --->ababab 4971 +0 ^ (ab|cd){3,4} 4972 +1 ^ a 4973 +2 ^^ b 4974 +3 ^ ^ | 4975 +1 ^ ^ a 4976 +2 ^ ^ b 4977 +3 ^ ^ | 4978 +1 ^ ^ a 4979 +2 ^ ^ b 4980 +3 ^ ^ | 4981 +1 ^ ^ a 4982 +4 ^ ^ c 4983 +12 ^ ^ 4984 0: ababab 4985 1: ab 4986 abcdabcd 4987 --->abcdabcd 4988 +0 ^ (ab|cd){3,4} 4989 +1 ^ a 4990 +2 ^^ b 4991 +3 ^ ^ | 4992 +1 ^ ^ a 4993 +4 ^ ^ c 4994 +5 ^ ^ d 4995 +6 ^ ^ ) 4996 +1 ^ ^ a 4997 +2 ^ ^ b 4998 +3 ^ ^ | 4999 +1 ^ ^ a 5000 +4 ^ ^ c 5001 +5 ^ ^ d 5002 +6 ^ ^ ) 5003 +12 ^ ^ 5004 0: abcdabcd 5005 1: cd 5006 abcdcdcdcdcd 5007 --->abcdcdcdcdcd 5008 +0 ^ (ab|cd){3,4} 5009 +1 ^ a 5010 +2 ^^ b 5011 +3 ^ ^ | 5012 +1 ^ ^ a 5013 +4 ^ ^ c 5014 +5 ^ ^ d 5015 +6 ^ ^ ) 5016 +1 ^ ^ a 5017 +4 ^ ^ c 5018 +5 ^ ^ d 5019 +6 ^ ^ ) 5020 +1 ^ ^ a 5021 +4 ^ ^ c 5022 +5 ^ ^ d 5023 +6 ^ ^ ) 5024 +12 ^ ^ 5025 0: abcdcdcd 5026 1: cd 5027 5028 /([ab]{,4}c|xy)/ICDZ 5029 ------------------------------------------------------------------ 5030 Bra 5031 Callout 255 0 14 5032 CBra 1 5033 Callout 255 1 4 5034 [ab] 5035 Callout 255 5 1 5036 { 5037 Callout 255 6 1 5038 , 5039 Callout 255 7 1 5040 4 5041 Callout 255 8 1 5042 } 5043 Callout 255 9 1 5044 c 5045 Callout 255 10 0 5046 Alt 5047 Callout 255 11 1 5048 x 5049 Callout 255 12 1 5050 y 5051 Callout 255 13 0 5052 Ket 5053 Callout 255 14 0 5054 Ket 5055 End 5056 ------------------------------------------------------------------ 5057 Capturing subpattern count = 1 5058 Options: 5059 No first char 5060 No need char 5061 Note: that { does NOT introduce a quantifier 5062 --->Note: that { does NOT introduce a quantifier 5063 +0 ^ ([ab]{,4}c|xy) 5064 +1 ^ [ab] 5065 +11 ^ x 5066 +0 ^ ([ab]{,4}c|xy) 5067 +1 ^ [ab] 5068 +11 ^ x 5069 +0 ^ ([ab]{,4}c|xy) 5070 +1 ^ [ab] 5071 +11 ^ x 5072 +0 ^ ([ab]{,4}c|xy) 5073 +1 ^ [ab] 5074 +11 ^ x 5075 +0 ^ ([ab]{,4}c|xy) 5076 +1 ^ [ab] 5077 +11 ^ x 5078 +0 ^ ([ab]{,4}c|xy) 5079 +1 ^ [ab] 5080 +11 ^ x 5081 +0 ^ ([ab]{,4}c|xy) 5082 +1 ^ [ab] 5083 +11 ^ x 5084 +0 ^ ([ab]{,4}c|xy) 5085 +1 ^ [ab] 5086 +11 ^ x 5087 +0 ^ ([ab]{,4}c|xy) 5088 +1 ^ [ab] 5089 +5 ^^ { 5090 +11 ^ x 5091 +0 ^ ([ab]{,4}c|xy) 5092 +1 ^ [ab] 5093 +11 ^ x 5094 +0 ^ ([ab]{,4}c|xy) 5095 +1 ^ [ab] 5096 +11 ^ x 5097 +0 ^ ([ab]{,4}c|xy) 5098 +1 ^ [ab] 5099 +11 ^ x 5100 +0 ^ ([ab]{,4}c|xy) 5101 +1 ^ [ab] 5102 +11 ^ x 5103 +0 ^ ([ab]{,4}c|xy) 5104 +1 ^ [ab] 5105 +11 ^ x 5106 +0 ^ ([ab]{,4}c|xy) 5107 +1 ^ [ab] 5108 +11 ^ x 5109 +0 ^ ([ab]{,4}c|xy) 5110 +1 ^ [ab] 5111 +11 ^ x 5112 +0 ^ ([ab]{,4}c|xy) 5113 +1 ^ [ab] 5114 +11 ^ x 5115 +0 ^ ([ab]{,4}c|xy) 5116 +1 ^ [ab] 5117 +11 ^ x 5118 +0 ^ ([ab]{,4}c|xy) 5119 +1 ^ [ab] 5120 +11 ^ x 5121 +0 ^ ([ab]{,4}c|xy) 5122 +1 ^ [ab] 5123 +11 ^ x 5124 +0 ^ ([ab]{,4}c|xy) 5125 +1 ^ [ab] 5126 +11 ^ x 5127 +0 ^ ([ab]{,4}c|xy) 5128 +1 ^ [ab] 5129 +11 ^ x 5130 +0 ^ ([ab]{,4}c|xy) 5131 +1 ^ [ab] 5132 +11 ^ x 5133 +0 ^ ([ab]{,4}c|xy) 5134 +1 ^ [ab] 5135 +11 ^ x 5136 +0 ^ ([ab]{,4}c|xy) 5137 +1 ^ [ab] 5138 +11 ^ x 5139 +0 ^ ([ab]{,4}c|xy) 5140 +1 ^ [ab] 5141 +11 ^ x 5142 +0 ^ ([ab]{,4}c|xy) 5143 +1 ^ [ab] 5144 +11 ^ x 5145 +0 ^ ([ab]{,4}c|xy) 5146 +1 ^ [ab] 5147 +11 ^ x 5148 +0 ^ ([ab]{,4}c|xy) 5149 +1 ^ [ab] 5150 +11 ^ x 5151 +0 ^ ([ab]{,4}c|xy) 5152 +1 ^ [ab] 5153 +11 ^ x 5154 +0 ^ ([ab]{,4}c|xy) 5155 +1 ^ [ab] 5156 +11 ^ x 5157 +0 ^ ([ab]{,4}c|xy) 5158 +1 ^ [ab] 5159 +11 ^ x 5160 +0 ^ ([ab]{,4}c|xy) 5161 +1 ^ [ab] 5162 +5 ^^ { 5163 +11 ^ x 5164 +0 ^ ([ab]{,4}c|xy) 5165 +1 ^ [ab] 5166 +11 ^ x 5167 +0 ^ ([ab]{,4}c|xy) 5168 +1 ^ [ab] 5169 +11 ^ x 5170 +0 ^ ([ab]{,4}c|xy) 5171 +1 ^ [ab] 5172 +11 ^ x 5173 +0 ^ ([ab]{,4}c|xy) 5174 +1 ^ [ab] 5175 +5 ^^ { 5176 +11 ^ x 5177 +0 ^ ([ab]{,4}c|xy) 5178 +1 ^ [ab] 5179 +11 ^ x 5180 +0 ^ ([ab]{,4}c|xy) 5181 +1 ^ [ab] 5182 +11 ^ x 5183 +0 ^ ([ab]{,4}c|xy) 5184 +1 ^ [ab] 5185 +11 ^ x 5186 +0 ^ ([ab]{,4}c|xy) 5187 +1 ^ [ab] 5188 +11 ^ x 5189 +0 ^ ([ab]{,4}c|xy) 5190 +1 ^ [ab] 5191 +11 ^ x 5192 +0 ^ ([ab]{,4}c|xy) 5193 +1 ^ [ab] 5194 +11 ^ x 5195 +0 ^ ([ab]{,4}c|xy) 5196 +1 ^ [ab] 5197 +11 ^ x 5198 +0 ^ ([ab]{,4}c|xy) 5199 +1 ^ [ab] 5200 +11 ^ x 5201 No match 5202 5203 /([ab]{1,4}c|xy){4,5}?123/ICDZ 5204 ------------------------------------------------------------------ 5205 Bra 5206 Callout 255 0 21 5207 CBra 1 5208 Callout 255 1 9 5209 [ab]{1,4} 5210 Callout 255 10 1 5211 c 5212 Callout 255 11 0 5213 Alt 5214 Callout 255 12 1 5215 x 5216 Callout 255 13 1 5217 y 5218 Callout 255 14 0 5219 Ket 5220 CBra 1 5221 Callout 255 1 9 5222 [ab]{1,4} 5223 Callout 255 10 1 5224 c 5225 Callout 255 11 0 5226 Alt 5227 Callout 255 12 1 5228 x 5229 Callout 255 13 1 5230 y 5231 Callout 255 14 0 5232 Ket 5233 CBra 1 5234 Callout 255 1 9 5235 [ab]{1,4} 5236 Callout 255 10 1 5237 c 5238 Callout 255 11 0 5239 Alt 5240 Callout 255 12 1 5241 x 5242 Callout 255 13 1 5243 y 5244 Callout 255 14 0 5245 Ket 5246 CBra 1 5247 Callout 255 1 9 5248 [ab]{1,4} 5249 Callout 255 10 1 5250 c 5251 Callout 255 11 0 5252 Alt 5253 Callout 255 12 1 5254 x 5255 Callout 255 13 1 5256 y 5257 Callout 255 14 0 5258 Ket 5259 Braminzero 5260 CBra 1 5261 Callout 255 1 9 5262 [ab]{1,4} 5263 Callout 255 10 1 5264 c 5265 Callout 255 11 0 5266 Alt 5267 Callout 255 12 1 5268 x 5269 Callout 255 13 1 5270 y 5271 Callout 255 14 0 5272 Ket 5273 Callout 255 21 1 5274 1 5275 Callout 255 22 1 5276 2 5277 Callout 255 23 1 5278 3 5279 Callout 255 24 0 5280 Ket 5281 End 5282 ------------------------------------------------------------------ 5283 Capturing subpattern count = 1 5284 Options: 5285 No first char 5286 Need char = '3' 5287 aacaacaacaacaac123 5288 --->aacaacaacaacaac123 5289 +0 ^ ([ab]{1,4}c|xy){4,5}? 5290 +1 ^ [ab]{1,4} 5291 +10 ^ ^ c 5292 +11 ^ ^ | 5293 +1 ^ ^ [ab]{1,4} 5294 +10 ^ ^ c 5295 +11 ^ ^ | 5296 +1 ^ ^ [ab]{1,4} 5297 +10 ^ ^ c 5298 +11 ^ ^ | 5299 +1 ^ ^ [ab]{1,4} 5300 +10 ^ ^ c 5301 +11 ^ ^ | 5302 +21 ^ ^ 1 5303 +1 ^ ^ [ab]{1,4} 5304 +10 ^ ^ c 5305 +11 ^ ^ | 5306 +21 ^ ^ 1 5307 +22 ^ ^ 2 5308 +23 ^ ^ 3 5309 +24 ^ ^ 5310 0: aacaacaacaacaac123 5311 1: aac 5312 5313 /\b.*/I 5314 Capturing subpattern count = 0 5315 No options 5316 No first char 5317 No need char 5318 ab cd\>1 5319 0: cd 5320 5321 /\b.*/Is 5322 Capturing subpattern count = 0 5323 Options: dotall 5324 No first char 5325 No need char 5326 ab cd\>1 5327 0: cd 5328 5329 /(?!.bcd).*/I 5330 Capturing subpattern count = 0 5331 No options 5332 No first char 5333 No need char 5334 Xbcd12345 5335 0: bcd12345 5336 5337 /abcde/I 5338 Capturing subpattern count = 0 5339 No options 5340 First char = 'a' 5341 Need char = 'e' 5342 ab\P 5343 Partial match: ab 5344 abc\P 5345 Partial match: abc 5346 abcd\P 5347 Partial match: abcd 5348 abcde\P 5349 0: abcde 5350 the quick brown abc\P 5351 Partial match: abc 5352 ** Failers\P 5353 No match 5354 the quick brown abxyz fox\P 5355 No match 5356 5357 "^(0?[1-9]|[12][0-9]|3[01])/(0?[1-9]|1[012])/(20)?\d\d$"I 5358 Capturing subpattern count = 3 5359 Options: anchored 5360 No first char 5361 Need char = '/' 5362 13/05/04\P 5363 0: 13/05/04 5364 1: 13 5365 2: 05 5366 13/5/2004\P 5367 0: 13/5/2004 5368 1: 13 5369 2: 5 5370 3: 20 5371 02/05/09\P 5372 0: 02/05/09 5373 1: 02 5374 2: 05 5375 1\P 5376 Partial match: 1 5377 1/2\P 5378 Partial match: 1/2 5379 1/2/0\P 5380 Partial match: 1/2/0 5381 1/2/04\P 5382 0: 1/2/04 5383 1: 1 5384 2: 2 5385 0\P 5386 Partial match: 0 5387 02/\P 5388 Partial match: 02/ 5389 02/0\P 5390 Partial match: 02/0 5391 02/1\P 5392 Partial match: 02/1 5393 ** Failers\P 5394 No match 5395 \P 5396 No match 5397 123\P 5398 No match 5399 33/4/04\P 5400 No match 5401 3/13/04\P 5402 No match 5403 0/1/2003\P 5404 No match 5405 0/\P 5406 No match 5407 02/0/\P 5408 No match 5409 02/13\P 5410 No match 5411 5412 /0{0,2}ABC/I 5413 Capturing subpattern count = 0 5414 No options 5415 No first char 5416 Need char = 'C' 5417 5418 /\d{3,}ABC/I 5419 Capturing subpattern count = 0 5420 No options 5421 No first char 5422 Need char = 'C' 5423 5424 /\d*ABC/I 5425 Capturing subpattern count = 0 5426 No options 5427 No first char 5428 Need char = 'C' 5429 5430 /[abc]+DE/I 5431 Capturing subpattern count = 0 5432 No options 5433 No first char 5434 Need char = 'E' 5435 5436 /[abc]?123/I 5437 Capturing subpattern count = 0 5438 No options 5439 No first char 5440 Need char = '3' 5441 123\P 5442 0: 123 5443 a\P 5444 Partial match: a 5445 b\P 5446 Partial match: b 5447 c\P 5448 Partial match: c 5449 c12\P 5450 Partial match: c12 5451 c123\P 5452 0: c123 5453 5454 /^(?:\d){3,5}X/I 5455 Capturing subpattern count = 0 5456 Options: anchored 5457 No first char 5458 Need char = 'X' 5459 1\P 5460 Partial match: 1 5461 123\P 5462 Partial match: 123 5463 123X 5464 0: 123X 5465 1234\P 5466 Partial match: 1234 5467 1234X 5468 0: 1234X 5469 12345\P 5470 Partial match: 12345 5471 12345X 5472 0: 12345X 5473 *** Failers 5474 No match 5475 1X 5476 No match 5477 123456\P 5478 No match 5479 5480 /abc/I>testsavedregex 5481 Capturing subpattern count = 0 5482 No options 5483 First char = 'a' 5484 Need char = 'c' 5485 Compiled regex written to testsavedregex 5486 <testsavedregex 5487 Compiled regex loaded from testsavedregex 5488 No study data 5489 abc 5490 0: abc 5491 ** Failers 5492 No match 5493 bca 5494 No match 5495 5496 /abc/IF>testsavedregex 5497 Capturing subpattern count = 0 5498 No options 5499 First char = 'a' 5500 Need char = 'c' 5501 Compiled regex written to testsavedregex 5502 <testsavedregex 5503 Compiled regex (byte-inverted) loaded from testsavedregex 5504 No study data 5505 abc 5506 0: abc 5507 ** Failers 5508 No match 5509 bca 5510 No match 5511 5512 /(a|b)/IS>testsavedregex 5513 Capturing subpattern count = 1 5514 No options 5515 No first char 5516 No need char 5517 Subject length lower bound = 1 5518 Starting byte set: a b 5519 Compiled regex written to testsavedregex 5520 Study data written to testsavedregex 5521 <testsavedregex 5522 Compiled regex loaded from testsavedregex 5523 Study data loaded from testsavedregex 5524 abc 5525 0: a 5526 1: a 5527 ** Failers 5528 0: a 5529 1: a 5530 def 5531 No match 5532 5533 /(a|b)/ISF>testsavedregex 5534 Capturing subpattern count = 1 5535 No options 5536 No first char 5537 No need char 5538 Subject length lower bound = 1 5539 Starting byte set: a b 5540 Compiled regex written to testsavedregex 5541 Study data written to testsavedregex 5542 <testsavedregex 5543 Compiled regex (byte-inverted) loaded from testsavedregex 5544 Study data loaded from testsavedregex 5545 abc 5546 0: a 5547 1: a 5548 ** Failers 5549 0: a 5550 1: a 5551 def 5552 No match 5553 5554 ~<(\w+)/?>(.)*</(\1)>~smgI 5555 Capturing subpattern count = 3 5556 Max back reference = 1 5557 Options: multiline dotall 5558 First char = '<' 5559 Need char = '>' 5560 <!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> 5561 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> 5562 1: seite 5563 2: \x0a 5564 3: seite 5565 5566 /^a/IF 5567 Capturing subpattern count = 0 5568 Options: anchored 5569 No first char 5570 No need char 5571 5572 /line\nbreak/I 5573 Capturing subpattern count = 0 5574 Contains explicit CR or LF match 5575 No options 5576 First char = 'l' 5577 Need char = 'k' 5578 this is a line\nbreak 5579 0: line\x0abreak 5580 line one\nthis is a line\nbreak in the second line 5581 0: line\x0abreak 5582 5583 /line\nbreak/If 5584 Capturing subpattern count = 0 5585 Contains explicit CR or LF match 5586 Options: firstline 5587 First char = 'l' 5588 Need char = 'k' 5589 this is a line\nbreak 5590 0: line\x0abreak 5591 ** Failers 5592 No match 5593 line one\nthis is a line\nbreak in the second line 5594 No match 5595 5596 /line\nbreak/Imf 5597 Capturing subpattern count = 0 5598 Contains explicit CR or LF match 5599 Options: multiline firstline 5600 First char = 'l' 5601 Need char = 'k' 5602 this is a line\nbreak 5603 0: line\x0abreak 5604 ** Failers 5605 No match 5606 line one\nthis is a line\nbreak in the second line 5607 No match 5608 5609 /ab.cd/P 5610 ab-cd 5611 0: ab-cd 5612 ab=cd 5613 0: ab=cd 5614 ** Failers 5615 No match: POSIX code 17: match failed 5616 ab\ncd 5617 No match: POSIX code 17: match failed 5618 5619 /ab.cd/Ps 5620 ab-cd 5621 0: ab-cd 5622 ab=cd 5623 0: ab=cd 5624 ab\ncd 5625 0: ab\x0acd 5626 5627 /(?i)(?-i)AbCd/I 5628 Capturing subpattern count = 0 5629 No options 5630 First char = 'A' 5631 Need char = 'd' 5632 AbCd 5633 0: AbCd 5634 ** Failers 5635 No match 5636 abcd 5637 No match 5638 5639 /a{11111111111111111111}/I 5640 Failed: number too big in {} quantifier at offset 22 5641 5642 /(){64294967295}/I 5643 Failed: number too big in {} quantifier at offset 14 5644 5645 /(){2,4294967295}/I 5646 Failed: number too big in {} quantifier at offset 15 5647 5648 "(?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 5649 Capturing subpattern count = 1 5650 Max back reference = 1 5651 No options 5652 First char = 'a' (caseless) 5653 Need char = 'B' 5654 abcdefghijklAkB 5655 0: abcdefghijklAkB 5656 1: k 5657 5658 "(?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 5659 Capturing subpattern count = 12 5660 Max back reference = 11 5661 Named capturing subpatterns: 5662 n0 1 5663 n1 2 5664 n10 11 5665 n11 12 5666 n2 3 5667 n3 4 5668 n4 5 5669 n5 6 5670 n6 7 5671 n7 8 5672 n8 9 5673 n9 10 5674 No options 5675 First char = 'a' 5676 Need char = 'B' 5677 abcdefghijklAkB 5678 0: abcdefghijklAkB 5679 1: a 5680 2: b 5681 3: c 5682 4: d 5683 5: e 5684 6: f 5685 7: g 5686 8: h 5687 9: i 5688 10: j 5689 11: k 5690 12: l 5691 5692 "(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)A\11B"I 5693 Capturing subpattern count = 12 5694 Max back reference = 11 5695 No options 5696 First char = 'a' 5697 Need char = 'B' 5698 abcdefghijklAkB 5699 0: abcdefghijklAkB 5700 1: a 5701 2: b 5702 3: c 5703 4: d 5704 5: e 5705 6: f 5706 7: g 5707 8: h 5708 9: i 5709 10: j 5710 11: k 5711 12: l 5712 5713 "(?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 5714 Capturing subpattern count = 101 5715 Named capturing subpatterns: 5716 name0 1 5717 name1 2 5718 name10 11 5719 name100 101 5720 name11 12 5721 name12 13 5722 name13 14 5723 name14 15 5724 name15 16 5725 name16 17 5726 name17 18 5727 name18 19 5728 name19 20 5729 name2 3 5730 name20 21 5731 name21 22 5732 name22 23 5733 name23 24 5734 name24 25 5735 name25 26 5736 name26 27 5737 name27 28 5738 name28 29 5739 name29 30 5740 name3 4 5741 name30 31 5742 name31 32 5743 name32 33 5744 name33 34 5745 name34 35 5746 name35 36 5747 name36 37 5748 name37 38 5749 name38 39 5750 name39 40 5751 name4 5 5752 name40 41 5753 name41 42 5754 name42 43 5755 name43 44 5756 name44 45 5757 name45 46 5758 name46 47 5759 name47 48 5760 name48 49 5761 name49 50 5762 name5 6 5763 name50 51 5764 name51 52 5765 name52 53 5766 name53 54 5767 name54 55 5768 name55 56 5769 name56 57 5770 name57 58 5771 name58 59 5772 name59 60 5773 name6 7 5774 name60 61 5775 name61 62 5776 name62 63 5777 name63 64 5778 name64 65 5779 name65 66 5780 name66 67 5781 name67 68 5782 name68 69 5783 name69 70 5784 name7 8 5785 name70 71 5786 name71 72 5787 name72 73 5788 name73 74 5789 name74 75 5790 name75 76 5791 name76 77 5792 name77 78 5793 name78 79 5794 name79 80 5795 name8 9 5796 name80 81 5797 name81 82 5798 name82 83 5799 name83 84 5800 name84 85 5801 name85 86 5802 name86 87 5803 name87 88 5804 name88 89 5805 name89 90 5806 name9 10 5807 name90 91 5808 name91 92 5809 name92 93 5810 name93 94 5811 name94 95 5812 name95 96 5813 name96 97 5814 name97 98 5815 name98 99 5816 name99 100 5817 No options 5818 First char = 'a' 5819 Need char = 'a' 5820 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 5821 Matched, but too many substrings 5822 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 5823 1: a 5824 2: a 5825 3: a 5826 4: a 5827 5: a 5828 6: a 5829 7: a 5830 8: a 5831 9: a 5832 10: a 5833 11: a 5834 12: a 5835 13: a 5836 14: a 5837 5838 "(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(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 5839 Capturing subpattern count = 101 5840 No options 5841 First char = 'a' 5842 Need char = 'a' 5843 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 5844 Matched, but too many substrings 5845 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 5846 1: a 5847 2: a 5848 3: a 5849 4: a 5850 5: a 5851 6: a 5852 7: a 5853 8: a 5854 9: a 5855 10: a 5856 11: a 5857 12: a 5858 13: a 5859 14: a 5860 5861 /[^()]*(?:\((?R)\)[^()]*)*/I 5862 Capturing subpattern count = 0 5863 No options 5864 No first char 5865 No need char 5866 (this(and)that 5867 0: 5868 (this(and)that) 5869 0: (this(and)that) 5870 (this(and)that)stuff 5871 0: (this(and)that)stuff 5872 5873 /[^()]*(?:\((?>(?R))\)[^()]*)*/I 5874 Capturing subpattern count = 0 5875 No options 5876 No first char 5877 No need char 5878 (this(and)that 5879 0: 5880 (this(and)that) 5881 0: (this(and)that) 5882 5883 /[^()]*(?:\((?R)\))*[^()]*/I 5884 Capturing subpattern count = 0 5885 No options 5886 No first char 5887 No need char 5888 (this(and)that 5889 0: 5890 (this(and)that) 5891 0: (this(and)that) 5892 5893 /(?:\((?R)\))*[^()]*/I 5894 Capturing subpattern count = 0 5895 No options 5896 No first char 5897 No need char 5898 (this(and)that 5899 0: 5900 (this(and)that) 5901 0: 5902 ((this)) 5903 0: ((this)) 5904 5905 /(?:\((?R)\))|[^()]*/I 5906 Capturing subpattern count = 0 5907 No options 5908 No first char 5909 No need char 5910 (this(and)that 5911 0: 5912 (this(and)that) 5913 0: 5914 (this) 5915 0: (this) 5916 ((this)) 5917 0: ((this)) 5918 5919 /a(b)c/PN 5920 abc 5921 Matched with REG_NOSUB 5922 5923 /a(?P<name>b)c/PN 5924 abc 5925 Matched with REG_NOSUB 5926 5927 /\x{100}/I 5928 Failed: character value in \x{...} sequence is too large at offset 6 5929 5930 /\x{0000ff}/I 5931 Capturing subpattern count = 0 5932 No options 5933 First char = 255 5934 No need char 5935 5936 /^((?P<A>a1)|(?P<A>a2)b)/I 5937 Failed: two named subpatterns have the same name at offset 17 5938 5939 /^((?P<A>a1)|(?P<A>a2)b)/IJ 5940 Capturing subpattern count = 3 5941 Named capturing subpatterns: 5942 A 2 5943 A 3 5944 Options: anchored dupnames 5945 No first char 5946 No need char 5947 a1b\CA 5948 0: a1 5949 1: a1 5950 2: a1 5951 C a1 (2) A 5952 a2b\CA 5953 0: a2b 5954 1: a2b 5955 2: <unset> 5956 3: a2 5957 C a2 (2) A 5958 ** Failers 5959 No match 5960 a1b\CZ\CA 5961 no parentheses with name "Z" 5962 0: a1 5963 1: a1 5964 2: a1 5965 copy substring Z failed -7 5966 C a1 (2) A 5967 5968 /^(?P<A>a)(?P<A>b)/IJ 5969 Capturing subpattern count = 2 5970 Named capturing subpatterns: 5971 A 1 5972 A 2 5973 Options: anchored dupnames 5974 No first char 5975 No need char 5976 ab\CA 5977 0: ab 5978 1: a 5979 2: b 5980 C a (1) A 5981 5982 /^(?P<A>a)(?P<A>b)|cd/IJ 5983 Capturing subpattern count = 2 5984 Named capturing subpatterns: 5985 A 1 5986 A 2 5987 Options: dupnames 5988 No first char 5989 No need char 5990 ab\CA 5991 0: ab 5992 1: a 5993 2: b 5994 C a (1) A 5995 cd\CA 5996 0: cd 5997 copy substring A failed -7 5998 5999 /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ 6000 Capturing subpattern count = 4 6001 Named capturing subpatterns: 6002 A 1 6003 A 2 6004 A 3 6005 A 4 6006 Options: dupnames 6007 No first char 6008 No need char 6009 cdefgh\CA 6010 0: cdefgh 6011 1: <unset> 6012 2: <unset> 6013 3: ef 6014 4: gh 6015 C ef (2) A 6016 6017 /^((?P<A>a1)|(?P<A>a2)b)/IJ 6018 Capturing subpattern count = 3 6019 Named capturing subpatterns: 6020 A 2 6021 A 3 6022 Options: anchored dupnames 6023 No first char 6024 No need char 6025 a1b\GA 6026 0: a1 6027 1: a1 6028 2: a1 6029 G a1 (2) A 6030 a2b\GA 6031 0: a2b 6032 1: a2b 6033 2: <unset> 6034 3: a2 6035 G a2 (2) A 6036 ** Failers 6037 No match 6038 a1b\GZ\GA 6039 no parentheses with name "Z" 6040 0: a1 6041 1: a1 6042 2: a1 6043 copy substring Z failed -7 6044 G a1 (2) A 6045 6046 /^(?P<A>a)(?P<A>b)/IJ 6047 Capturing subpattern count = 2 6048 Named capturing subpatterns: 6049 A 1 6050 A 2 6051 Options: anchored dupnames 6052 No first char 6053 No need char 6054 ab\GA 6055 0: ab 6056 1: a 6057 2: b 6058 G a (1) A 6059 6060 /^(?P<A>a)(?P<A>b)|cd/IJ 6061 Capturing subpattern count = 2 6062 Named capturing subpatterns: 6063 A 1 6064 A 2 6065 Options: dupnames 6066 No first char 6067 No need char 6068 ab\GA 6069 0: ab 6070 1: a 6071 2: b 6072 G a (1) A 6073 cd\GA 6074 0: cd 6075 copy substring A failed -7 6076 6077 /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ 6078 Capturing subpattern count = 4 6079 Named capturing subpatterns: 6080 A 1 6081 A 2 6082 A 3 6083 A 4 6084 Options: dupnames 6085 No first char 6086 No need char 6087 cdefgh\GA 6088 0: cdefgh 6089 1: <unset> 6090 2: <unset> 6091 3: ef 6092 4: gh 6093 G ef (2) A 6094 6095 /(?J)^((?P<A>a1)|(?P<A>a2)b)/I 6096 Capturing subpattern count = 3 6097 Named capturing subpatterns: 6098 A 2 6099 A 3 6100 Options: anchored dupnames 6101 Duplicate name status changes 6102 No first char 6103 No need char 6104 a1b\CA 6105 0: a1 6106 1: a1 6107 2: a1 6108 C a1 (2) A 6109 a2b\CA 6110 0: a2b 6111 1: a2b 6112 2: <unset> 6113 3: a2 6114 C a2 (2) A 6115 6116 /^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<A>d)/I 6117 Failed: two named subpatterns have the same name at offset 37 6118 6119 / In this next test, J is not set at the outer level; consequently it isn't 6120 set in the pattern's options; consequently pcre_get_named_substring() produces 6121 a random value. /Ix 6122 Capturing subpattern count = 1 6123 Options: extended 6124 First char = 'I' 6125 Need char = 'e' 6126 6127 /^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<C>d)/I 6128 Capturing subpattern count = 4 6129 Named capturing subpatterns: 6130 A 1 6131 B 2 6132 B 3 6133 C 4 6134 Options: anchored 6135 Duplicate name status changes 6136 No first char 6137 No need char 6138 a bc d\CA\CB\CC 6139 0: a bc d 6140 1: a 6141 2: b 6142 3: c 6143 4: d 6144 C a (1) A 6145 C b (1) B 6146 C d (1) C 6147 6148 /^(?P<A>a)?(?(A)a|b)/I 6149 Capturing subpattern count = 1 6150 Named capturing subpatterns: 6151 A 1 6152 Options: anchored 6153 No first char 6154 No need char 6155 aabc 6156 0: aa 6157 1: a 6158 bc 6159 0: b 6160 ** Failers 6161 No match 6162 abc 6163 No match 6164 6165 /(?:(?(ZZ)a|b)(?P<ZZ>X))+/I 6166 Capturing subpattern count = 1 6167 Named capturing subpatterns: 6168 ZZ 1 6169 No options 6170 No first char 6171 Need char = 'X' 6172 bXaX 6173 0: bXaX 6174 1: X 6175 6176 /(?:(?(2y)a|b)(X))+/I 6177 Failed: reference to non-existent subpattern at offset 9 6178 6179 /(?:(?(ZA)a|b)(?P<ZZ>X))+/I 6180 Failed: reference to non-existent subpattern at offset 9 6181 6182 /(?:(?(ZZ)a|b)(?(ZZ)a|b)(?P<ZZ>X))+/I 6183 Capturing subpattern count = 1 6184 Named capturing subpatterns: 6185 ZZ 1 6186 No options 6187 No first char 6188 Need char = 'X' 6189 bbXaaX 6190 0: bbXaaX 6191 1: X 6192 6193 /(?:(?(ZZ)a|\(b\))\\(?P<ZZ>X))+/I 6194 Capturing subpattern count = 1 6195 Named capturing subpatterns: 6196 ZZ 1 6197 No options 6198 No first char 6199 Need char = 'X' 6200 (b)\\Xa\\X 6201 0: (b)\Xa\X 6202 1: X 6203 6204 /(?P<ABC/I 6205 Failed: syntax error in subpattern name (missing terminator) at offset 7 6206 6207 /(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/I 6208 Capturing subpattern count = 1 6209 Max back reference = 1 6210 Named capturing subpatterns: 6211 A 1 6212 No options 6213 No first char 6214 No need char 6215 bXXaYYaY 6216 0: bXXaYYaY 6217 1: Y 6218 bXYaXXaX 6219 0: bX 6220 1: X 6221 6222 /()()()()()()()()()(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/I 6223 Capturing subpattern count = 10 6224 Max back reference = 10 6225 Named capturing subpatterns: 6226 A 10 6227 No options 6228 No first char 6229 No need char 6230 bXXaYYaY 6231 0: bXXaYYaY 6232 1: 6233 2: 6234 3: 6235 4: 6236 5: 6237 6: 6238 7: 6239 8: 6240 9: 6241 10: Y 6242 6243 /\777/I 6244 Failed: octal value is greater than \377 (not in UTF-8 mode) at offset 3 6245 6246 /\s*,\s*/IS 6247 Capturing subpattern count = 0 6248 No options 6249 No first char 6250 Need char = ',' 6251 Subject length lower bound = 1 6252 Starting byte set: \x09 \x0a \x0c \x0d \x20 , 6253 \x0b,\x0b 6254 0: , 6255 \x0c,\x0d 6256 0: \x0c,\x0d 6257 6258 /^abc/Im 6259 Capturing subpattern count = 0 6260 Options: multiline 6261 First char at start or follows newline 6262 Need char = 'c' 6263 xyz\nabc 6264 0: abc 6265 xyz\nabc\<lf> 6266 0: abc 6267 xyz\r\nabc\<lf> 6268 0: abc 6269 xyz\rabc\<cr> 6270 0: abc 6271 xyz\r\nabc\<crlf> 6272 0: abc 6273 ** Failers 6274 No match 6275 xyz\nabc\<cr> 6276 No match 6277 xyz\r\nabc\<cr> 6278 No match 6279 xyz\nabc\<crlf> 6280 No match 6281 xyz\rabc\<crlf> 6282 No match 6283 xyz\rabc\<lf> 6284 No match 6285 6286 /abc$/Im<lf> 6287 Capturing subpattern count = 0 6288 Options: multiline 6289 Forced newline sequence: LF 6290 First char = 'a' 6291 Need char = 'c' 6292 xyzabc 6293 0: abc 6294 xyzabc\n 6295 0: abc 6296 xyzabc\npqr 6297 0: abc 6298 xyzabc\r\<cr> 6299 0: abc 6300 xyzabc\rpqr\<cr> 6301 0: abc 6302 xyzabc\r\n\<crlf> 6303 0: abc 6304 xyzabc\r\npqr\<crlf> 6305 0: abc 6306 ** Failers 6307 No match 6308 xyzabc\r 6309 No match 6310 xyzabc\rpqr 6311 No match 6312 xyzabc\r\n 6313 No match 6314 xyzabc\r\npqr 6315 No match 6316 6317 /^abc/Im<cr> 6318 Capturing subpattern count = 0 6319 Options: multiline 6320 Forced newline sequence: CR 6321 First char at start or follows newline 6322 Need char = 'c' 6323 xyz\rabcdef 6324 0: abc 6325 xyz\nabcdef\<lf> 6326 0: abc 6327 ** Failers 6328 No match 6329 xyz\nabcdef 6330 No match 6331 6332 /^abc/Im<lf> 6333 Capturing subpattern count = 0 6334 Options: multiline 6335 Forced newline sequence: LF 6336 First char at start or follows newline 6337 Need char = 'c' 6338 xyz\nabcdef 6339 0: abc 6340 xyz\rabcdef\<cr> 6341 0: abc 6342 ** Failers 6343 No match 6344 xyz\rabcdef 6345 No match 6346 6347 /^abc/Im<crlf> 6348 Capturing subpattern count = 0 6349 Options: multiline 6350 Forced newline sequence: CRLF 6351 First char at start or follows newline 6352 Need char = 'c' 6353 xyz\r\nabcdef 6354 0: abc 6355 xyz\rabcdef\<cr> 6356 0: abc 6357 ** Failers 6358 No match 6359 xyz\rabcdef 6360 No match 6361 6362 /^abc/Im<bad> 6363 Unknown newline type at: <bad> 6364 6365 6366 /abc/I 6367 Capturing subpattern count = 0 6368 No options 6369 First char = 'a' 6370 Need char = 'c' 6371 xyz\rabc\<bad> 6372 Unknown newline type at: <bad> 6373 abc 6374 0: abc 6375 6376 /.*/I<lf> 6377 Capturing subpattern count = 0 6378 Options: 6379 Forced newline sequence: LF 6380 First char at start or follows newline 6381 No need char 6382 abc\ndef 6383 0: abc 6384 abc\rdef 6385 0: abc\x0ddef 6386 abc\r\ndef 6387 0: abc\x0d 6388 \<cr>abc\ndef 6389 0: abc\x0adef 6390 \<cr>abc\rdef 6391 0: abc 6392 \<cr>abc\r\ndef 6393 0: abc 6394 \<crlf>abc\ndef 6395 0: abc\x0adef 6396 \<crlf>abc\rdef 6397 0: abc\x0ddef 6398 \<crlf>abc\r\ndef 6399 0: abc 6400 6401 /\w+(.)(.)?def/Is 6402 Capturing subpattern count = 2 6403 Options: dotall 6404 No first char 6405 Need char = 'f' 6406 abc\ndef 6407 0: abc\x0adef 6408 1: \x0a 6409 abc\rdef 6410 0: abc\x0ddef 6411 1: \x0d 6412 abc\r\ndef 6413 0: abc\x0d\x0adef 6414 1: \x0d 6415 2: \x0a 6416 6417 +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I 6418 Capturing subpattern count = 1 6419 No options 6420 No first char 6421 No need char 6422 /* this is a C style comment */\M 6423 Minimum match() limit = 120 6424 Minimum match() recursion limit = 6 6425 0: /* this is a C style comment */ 6426 1: /* this is a C style comment */ 6427 6428 /(?P<B>25[0-5]|2[0-4]\d|[01]?\d?\d)(?:\.(?P>B)){3}/I 6429 Capturing subpattern count = 1 6430 Named capturing subpatterns: 6431 B 1 6432 No options 6433 No first char 6434 Need char = '.' 6435 6436 /()()()()()()()()()()()()()()()()()()()() 6437 ()()()()()()()()()()()()()()()()()()()() 6438 ()()()()()()()()()()()()()()()()()()()() 6439 ()()()()()()()()()()()()()()()()()()()() 6440 ()()()()()()()()()()()()()()()()()()()() 6441 (.(.))/Ix 6442 Capturing subpattern count = 102 6443 Options: extended 6444 No first char 6445 No need char 6446 XY\O400 6447 0: XY 6448 1: 6449 2: 6450 3: 6451 4: 6452 5: 6453 6: 6454 7: 6455 8: 6456 9: 6457 10: 6458 11: 6459 12: 6460 13: 6461 14: 6462 15: 6463 16: 6464 17: 6465 18: 6466 19: 6467 20: 6468 21: 6469 22: 6470 23: 6471 24: 6472 25: 6473 26: 6474 27: 6475 28: 6476 29: 6477 30: 6478 31: 6479 32: 6480 33: 6481 34: 6482 35: 6483 36: 6484 37: 6485 38: 6486 39: 6487 40: 6488 41: 6489 42: 6490 43: 6491 44: 6492 45: 6493 46: 6494 47: 6495 48: 6496 49: 6497 50: 6498 51: 6499 52: 6500 53: 6501 54: 6502 55: 6503 56: 6504 57: 6505 58: 6506 59: 6507 60: 6508 61: 6509 62: 6510 63: 6511 64: 6512 65: 6513 66: 6514 67: 6515 68: 6516 69: 6517 70: 6518 71: 6519 72: 6520 73: 6521 74: 6522 75: 6523 76: 6524 77: 6525 78: 6526 79: 6527 80: 6528 81: 6529 82: 6530 83: 6531 84: 6532 85: 6533 86: 6534 87: 6535 88: 6536 89: 6537 90: 6538 91: 6539 92: 6540 93: 6541 94: 6542 95: 6543 96: 6544 97: 6545 98: 6546 99: 6547 100: 6548 101: XY 6549 102: Y 6550 6551 /(a*b|(?i:c*(?-i)d))/IS 6552 Capturing subpattern count = 1 6553 No options 6554 No first char 6555 No need char 6556 Subject length lower bound = 1 6557 Starting byte set: C a b c d 6558 6559 /()[ab]xyz/IS 6560 Capturing subpattern count = 1 6561 No options 6562 No first char 6563 Need char = 'z' 6564 Subject length lower bound = 4 6565 Starting byte set: a b 6566 6567 /(|)[ab]xyz/IS 6568 Capturing subpattern count = 1 6569 No options 6570 No first char 6571 Need char = 'z' 6572 Subject length lower bound = 4 6573 Starting byte set: a b 6574 6575 /(|c)[ab]xyz/IS 6576 Capturing subpattern count = 1 6577 No options 6578 No first char 6579 Need char = 'z' 6580 Subject length lower bound = 4 6581 Starting byte set: a b c 6582 6583 /(|c?)[ab]xyz/IS 6584 Capturing subpattern count = 1 6585 No options 6586 No first char 6587 Need char = 'z' 6588 Subject length lower bound = 4 6589 Starting byte set: a b c 6590 6591 /(d?|c?)[ab]xyz/IS 6592 Capturing subpattern count = 1 6593 No options 6594 No first char 6595 Need char = 'z' 6596 Subject length lower bound = 4 6597 Starting byte set: a b c d 6598 6599 /(d?|c)[ab]xyz/IS 6600 Capturing subpattern count = 1 6601 No options 6602 No first char 6603 Need char = 'z' 6604 Subject length lower bound = 4 6605 Starting byte set: a b c d 6606 6607 /^a*b\d/DZ 6608 ------------------------------------------------------------------ 6609 Bra 6610 ^ 6611 a*+ 6612 b 6613 \d 6614 Ket 6615 End 6616 ------------------------------------------------------------------ 6617 Capturing subpattern count = 0 6618 Options: anchored 6619 No first char 6620 Need char = 'b' 6621 6622 /^a*+b\d/DZ 6623 ------------------------------------------------------------------ 6624 Bra 6625 ^ 6626 a*+ 6627 b 6628 \d 6629 Ket 6630 End 6631 ------------------------------------------------------------------ 6632 Capturing subpattern count = 0 6633 Options: anchored 6634 No first char 6635 Need char = 'b' 6636 6637 /^a*?b\d/DZ 6638 ------------------------------------------------------------------ 6639 Bra 6640 ^ 6641 a*+ 6642 b 6643 \d 6644 Ket 6645 End 6646 ------------------------------------------------------------------ 6647 Capturing subpattern count = 0 6648 Options: anchored 6649 No first char 6650 Need char = 'b' 6651 6652 /^a+A\d/DZ 6653 ------------------------------------------------------------------ 6654 Bra 6655 ^ 6656 a++ 6657 A 6658 \d 6659 Ket 6660 End 6661 ------------------------------------------------------------------ 6662 Capturing subpattern count = 0 6663 Options: anchored 6664 No first char 6665 Need char = 'A' 6666 aaaA5 6667 0: aaaA5 6668 ** Failers 6669 No match 6670 aaaa5 6671 No match 6672 6673 /^a*A\d/IiDZ 6674 ------------------------------------------------------------------ 6675 Bra 6676 ^ 6677 a* 6678 NC A 6679 \d 6680 Ket 6681 End 6682 ------------------------------------------------------------------ 6683 Capturing subpattern count = 0 6684 Options: anchored caseless 6685 No first char 6686 Need char = 'A' (caseless) 6687 aaaA5 6688 0: aaaA5 6689 aaaa5 6690 0: aaaa5 6691 6692 /(a*|b*)[cd]/IS 6693 Capturing subpattern count = 1 6694 No options 6695 No first char 6696 No need char 6697 Subject length lower bound = 1 6698 Starting byte set: a b c d 6699 6700 /(a+|b*)[cd]/IS 6701 Capturing subpattern count = 1 6702 No options 6703 No first char 6704 No need char 6705 Subject length lower bound = 1 6706 Starting byte set: a b c d 6707 6708 /(a*|b+)[cd]/IS 6709 Capturing subpattern count = 1 6710 No options 6711 No first char 6712 No need char 6713 Subject length lower bound = 1 6714 Starting byte set: a b c d 6715 6716 /(a+|b+)[cd]/IS 6717 Capturing subpattern count = 1 6718 No options 6719 No first char 6720 No need char 6721 Subject length lower bound = 2 6722 Starting byte set: a b 6723 6724 /(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((( 6725 (((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((( 6726 ((( 6727 a 6728 )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 6729 )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 6730 ))) 6731 /Ix 6732 Capturing subpattern count = 203 6733 Options: extended 6734 First char = 'a' 6735 No need char 6736 large nest 6737 Matched, but too many substrings 6738 0: a 6739 1: a 6740 2: a 6741 3: a 6742 4: a 6743 5: a 6744 6: a 6745 7: a 6746 8: a 6747 9: a 6748 10: a 6749 11: a 6750 12: a 6751 13: a 6752 14: a 6753 6754 /a*\d/BZ 6755 ------------------------------------------------------------------ 6756 Bra 6757 a*+ 6758 \d 6759 Ket 6760 End 6761 ------------------------------------------------------------------ 6762 6763 /a*\D/BZ 6764 ------------------------------------------------------------------ 6765 Bra 6766 a* 6767 \D 6768 Ket 6769 End 6770 ------------------------------------------------------------------ 6771 6772 /0*\d/BZ 6773 ------------------------------------------------------------------ 6774 Bra 6775 0* 6776 \d 6777 Ket 6778 End 6779 ------------------------------------------------------------------ 6780 6781 /0*\D/BZ 6782 ------------------------------------------------------------------ 6783 Bra 6784 0*+ 6785 \D 6786 Ket 6787 End 6788 ------------------------------------------------------------------ 6789 6790 /a*\s/BZ 6791 ------------------------------------------------------------------ 6792 Bra 6793 a*+ 6794 \s 6795 Ket 6796 End 6797 ------------------------------------------------------------------ 6798 6799 /a*\S/BZ 6800 ------------------------------------------------------------------ 6801 Bra 6802 a* 6803 \S 6804 Ket 6805 End 6806 ------------------------------------------------------------------ 6807 6808 / *\s/BZ 6809 ------------------------------------------------------------------ 6810 Bra 6811 * 6812 \s 6813 Ket 6814 End 6815 ------------------------------------------------------------------ 6816 6817 / *\S/BZ 6818 ------------------------------------------------------------------ 6819 Bra 6820 *+ 6821 \S 6822 Ket 6823 End 6824 ------------------------------------------------------------------ 6825 6826 /a*\w/BZ 6827 ------------------------------------------------------------------ 6828 Bra 6829 a* 6830 \w 6831 Ket 6832 End 6833 ------------------------------------------------------------------ 6834 6835 /a*\W/BZ 6836 ------------------------------------------------------------------ 6837 Bra 6838 a*+ 6839 \W 6840 Ket 6841 End 6842 ------------------------------------------------------------------ 6843 6844 /=*\w/BZ 6845 ------------------------------------------------------------------ 6846 Bra 6847 =*+ 6848 \w 6849 Ket 6850 End 6851 ------------------------------------------------------------------ 6852 6853 /=*\W/BZ 6854 ------------------------------------------------------------------ 6855 Bra 6856 =* 6857 \W 6858 Ket 6859 End 6860 ------------------------------------------------------------------ 6861 6862 /\d*a/BZ 6863 ------------------------------------------------------------------ 6864 Bra 6865 \d*+ 6866 a 6867 Ket 6868 End 6869 ------------------------------------------------------------------ 6870 6871 /\d*2/BZ 6872 ------------------------------------------------------------------ 6873 Bra 6874 \d* 6875 2 6876 Ket 6877 End 6878 ------------------------------------------------------------------ 6879 6880 /\d*\d/BZ 6881 ------------------------------------------------------------------ 6882 Bra 6883 \d* 6884 \d 6885 Ket 6886 End 6887 ------------------------------------------------------------------ 6888 6889 /\d*\D/BZ 6890 ------------------------------------------------------------------ 6891 Bra 6892 \d*+ 6893 \D 6894 Ket 6895 End 6896 ------------------------------------------------------------------ 6897 6898 /\d*\s/BZ 6899 ------------------------------------------------------------------ 6900 Bra 6901 \d*+ 6902 \s 6903 Ket 6904 End 6905 ------------------------------------------------------------------ 6906 6907 /\d*\S/BZ 6908 ------------------------------------------------------------------ 6909 Bra 6910 \d* 6911 \S 6912 Ket 6913 End 6914 ------------------------------------------------------------------ 6915 6916 /\d*\w/BZ 6917 ------------------------------------------------------------------ 6918 Bra 6919 \d* 6920 \w 6921 Ket 6922 End 6923 ------------------------------------------------------------------ 6924 6925 /\d*\W/BZ 6926 ------------------------------------------------------------------ 6927 Bra 6928 \d*+ 6929 \W 6930 Ket 6931 End 6932 ------------------------------------------------------------------ 6933 6934 /\D*a/BZ 6935 ------------------------------------------------------------------ 6936 Bra 6937 \D* 6938 a 6939 Ket 6940 End 6941 ------------------------------------------------------------------ 6942 6943 /\D*2/BZ 6944 ------------------------------------------------------------------ 6945 Bra 6946 \D*+ 6947 2 6948 Ket 6949 End 6950 ------------------------------------------------------------------ 6951 6952 /\D*\d/BZ 6953 ------------------------------------------------------------------ 6954 Bra 6955 \D*+ 6956 \d 6957 Ket 6958 End 6959 ------------------------------------------------------------------ 6960 6961 /\D*\D/BZ 6962 ------------------------------------------------------------------ 6963 Bra 6964 \D* 6965 \D 6966 Ket 6967 End 6968 ------------------------------------------------------------------ 6969 6970 /\D*\s/BZ 6971 ------------------------------------------------------------------ 6972 Bra 6973 \D* 6974 \s 6975 Ket 6976 End 6977 ------------------------------------------------------------------ 6978 6979 /\D*\S/BZ 6980 ------------------------------------------------------------------ 6981 Bra 6982 \D* 6983 \S 6984 Ket 6985 End 6986 ------------------------------------------------------------------ 6987 6988 /\D*\w/BZ 6989 ------------------------------------------------------------------ 6990 Bra 6991 \D* 6992 \w 6993 Ket 6994 End 6995 ------------------------------------------------------------------ 6996 6997 /\D*\W/BZ 6998 ------------------------------------------------------------------ 6999 Bra 7000 \D* 7001 \W 7002 Ket 7003 End 7004 ------------------------------------------------------------------ 7005 7006 /\s*a/BZ 7007 ------------------------------------------------------------------ 7008 Bra 7009 \s*+ 7010 a 7011 Ket 7012 End 7013 ------------------------------------------------------------------ 7014 7015 /\s*2/BZ 7016 ------------------------------------------------------------------ 7017 Bra 7018 \s*+ 7019 2 7020 Ket 7021 End 7022 ------------------------------------------------------------------ 7023 7024 /\s*\d/BZ 7025 ------------------------------------------------------------------ 7026 Bra 7027 \s*+ 7028 \d 7029 Ket 7030 End 7031 ------------------------------------------------------------------ 7032 7033 /\s*\D/BZ 7034 ------------------------------------------------------------------ 7035 Bra 7036 \s* 7037 \D 7038 Ket 7039 End 7040 ------------------------------------------------------------------ 7041 7042 /\s*\s/BZ 7043 ------------------------------------------------------------------ 7044 Bra 7045 \s* 7046 \s 7047 Ket 7048 End 7049 ------------------------------------------------------------------ 7050 7051 /\s*\S/BZ 7052 ------------------------------------------------------------------ 7053 Bra 7054 \s*+ 7055 \S 7056 Ket 7057 End 7058 ------------------------------------------------------------------ 7059 7060 /\s*\w/BZ 7061 ------------------------------------------------------------------ 7062 Bra 7063 \s*+ 7064 \w 7065 Ket 7066 End 7067 ------------------------------------------------------------------ 7068 7069 /\s*\W/BZ 7070 ------------------------------------------------------------------ 7071 Bra 7072 \s* 7073 \W 7074 Ket 7075 End 7076 ------------------------------------------------------------------ 7077 7078 /\S*a/BZ 7079 ------------------------------------------------------------------ 7080 Bra 7081 \S* 7082 a 7083 Ket 7084 End 7085 ------------------------------------------------------------------ 7086 7087 /\S*2/BZ 7088 ------------------------------------------------------------------ 7089 Bra 7090 \S* 7091 2 7092 Ket 7093 End 7094 ------------------------------------------------------------------ 7095 7096 /\S*\d/BZ 7097 ------------------------------------------------------------------ 7098 Bra 7099 \S* 7100 \d 7101 Ket 7102 End 7103 ------------------------------------------------------------------ 7104 7105 /\S*\D/BZ 7106 ------------------------------------------------------------------ 7107 Bra 7108 \S* 7109 \D 7110 Ket 7111 End 7112 ------------------------------------------------------------------ 7113 7114 /\S*\s/BZ 7115 ------------------------------------------------------------------ 7116 Bra 7117 \S*+ 7118 \s 7119 Ket 7120 End 7121 ------------------------------------------------------------------ 7122 7123 /\S*\S/BZ 7124 ------------------------------------------------------------------ 7125 Bra 7126 \S* 7127 \S 7128 Ket 7129 End 7130 ------------------------------------------------------------------ 7131 7132 /\S*\w/BZ 7133 ------------------------------------------------------------------ 7134 Bra 7135 \S* 7136 \w 7137 Ket 7138 End 7139 ------------------------------------------------------------------ 7140 7141 /\S*\W/BZ 7142 ------------------------------------------------------------------ 7143 Bra 7144 \S* 7145 \W 7146 Ket 7147 End 7148 ------------------------------------------------------------------ 7149 7150 /\w*a/BZ 7151 ------------------------------------------------------------------ 7152 Bra 7153 \w* 7154 a 7155 Ket 7156 End 7157 ------------------------------------------------------------------ 7158 7159 /\w*2/BZ 7160 ------------------------------------------------------------------ 7161 Bra 7162 \w* 7163 2 7164 Ket 7165 End 7166 ------------------------------------------------------------------ 7167 7168 /\w*\d/BZ 7169 ------------------------------------------------------------------ 7170 Bra 7171 \w* 7172 \d 7173 Ket 7174 End 7175 ------------------------------------------------------------------ 7176 7177 /\w*\D/BZ 7178 ------------------------------------------------------------------ 7179 Bra 7180 \w* 7181 \D 7182 Ket 7183 End 7184 ------------------------------------------------------------------ 7185 7186 /\w*\s/BZ 7187 ------------------------------------------------------------------ 7188 Bra 7189 \w*+ 7190 \s 7191 Ket 7192 End 7193 ------------------------------------------------------------------ 7194 7195 /\w*\S/BZ 7196 ------------------------------------------------------------------ 7197 Bra 7198 \w* 7199 \S 7200 Ket 7201 End 7202 ------------------------------------------------------------------ 7203 7204 /\w*\w/BZ 7205 ------------------------------------------------------------------ 7206 Bra 7207 \w* 7208 \w 7209 Ket 7210 End 7211 ------------------------------------------------------------------ 7212 7213 /\w*\W/BZ 7214 ------------------------------------------------------------------ 7215 Bra 7216 \w*+ 7217 \W 7218 Ket 7219 End 7220 ------------------------------------------------------------------ 7221 7222 /\W*a/BZ 7223 ------------------------------------------------------------------ 7224 Bra 7225 \W*+ 7226 a 7227 Ket 7228 End 7229 ------------------------------------------------------------------ 7230 7231 /\W*2/BZ 7232 ------------------------------------------------------------------ 7233 Bra 7234 \W*+ 7235 2 7236 Ket 7237 End 7238 ------------------------------------------------------------------ 7239 7240 /\W*\d/BZ 7241 ------------------------------------------------------------------ 7242 Bra 7243 \W*+ 7244 \d 7245 Ket 7246 End 7247 ------------------------------------------------------------------ 7248 7249 /\W*\D/BZ 7250 ------------------------------------------------------------------ 7251 Bra 7252 \W* 7253 \D 7254 Ket 7255 End 7256 ------------------------------------------------------------------ 7257 7258 /\W*\s/BZ 7259 ------------------------------------------------------------------ 7260 Bra 7261 \W* 7262 \s 7263 Ket 7264 End 7265 ------------------------------------------------------------------ 7266 7267 /\W*\S/BZ 7268 ------------------------------------------------------------------ 7269 Bra 7270 \W* 7271 \S 7272 Ket 7273 End 7274 ------------------------------------------------------------------ 7275 7276 /\W*\w/BZ 7277 ------------------------------------------------------------------ 7278 Bra 7279 \W*+ 7280 \w 7281 Ket 7282 End 7283 ------------------------------------------------------------------ 7284 7285 /\W*\W/BZ 7286 ------------------------------------------------------------------ 7287 Bra 7288 \W* 7289 \W 7290 Ket 7291 End 7292 ------------------------------------------------------------------ 7293 7294 /[^a]+a/BZ 7295 ------------------------------------------------------------------ 7296 Bra 7297 [^a]++ 7298 a 7299 Ket 7300 End 7301 ------------------------------------------------------------------ 7302 7303 /[^a]+a/BZi 7304 ------------------------------------------------------------------ 7305 Bra 7306 [^A]++ 7307 NC a 7308 Ket 7309 End 7310 ------------------------------------------------------------------ 7311 7312 /[^a]+A/BZi 7313 ------------------------------------------------------------------ 7314 Bra 7315 [^A]++ 7316 NC A 7317 Ket 7318 End 7319 ------------------------------------------------------------------ 7320 7321 /[^a]+b/BZ 7322 ------------------------------------------------------------------ 7323 Bra 7324 [^a]+ 7325 b 7326 Ket 7327 End 7328 ------------------------------------------------------------------ 7329 7330 /[^a]+\d/BZ 7331 ------------------------------------------------------------------ 7332 Bra 7333 [^a]+ 7334 \d 7335 Ket 7336 End 7337 ------------------------------------------------------------------ 7338 7339 /a*[^a]/BZ 7340 ------------------------------------------------------------------ 7341 Bra 7342 a* 7343 [^a] 7344 Ket 7345 End 7346 ------------------------------------------------------------------ 7347 7348 /(?P<abc>x)(?P<xyz>y)/I 7349 Capturing subpattern count = 2 7350 Named capturing subpatterns: 7351 abc 1 7352 xyz 2 7353 No options 7354 First char = 'x' 7355 Need char = 'y' 7356 xy\Cabc\Cxyz 7357 0: xy 7358 1: x 7359 2: y 7360 C x (1) abc 7361 C y (1) xyz 7362 7363 /(?<abc>x)(?'xyz'y)/I 7364 Capturing subpattern count = 2 7365 Named capturing subpatterns: 7366 abc 1 7367 xyz 2 7368 No options 7369 First char = 'x' 7370 Need char = 'y' 7371 xy\Cabc\Cxyz 7372 0: xy 7373 1: x 7374 2: y 7375 C x (1) abc 7376 C y (1) xyz 7377 7378 /(?<abc'x)(?'xyz'y)/I 7379 Failed: syntax error in subpattern name (missing terminator) at offset 6 7380 7381 /(?<abc>x)(?'xyz>y)/I 7382 Failed: syntax error in subpattern name (missing terminator) at offset 15 7383 7384 /(?P'abc'x)(?P<xyz>y)/I 7385 Failed: unrecognized character after (?P at offset 3 7386 7387 /^(?:(?(ZZ)a|b)(?<ZZ>X))+/ 7388 bXaX 7389 0: bXaX 7390 1: X 7391 bXbX 7392 0: bX 7393 1: X 7394 ** Failers 7395 No match 7396 aXaX 7397 No match 7398 aXbX 7399 No match 7400 7401 /^(?P>abc)(?<abcd>xxx)/ 7402 Failed: reference to non-existent subpattern at offset 8 7403 7404 /^(?P>abc)(?<abc>x|y)/ 7405 xx 7406 0: xx 7407 1: x 7408 xy 7409 0: xy 7410 1: y 7411 yy 7412 0: yy 7413 1: y 7414 yx 7415 0: yx 7416 1: x 7417 7418 /^(?P>abc)(?P<abc>x|y)/ 7419 xx 7420 0: xx 7421 1: x 7422 xy 7423 0: xy 7424 1: y 7425 yy 7426 0: yy 7427 1: y 7428 yx 7429 0: yx 7430 1: x 7431 7432 /^((?(abc)a|b)(?<abc>x|y))+/ 7433 bxay 7434 0: bxay 7435 1: ay 7436 2: y 7437 bxby 7438 0: bx 7439 1: bx 7440 2: x 7441 ** Failers 7442 No match 7443 axby 7444 No match 7445 7446 /^(((?P=abc)|X)(?<abc>x|y))+/ 7447 XxXxxx 7448 0: XxXxxx 7449 1: xx 7450 2: x 7451 3: x 7452 XxXyyx 7453 0: XxXyyx 7454 1: yx 7455 2: y 7456 3: x 7457 XxXyxx 7458 0: XxXy 7459 1: Xy 7460 2: X 7461 3: y 7462 ** Failers 7463 No match 7464 x 7465 No match 7466 7467 /^(?1)(abc)/ 7468 abcabc 7469 0: abcabc 7470 1: abc 7471 7472 /^(?:(?:\1|X)(a|b))+/ 7473 Xaaa 7474 0: Xaaa 7475 1: a 7476 Xaba 7477 0: Xa 7478 1: a 7479 7480 /^[\E\Qa\E-\Qz\E]+/BZ 7481 ------------------------------------------------------------------ 7482 Bra 7483 ^ 7484 [a-z]+ 7485 Ket 7486 End 7487 ------------------------------------------------------------------ 7488 7489 /^[a\Q]bc\E]/BZ 7490 ------------------------------------------------------------------ 7491 Bra 7492 ^ 7493 [\]a-c] 7494 Ket 7495 End 7496 ------------------------------------------------------------------ 7497 7498 /^[a-\Q\E]/BZ 7499 ------------------------------------------------------------------ 7500 Bra 7501 ^ 7502 [\-a] 7503 Ket 7504 End 7505 ------------------------------------------------------------------ 7506 7507 /^(?P>abc)[()](?<abc>)/BZ 7508 ------------------------------------------------------------------ 7509 Bra 7510 ^ 7511 Once 7512 Recurse 7513 Ket 7514 [()] 7515 CBra 1 7516 Ket 7517 Ket 7518 End 7519 ------------------------------------------------------------------ 7520 7521 /^((?(abc)y)[()](?P<abc>x))+/BZ 7522 ------------------------------------------------------------------ 7523 Bra 7524 ^ 7525 CBra 1 7526 Cond 7527 2 Cond nref 7528 y 7529 Ket 7530 [()] 7531 CBra 2 7532 x 7533 Ket 7534 KetRmax 7535 Ket 7536 End 7537 ------------------------------------------------------------------ 7538 (xy)x 7539 0: (xy)x 7540 1: y)x 7541 2: x 7542 7543 /^(?P>abc)\Q()\E(?<abc>)/BZ 7544 ------------------------------------------------------------------ 7545 Bra 7546 ^ 7547 Once 7548 Recurse 7549 Ket 7550 () 7551 CBra 1 7552 Ket 7553 Ket 7554 End 7555 ------------------------------------------------------------------ 7556 7557 /^(?P>abc)[a\Q(]\E(](?<abc>)/BZ 7558 ------------------------------------------------------------------ 7559 Bra 7560 ^ 7561 Once 7562 Recurse 7563 Ket 7564 [(\]a] 7565 CBra 1 7566 Ket 7567 Ket 7568 End 7569 ------------------------------------------------------------------ 7570 7571 /^(?P>abc) # this is (a comment) 7572 (?<abc>)/BZx 7573 ------------------------------------------------------------------ 7574 Bra 7575 ^ 7576 Once 7577 Recurse 7578 Ket 7579 CBra 1 7580 Ket 7581 Ket 7582 End 7583 ------------------------------------------------------------------ 7584 7585 /^\W*(?:(?<one>(?<two>.)\W*(?&one)\W*\k<two>|)|(?<three>(?<four>.)\W*(?&three)\W*\k'four'|\W*.\W*))\W*$/Ii 7586 Capturing subpattern count = 4 7587 Max back reference = 4 7588 Named capturing subpatterns: 7589 four 4 7590 one 1 7591 three 3 7592 two 2 7593 Options: anchored caseless 7594 No first char 7595 No need char 7596 1221 7597 0: 1221 7598 1: 1221 7599 2: 1 7600 Satan, oscillate my metallic sonatas! 7601 0: Satan, oscillate my metallic sonatas! 7602 1: <unset> 7603 2: <unset> 7604 3: Satan, oscillate my metallic sonatas 7605 4: S 7606 A man, a plan, a canal: Panama! 7607 0: A man, a plan, a canal: Panama! 7608 1: <unset> 7609 2: <unset> 7610 3: A man, a plan, a canal: Panama 7611 4: A 7612 Able was I ere I saw Elba. 7613 0: Able was I ere I saw Elba. 7614 1: <unset> 7615 2: <unset> 7616 3: Able was I ere I saw Elba 7617 4: A 7618 *** Failers 7619 No match 7620 The quick brown fox 7621 No match 7622 7623 /(?=(\w+))\1:/I 7624 Capturing subpattern count = 1 7625 Max back reference = 1 7626 No options 7627 No first char 7628 Need char = ':' 7629 abcd: 7630 0: abcd: 7631 1: abcd 7632 7633 /(?=(?'abc'\w+))\k<abc>:/I 7634 Capturing subpattern count = 1 7635 Max back reference = 1 7636 Named capturing subpatterns: 7637 abc 1 7638 No options 7639 No first char 7640 Need char = ':' 7641 abcd: 7642 0: abcd: 7643 1: abcd 7644 7645 /(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J 7646 adaa 7647 0: adaa 7648 1: a 7649 2: d 7650 ** Failers 7651 No match 7652 addd 7653 No match 7654 adbb 7655 No match 7656 7657 /(?'abc'a|b)(?<abc>d|e)(?&abc){2}/J 7658 bdaa 7659 0: bdaa 7660 1: b 7661 2: d 7662 bdab 7663 0: bdab 7664 1: b 7665 2: d 7666 ** Failers 7667 No match 7668 bddd 7669 No match 7670 7671 /(?(<bc))/ 7672 Failed: malformed number or name after (?( at offset 6 7673 7674 /(?(''))/ 7675 Failed: assertion expected after (?( at offset 4 7676 7677 /(?('R')stuff)/ 7678 Failed: reference to non-existent subpattern at offset 7 7679 7680 /((abc (?(R) (?(R1)1) (?(R2)2) X | (?1) (?2) (?R) ))) /x 7681 abcabc1Xabc2XabcXabcabc 7682 0: abcabc1Xabc2XabcX 7683 1: abcabc1Xabc2XabcX 7684 2: abcabc1Xabc2XabcX 7685 7686 /(?<A> (?'B' abc (?(R) (?(R&A)1) (?(R&B)2) X | (?1) (?2) (?R) ))) /x 7687 abcabc1Xabc2XabcXabcabc 7688 0: abcabc1Xabc2XabcX 7689 1: abcabc1Xabc2XabcX 7690 2: abcabc1Xabc2XabcX 7691 7692 /(?<A> (?'B' abc (?(R) (?(R&1)1) (?(R&B)2) X | (?1) (?2) (?R) ))) /x 7693 Failed: reference to non-existent subpattern at offset 29 7694 7695 /(?<1> (?'B' abc (?(R) (?(R&1)1) (?(R&B)2) X | (?1) (?2) (?R) ))) /x 7696 abcabc1Xabc2XabcXabcabc 7697 0: abcabc1Xabc2XabcX 7698 1: abcabc1Xabc2XabcX 7699 2: abcabc1Xabc2XabcX 7700 7701 /^(?(DEFINE) abc | xyz ) /x 7702 Failed: DEFINE group contains more than one branch at offset 22 7703 7704 /(?(DEFINE) abc) xyz/xI 7705 Capturing subpattern count = 0 7706 Options: extended 7707 First char = 'x' 7708 Need char = 'z' 7709 7710 /(?(DEFINE) abc){3} xyz/x 7711 Failed: repeating a DEFINE group is not allowed at offset 17 7712 7713 /(a|)*\d/ 7714 \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 7715 No match 7716 \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4 7717 Matched, but too many substrings 7718 7719 /^a.b/<lf> 7720 a\rb 7721 0: a\x0db 7722 a\nb\<cr> 7723 0: a\x0ab 7724 a\x85b\<anycrlf> 7725 0: a\x85b 7726 ** Failers 7727 No match 7728 a\nb 7729 No match 7730 a\nb\<any> 7731 No match 7732 a\rb\<cr> 7733 No match 7734 a\rb\<any> 7735 No match 7736 a\x85b\<any> 7737 No match 7738 a\rb\<anycrlf> 7739 No match 7740 7741 /^abc./mgx<any> 7742 abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x85abc7 JUNK 7743 0: abc1 7744 0: abc2 7745 0: abc3 7746 0: abc4 7747 0: abc5 7748 0: abc6 7749 0: abc7 7750 7751 /abc.$/mgx<any> 7752 abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc7 abc9 7753 0: abc1 7754 0: abc2 7755 0: abc3 7756 0: abc4 7757 0: abc5 7758 0: abc6 7759 0: abc9 7760 7761 /a/<cr><any> 7762 7763 /a/<any><crlf> 7764 Failed: inconsistent NEWLINE options at offset 0 7765 7766 /^a\Rb/<bsr_unicode> 7767 a\nb 7768 0: a\x0ab 7769 a\rb 7770 0: a\x0db 7771 a\r\nb 7772 0: a\x0d\x0ab 7773 a\x0bb 7774 0: a\x0bb 7775 a\x0cb 7776 0: a\x0cb 7777 a\x85b 7778 0: a\x85b 7779 ** Failers 7780 No match 7781 a\n\rb 7782 No match 7783 7784 /^a\R*b/<bsr_unicode> 7785 ab 7786 0: ab 7787 a\nb 7788 0: a\x0ab 7789 a\rb 7790 0: a\x0db 7791 a\r\nb 7792 0: a\x0d\x0ab 7793 a\x0bb 7794 0: a\x0bb 7795 a\x0cb 7796 0: a\x0cb 7797 a\x85b 7798 0: a\x85b 7799 a\n\rb 7800 0: a\x0a\x0db 7801 a\n\r\x85\x0cb 7802 0: a\x0a\x0d\x85\x0cb 7803 7804 /^a\R+b/<bsr_unicode> 7805 a\nb 7806 0: a\x0ab 7807 a\rb 7808 0: a\x0db 7809 a\r\nb 7810 0: a\x0d\x0ab 7811 a\x0bb 7812 0: a\x0bb 7813 a\x0cb 7814 0: a\x0cb 7815 a\x85b 7816 0: a\x85b 7817 a\n\rb 7818 0: a\x0a\x0db 7819 a\n\r\x85\x0cb 7820 0: a\x0a\x0d\x85\x0cb 7821 ** Failers 7822 No match 7823 ab 7824 No match 7825 7826 /^a\R{1,3}b/<bsr_unicode> 7827 a\nb 7828 0: a\x0ab 7829 a\n\rb 7830 0: a\x0a\x0db 7831 a\n\r\x85b 7832 0: a\x0a\x0d\x85b 7833 a\r\n\r\nb 7834 0: a\x0d\x0a\x0d\x0ab 7835 a\r\n\r\n\r\nb 7836 0: a\x0d\x0a\x0d\x0a\x0d\x0ab 7837 a\n\r\n\rb 7838 0: a\x0a\x0d\x0a\x0db 7839 a\n\n\r\nb 7840 0: a\x0a\x0a\x0d\x0ab 7841 ** Failers 7842 No match 7843 a\n\n\n\rb 7844 No match 7845 a\r 7846 No match 7847 7848 /^a[\R]b/<bsr_unicode> 7849 aRb 7850 0: aRb 7851 ** Failers 7852 No match 7853 a\nb 7854 No match 7855 7856 /(?&abc)X(?<abc>P)/I 7857 Capturing subpattern count = 1 7858 Named capturing subpatterns: 7859 abc 1 7860 No options 7861 No first char 7862 Need char = 'P' 7863 abcPXP123 7864 0: PXP 7865 1: P 7866 7867 /(?1)X(?<abc>P)/I 7868 Capturing subpattern count = 1 7869 Named capturing subpatterns: 7870 abc 1 7871 No options 7872 No first char 7873 Need char = 'P' 7874 abcPXP123 7875 0: PXP 7876 1: P 7877 7878 /(?:a(?&abc)b)*(?<abc>x)/ 7879 123axbaxbaxbx456 7880 0: axbaxbaxbx 7881 1: x 7882 123axbaxbaxb456 7883 0: x 7884 1: x 7885 7886 /(?:a(?&abc)b){1,5}(?<abc>x)/ 7887 123axbaxbaxbx456 7888 0: axbaxbaxbx 7889 1: x 7890 7891 /(?:a(?&abc)b){2,5}(?<abc>x)/ 7892 123axbaxbaxbx456 7893 0: axbaxbaxbx 7894 1: x 7895 7896 /(?:a(?&abc)b){2,}(?<abc>x)/ 7897 123axbaxbaxbx456 7898 0: axbaxbaxbx 7899 1: x 7900 7901 /(abc)(?i:(?1))/ 7902 defabcabcxyz 7903 0: abcabc 7904 1: abc 7905 DEFabcABCXYZ 7906 No match 7907 7908 /(abc)(?:(?i)(?1))/ 7909 defabcabcxyz 7910 0: abcabc 7911 1: abc 7912 DEFabcABCXYZ 7913 No match 7914 7915 /^(a)\g-2/ 7916 Failed: reference to non-existent subpattern at offset 7 7917 7918 /^(a)\g/ 7919 Failed: a numbered reference must not be zero at offset 5 7920 7921 /^(a)\g{0}/ 7922 Failed: a numbered reference must not be zero at offset 8 7923 7924 /^(a)\g{3/ 7925 Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 8 7926 7927 /^(a)\g{4a}/ 7928 Failed: reference to non-existent subpattern at offset 9 7929 7930 /^a.b/<lf> 7931 a\rb 7932 0: a\x0db 7933 *** Failers 7934 No match 7935 a\nb 7936 No match 7937 7938 /.+foo/ 7939 afoo 7940 0: afoo 7941 ** Failers 7942 No match 7943 \r\nfoo 7944 No match 7945 \nfoo 7946 No match 7947 7948 /.+foo/<crlf> 7949 afoo 7950 0: afoo 7951 \nfoo 7952 0: \x0afoo 7953 ** Failers 7954 No match 7955 \r\nfoo 7956 No match 7957 7958 /.+foo/<any> 7959 afoo 7960 0: afoo 7961 ** Failers 7962 No match 7963 \nfoo 7964 No match 7965 \r\nfoo 7966 No match 7967 7968 /.+foo/s 7969 afoo 7970 0: afoo 7971 \r\nfoo 7972 0: \x0d\x0afoo 7973 \nfoo 7974 0: \x0afoo 7975 7976 /^$/mg<any> 7977 abc\r\rxyz 7978 0: 7979 abc\n\rxyz 7980 0: 7981 ** Failers 7982 No match 7983 abc\r\nxyz 7984 No match 7985 7986 /(?m)^$/<any>g+ 7987 abc\r\n\r\n 7988 0: 7989 0+ \x0d\x0a 7990 7991 /(?m)^$|^\r\n/<any>g+ 7992 abc\r\n\r\n 7993 0: 7994 0+ \x0d\x0a 7995 0: \x0d\x0a 7996 0+ 7997 7998 /(?m)$/<any>g+ 7999 abc\r\n\r\n 8000 0: 8001 0+ \x0d\x0a\x0d\x0a 8002 0: 8003 0+ \x0d\x0a 8004 0: 8005 0+ 8006 8007 /abc.$/mgx<anycrlf> 8008 abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc9 8009 0: abc1 8010 0: abc4 8011 0: abc5 8012 0: abc9 8013 8014 /^X/m 8015 XABC 8016 0: X 8017 ** Failers 8018 No match 8019 XABC\B 8020 No match 8021 8022 /(ab|c)(?-1)/BZ 8023 ------------------------------------------------------------------ 8024 Bra 8025 CBra 1 8026 ab 8027 Alt 8028 c 8029 Ket 8030 Once 8031 Recurse 8032 Ket 8033 Ket 8034 End 8035 ------------------------------------------------------------------ 8036 abc 8037 0: abc 8038 1: ab 8039 8040 /xy(?+1)(abc)/BZ 8041 ------------------------------------------------------------------ 8042 Bra 8043 xy 8044 Once 8045 Recurse 8046 Ket 8047 CBra 1 8048 abc 8049 Ket 8050 Ket 8051 End 8052 ------------------------------------------------------------------ 8053 xyabcabc 8054 0: xyabcabc 8055 1: abc 8056 ** Failers 8057 No match 8058 xyabc 8059 No match 8060 8061 /x(?-0)y/ 8062 Failed: a numbered reference must not be zero at offset 5 8063 8064 /x(?-1)y/ 8065 Failed: reference to non-existent subpattern at offset 5 8066 8067 /x(?+0)y/ 8068 Failed: a numbered reference must not be zero at offset 5 8069 8070 /x(?+1)y/ 8071 Failed: reference to non-existent subpattern at offset 5 8072 8073 /^(abc)?(?(-1)X|Y)/BZ 8074 ------------------------------------------------------------------ 8075 Bra 8076 ^ 8077 Brazero 8078 CBra 1 8079 abc 8080 Ket 8081 Cond 8082 1 Cond ref 8083 X 8084 Alt 8085 Y 8086 Ket 8087 Ket 8088 End 8089 ------------------------------------------------------------------ 8090 abcX 8091 0: abcX 8092 1: abc 8093 Y 8094 0: Y 8095 ** Failers 8096 No match 8097 abcY 8098 No match 8099 8100 /^((?(+1)X|Y)(abc))+/BZ 8101 ------------------------------------------------------------------ 8102 Bra 8103 ^ 8104 CBra 1 8105 Cond 8106 2 Cond ref 8107 X 8108 Alt 8109 Y 8110 Ket 8111 CBra 2 8112 abc 8113 Ket 8114 KetRmax 8115 Ket 8116 End 8117 ------------------------------------------------------------------ 8118 YabcXabc 8119 0: YabcXabc 8120 1: Xabc 8121 2: abc 8122 YabcXabcXabc 8123 0: YabcXabcXabc 8124 1: Xabc 8125 2: abc 8126 ** Failers 8127 No match 8128 XabcXabc 8129 No match 8130 8131 /(?(-1)a)/BZ 8132 Failed: reference to non-existent subpattern at offset 6 8133 8134 /((?(-1)a))/BZ 8135 ------------------------------------------------------------------ 8136 Bra 8137 CBra 1 8138 Cond 8139 1 Cond ref 8140 a 8141 Ket 8142 Ket 8143 Ket 8144 End 8145 ------------------------------------------------------------------ 8146 8147 /((?(-2)a))/BZ 8148 Failed: reference to non-existent subpattern at offset 7 8149 8150 /^(?(+1)X|Y)(.)/BZ 8151 ------------------------------------------------------------------ 8152 Bra 8153 ^ 8154 Cond 8155 1 Cond ref 8156 X 8157 Alt 8158 Y 8159 Ket 8160 CBra 1 8161 Any 8162 Ket 8163 Ket 8164 End 8165 ------------------------------------------------------------------ 8166 Y! 8167 0: Y! 8168 1: ! 8169 8170 /(?<A>tom|bon)-\k{A}/ 8171 tom-tom 8172 0: tom-tom 8173 1: tom 8174 bon-bon 8175 0: bon-bon 8176 1: bon 8177 ** Failers 8178 No match 8179 tom-bon 8180 No match 8181 8182 /\g{A/ 8183 Failed: syntax error in subpattern name (missing terminator) at offset 4 8184 8185 /(?|(abc)|(xyz))/BZ 8186 ------------------------------------------------------------------ 8187 Bra 8188 Bra 8189 CBra 1 8190 abc 8191 Ket 8192 Alt 8193 CBra 1 8194 xyz 8195 Ket 8196 Ket 8197 Ket 8198 End 8199 ------------------------------------------------------------------ 8200 >abc< 8201 0: abc 8202 1: abc 8203 >xyz< 8204 0: xyz 8205 1: xyz 8206 8207 /(x)(?|(abc)|(xyz))(x)/BZ 8208 ------------------------------------------------------------------ 8209 Bra 8210 CBra 1 8211 x 8212 Ket 8213 Bra 8214 CBra 2 8215 abc 8216 Ket 8217 Alt 8218 CBra 2 8219 xyz 8220 Ket 8221 Ket 8222 CBra 3 8223 x 8224 Ket 8225 Ket 8226 End 8227 ------------------------------------------------------------------ 8228 xabcx 8229 0: xabcx 8230 1: x 8231 2: abc 8232 3: x 8233 xxyzx 8234 0: xxyzx 8235 1: x 8236 2: xyz 8237 3: x 8238 8239 /(x)(?|(abc)(pqr)|(xyz))(x)/BZ 8240 ------------------------------------------------------------------ 8241 Bra 8242 CBra 1 8243 x 8244 Ket 8245 Bra 8246 CBra 2 8247 abc 8248 Ket 8249 CBra 3 8250 pqr 8251 Ket 8252 Alt 8253 CBra 2 8254 xyz 8255 Ket 8256 Ket 8257 CBra 4 8258 x 8259 Ket 8260 Ket 8261 End 8262 ------------------------------------------------------------------ 8263 xabcpqrx 8264 0: xabcpqrx 8265 1: x 8266 2: abc 8267 3: pqr 8268 4: x 8269 xxyzx 8270 0: xxyzx 8271 1: x 8272 2: xyz 8273 3: <unset> 8274 4: x 8275 8276 /[\h]/BZ 8277 ------------------------------------------------------------------ 8278 Bra 8279 [\x09 \xa0] 8280 Ket 8281 End 8282 ------------------------------------------------------------------ 8283 >\x09< 8284 0: \x09 8285 8286 /[\h]+/BZ 8287 ------------------------------------------------------------------ 8288 Bra 8289 [\x09 \xa0]+ 8290 Ket 8291 End 8292 ------------------------------------------------------------------ 8293 >\x09\x20\xa0< 8294 0: \x09 \xa0 8295 8296 /[\v]/BZ 8297 ------------------------------------------------------------------ 8298 Bra 8299 [\x0a-\x0d\x85] 8300 Ket 8301 End 8302 ------------------------------------------------------------------ 8303 8304 /[\H]/BZ 8305 ------------------------------------------------------------------ 8306 Bra 8307 [\x00-\x08\x0a-\x1f!-\x9f\xa1-\xff] 8308 Ket 8309 End 8310 ------------------------------------------------------------------ 8311 8312 /[^\h]/BZ 8313 ------------------------------------------------------------------ 8314 Bra 8315 [\x00-\x08\x0a-\x1f!-\x9f\xa1-\xff] (neg) 8316 Ket 8317 End 8318 ------------------------------------------------------------------ 8319 8320 /[\V]/BZ 8321 ------------------------------------------------------------------ 8322 Bra 8323 [\x00-\x09\x0e-\x84\x86-\xff] 8324 Ket 8325 End 8326 ------------------------------------------------------------------ 8327 8328 /[\x0a\V]/BZ 8329 ------------------------------------------------------------------ 8330 Bra 8331 [\x00-\x0a\x0e-\x84\x86-\xff] 8332 Ket 8333 End 8334 ------------------------------------------------------------------ 8335 8336 /\H++X/BZ 8337 ------------------------------------------------------------------ 8338 Bra 8339 \H++ 8340 X 8341 Ket 8342 End 8343 ------------------------------------------------------------------ 8344 ** Failers 8345 No match 8346 XXXX 8347 No match 8348 8349 /\H+\hY/BZ 8350 ------------------------------------------------------------------ 8351 Bra 8352 \H++ 8353 \h 8354 Y 8355 Ket 8356 End 8357 ------------------------------------------------------------------ 8358 XXXX Y 8359 0: XXXX Y 8360 8361 /\H+ Y/BZ 8362 ------------------------------------------------------------------ 8363 Bra 8364 \H++ 8365 Y 8366 Ket 8367 End 8368 ------------------------------------------------------------------ 8369 8370 /\h+A/BZ 8371 ------------------------------------------------------------------ 8372 Bra 8373 \h++ 8374 A 8375 Ket 8376 End 8377 ------------------------------------------------------------------ 8378 8379 /\v*B/BZ 8380 ------------------------------------------------------------------ 8381 Bra 8382 \v*+ 8383 B 8384 Ket 8385 End 8386 ------------------------------------------------------------------ 8387 8388 /\V+\x0a/BZ 8389 ------------------------------------------------------------------ 8390 Bra 8391 \V++ 8392 \x0a 8393 Ket 8394 End 8395 ------------------------------------------------------------------ 8396 8397 /A+\h/BZ 8398 ------------------------------------------------------------------ 8399 Bra 8400 A++ 8401 \h 8402 Ket 8403 End 8404 ------------------------------------------------------------------ 8405 8406 / *\H/BZ 8407 ------------------------------------------------------------------ 8408 Bra 8409 *+ 8410 \H 8411 Ket 8412 End 8413 ------------------------------------------------------------------ 8414 8415 /A*\v/BZ 8416 ------------------------------------------------------------------ 8417 Bra 8418 A*+ 8419 \v 8420 Ket 8421 End 8422 ------------------------------------------------------------------ 8423 8424 /\x0b*\V/BZ 8425 ------------------------------------------------------------------ 8426 Bra 8427 \x0b*+ 8428 \V 8429 Ket 8430 End 8431 ------------------------------------------------------------------ 8432 8433 /\d+\h/BZ 8434 ------------------------------------------------------------------ 8435 Bra 8436 \d++ 8437 \h 8438 Ket 8439 End 8440 ------------------------------------------------------------------ 8441 8442 /\d*\v/BZ 8443 ------------------------------------------------------------------ 8444 Bra 8445 \d*+ 8446 \v 8447 Ket 8448 End 8449 ------------------------------------------------------------------ 8450 8451 /S+\h\S+\v/BZ 8452 ------------------------------------------------------------------ 8453 Bra 8454 S++ 8455 \h 8456 \S++ 8457 \v 8458 Ket 8459 End 8460 ------------------------------------------------------------------ 8461 8462 /\w{3,}\h\w+\v/BZ 8463 ------------------------------------------------------------------ 8464 Bra 8465 \w{3} 8466 \w*+ 8467 \h 8468 \w++ 8469 \v 8470 Ket 8471 End 8472 ------------------------------------------------------------------ 8473 8474 /\h+\d\h+\w\h+\S\h+\H/BZ 8475 ------------------------------------------------------------------ 8476 Bra 8477 \h++ 8478 \d 8479 \h++ 8480 \w 8481 \h++ 8482 \S 8483 \h++ 8484 \H 8485 Ket 8486 End 8487 ------------------------------------------------------------------ 8488 8489 /\v+\d\v+\w\v+\S\v+\V/BZ 8490 ------------------------------------------------------------------ 8491 Bra 8492 \v++ 8493 \d 8494 \v++ 8495 \w 8496 \v+ 8497 \S 8498 \v++ 8499 \V 8500 Ket 8501 End 8502 ------------------------------------------------------------------ 8503 8504 /\H+\h\H+\d/BZ 8505 ------------------------------------------------------------------ 8506 Bra 8507 \H++ 8508 \h 8509 \H+ 8510 \d 8511 Ket 8512 End 8513 ------------------------------------------------------------------ 8514 8515 /\V+\v\V+\w/BZ 8516 ------------------------------------------------------------------ 8517 Bra 8518 \V++ 8519 \v 8520 \V+ 8521 \w 8522 Ket 8523 End 8524 ------------------------------------------------------------------ 8525 8526 /\( (?: [^()]* | (?R) )* \)/x 8527 (0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(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) 8528 0: (0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(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) 8529 8530 /[\E]AAA/ 8531 Failed: missing terminating ] for character class at offset 7 8532 8533 /[\Q\E]AAA/ 8534 Failed: missing terminating ] for character class at offset 9 8535 8536 /[^\E]AAA/ 8537 Failed: missing terminating ] for character class at offset 8 8538 8539 /[^\Q\E]AAA/ 8540 Failed: missing terminating ] for character class at offset 10 8541 8542 /[\E^]AAA/ 8543 Failed: missing terminating ] for character class at offset 8 8544 8545 /[\Q\E^]AAA/ 8546 Failed: missing terminating ] for character class at offset 10 8547 8548 /A(*PRUNE)B(*SKIP)C(*THEN)D(*COMMIT)E(*F)F(*FAIL)G(?!)H(*ACCEPT)I/BZ 8549 ------------------------------------------------------------------ 8550 Bra 8551 A 8552 *PRUNE 8553 B 8554 *SKIP 8555 C 8556 *THEN 8557 D 8558 *COMMIT 8559 E 8560 *FAIL 8561 F 8562 *FAIL 8563 G 8564 *FAIL 8565 H 8566 *ACCEPT 8567 I 8568 Ket 8569 End 8570 ------------------------------------------------------------------ 8571 8572 /^a+(*FAIL)/C 8573 aaaaaa 8574 --->aaaaaa 8575 +0 ^ ^ 8576 +1 ^ a+ 8577 +3 ^ ^ (*FAIL) 8578 +3 ^ ^ (*FAIL) 8579 +3 ^ ^ (*FAIL) 8580 +3 ^ ^ (*FAIL) 8581 +3 ^ ^ (*FAIL) 8582 +3 ^^ (*FAIL) 8583 No match 8584 8585 /a+b?c+(*FAIL)/C 8586 aaabccc 8587 --->aaabccc 8588 +0 ^ a+ 8589 +2 ^ ^ b? 8590 +4 ^ ^ c+ 8591 +6 ^ ^ (*FAIL) 8592 +6 ^ ^ (*FAIL) 8593 +6 ^ ^ (*FAIL) 8594 +4 ^ ^ c+ 8595 +2 ^ ^ b? 8596 +4 ^ ^ c+ 8597 +2 ^^ b? 8598 +4 ^^ c+ 8599 +0 ^ a+ 8600 +2 ^ ^ b? 8601 +4 ^ ^ c+ 8602 +6 ^ ^ (*FAIL) 8603 +6 ^ ^ (*FAIL) 8604 +6 ^ ^ (*FAIL) 8605 +4 ^ ^ c+ 8606 +2 ^^ b? 8607 +4 ^^ c+ 8608 +0 ^ a+ 8609 +2 ^^ b? 8610 +4 ^ ^ c+ 8611 +6 ^ ^ (*FAIL) 8612 +6 ^ ^ (*FAIL) 8613 +6 ^ ^ (*FAIL) 8614 +4 ^^ c+ 8615 No match 8616 8617 /a+b?(*PRUNE)c+(*FAIL)/C 8618 aaabccc 8619 --->aaabccc 8620 +0 ^ a+ 8621 +2 ^ ^ b? 8622 +4 ^ ^ (*PRUNE) 8623 +12 ^ ^ c+ 8624 +14 ^ ^ (*FAIL) 8625 +14 ^ ^ (*FAIL) 8626 +14 ^ ^ (*FAIL) 8627 +0 ^ a+ 8628 +2 ^ ^ b? 8629 +4 ^ ^ (*PRUNE) 8630 +12 ^ ^ c+ 8631 +14 ^ ^ (*FAIL) 8632 +14 ^ ^ (*FAIL) 8633 +14 ^ ^ (*FAIL) 8634 +0 ^ a+ 8635 +2 ^^ b? 8636 +4 ^ ^ (*PRUNE) 8637 +12 ^ ^ c+ 8638 +14 ^ ^ (*FAIL) 8639 +14 ^ ^ (*FAIL) 8640 +14 ^ ^ (*FAIL) 8641 No match 8642 8643 /a+b?(*COMMIT)c+(*FAIL)/C 8644 aaabccc 8645 --->aaabccc 8646 +0 ^ a+ 8647 +2 ^ ^ b? 8648 +4 ^ ^ (*COMMIT) 8649 +13 ^ ^ c+ 8650 +15 ^ ^ (*FAIL) 8651 +15 ^ ^ (*FAIL) 8652 +15 ^ ^ (*FAIL) 8653 No match 8654 8655 /a+b?(*SKIP)c+(*FAIL)/C 8656 aaabcccaaabccc 8657 --->aaabcccaaabccc 8658 +0 ^ a+ 8659 +2 ^ ^ b? 8660 +4 ^ ^ (*SKIP) 8661 +11 ^ ^ c+ 8662 +13 ^ ^ (*FAIL) 8663 +13 ^ ^ (*FAIL) 8664 +13 ^ ^ (*FAIL) 8665 +0 ^ a+ 8666 +2 ^ ^ b? 8667 +4 ^ ^ (*SKIP) 8668 +11 ^ ^ c+ 8669 +13 ^ ^ (*FAIL) 8670 +13 ^ ^ (*FAIL) 8671 +13 ^ ^ (*FAIL) 8672 No match 8673 8674 /a+b?(*THEN)c+(*FAIL)/C 8675 aaabccc 8676 --->aaabccc 8677 +0 ^ a+ 8678 +2 ^ ^ b? 8679 +4 ^ ^ (*THEN) 8680 +11 ^ ^ c+ 8681 +13 ^ ^ (*FAIL) 8682 +13 ^ ^ (*FAIL) 8683 +13 ^ ^ (*FAIL) 8684 +0 ^ a+ 8685 +2 ^ ^ b? 8686 +4 ^ ^ (*THEN) 8687 +11 ^ ^ c+ 8688 +13 ^ ^ (*FAIL) 8689 +13 ^ ^ (*FAIL) 8690 +13 ^ ^ (*FAIL) 8691 +0 ^ a+ 8692 +2 ^^ b? 8693 +4 ^ ^ (*THEN) 8694 +11 ^ ^ c+ 8695 +13 ^ ^ (*FAIL) 8696 +13 ^ ^ (*FAIL) 8697 +13 ^ ^ (*FAIL) 8698 No match 8699 8700 /a(*MARK)b/ 8701 Failed: (*MARK) must have an argument at offset 7 8702 8703 /(?i:A{1,}\6666666666)/ 8704 Failed: number is too big at offset 19 8705 8706 /\g6666666666/ 8707 Failed: number is too big at offset 11 8708 8709 /[\g6666666666]/ 8710 Failed: number is too big at offset 12 8711 8712 /(?1)\c[/ 8713 Failed: reference to non-existent subpattern at offset 3 8714 8715 /.+A/<crlf> 8716 \r\nA 8717 No match 8718 8719 /\nA/<crlf> 8720 \r\nA 8721 0: \x0aA 8722 8723 /[\r\n]A/<crlf> 8724 \r\nA 8725 0: \x0aA 8726 8727 /(\r|\n)A/<crlf> 8728 \r\nA 8729 0: \x0aA 8730 1: \x0a 8731 8732 /a(*CR)b/ 8733 Failed: (*VERB) not recognized at offset 5 8734 8735 /(*CR)a.b/ 8736 a\nb 8737 0: a\x0ab 8738 ** Failers 8739 No match 8740 a\rb 8741 No match 8742 8743 /(*CR)a.b/<lf> 8744 a\nb 8745 0: a\x0ab 8746 ** Failers 8747 No match 8748 a\rb 8749 No match 8750 8751 /(*LF)a.b/<CRLF> 8752 a\rb 8753 0: a\x0db 8754 ** Failers 8755 No match 8756 a\nb 8757 No match 8758 8759 /(*CRLF)a.b/ 8760 a\rb 8761 0: a\x0db 8762 a\nb 8763 0: a\x0ab 8764 ** Failers 8765 No match 8766 a\r\nb 8767 No match 8768 8769 /(*ANYCRLF)a.b/<CR> 8770 ** Failers 8771 No match 8772 a\rb 8773 No match 8774 a\nb 8775 No match 8776 a\r\nb 8777 No match 8778 8779 /(*ANY)a.b/<cr> 8780 ** Failers 8781 No match 8782 a\rb 8783 No match 8784 a\nb 8785 No match 8786 a\r\nb 8787 No match 8788 a\x85b 8789 No match 8790 8791 /(*ANY).*/g 8792 abc\r\ndef 8793 0: abc 8794 0: 8795 0: def 8796 0: 8797 8798 /(*ANYCRLF).*/g 8799 abc\r\ndef 8800 0: abc 8801 0: 8802 0: def 8803 0: 8804 8805 /(*CRLF).*/g 8806 abc\r\ndef 8807 0: abc 8808 0: 8809 0: def 8810 0: 8811 8812 /a\Rb/I<bsr_anycrlf> 8813 Capturing subpattern count = 0 8814 Options: bsr_anycrlf 8815 First char = 'a' 8816 Need char = 'b' 8817 a\rb 8818 0: a\x0db 8819 a\nb 8820 0: a\x0ab 8821 a\r\nb 8822 0: a\x0d\x0ab 8823 ** Failers 8824 No match 8825 a\x85b 8826 No match 8827 a\x0bb 8828 No match 8829 8830 /a\Rb/I<bsr_unicode> 8831 Capturing subpattern count = 0 8832 Options: bsr_unicode 8833 First char = 'a' 8834 Need char = 'b' 8835 a\rb 8836 0: a\x0db 8837 a\nb 8838 0: a\x0ab 8839 a\r\nb 8840 0: a\x0d\x0ab 8841 a\x85b 8842 0: a\x85b 8843 a\x0bb 8844 0: a\x0bb 8845 ** Failers 8846 No match 8847 a\x85b\<bsr_anycrlf> 8848 No match 8849 a\x0bb\<bsr_anycrlf> 8850 No match 8851 8852 /a\R?b/I<bsr_anycrlf> 8853 Capturing subpattern count = 0 8854 Options: bsr_anycrlf 8855 First char = 'a' 8856 Need char = 'b' 8857 a\rb 8858 0: a\x0db 8859 a\nb 8860 0: a\x0ab 8861 a\r\nb 8862 0: a\x0d\x0ab 8863 ** Failers 8864 No match 8865 a\x85b 8866 No match 8867 a\x0bb 8868 No match 8869 8870 /a\R?b/I<bsr_unicode> 8871 Capturing subpattern count = 0 8872 Options: bsr_unicode 8873 First char = 'a' 8874 Need char = 'b' 8875 a\rb 8876 0: a\x0db 8877 a\nb 8878 0: a\x0ab 8879 a\r\nb 8880 0: a\x0d\x0ab 8881 a\x85b 8882 0: a\x85b 8883 a\x0bb 8884 0: a\x0bb 8885 ** Failers 8886 No match 8887 a\x85b\<bsr_anycrlf> 8888 No match 8889 a\x0bb\<bsr_anycrlf> 8890 No match 8891 8892 /a\R{2,4}b/I<bsr_anycrlf> 8893 Capturing subpattern count = 0 8894 Options: bsr_anycrlf 8895 First char = 'a' 8896 Need char = 'b' 8897 a\r\n\nb 8898 0: a\x0d\x0a\x0ab 8899 a\n\r\rb 8900 0: a\x0a\x0d\x0db 8901 a\r\n\r\n\r\n\r\nb 8902 0: a\x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0ab 8903 ** Failers 8904 No match 8905 a\x85\85b 8906 No match 8907 a\x0b\0bb 8908 No match 8909 8910 /a\R{2,4}b/I<bsr_unicode> 8911 Capturing subpattern count = 0 8912 Options: bsr_unicode 8913 First char = 'a' 8914 Need char = 'b' 8915 a\r\rb 8916 0: a\x0d\x0db 8917 a\n\n\nb 8918 0: a\x0a\x0a\x0ab 8919 a\r\n\n\r\rb 8920 0: a\x0d\x0a\x0a\x0d\x0db 8921 a\x85\85b 8922 No match 8923 a\x0b\0bb 8924 No match 8925 ** Failers 8926 No match 8927 a\r\r\r\r\rb 8928 No match 8929 a\x85\85b\<bsr_anycrlf> 8930 No match 8931 a\x0b\0bb\<bsr_anycrlf> 8932 No match 8933 8934 /(*BSR_ANYCRLF)a\Rb/I 8935 Capturing subpattern count = 0 8936 Options: bsr_anycrlf 8937 First char = 'a' 8938 Need char = 'b' 8939 a\nb 8940 0: a\x0ab 8941 a\rb 8942 0: a\x0db 8943 8944 /(*BSR_UNICODE)a\Rb/I 8945 Capturing subpattern count = 0 8946 Options: bsr_unicode 8947 First char = 'a' 8948 Need char = 'b' 8949 a\x85b 8950 0: a\x85b 8951 8952 /(*BSR_ANYCRLF)(*CRLF)a\Rb/I 8953 Capturing subpattern count = 0 8954 Options: bsr_anycrlf 8955 Forced newline sequence: CRLF 8956 First char = 'a' 8957 Need char = 'b' 8958 a\nb 8959 0: a\x0ab 8960 a\rb 8961 0: a\x0db 8962 8963 /(*CRLF)(*BSR_UNICODE)a\Rb/I 8964 Capturing subpattern count = 0 8965 Options: bsr_unicode 8966 Forced newline sequence: CRLF 8967 First char = 'a' 8968 Need char = 'b' 8969 a\x85b 8970 0: a\x85b 8971 8972 /(*CRLF)(*BSR_ANYCRLF)(*CR)ab/I 8973 Capturing subpattern count = 0 8974 Options: bsr_anycrlf 8975 Forced newline sequence: CR 8976 First char = 'a' 8977 Need char = 'b' 8978 8979 /(?<a>)(?&)/ 8980 Failed: subpattern name expected at offset 9 8981 8982 /(?<abc>)(?&a)/ 8983 Failed: reference to non-existent subpattern at offset 12 8984 8985 /(?<a>)(?&aaaaaaaaaaaaaaaaaaaaaaa)/ 8986 Failed: reference to non-existent subpattern at offset 32 8987 8988 /(?+-a)/ 8989 Failed: digit expected after (?+ at offset 3 8990 8991 /(?-+a)/ 8992 Failed: unrecognized character after (? or (?- at offset 3 8993 8994 /(?(-1))/ 8995 Failed: reference to non-existent subpattern at offset 6 8996 8997 /(?(+10))/ 8998 Failed: reference to non-existent subpattern at offset 7 8999 9000 /(?(10))/ 9001 Failed: reference to non-existent subpattern at offset 6 9002 9003 /(?(+2))()()/ 9004 9005 /(?(2))()()/ 9006 9007 /\k''/ 9008 Failed: subpattern name expected at offset 3 9009 9010 /\k<>/ 9011 Failed: subpattern name expected at offset 3 9012 9013 /\k{}/ 9014 Failed: subpattern name expected at offset 3 9015 9016 /(?P=)/ 9017 Failed: subpattern name expected at offset 4 9018 9019 /(?P>)/ 9020 Failed: subpattern name expected at offset 4 9021 9022 /(?!\w)(?R)/ 9023 Failed: recursive call could loop indefinitely at offset 9 9024 9025 /(?=\w)(?R)/ 9026 Failed: recursive call could loop indefinitely at offset 9 9027 9028 /(?<!\w)(?R)/ 9029 Failed: recursive call could loop indefinitely at offset 10 9030 9031 /(?<=\w)(?R)/ 9032 Failed: recursive call could loop indefinitely at offset 10 9033 9034 /[[:foo:]]/ 9035 Failed: unknown POSIX class name at offset 3 9036 9037 /[[:1234:]]/ 9038 Failed: unknown POSIX class name at offset 3 9039 9040 /[[:f\oo:]]/ 9041 Failed: unknown POSIX class name at offset 3 9042 9043 /[[: :]]/ 9044 Failed: unknown POSIX class name at offset 3 9045 9046 /[[:...:]]/ 9047 Failed: unknown POSIX class name at offset 3 9048 9049 /[[:l\ower:]]/ 9050 Failed: unknown POSIX class name at offset 3 9051 9052 /[[:abc\:]]/ 9053 Failed: unknown POSIX class name at offset 3 9054 9055 /[abc[:x\]pqr:]]/ 9056 Failed: unknown POSIX class name at offset 6 9057 9058 /[[:a\dz:]]/ 9059 Failed: unknown POSIX class name at offset 3 9060 9061 /(^(a|b\g<-1'c))/ 9062 Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 15 9063 9064 /^(?+1)(?<a>x|y){0}z/ 9065 xzxx 9066 0: xz 9067 yzyy 9068 0: yz 9069 ** Failers 9070 No match 9071 xxz 9072 No match 9073 9074 /(\3)(\1)(a)/ 9075 cat 9076 No match 9077 9078 /(\3)(\1)(a)/<JS> 9079 cat 9080 0: a 9081 1: 9082 2: 9083 3: a 9084 9085 /TA]/ 9086 The ACTA] comes 9087 0: TA] 9088 9089 /TA]/<JS> 9090 Failed: ] is an invalid data character in JavaScript compatibility mode at offset 2 9091 9092 /(?2)[]a()b](abc)/ 9093 Failed: reference to non-existent subpattern at offset 3 9094 9095 /(?2)[^]a()b](abc)/ 9096 Failed: reference to non-existent subpattern at offset 3 9097 9098 /(?1)[]a()b](abc)/ 9099 abcbabc 9100 0: abcbabc 9101 1: abc 9102 ** Failers 9103 No match 9104 abcXabc 9105 No match 9106 9107 /(?1)[^]a()b](abc)/ 9108 abcXabc 9109 0: abcXabc 9110 1: abc 9111 ** Failers 9112 No match 9113 abcbabc 9114 No match 9115 9116 /(?2)[]a()b](abc)(xyz)/ 9117 xyzbabcxyz 9118 0: xyzbabcxyz 9119 1: abc 9120 2: xyz 9121 9122 /(?&N)[]a(?<N>)](?<M>abc)/ 9123 Failed: reference to non-existent subpattern at offset 4 9124 9125 /(?&N)[]a(?<N>)](abc)/ 9126 Failed: reference to non-existent subpattern at offset 4 9127 9128 /a[]b/ 9129 Failed: missing terminating ] for character class at offset 4 9130 9131 /a[^]b/ 9132 Failed: missing terminating ] for character class at offset 5 9133 9134 /a[]b/<JS> 9135 ** Failers 9136 No match 9137 ab 9138 No match 9139 9140 /a[]+b/<JS> 9141 ** Failers 9142 No match 9143 ab 9144 No match 9145 9146 /a[]*+b/<JS> 9147 ** Failers 9148 No match 9149 ab 9150 No match 9151 9152 /a[^]b/<JS> 9153 aXb 9154 0: aXb 9155 a\nb 9156 0: a\x0ab 9157 ** Failers 9158 No match 9159 ab 9160 No match 9161 9162 /a[^]+b/<JS> 9163 aXb 9164 0: aXb 9165 a\nX\nXb 9166 0: a\x0aX\x0aXb 9167 ** Failers 9168 No match 9169 ab 9170 No match 9171 9172 /a(?!)+b/ 9173 Failed: nothing to repeat at offset 5 9174 9175 /a(*FAIL)+b/ 9176 Failed: nothing to repeat at offset 8 9177 9178 /(abc|pqr|123){0}[xyz]/SI 9179 Capturing subpattern count = 1 9180 No options 9181 No first char 9182 No need char 9183 Subject length lower bound = 1 9184 Starting byte set: x y z 9185 9186 /(?(?=.*b)b|^)/CI 9187 Capturing subpattern count = 0 9188 Options: 9189 No first char 9190 No need char 9191 adc 9192 --->adc 9193 +0 ^ (?(?=.*b)b|^) 9194 +2 ^ (?=.*b) 9195 +5 ^ .* 9196 +7 ^ ^ b 9197 +7 ^ ^ b 9198 +7 ^^ b 9199 +7 ^ b 9200 +12 ^ ) 9201 +13 ^ 9202 0: 9203 abc 9204 --->abc 9205 +0 ^ (?(?=.*b)b|^) 9206 +2 ^ (?=.*b) 9207 +5 ^ .* 9208 +7 ^ ^ b 9209 +7 ^ ^ b 9210 +7 ^^ b 9211 +8 ^ ^ ) 9212 +9 ^ b 9213 +0 ^ (?(?=.*b)b|^) 9214 +2 ^ (?=.*b) 9215 +5 ^ .* 9216 +7 ^ ^ b 9217 +7 ^^ b 9218 +7 ^ b 9219 +8 ^^ ) 9220 +9 ^ b 9221 +10 ^^ | 9222 +13 ^^ 9223 0: b 9224 9225 /(?(?=b).*b|^d)/I 9226 Capturing subpattern count = 0 9227 No options 9228 No first char 9229 No need char 9230 9231 /(?(?=.*b).*b|^d)/I 9232 Capturing subpattern count = 0 9233 No options 9234 First char at start or follows newline 9235 No need char 9236 9237 /a?|b?/P 9238 abc 9239 0: a 9240 ** Failers 9241 0: 9242 ddd\N 9243 No match: POSIX code 17: match failed 9244 9245 /xyz/C 9246 xyz 9247 --->xyz 9248 +0 ^ x 9249 +1 ^^ y 9250 +2 ^ ^ z 9251 +3 ^ ^ 9252 0: xyz 9253 abcxyz 9254 --->abcxyz 9255 +0 ^ x 9256 +1 ^^ y 9257 +2 ^ ^ z 9258 +3 ^ ^ 9259 0: xyz 9260 abcxyz\Y 9261 --->abcxyz 9262 +0 ^ x 9263 +0 ^ x 9264 +0 ^ x 9265 +0 ^ x 9266 +1 ^^ y 9267 +2 ^ ^ z 9268 +3 ^ ^ 9269 0: xyz 9270 ** Failers 9271 No match 9272 abc 9273 No match 9274 abc\Y 9275 --->abc 9276 +0 ^ x 9277 +0 ^ x 9278 +0 ^ x 9279 +0 ^ x 9280 No match 9281 abcxypqr 9282 No match 9283 abcxypqr\Y 9284 --->abcxypqr 9285 +0 ^ x 9286 +0 ^ x 9287 +0 ^ x 9288 +0 ^ x 9289 +1 ^^ y 9290 +2 ^ ^ z 9291 +0 ^ x 9292 +0 ^ x 9293 +0 ^ x 9294 +0 ^ x 9295 +0 ^ x 9296 No match 9297 9298 /(*NO_START_OPT)xyz/C 9299 abcxyz 9300 --->abcxyz 9301 +15 ^ x 9302 +15 ^ x 9303 +15 ^ x 9304 +15 ^ x 9305 +16 ^^ y 9306 +17 ^ ^ z 9307 +18 ^ ^ 9308 0: xyz 9309 9310 /xyz/CY 9311 abcxyz 9312 --->abcxyz 9313 +0 ^ x 9314 +0 ^ x 9315 +0 ^ x 9316 +0 ^ x 9317 +1 ^^ y 9318 +2 ^ ^ z 9319 +3 ^ ^ 9320 0: xyz 9321 9322 /^"((?(?=[a])[^"])|b)*"$/C 9323 "ab" 9324 --->"ab" 9325 +0 ^ ^ 9326 +1 ^ " 9327 +2 ^^ ((?(?=[a])[^"])|b)* 9328 +3 ^^ (?(?=[a])[^"]) 9329 +5 ^^ (?=[a]) 9330 +8 ^^ [a] 9331 +11 ^ ^ ) 9332 +12 ^^ [^"] 9333 +16 ^ ^ ) 9334 +17 ^ ^ | 9335 +3 ^ ^ (?(?=[a])[^"]) 9336 +5 ^ ^ (?=[a]) 9337 +8 ^ ^ [a] 9338 +21 ^ ^ " 9339 +18 ^ ^ b 9340 +19 ^ ^ ) 9341 +3 ^ ^ (?(?=[a])[^"]) 9342 +5 ^ ^ (?=[a]) 9343 +8 ^ ^ [a] 9344 +21 ^ ^ " 9345 +22 ^ ^ $ 9346 +23 ^ ^ 9347 0: "ab" 9348 1: 9349 9350 /^"((?(?=[a])[^"])|b)*"$/ 9351 "ab" 9352 0: "ab" 9353 1: 9354 9355 /^X(?5)(a)(?|(b)|(q))(c)(d)Y/ 9356 Failed: reference to non-existent subpattern at offset 5 9357 9358 /^X(?&N)(a)(?|(b)|(q))(c)(d)(?<N>Y)/ 9359 XYabcdY 9360 0: XYabcdY 9361 1: a 9362 2: b 9363 3: c 9364 4: d 9365 5: Y 9366 9367 /Xa{2,4}b/ 9368 X\P 9369 Partial match: X 9370 Xa\P 9371 Partial match: Xa 9372 Xaa\P 9373 Partial match: Xaa 9374 Xaaa\P 9375 Partial match: Xaaa 9376 Xaaaa\P 9377 Partial match: Xaaaa 9378 9379 /Xa{2,4}?b/ 9380 X\P 9381 Partial match: X 9382 Xa\P 9383 Partial match: Xa 9384 Xaa\P 9385 Partial match: Xaa 9386 Xaaa\P 9387 Partial match: Xaaa 9388 Xaaaa\P 9389 Partial match: Xaaaa 9390 9391 /Xa{2,4}+b/ 9392 X\P 9393 Partial match: X 9394 Xa\P 9395 Partial match: Xa 9396 Xaa\P 9397 Partial match: Xaa 9398 Xaaa\P 9399 Partial match: Xaaa 9400 Xaaaa\P 9401 Partial match: Xaaaa 9402 9403 /X\d{2,4}b/ 9404 X\P 9405 Partial match: X 9406 X3\P 9407 Partial match: X3 9408 X33\P 9409 Partial match: X33 9410 X333\P 9411 Partial match: X333 9412 X3333\P 9413 Partial match: X3333 9414 9415 /X\d{2,4}?b/ 9416 X\P 9417 Partial match: X 9418 X3\P 9419 Partial match: X3 9420 X33\P 9421 Partial match: X33 9422 X333\P 9423 Partial match: X333 9424 X3333\P 9425 Partial match: X3333 9426 9427 /X\d{2,4}+b/ 9428 X\P 9429 Partial match: X 9430 X3\P 9431 Partial match: X3 9432 X33\P 9433 Partial match: X33 9434 X333\P 9435 Partial match: X333 9436 X3333\P 9437 Partial match: X3333 9438 9439 /X\D{2,4}b/ 9440 X\P 9441 Partial match: X 9442 Xa\P 9443 Partial match: Xa 9444 Xaa\P 9445 Partial match: Xaa 9446 Xaaa\P 9447 Partial match: Xaaa 9448 Xaaaa\P 9449 Partial match: Xaaaa 9450 9451 /X\D{2,4}?b/ 9452 X\P 9453 Partial match: X 9454 Xa\P 9455 Partial match: Xa 9456 Xaa\P 9457 Partial match: Xaa 9458 Xaaa\P 9459 Partial match: Xaaa 9460 Xaaaa\P 9461 Partial match: Xaaaa 9462 9463 /X\D{2,4}+b/ 9464 X\P 9465 Partial match: X 9466 Xa\P 9467 Partial match: Xa 9468 Xaa\P 9469 Partial match: Xaa 9470 Xaaa\P 9471 Partial match: Xaaa 9472 Xaaaa\P 9473 Partial match: Xaaaa 9474 9475 /X[abc]{2,4}b/ 9476 X\P 9477 Partial match: X 9478 Xa\P 9479 Partial match: Xa 9480 Xaa\P 9481 Partial match: Xaa 9482 Xaaa\P 9483 Partial match: Xaaa 9484 Xaaaa\P 9485 Partial match: Xaaaa 9486 9487 /X[abc]{2,4}?b/ 9488 X\P 9489 Partial match: X 9490 Xa\P 9491 Partial match: Xa 9492 Xaa\P 9493 Partial match: Xaa 9494 Xaaa\P 9495 Partial match: Xaaa 9496 Xaaaa\P 9497 Partial match: Xaaaa 9498 9499 /X[abc]{2,4}+b/ 9500 X\P 9501 Partial match: X 9502 Xa\P 9503 Partial match: Xa 9504 Xaa\P 9505 Partial match: Xaa 9506 Xaaa\P 9507 Partial match: Xaaa 9508 Xaaaa\P 9509 Partial match: Xaaaa 9510 9511 /X[^a]{2,4}b/ 9512 X\P 9513 Partial match: X 9514 Xz\P 9515 Partial match: Xz 9516 Xzz\P 9517 Partial match: Xzz 9518 Xzzz\P 9519 Partial match: Xzzz 9520 Xzzzz\P 9521 Partial match: Xzzzz 9522 9523 /X[^a]{2,4}?b/ 9524 X\P 9525 Partial match: X 9526 Xz\P 9527 Partial match: Xz 9528 Xzz\P 9529 Partial match: Xzz 9530 Xzzz\P 9531 Partial match: Xzzz 9532 Xzzzz\P 9533 Partial match: Xzzzz 9534 9535 /X[^a]{2,4}+b/ 9536 X\P 9537 Partial match: X 9538 Xz\P 9539 Partial match: Xz 9540 Xzz\P 9541 Partial match: Xzz 9542 Xzzz\P 9543 Partial match: Xzzz 9544 Xzzzz\P 9545 Partial match: Xzzzz 9546 9547 /(Y)X\1{2,4}b/ 9548 YX\P 9549 Partial match: YX 9550 YXY\P 9551 Partial match: YXY 9552 YXYY\P 9553 Partial match: YXYY 9554 YXYYY\P 9555 Partial match: YXYYY 9556 YXYYYY\P 9557 Partial match: YXYYYY 9558 9559 /(Y)X\1{2,4}?b/ 9560 YX\P 9561 Partial match: YX 9562 YXY\P 9563 Partial match: YXY 9564 YXYY\P 9565 Partial match: YXYY 9566 YXYYY\P 9567 Partial match: YXYYY 9568 YXYYYY\P 9569 Partial match: YXYYYY 9570 9571 /(Y)X\1{2,4}+b/ 9572 YX\P 9573 Partial match: YX 9574 YXY\P 9575 Partial match: YXY 9576 YXYY\P 9577 Partial match: YXYY 9578 YXYYY\P 9579 Partial match: YXYYY 9580 YXYYYY\P 9581 Partial match: YXYYYY 9582 9583 /\++\KZ|\d+X|9+Y/ 9584 ++++123999\P 9585 Partial match: 123999 9586 ++++123999Y\P 9587 0: 999Y 9588 ++++Z1234\P 9589 0: Z 9590 9591 /Z(*F)/ 9592 Z\P 9593 No match 9594 ZA\P 9595 No match 9596 9597 /Z(?!)/ 9598 Z\P 9599 No match 9600 ZA\P 9601 No match 9602 9603 /dog(sbody)?/ 9604 dogs\P 9605 0: dog 9606 dogs\P\P 9607 Partial match: dogs 9608 9609 /dog(sbody)??/ 9610 dogs\P 9611 0: dog 9612 dogs\P\P 9613 0: dog 9614 9615 /dog|dogsbody/ 9616 dogs\P 9617 0: dog 9618 dogs\P\P 9619 0: dog 9620 9621 /dogsbody|dog/ 9622 dogs\P 9623 0: dog 9624 dogs\P\P 9625 Partial match: dogs 9626 9627 /\bthe cat\b/ 9628 the cat\P 9629 0: the cat 9630 the cat\P\P 9631 Partial match: the cat 9632 9633 /abc/ 9634 abc\P 9635 0: abc 9636 abc\P\P 9637 0: abc 9638 9639 /\w+A/P 9640 CDAAAAB 9641 0: CDAAAA 9642 9643 /\w+A/PU 9644 CDAAAAB 9645 0: CDA 9646 9647 /abc\K123/ 9648 xyzabc123pqr 9649 0: 123 9650 xyzabc12\P 9651 Partial match: abc12 9652 xyzabc12\P\P 9653 Partial match: abc12 9654 9655 /(?<=abc)123/ 9656 xyzabc123pqr 9657 0: 123 9658 xyzabc12\P 9659 Partial match: abc12 9660 xyzabc12\P\P 9661 Partial match: abc12 9662 9663 /\babc\b/ 9664 +++abc+++ 9665 0: abc 9666 +++ab\P 9667 Partial match: +ab 9668 +++ab\P\P 9669 Partial match: +ab 9670 9671 /(?&word)(?&element)(?(DEFINE)(?<element><[^m][^>]>[^<])(?<word>\w*+))/BZ 9672 ------------------------------------------------------------------ 9673 Bra 9674 Once 9675 Recurse 9676 Ket 9677 Once 9678 Recurse 9679 Ket 9680 Cond 9681 Cond def 9682 CBra 1 9683 < 9684 [^m] 9685 [^>] 9686 > 9687 [^<] 9688 Ket 9689 CBra 2 9690 \w*+ 9691 Ket 9692 Ket 9693 Ket 9694 End 9695 ------------------------------------------------------------------ 9696 9697 /(?&word)(?&element)(?(DEFINE)(?<element><[^\d][^>]>[^<])(?<word>\w*+))/BZ 9698 ------------------------------------------------------------------ 9699 Bra 9700 Once 9701 Recurse 9702 Ket 9703 Once 9704 Recurse 9705 Ket 9706 Cond 9707 Cond def 9708 CBra 1 9709 < 9710 [\x00-/:-\xff] (neg) 9711 [^>] 9712 > 9713 [^<] 9714 Ket 9715 CBra 2 9716 \w*+ 9717 Ket 9718 Ket 9719 Ket 9720 End 9721 ------------------------------------------------------------------ 9722 9723 /(ab)(x(y)z(cd(*ACCEPT)))pq/BZ 9724 ------------------------------------------------------------------ 9725 Bra 9726 CBra 1 9727 ab 9728 Ket 9729 CBra 2 9730 x 9731 CBra 3 9732 y 9733 Ket 9734 z 9735 CBra 4 9736 cd 9737 Close 4 9738 Close 2 9739 *ACCEPT 9740 Ket 9741 Ket 9742 pq 9743 Ket 9744 End 9745 ------------------------------------------------------------------ 9746 9747 /abc\K/+ 9748 abcdef 9749 0: 9750 0+ def 9751 abcdef\N\N 9752 0: 9753 0+ def 9754 xyzabcdef\N\N 9755 0: 9756 0+ def 9757 ** Failers 9758 No match 9759 abcdef\N 9760 No match 9761 xyzabcdef\N 9762 No match 9763 9764 /^(?:(?=abc)|abc\K)/+ 9765 abcdef 9766 0: 9767 0+ abcdef 9768 abcdef\N\N 9769 0: 9770 0+ def 9771 ** Failers 9772 No match 9773 abcdef\N 9774 No match 9775 9776 /a?b?/+ 9777 xyz 9778 0: 9779 0+ xyz 9780 xyzabc 9781 0: 9782 0+ xyzabc 9783 xyzabc\N 9784 0: ab 9785 0+ c 9786 xyzabc\N\N 9787 0: 9788 0+ yzabc 9789 xyz\N\N 9790 0: 9791 0+ yz 9792 ** Failers 9793 0: 9794 0+ ** Failers 9795 xyz\N 9796 No match 9797 9798 /^a?b?/+ 9799 xyz 9800 0: 9801 0+ xyz 9802 xyzabc 9803 0: 9804 0+ xyzabc 9805 ** Failers 9806 0: 9807 0+ ** Failers 9808 xyzabc\N 9809 No match 9810 xyzabc\N\N 9811 No match 9812 xyz\N\N 9813 No match 9814 xyz\N 9815 No match 9816 9817 /^(?<name>a|b\g<name>c)/ 9818 aaaa 9819 0: a 9820 1: a 9821 bacxxx 9822 0: bac 9823 1: bac 9824 bbaccxxx 9825 0: bbacc 9826 1: bbacc 9827 bbbacccxx 9828 0: bbbaccc 9829 1: bbbaccc 9830 9831 /^(?<name>a|b\g'name'c)/ 9832 aaaa 9833 0: a 9834 1: a 9835 bacxxx 9836 0: bac 9837 1: bac 9838 bbaccxxx 9839 0: bbacc 9840 1: bbacc 9841 bbbacccxx 9842 0: bbbaccc 9843 1: bbbaccc 9844 9845 /^(a|b\g<1>c)/ 9846 aaaa 9847 0: a 9848 1: a 9849 bacxxx 9850 0: bac 9851 1: bac 9852 bbaccxxx 9853 0: bbacc 9854 1: bbacc 9855 bbbacccxx 9856 0: bbbaccc 9857 1: bbbaccc 9858 9859 /^(a|b\g'1'c)/ 9860 aaaa 9861 0: a 9862 1: a 9863 bacxxx 9864 0: bac 9865 1: bac 9866 bbaccxxx 9867 0: bbacc 9868 1: bbacc 9869 bbbacccxx 9870 0: bbbaccc 9871 1: bbbaccc 9872 9873 /^(a|b\g'-1'c)/ 9874 aaaa 9875 0: a 9876 1: a 9877 bacxxx 9878 0: bac 9879 1: bac 9880 bbaccxxx 9881 0: bbacc 9882 1: bbacc 9883 bbbacccxx 9884 0: bbbaccc 9885 1: bbbaccc 9886 9887 /(^(a|b\g<-1>c))/ 9888 aaaa 9889 0: a 9890 1: a 9891 2: a 9892 bacxxx 9893 0: bac 9894 1: bac 9895 2: bac 9896 bbaccxxx 9897 0: bbacc 9898 1: bbacc 9899 2: bbacc 9900 bbbacccxx 9901 0: bbbaccc 9902 1: bbbaccc 9903 2: bbbaccc 9904 9905 /(?-i:\g<name>)(?i:(?<name>a))/ 9906 XaaX 9907 0: aa 9908 1: a 9909 XAAX 9910 0: AA 9911 1: A 9912 9913 /(?i:\g<name>)(?-i:(?<name>a))/ 9914 XaaX 9915 0: aa 9916 1: a 9917 ** Failers 9918 No match 9919 XAAX 9920 No match 9921 9922 /(?-i:\g<+1>)(?i:(a))/ 9923 XaaX 9924 0: aa 9925 1: a 9926 XAAX 9927 0: AA 9928 1: A 9929 9930 /(?=(?<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>\})\}))\{/ 9931 9932 /(?<n>a|b|c)\g<n>*/ 9933 abc 9934 0: abc 9935 1: a 9936 accccbbb 9937 0: accccbbb 9938 1: a 9939 9940 /^X(?7)(a)(?|(b)|(q)(r)(s))(c)(d)(Y)/ 9941 XYabcdY 9942 0: XYabcdY 9943 1: a 9944 2: b 9945 3: <unset> 9946 4: <unset> 9947 5: c 9948 6: d 9949 7: Y 9950 9951 /(?<=b(?1)|zzz)(a)/ 9952 xbaax 9953 0: a 9954 1: a 9955 xzzzax 9956 0: a 9957 1: a 9958 9959 /(a)(?<=b\1)/ 9960 Failed: lookbehind assertion is not fixed length at offset 10 9961 9962 /(a)(?<=b+(?1))/ 9963 Failed: lookbehind assertion is not fixed length at offset 13 9964 9965 /(a+)(?<=b(?1))/ 9966 Failed: lookbehind assertion is not fixed length at offset 14 9967 9968 /(a(?<=b(?1)))/ 9969 Failed: lookbehind assertion is not fixed length at offset 13 9970 9971 /(?<=b(?1))xyz/ 9972 Failed: reference to non-existent subpattern at offset 8 9973 9974 /(?<=b(?1))xyz(b+)pqrstuvew/ 9975 Failed: lookbehind assertion is not fixed length at offset 26 9976 9977 /(a|bc)\1/SI 9978 Capturing subpattern count = 1 9979 Max back reference = 1 9980 No options 9981 No first char 9982 No need char 9983 Subject length lower bound = 2 9984 Starting byte set: a b 9985 9986 /(a|bc)\1{2,3}/SI 9987 Capturing subpattern count = 1 9988 Max back reference = 1 9989 No options 9990 No first char 9991 No need char 9992 Subject length lower bound = 3 9993 Starting byte set: a b 9994 9995 /(a|bc)(?1)/SI 9996 Capturing subpattern count = 1 9997 No options 9998 No first char 9999 No need char 10000 Subject length lower bound = 2 10001 Starting byte set: a b 10002 10003 /(a|b\1)(a|b\1)/SI 10004 Capturing subpattern count = 2 10005 Max back reference = 1 10006 No options 10007 No first char 10008 No need char 10009 Subject length lower bound = 2 10010 Starting byte set: a b 10011 10012 /(a|b\1){2}/SI 10013 Capturing subpattern count = 1 10014 Max back reference = 1 10015 No options 10016 No first char 10017 No need char 10018 Subject length lower bound = 2 10019 Starting byte set: a b 10020 10021 /(a|bbbb\1)(a|bbbb\1)/SI 10022 Capturing subpattern count = 2 10023 Max back reference = 1 10024 No options 10025 No first char 10026 No need char 10027 Subject length lower bound = 2 10028 Starting byte set: a b 10029 10030 /(a|bbbb\1){2}/SI 10031 Capturing subpattern count = 1 10032 Max back reference = 1 10033 No options 10034 No first char 10035 No need char 10036 Subject length lower bound = 2 10037 Starting byte set: a b 10038 10039 /^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 10040 Capturing subpattern count = 1 10041 Options: anchored 10042 No first char 10043 Need char = ':' 10044 Subject length lower bound = 22 10045 No set of starting bytes 10046 10047 / (?: [\040\t] | \( 10048 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 10049 \) )* # optional leading comment 10050 (?: (?: 10051 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 10052 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 10053 | 10054 " (?: # opening quote... 10055 [^\\\x80-\xff\n\015"] # Anything except backslash and quote 10056 | # or 10057 \\ [^\x80-\xff] # Escaped something (something != CR) 10058 )* " # closing quote 10059 ) # initial word 10060 (?: (?: [\040\t] | \( 10061 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 10062 \) )* \. (?: [\040\t] | \( 10063 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 10064 \) )* (?: 10065 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 10066 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 10067 | 10068 " (?: # opening quote... 10069 [^\\\x80-\xff\n\015"] # Anything except backslash and quote 10070 | # or 10071 \\ [^\x80-\xff] # Escaped something (something != CR) 10072 )* " # closing quote 10073 ) )* # further okay, if led by a period 10074 (?: [\040\t] | \( 10075 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 10076 \) )* @ (?: [\040\t] | \( 10077 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 10078 \) )* (?: 10079 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 10080 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 10081 | \[ # [ 10082 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff 10083 \] # ] 10084 ) # initial subdomain 10085 (?: # 10086 (?: [\040\t] | \( 10087 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 10088 \) )* \. # if led by a period... 10089 (?: [\040\t] | \( 10090 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 10091 \) )* (?: 10092 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 10093 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 10094 | \[ # [ 10095 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff 10096 \] # ] 10097 ) # ...further okay 10098 )* 10099 # address 10100 | # or 10101 (?: 10102 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 10103 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 10104 | 10105 " (?: # opening quote... 10106 [^\\\x80-\xff\n\015"] # Anything except backslash and quote 10107 | # or 10108 \\ [^\x80-\xff] # Escaped something (something != CR) 10109 )* " # closing quote 10110 ) # one word, optionally followed by.... 10111 (?: 10112 [^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] | # atom and space parts, or... 10113 \( 10114 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 10115 \) | # comments, or... 10116 10117 " (?: # opening quote... 10118 [^\\\x80-\xff\n\015"] # Anything except backslash and quote 10119 | # or 10120 \\ [^\x80-\xff] # Escaped something (something != CR) 10121 )* " # closing quote 10122 # quoted strings 10123 )* 10124 < (?: [\040\t] | \( 10125 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 10126 \) )* # leading < 10127 (?: @ (?: [\040\t] | \( 10128 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 10129 \) )* (?: 10130 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 10131 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 10132 | \[ # [ 10133 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff 10134 \] # ] 10135 ) # initial subdomain 10136 (?: # 10137 (?: [\040\t] | \( 10138 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 10139 \) )* \. # if led by a period... 10140 (?: [\040\t] | \( 10141 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 10142 \) )* (?: 10143 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 10144 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 10145 | \[ # [ 10146 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff 10147 \] # ] 10148 ) # ...further okay 10149 )* 10150 10151 (?: (?: [\040\t] | \( 10152 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 10153 \) )* , (?: [\040\t] | \( 10154 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 10155 \) )* @ (?: [\040\t] | \( 10156 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 10157 \) )* (?: 10158 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 10159 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 10160 | \[ # [ 10161 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff 10162 \] # ] 10163 ) # initial subdomain 10164 (?: # 10165 (?: [\040\t] | \( 10166 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 10167 \) )* \. # if led by a period... 10168 (?: [\040\t] | \( 10169 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 10170 \) )* (?: 10171 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 10172 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 10173 | \[ # [ 10174 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff 10175 \] # ] 10176 ) # ...further okay 10177 )* 10178 )* # further okay, if led by comma 10179 : # closing colon 10180 (?: [\040\t] | \( 10181 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 10182 \) )* )? # optional route 10183 (?: 10184 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 10185 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 10186 | 10187 " (?: # opening quote... 10188 [^\\\x80-\xff\n\015"] # Anything except backslash and quote 10189 | # or 10190 \\ [^\x80-\xff] # Escaped something (something != CR) 10191 )* " # closing quote 10192 ) # initial word 10193 (?: (?: [\040\t] | \( 10194 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 10195 \) )* \. (?: [\040\t] | \( 10196 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 10197 \) )* (?: 10198 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 10199 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 10200 | 10201 " (?: # opening quote... 10202 [^\\\x80-\xff\n\015"] # Anything except backslash and quote 10203 | # or 10204 \\ [^\x80-\xff] # Escaped something (something != CR) 10205 )* " # closing quote 10206 ) )* # further okay, if led by a period 10207 (?: [\040\t] | \( 10208 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 10209 \) )* @ (?: [\040\t] | \( 10210 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 10211 \) )* (?: 10212 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 10213 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 10214 | \[ # [ 10215 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff 10216 \] # ] 10217 ) # initial subdomain 10218 (?: # 10219 (?: [\040\t] | \( 10220 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 10221 \) )* \. # if led by a period... 10222 (?: [\040\t] | \( 10223 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 10224 \) )* (?: 10225 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 10226 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 10227 | \[ # [ 10228 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff 10229 \] # ] 10230 ) # ...further okay 10231 )* 10232 # address spec 10233 (?: [\040\t] | \( 10234 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 10235 \) )* > # trailing > 10236 # name and address 10237 ) (?: [\040\t] | \( 10238 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 10239 \) )* # optional trailing comment 10240 /xSI 10241 Capturing subpattern count = 0 10242 Contains explicit CR or LF match 10243 Options: extended 10244 No first char 10245 No need char 10246 Subject length lower bound = 3 10247 Starting byte set: \x09 \x20 ! " # $ % & ' ( * + - / 0 1 2 3 4 5 6 7 8 10248 9 = ? A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ^ _ ` a b c d e 10249 f g h i j k l m n o p q r s t u v w x y z { | } ~ \x7f 10250 10251 /<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 10252 Capturing subpattern count = 11 10253 Options: caseless dotall 10254 First char = '<' 10255 Need char = '>' 10256 Subject length lower bound = 47 10257 No set of starting bytes 10258 10259 "(?>.*/)foo"SI 10260 Capturing subpattern count = 0 10261 No options 10262 First char at start or follows newline 10263 Need char = 'o' 10264 Subject length lower bound = 4 10265 No set of starting bytes 10266 10267 /(?(?=[^a-z]+[a-z]) \d{2}-[a-z]{3}-\d{2} | \d{2}-\d{2}-\d{2} ) /xSI 10268 Capturing subpattern count = 0 10269 Options: extended 10270 No first char 10271 Need char = '-' 10272 Subject length lower bound = 8 10273 No set of starting bytes 10274 10275 /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))/iSI 10276 Capturing subpattern count = 1 10277 Options: caseless 10278 No first char 10279 No need char 10280 Subject length lower bound = 1 10281 Starting byte set: A B C a b c 10282 10283 /(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/SI 10284 Capturing subpattern count = 0 10285 No options 10286 No first char 10287 Need char = 'b' 10288 Subject length lower bound = 41 10289 Starting byte set: c d 10290 10291 /<a[\s]+href[\s]*=[\s]* # find <a href= 10292 ([\"\'])? # find single or double quote 10293 (?(1) (.*?)\1 | ([^\s]+)) # if quote found, match up to next matching 10294 # quote, otherwise match up to next space 10295 /isxSI 10296 Capturing subpattern count = 3 10297 Max back reference = 1 10298 Options: caseless extended dotall 10299 First char = '<' 10300 Need char = '=' 10301 Subject length lower bound = 9 10302 No set of starting bytes 10303 10304 /^(?!:) # colon disallowed at start 10305 (?: # start of item 10306 (?: [0-9a-f]{1,4} | # 1-4 hex digits or 10307 (?(1)0 | () ) ) # if null previously matched, fail; else null 10308 : # followed by colon 10309 ){1,7} # end item; 1-7 of them required 10310 [0-9a-f]{1,4} $ # final hex number at end of string 10311 (?(1)|.) # check that there was an empty component 10312 /xiIS 10313 Capturing subpattern count = 1 10314 Options: anchored caseless extended 10315 No first char 10316 Need char = ':' 10317 Subject length lower bound = 2 10318 No set of starting bytes 10319 10320 /(?|(?<a>A)|(?<a>B))/I 10321 Capturing subpattern count = 1 10322 Named capturing subpatterns: 10323 a 1 10324 a 1 10325 No options 10326 No first char 10327 No need char 10328 AB\Ca 10329 0: A 10330 1: A 10331 C A (1) a 10332 BA\Ca 10333 0: B 10334 1: B 10335 C B (1) a 10336 10337 /(?|(?<a>A)|(?<b>B))/ 10338 Failed: different names for subpatterns of the same number are not allowed at offset 15 10339 10340 /(?:a(?<quote> (?<apostrophe>')|(?<realquote>")) | 10341 b(?<quote> (?<apostrophe>')|(?<realquote>")) ) 10342 (?('quote')[a-z]+|[0-9]+)/JIx 10343 Capturing subpattern count = 6 10344 Named capturing subpatterns: 10345 apostrophe 2 10346 apostrophe 5 10347 quote 1 10348 quote 4 10349 realquote 3 10350 realquote 6 10351 Options: extended dupnames 10352 No first char 10353 No need char 10354 a"aaaaa 10355 0: a"aaaaa 10356 1: " 10357 2: <unset> 10358 3: " 10359 b"aaaaa 10360 0: b"aaaaa 10361 1: <unset> 10362 2: <unset> 10363 3: <unset> 10364 4: " 10365 5: <unset> 10366 6: " 10367 ** Failers 10368 No match 10369 b"11111 10370 No match 10371 a"11111 10372 No match 10373 10374 /^(?|(a)(b)(c)(?<D>d)|(?<D>e)) (?('D')X|Y)/JDZx 10375 ------------------------------------------------------------------ 10376 Bra 10377 ^ 10378 Bra 10379 CBra 1 10380 a 10381 Ket 10382 CBra 2 10383 b 10384 Ket 10385 CBra 3 10386 c 10387 Ket 10388 CBra 4 10389 d 10390 Ket 10391 Alt 10392 CBra 1 10393 e 10394 Ket 10395 Ket 10396 Cond 10397 4 Cond nref 10398 X 10399 Alt 10400 Y 10401 Ket 10402 Ket 10403 End 10404 ------------------------------------------------------------------ 10405 Capturing subpattern count = 4 10406 Named capturing subpatterns: 10407 D 4 10408 D 1 10409 Options: anchored extended dupnames 10410 No first char 10411 No need char 10412 abcdX 10413 0: abcdX 10414 1: a 10415 2: b 10416 3: c 10417 4: d 10418 eX 10419 0: eX 10420 1: e 10421 ** Failers 10422 No match 10423 abcdY 10424 No match 10425 ey 10426 No match 10427 10428 /(?<A>a) (b)(c) (?<A>d (?(R&A)$ | (?4)) )/JDZx 10429 ------------------------------------------------------------------ 10430 Bra 10431 CBra 1 10432 a 10433 Ket 10434 CBra 2 10435 b 10436 Ket 10437 CBra 3 10438 c 10439 Ket 10440 CBra 4 10441 d 10442 Cond 10443 Cond nrecurse 1 10444 $ 10445 Alt 10446 Once 10447 Recurse 10448 Ket 10449 Ket 10450 Ket 10451 Ket 10452 End 10453 ------------------------------------------------------------------ 10454 Capturing subpattern count = 4 10455 Named capturing subpatterns: 10456 A 1 10457 A 4 10458 Options: extended dupnames 10459 First char = 'a' 10460 Need char = 'd' 10461 abcdd 10462 0: abcdd 10463 1: a 10464 2: b 10465 3: c 10466 4: dd 10467 ** Failers 10468 No match 10469 abcdde 10470 No match 10471 10472 /abcd*/ 10473 xxxxabcd\P 10474 0: abcd 10475 xxxxabcd\P\P 10476 Partial match: abcd 10477 10478 /abcd*/i 10479 xxxxabcd\P 10480 0: abcd 10481 xxxxabcd\P\P 10482 Partial match: abcd 10483 XXXXABCD\P 10484 0: ABCD 10485 XXXXABCD\P\P 10486 Partial match: ABCD 10487 10488 /abc\d*/ 10489 xxxxabc1\P 10490 0: abc1 10491 xxxxabc1\P\P 10492 Partial match: abc1 10493 10494 /(a)bc\1*/ 10495 xxxxabca\P 10496 0: abca 10497 1: a 10498 xxxxabca\P\P 10499 Partial match: abca 10500 10501 /abc[de]*/ 10502 xxxxabcde\P 10503 0: abcde 10504 xxxxabcde\P\P 10505 Partial match: abcde 10506 10507 /-- This is not in the Perl >= 5.10 test because Perl seems currently to be 10508 broken and not behaving as specified in that it *does* bumpalong after 10509 hitting (*COMMIT). --/ 10510 10511 /(?1)(A(*COMMIT)|B)D/ 10512 ABD 10513 0: ABD 10514 1: B 10515 XABD 10516 0: ABD 10517 1: B 10518 BAD 10519 0: BAD 10520 1: A 10521 ABXABD 10522 0: ABD 10523 1: B 10524 ** Failers 10525 No match 10526 ABX 10527 No match 10528 BAXBAD 10529 No match 10530 10531 /(\3)(\1)(a)/<JS> 10532 cat 10533 0: a 10534 1: 10535 2: 10536 3: a 10537 10538 /(\3)(\1)(a)/SI<JS> 10539 Capturing subpattern count = 3 10540 Max back reference = 3 10541 Options: 10542 No first char 10543 Need char = 'a' 10544 Subject length lower bound = 1 10545 No set of starting bytes 10546 cat 10547 0: a 10548 1: 10549 2: 10550 3: a 10551 10552 /(\3)(\1)(a)/SI 10553 Capturing subpattern count = 3 10554 Max back reference = 3 10555 No options 10556 No first char 10557 Need char = 'a' 10558 Subject length lower bound = 3 10559 No set of starting bytes 10560 cat 10561 No match 10562 10563 /i(?(DEFINE)(?<s>a))/SI 10564 Capturing subpattern count = 1 10565 Named capturing subpatterns: 10566 s 1 10567 No options 10568 First char = 'i' 10569 No need char 10570 Subject length lower bound = 1 10571 No set of starting bytes 10572 i 10573 0: i 10574 10575 /()i(?(1)a)/SI 10576 Capturing subpattern count = 1 10577 No options 10578 No first char 10579 Need char = 'i' 10580 Subject length lower bound = 1 10581 Starting byte set: i 10582 ia 10583 0: ia 10584 1: 10585 10586 /(?i)a(?-i)b|c/BZ 10587 ------------------------------------------------------------------ 10588 Bra 10589 NC a 10590 00 Opt 10591 b 10592 Alt 10593 00 Opt 10594 c 10595 Ket 10596 End 10597 ------------------------------------------------------------------ 10598 XabX 10599 0: ab 10600 XAbX 10601 0: Ab 10602 CcC 10603 0: c 10604 ** Failers 10605 No match 10606 XABX 10607 No match 10608 10609 /(?i)a(?s)b|c/BZ 10610 ------------------------------------------------------------------ 10611 Bra 10612 NC a 10613 05 Opt 10614 NC b 10615 Alt 10616 05 Opt 10617 NC c 10618 Ket 10619 End 10620 ------------------------------------------------------------------ 10621 10622 /(?i)a(?s-i)b|c/BZ 10623 ------------------------------------------------------------------ 10624 Bra 10625 NC a 10626 04 Opt 10627 b 10628 Alt 10629 04 Opt 10630 c 10631 Ket 10632 End 10633 ------------------------------------------------------------------ 10634 10635 /^(ab(c\1)d|x){2}$/BZ 10636 ------------------------------------------------------------------ 10637 Bra 10638 ^ 10639 Once 10640 CBra 1 10641 ab 10642 CBra 2 10643 c 10644 \1 10645 Ket 10646 d 10647 Alt 10648 x 10649 Ket 10650 Ket 10651 Once 10652 CBra 1 10653 ab 10654 CBra 2 10655 c 10656 \1 10657 Ket 10658 d 10659 Alt 10660 x 10661 Ket 10662 Ket 10663 $ 10664 Ket 10665 End 10666 ------------------------------------------------------------------ 10667 xabcxd 10668 0: xabcxd 10669 1: abcxd 10670 2: cx 10671 10672 /^(?&t)*+(?(DEFINE)(?<t>.))$/BZ 10673 ------------------------------------------------------------------ 10674 Bra 10675 ^ 10676 Once 10677 Brazero 10678 Once 10679 Recurse 10680 KetRmax 10681 Ket 10682 Cond 10683 Cond def 10684 CBra 1 10685 Any 10686 Ket 10687 Ket 10688 $ 10689 Ket 10690 End 10691 ------------------------------------------------------------------ 10692 10693 /^(?&t)*(?(DEFINE)(?<t>.))$/BZ 10694 ------------------------------------------------------------------ 10695 Bra 10696 ^ 10697 Brazero 10698 Once 10699 Recurse 10700 KetRmax 10701 Cond 10702 Cond def 10703 CBra 1 10704 Any 10705 Ket 10706 Ket 10707 $ 10708 Ket 10709 End 10710 ------------------------------------------------------------------ 10711 10712 / -- The first four of these are not in the Perl >= 5.10 test because Perl 10713 documents that the use of \K in assertions is "not well defined". The 10714 last is here because Perl gives the match as "b" rather than "ab". I 10715 believe this to be a Perl bug. --/ 10716 10717 /(?=a\Kb)ab/ 10718 ab 10719 0: b 10720 10721 /(?!a\Kb)ac/ 10722 ac 10723 0: ac 10724 10725 /^abc(?<=b\Kc)d/ 10726 abcd 10727 0: cd 10728 10729 /^abc(?<!b\Kq)d/ 10730 abcd 10731 0: abcd 10732 10733 /(?>a\Kb)z|(ab)/ 10734 ab 10735 0: ab 10736 1: ab 10737 10738 /----------------------/ 10739 10740 /(?P<L1>(?P<L2>0|)|(?P>L2)(?P>L1))/ 10741 Failed: recursive call could loop indefinitely at offset 31 10742 10743 /abc(*MARK:)pqr/ 10744 Failed: (*MARK) must have an argument at offset 10 10745 10746 /abc(*:)pqr/ 10747 Failed: (*MARK) must have an argument at offset 6 10748 10749 /abc(*FAIL:123)xyz/ 10750 Failed: an argument is not allowed for (*ACCEPT), (*FAIL), or (*COMMIT) at offset 13 10751 10752 /--- This should, and does, fail. In Perl, it does not, which I think is a 10753 bug because replacing the B in the pattern by (B|D) does make it fail. ---/ 10754 10755 /A(*COMMIT)B/+K 10756 ACABX 10757 No match 10758 10759 /--- These should be different, but in Perl 5.11 are not, which I think 10760 is a bug in Perl. ---/ 10761 10762 /A(*THEN)B|A(*THEN)C/K 10763 AC 10764 0: AC 10765 10766 /A(*PRUNE)B|A(*PRUNE)C/K 10767 AC 10768 No match 10769 10770 /--- A whole lot of tests of verbs with arguments are here rather than in test 10771 11 because Perl doesn't seem to follow its specification entirely 10772 correctly. ---/ 10773 10774 /--- Perl 5.11 sets $REGERROR on the AC failure case here; PCRE does not. It is 10775 not clear how Perl defines "involved in the failure of the match". ---/ 10776 10777 /^(A(*THEN:A)B|C(*THEN:B)D)/K 10778 AB 10779 0: AB 10780 1: AB 10781 CD 10782 0: CD 10783 1: CD 10784 ** Failers 10785 No match 10786 AC 10787 No match 10788 CB 10789 No match, mark = B 10790 10791 /--- Check the use of names for success and failure. PCRE doesn't show these 10792 names for success, though Perl does, contrary to its spec. ---/ 10793 10794 /^(A(*PRUNE:A)B|C(*PRUNE:B)D)/K 10795 AB 10796 0: AB 10797 1: AB 10798 CD 10799 0: CD 10800 1: CD 10801 ** Failers 10802 No match 10803 AC 10804 No match, mark = A 10805 CB 10806 No match, mark = B 10807 10808 /--- An empty name does not pass back an empty string. It is the same as if no 10809 name were given. ---/ 10810 10811 /^(A(*PRUNE:)B|C(*PRUNE:B)D)/K 10812 AB 10813 0: AB 10814 1: AB 10815 CD 10816 0: CD 10817 1: CD 10818 10819 /--- PRUNE goes to next bumpalong; COMMIT does not. ---/ 10820 10821 /A(*PRUNE:A)B/K 10822 ACAB 10823 0: AB 10824 10825 /(*MARK:A)(*PRUNE:B)(C|X)/K 10826 C 10827 0: C 10828 1: C 10829 MK: A 10830 D 10831 No match, mark = B 10832 10833 /(*MARK:A)(*THEN:B)(C|X)/K 10834 C 10835 0: C 10836 1: C 10837 MK: A 10838 D 10839 No match, mark = B 10840 10841 /--- This should fail, as the skip causes a bump to offset 3 (the skip) ---/ 10842 10843 /A(*MARK:A)A+(*SKIP)(B|Z) | AC/xK 10844 AAAC 10845 No match 10846 10847 /--- Same --/ 10848 10849 /A(*MARK:A)A+(*MARK:B)(*SKIP:B)(B|Z) | AC/xK 10850 AAAC 10851 No match 10852 10853 /--- This should fail; the SKIP advances by one, but when we get to AC, the 10854 PRUNE kills it. ---/ 10855 10856 /A(*PRUNE:A)A+(*SKIP:A)(B|Z) | AC/xK 10857 AAAC 10858 No match 10859 10860 /A(*:A)A+(*SKIP)(B|Z) | AC/xK 10861 AAAC 10862 No match 10863 10864 /--- This should fail, as a null name is the same as no name ---/ 10865 10866 /A(*MARK:A)A+(*SKIP:)(B|Z) | AC/xK 10867 AAAC 10868 No match 10869 10870 /--- This fails in PCRE, and I think that is in accordance with Perl's 10871 documentation, though in Perl it succeeds. ---/ 10872 10873 /A(*MARK:A)A+(*SKIP:B)(B|Z) | AAC/xK 10874 AAAC 10875 No match 10876 10877 /--- Mark names can be duplicated ---/ 10878 10879 /A(*:A)B|X(*:A)Y/K 10880 AABC 10881 0: AB 10882 MK: A 10883 XXYZ 10884 0: XY 10885 MK: A 10886 10887 /^A(*:A)B|^X(*:A)Y/K 10888 ** Failers 10889 No match 10890 XAQQ 10891 No match, mark = A 10892 10893 /--- A check on what happens after hitting a mark and them bumping along to 10894 something that does not even start. Perl reports tags after the failures here, 10895 though it does not when the individual letters are made into something 10896 more complicated. ---/ 10897 10898 /A(*:A)B|XX(*:B)Y/K 10899 AABC 10900 0: AB 10901 MK: A 10902 XXYZ 10903 0: XXY 10904 MK: B 10905 ** Failers 10906 No match 10907 XAQQ 10908 No match 10909 XAQQXZZ 10910 No match 10911 AXQQQ 10912 No match 10913 AXXQQQ 10914 No match 10915 10916 /--- COMMIT at the start of a pattern should be the same as an anchor. Perl 10917 optimizations defeat this. So does the PCRE optimization unless we disable it 10918 with \Y. ---/ 10919 10920 /(*COMMIT)ABC/ 10921 ABCDEFG 10922 0: ABC 10923 ** Failers 10924 No match 10925 DEFGABC\Y 10926 No match 10927 10928 /--- Repeat some tests with added studying. ---/ 10929 10930 /A(*COMMIT)B/+KS 10931 ACABX 10932 No match 10933 10934 /A(*THEN)B|A(*THEN)C/KS 10935 AC 10936 0: AC 10937 10938 /A(*PRUNE)B|A(*PRUNE)C/KS 10939 AC 10940 No match 10941 10942 /^(A(*THEN:A)B|C(*THEN:B)D)/KS 10943 AB 10944 0: AB 10945 1: AB 10946 CD 10947 0: CD 10948 1: CD 10949 ** Failers 10950 No match 10951 AC 10952 No match 10953 CB 10954 No match, mark = B 10955 10956 /^(A(*PRUNE:A)B|C(*PRUNE:B)D)/KS 10957 AB 10958 0: AB 10959 1: AB 10960 CD 10961 0: CD 10962 1: CD 10963 ** Failers 10964 No match 10965 AC 10966 No match, mark = A 10967 CB 10968 No match, mark = B 10969 10970 /^(A(*PRUNE:)B|C(*PRUNE:B)D)/KS 10971 AB 10972 0: AB 10973 1: AB 10974 CD 10975 0: CD 10976 1: CD 10977 10978 /A(*PRUNE:A)B/KS 10979 ACAB 10980 0: AB 10981 10982 /(*MARK:A)(*PRUNE:B)(C|X)/KS 10983 C 10984 0: C 10985 1: C 10986 MK: A 10987 D 10988 No match 10989 10990 /(*MARK:A)(*THEN:B)(C|X)/KS 10991 C 10992 0: C 10993 1: C 10994 MK: A 10995 D 10996 No match 10997 10998 /A(*MARK:A)A+(*SKIP)(B|Z) | AC/xKS 10999 AAAC 11000 No match 11001 11002 /A(*MARK:A)A+(*MARK:B)(*SKIP:B)(B|Z) | AC/xKS 11003 AAAC 11004 No match 11005 11006 /A(*PRUNE:A)A+(*SKIP:A)(B|Z) | AC/xKS 11007 AAAC 11008 No match 11009 11010 /A(*:A)A+(*SKIP)(B|Z) | AC/xKS 11011 AAAC 11012 No match 11013 11014 /A(*MARK:A)A+(*SKIP:)(B|Z) | AC/xKS 11015 AAAC 11016 No match 11017 11018 /A(*MARK:A)A+(*SKIP:B)(B|Z) | AAC/xKS 11019 AAAC 11020 No match 11021 11022 /A(*:A)B|XX(*:B)Y/KS 11023 AABC 11024 0: AB 11025 MK: A 11026 XXYZ 11027 0: XXY 11028 MK: B 11029 ** Failers 11030 No match 11031 XAQQ 11032 No match 11033 XAQQXZZ 11034 No match 11035 AXQQQ 11036 No match 11037 AXXQQQ 11038 No match 11039 11040 /(*COMMIT)ABC/ 11041 ABCDEFG 11042 0: ABC 11043 ** Failers 11044 No match 11045 DEFGABC\Y 11046 No match 11047 11048 /^(ab (c+(*THEN)cd) | xyz)/x 11049 abcccd 11050 No match 11051 11052 /^(ab (c+(*PRUNE)cd) | xyz)/x 11053 abcccd 11054 No match 11055 11056 /^(ab (c+(*FAIL)cd) | xyz)/x 11057 abcccd 11058 No match 11059 11060 /--- Perl 5.11 gets some of these wrong ---/ 11061 11062 /(?>.(*ACCEPT))*?5/ 11063 abcde 11064 0: a 11065 11066 /(.(*ACCEPT))*?5/ 11067 abcde 11068 0: a 11069 1: a 11070 11071 /(.(*ACCEPT))5/ 11072 abcde 11073 0: a 11074 1: a 11075 11076 /(.(*ACCEPT))*5/ 11077 abcde 11078 0: a 11079 1: a 11080 11081 /A\NB./BZ 11082 ------------------------------------------------------------------ 11083 Bra 11084 A 11085 Any 11086 B 11087 Any 11088 Ket 11089 End 11090 ------------------------------------------------------------------ 11091 ACBD 11092 0: ACBD 11093 *** Failers 11094 No match 11095 A\nB 11096 No match 11097 ACB\n 11098 No match 11099 11100 /A\NB./sBZ 11101 ------------------------------------------------------------------ 11102 Bra 11103 A 11104 Any 11105 B 11106 AllAny 11107 Ket 11108 End 11109 ------------------------------------------------------------------ 11110 ACBD 11111 0: ACBD 11112 ACB\n 11113 0: ACB\x0a 11114 *** Failers 11115 No match 11116 A\nB 11117 No match 11118 11119 /A\NB/<crlf> 11120 A\nB 11121 0: A\x0aB 11122 A\rB 11123 0: A\x0dB 11124 ** Failers 11125 No match 11126 A\r\nB 11127 No match 11128 11129 /\R+b/BZ 11130 ------------------------------------------------------------------ 11131 Bra 11132 \R++ 11133 b 11134 Ket 11135 End 11136 ------------------------------------------------------------------ 11137 11138 /\R+\n/BZ 11139 ------------------------------------------------------------------ 11140 Bra 11141 \R+ 11142 \x0a 11143 Ket 11144 End 11145 ------------------------------------------------------------------ 11146 11147 /\R+\d/BZ 11148 ------------------------------------------------------------------ 11149 Bra 11150 \R++ 11151 \d 11152 Ket 11153 End 11154 ------------------------------------------------------------------ 11155 11156 /\d*\R/BZ 11157 ------------------------------------------------------------------ 11158 Bra 11159 \d*+ 11160 \R 11161 Ket 11162 End 11163 ------------------------------------------------------------------ 11164 11165 /\s*\R/BZ 11166 ------------------------------------------------------------------ 11167 Bra 11168 \s*+ 11169 \R 11170 Ket 11171 End 11172 ------------------------------------------------------------------ 11173 11174 /-- Perl treats this one differently, not failing the second string. I believe 11175 that is a bug in Perl. --/ 11176 11177 /^((abc|abcx)(*THEN)y|abcd)/ 11178 abcd 11179 0: abcd 11180 1: abcd 11181 *** Failers 11182 No match 11183 abcxy 11184 No match 11185 11186 /(?<=abc)def/ 11187 abc\P\P 11188 Partial match: abc 11189 11190 /abc$/ 11191 abc 11192 0: abc 11193 abc\P 11194 0: abc 11195 abc\P\P 11196 Partial match: abc 11197 11198 /abc$/m 11199 abc 11200 0: abc 11201 abc\n 11202 0: abc 11203 abc\P\P 11204 Partial match: abc 11205 abc\n\P\P 11206 0: abc 11207 abc\P 11208 0: abc 11209 abc\n\P 11210 0: abc 11211 11212 /abc\z/ 11213 abc 11214 0: abc 11215 abc\P 11216 0: abc 11217 abc\P\P 11218 Partial match: abc 11219 11220 /abc\Z/ 11221 abc 11222 0: abc 11223 abc\P 11224 0: abc 11225 abc\P\P 11226 Partial match: abc 11227 11228 /abc\b/ 11229 abc 11230 0: abc 11231 abc\P 11232 0: abc 11233 abc\P\P 11234 Partial match: abc 11235 11236 /abc\B/ 11237 abc 11238 No match 11239 abc\P 11240 Partial match: abc 11241 abc\P\P 11242 Partial match: abc 11243 11244 /.+/ 11245 abc\>0 11246 0: abc 11247 abc\>1 11248 0: bc 11249 abc\>2 11250 0: c 11251 abc\>3 11252 No match 11253 abc\>4 11254 Error -24 11255 abc\>-4 11256 Error -24 11257 11258 /^\c/ 11259 Failed: \c must be followed by an ASCII character at offset 3 11260 11261 /(?P<abn>(?P=abn)xxx)/BZ 11262 ------------------------------------------------------------------ 11263 Bra 11264 Once 11265 CBra 1 11266 \1 11267 xxx 11268 Ket 11269 Ket 11270 Ket 11271 End 11272 ------------------------------------------------------------------ 11273 11274 /(a\1z)/BZ 11275 ------------------------------------------------------------------ 11276 Bra 11277 Once 11278 CBra 1 11279 a 11280 \1 11281 z 11282 Ket 11283 Ket 11284 Ket 11285 End 11286 ------------------------------------------------------------------ 11287 11288 /(?P<abn>(?P=abn)(?<badstufxxx)/BZ 11289 Failed: syntax error in subpattern name (missing terminator) at offset 29 11290 11291 /(?P<abn>(?P=axn)xxx)/BZ 11292 Failed: reference to non-existent subpattern at offset 15 11293 11294 /(?P<abn>(?P=axn)xxx)(?<axn>yy)/BZ 11295 ------------------------------------------------------------------ 11296 Bra 11297 CBra 1 11298 \2 11299 xxx 11300 Ket 11301 CBra 2 11302 yy 11303 Ket 11304 Ket 11305 End 11306 ------------------------------------------------------------------ 11307 11308 /-- End of testinput2 --/ 11309