Parent Directory
|
Revision Log
|
Patch
| revision 333 by ph10, Thu Apr 10 19:55:57 2008 UTC | revision 609 by ph10, Wed Jun 15 18:09:23 2011 UTC | |
|---|---|---|
| # | Line 1 | Line 1 |
| 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 | /(a)b|/I |
| 13 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| 14 | No options | No options |
| # | Line 40 No match | Line 51 No match |
| 51 | ||
| 52 | /a+bc/I | /a+bc/I |
| 53 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 54 | No options | No options |
| 55 | First char = 'a' | First char = 'a' |
| 56 | Need char = 'c' | Need char = 'c' |
| 57 | ||
| 58 | /a*bc/I | /a*bc/I |
| 59 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 60 | No options | No options |
| 61 | No first char | No first char |
| 62 | Need char = 'c' | Need char = 'c' |
| 63 | ||
| 64 | /a{3}bc/I | /a{3}bc/I |
| 65 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 66 | No options | No options |
| 67 | First char = 'a' | First char = 'a' |
| 68 | Need char = 'c' | Need char = 'c' |
| 69 | ||
| 70 | /(abc|a+z)/I | /(abc|a+z)/I |
| 71 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 72 | No options | No options |
| 73 | First char = 'a' | First char = 'a' |
| 74 | No need char | No need char |
| # | Line 96 Failed: missing terminating ] for charac | Line 103 Failed: missing terminating ] for charac |
| 103 | /(?X)[\B]/ | /(?X)[\B]/ |
| 104 | Failed: invalid escape sequence in character class at offset 6 | 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]/ | /[z-a]/ |
| 137 | Failed: range out of order in character class at offset 3 | Failed: range out of order in character class at offset 3 |
| 138 | ||
| # | Line 113 Failed: unrecognized character after (? | Line 150 Failed: unrecognized character after (? |
| 150 | ||
| 151 | /.*b/I | /.*b/I |
| 152 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 153 | No options | No options |
| 154 | First char at start or follows newline | First char at start or follows newline |
| 155 | Need char = 'b' | Need char = 'b' |
| 156 | ||
| 157 | /.*?b/I | /.*?b/I |
| 158 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 159 | No options | No options |
| 160 | First char at start or follows newline | First char at start or follows newline |
| 161 | Need char = 'b' | Need char = 'b' |
| # | Line 140 Capturing subpattern count = 0 | Line 175 Capturing subpattern count = 0 |
| 175 | No options | No options |
| 176 | No first char | No first char |
| 177 | No need char | No need char |
| 178 | Subject length lower bound = 3 | |
| 179 | Starting byte set: c d e | Starting byte set: c d e |
| 180 | this sentence eventually mentions a cat | this sentence eventually mentions a cat |
| 181 | 0: cat | 0: cat |
| # | Line 151 Capturing subpattern count = 0 | Line 187 Capturing subpattern count = 0 |
| 187 | Options: caseless | Options: caseless |
| 188 | No first char | No first char |
| 189 | No need char | No need char |
| 190 | Subject length lower bound = 3 | |
| 191 | Starting byte set: C D E c d e | Starting byte set: C D E c d e |
| 192 | this sentence eventually mentions a CAT cat | this sentence eventually mentions a CAT cat |
| 193 | 0: CAT | 0: CAT |
| # | Line 162 Capturing subpattern count = 0 | Line 199 Capturing subpattern count = 0 |
| 199 | No options | No options |
| 200 | No first char | No first char |
| 201 | No need char | No need char |
| 202 | Subject length lower bound = 1 | |
| 203 | Starting byte set: a b c d | Starting byte set: a b c d |
| 204 | ||
| 205 | /(a|[^\dZ])/IS | /(a|[^\dZ])/IS |
| # | Line 169 Capturing subpattern count = 1 | Line 207 Capturing subpattern count = 1 |
| 207 | No options | No options |
| 208 | No first char | No first char |
| 209 | No need char | No need char |
| 210 | Subject length lower bound = 1 | |
| 211 | Starting byte set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a | 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 | \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 |
| 213 | \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = > | \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = > |
| # | Line 189 Capturing subpattern count = 1 | Line 228 Capturing subpattern count = 1 |
| 228 | No options | No options |
| 229 | No first char | No first char |
| 230 | No need char | No need char |
| 231 | Subject length lower bound = 1 | |
| 232 | Starting byte set: \x09 \x0a \x0c \x0d \x20 a b | Starting byte set: \x09 \x0a \x0c \x0d \x20 a b |
| 233 | ||
| 234 | /(ab\2)/ | /(ab\2)/ |
| # | Line 324 No need char | Line 364 No need char |
| 364 | ||
| 365 | /.*((abc)$|(def))/I | /.*((abc)$|(def))/I |
| 366 | Capturing subpattern count = 3 | Capturing subpattern count = 3 |
| Partial matching not supported | ||
| 367 | No options | No options |
| 368 | First char at start or follows newline | First char at start or follows newline |
| 369 | No need char | No need char |
| # | Line 338 No need char | Line 377 No need char |
| 377 | 2: <unset> | 2: <unset> |
| 378 | 3: def | 3: def |
| 379 | ||
| 380 | /abc/IP | /abc/P |
| 381 | abc | abc |
| 382 | 0: abc | 0: abc |
| 383 | *** Failers | *** Failers |
| 384 | No match: POSIX code 17: match failed | No match: POSIX code 17: match failed |
| 385 | ||
| 386 | /^abc|def/IP | /^abc|def/P |
| 387 | abcdef | abcdef |
| 388 | 0: abc | 0: abc |
| 389 | abcdef\B | abcdef\B |
| 390 | 0: def | 0: def |
| 391 | ||
| 392 | /.*((abc)$|(def))/IP | /.*((abc)$|(def))/P |
| 393 | defabc | defabc |
| 394 | 0: defabc | 0: defabc |
| 395 | 1: abc | 1: abc |
| # | Line 360 No match: POSIX code 17: match failed | Line 399 No match: POSIX code 17: match failed |
| 399 | 1: def | 1: def |
| 400 | 3: def | 3: def |
| 401 | ||
| 402 | /the quick brown fox/IP | /the quick brown fox/P |
| 403 | the quick brown fox | the quick brown fox |
| 404 | 0: the quick brown fox | 0: the quick brown fox |
| 405 | *** Failers | *** Failers |
| # | Line 368 No match: POSIX code 17: match failed | Line 407 No match: POSIX code 17: match failed |
| 407 | The Quick Brown Fox | The Quick Brown Fox |
| 408 | No match: POSIX code 17: match failed | No match: POSIX code 17: match failed |
| 409 | ||
| 410 | /the quick brown fox/IPi | /the quick brown fox/Pi |
| 411 | the quick brown fox | the quick brown fox |
| 412 | 0: the quick brown fox | 0: the quick brown fox |
| 413 | The Quick Brown Fox | The Quick Brown Fox |
| 414 | 0: The Quick Brown Fox | 0: The Quick Brown Fox |
| 415 | ||
| 416 | /abc.def/IP | /abc.def/P |
| 417 | *** Failers | *** Failers |
| 418 | No match: POSIX code 17: match failed | No match: POSIX code 17: match failed |
| 419 | abc\ndef | abc\ndef |
| 420 | No match: POSIX code 17: match failed | No match: POSIX code 17: match failed |
| 421 | ||
| 422 | /abc$/IP | /abc$/P |
| 423 | abc | abc |
| 424 | 0: abc | 0: abc |
| 425 | abc\n | abc\n |
| 426 | 0: abc | 0: abc |
| 427 | ||
| 428 | /(abc)\2/IP | /(abc)\2/P |
| 429 | Failed: POSIX code 15: bad back reference at offset 7 | Failed: POSIX code 15: bad back reference at offset 7 |
| 430 | ||
| 431 | /(abc\1)/IP | /(abc\1)/P |
| 432 | abc | abc |
| 433 | No match: POSIX code 17: match failed | No match: POSIX code 17: match failed |
| 434 | ||
| # | Line 401 Failed: missing terminating ] for charac | Line 440 Failed: missing terminating ] for charac |
| 440 | ||
| 441 | /[^aeiou ]{3,}/I | /[^aeiou ]{3,}/I |
| 442 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 443 | No options | No options |
| 444 | No first char | No first char |
| 445 | No need char | No need char |
| # | Line 410 No need char | Line 448 No need char |
| 448 | ||
| 449 | /<.*>/I | /<.*>/I |
| 450 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 451 | No options | No options |
| 452 | First char = '<' | First char = '<' |
| 453 | Need char = '>' | Need char = '>' |
| # | Line 419 Need char = '>' | Line 456 Need char = '>' |
| 456 | ||
| 457 | /<.*?>/I | /<.*?>/I |
| 458 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 459 | No options | No options |
| 460 | First char = '<' | First char = '<' |
| 461 | Need char = '>' | Need char = '>' |
| # | Line 428 Need char = '>' | Line 464 Need char = '>' |
| 464 | ||
| 465 | /<.*>/IU | /<.*>/IU |
| 466 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 467 | Options: ungreedy | Options: ungreedy |
| 468 | First char = '<' | First char = '<' |
| 469 | Need char = '>' | Need char = '>' |
| # | Line 437 Need char = '>' | Line 472 Need char = '>' |
| 472 | ||
| 473 | /(?U)<.*>/I | /(?U)<.*>/I |
| 474 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 475 | Options: ungreedy | Options: ungreedy |
| 476 | First char = '<' | First char = '<' |
| 477 | Need char = '>' | Need char = '>' |
| # | Line 446 Need char = '>' | Line 480 Need char = '>' |
| 480 | ||
| 481 | /<.*?>/IU | /<.*?>/IU |
| 482 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 483 | Options: ungreedy | Options: ungreedy |
| 484 | First char = '<' | First char = '<' |
| 485 | Need char = '>' | Need char = '>' |
| # | Line 455 Need char = '>' | Line 488 Need char = '>' |
| 488 | ||
| 489 | /={3,}/IU | /={3,}/IU |
| 490 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 491 | Options: ungreedy | Options: ungreedy |
| 492 | First char = '=' | First char = '=' |
| 493 | Need char = '=' | Need char = '=' |
| # | Line 464 Need char = '=' | Line 496 Need char = '=' |
| 496 | ||
| 497 | /(?U)={3,}?/I | /(?U)={3,}?/I |
| 498 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 499 | Options: ungreedy | Options: ungreedy |
| 500 | First char = '=' | First char = '=' |
| 501 | Need char = '=' | Need char = '=' |
| # | Line 522 No need char | Line 553 No need char |
| 553 | ||
| 554 | /(?s).*/I | /(?s).*/I |
| 555 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 556 | Options: anchored dotall | Options: anchored dotall |
| 557 | No first char | No first char |
| 558 | No need char | No need char |
| # | Line 532 Capturing subpattern count = 0 | Line 562 Capturing subpattern count = 0 |
| 562 | No options | No options |
| 563 | No first char | No first char |
| 564 | No need char | No need char |
| 565 | Subject length lower bound = 1 | |
| 566 | Starting byte set: a b c d | Starting byte set: a b c d |
| 567 | ||
| 568 | /(?i)[abcd]/IS | /(?i)[abcd]/IS |
| # | Line 539 Capturing subpattern count = 0 | Line 570 Capturing subpattern count = 0 |
| 570 | Options: caseless | Options: caseless |
| 571 | No first char | No first char |
| 572 | No need char | No need char |
| 573 | Subject length lower bound = 1 | |
| 574 | Starting byte set: A B C D a b c d | Starting byte set: A B C D a b c d |
| 575 | ||
| 576 | /(?m)[xy]|(b|c)/IS | /(?m)[xy]|(b|c)/IS |
| # | Line 546 Capturing subpattern count = 1 | Line 578 Capturing subpattern count = 1 |
| 578 | Options: multiline | Options: multiline |
| 579 | No first char | No first char |
| 580 | No need char | No need char |
| 581 | Subject length lower bound = 1 | |
| 582 | Starting byte set: b c x y | Starting byte set: b c x y |
| 583 | ||
| 584 | /(^a|^b)/Im | /(^a|^b)/Im |
| # | Line 584 Failed: syntax error in subpattern name | Line 617 Failed: syntax error in subpattern name |
| 617 | /((?s)blah)\s+\1/I | /((?s)blah)\s+\1/I |
| 618 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| 619 | Max back reference = 1 | Max back reference = 1 |
| Partial matching not supported | ||
| 620 | No options | No options |
| 621 | First char = 'b' | First char = 'b' |
| 622 | Need char = 'h' | Need char = 'h' |
| # | Line 592 Need char = 'h' | Line 624 Need char = 'h' |
| 624 | /((?i)blah)\s+\1/I | /((?i)blah)\s+\1/I |
| 625 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| 626 | Max back reference = 1 | Max back reference = 1 |
| Partial matching not supported | ||
| 627 | No options | No options |
| 628 | First char = 'b' (caseless) | First char = 'b' (caseless) |
| 629 | Need char = 'h' (caseless) | Need char = 'h' (caseless) |
| # | Line 601 Need char = 'h' (caseless) | Line 632 Need char = 'h' (caseless) |
| 632 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 633 | Bra | Bra |
| 634 | CBra 1 | CBra 1 |
| 635 | 01 Opt | /i b |
| NC b | ||
| 636 | Ket | Ket |
| 00 Opt | ||
| 637 | Ket | Ket |
| 638 | End | End |
| 639 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| # | Line 612 Capturing subpattern count = 1 | Line 641 Capturing subpattern count = 1 |
| 641 | No options | No options |
| 642 | First char = 'b' (caseless) | First char = 'b' (caseless) |
| 643 | No need char | No need char |
| 644 | Study returned NULL | Subject length lower bound = 1 |
| 645 | No set of starting bytes | |
| 646 | ||
| 647 | /(a*b|(?i:c*(?-i)d))/IS | /(a*b|(?i:c*(?-i)d))/IS |
| 648 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 649 | No options | No options |
| 650 | No first char | No first char |
| 651 | No need char | No need char |
| 652 | Subject length lower bound = 1 | |
| 653 | Starting byte set: C a b c d | Starting byte set: C a b c d |
| 654 | ||
| 655 | /a$/I | /a$/I |
| # | Line 668 Need char = 'c' | Line 698 Need char = 'c' |
| 698 | ||
| 699 | /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I | /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I |
| 700 | Capturing subpattern count = 5 | Capturing subpattern count = 5 |
| Partial matching not supported | ||
| 701 | Options: anchored | Options: anchored |
| 702 | No first char | No first char |
| 703 | No need char | No need char |
| # | Line 685 Capturing subpattern count = 0 | Line 714 Capturing subpattern count = 0 |
| 714 | No options | No options |
| 715 | No first char | No first char |
| 716 | No need char | No need char |
| 717 | Subject length lower bound = 1 | |
| 718 | Starting byte set: a b | Starting byte set: a b |
| 719 | ||
| 720 | /(?<!foo)(alpha|omega)/IS | /(?<!foo)(alpha|omega)/IS |
| # | Line 692 Capturing subpattern count = 1 | Line 722 Capturing subpattern count = 1 |
| 722 | No options | No options |
| 723 | No first char | No first char |
| 724 | Need char = 'a' | Need char = 'a' |
| 725 | Subject length lower bound = 5 | |
| 726 | Starting byte set: a o | Starting byte set: a o |
| 727 | ||
| 728 | /(?!alphabet)[ab]/IS | /(?!alphabet)[ab]/IS |
| # | Line 699 Capturing subpattern count = 0 | Line 730 Capturing subpattern count = 0 |
| 730 | No options | No options |
| 731 | No first char | No first char |
| 732 | No need char | No need char |
| 733 | Subject length lower bound = 1 | |
| 734 | Starting byte set: a b | Starting byte set: a b |
| 735 | ||
| 736 | /(?<=foo\n)^bar/Im | /(?<=foo\n)^bar/Im |
| # | Line 784 No need char | Line 816 No need char |
| 816 | ||
| 817 | /(?>.*)(?<=(abcd)|(xyz))/I | /(?>.*)(?<=(abcd)|(xyz))/I |
| 818 | Capturing subpattern count = 2 | Capturing subpattern count = 2 |
| Partial matching not supported | ||
| 819 | No options | No options |
| 820 | First char at start or follows newline | First char at start or follows newline |
| 821 | No need char | No need char |
| # | Line 854 No match | Line 885 No match |
| 885 | a | a |
| 886 | No match | No match |
| 887 | ||
| 888 | /This one is here because I think Perl 5.005_02 gets the setting of $1 wrong/I | /This one is here because Perl behaves differently; see also the following/I |
| 889 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| 890 | No options | No options |
| 891 | First char = 'T' | First char = 'T' |
| # | Line 866 Max back reference = 1 | Line 897 Max back reference = 1 |
| 897 | Options: anchored | Options: anchored |
| 898 | No first char | No first char |
| 899 | No need char | No need char |
| 900 | aaaa | |
| 901 | No match | |
| 902 | aaaaaa | aaaaaa |
| 903 | 0: aaaaaa | No match |
| 904 | 1: aa | |
| 905 | /Perl does not fail these two for the final subjects. Neither did PCRE until/ | |
| 906 | /release 8.01. The problem is in backtracking into a subpattern that contains/ | |
| 907 | No match | |
| 908 | /a recursive reference to itself. PCRE has now made these into atomic patterns./ | |
| 909 | No match | |
| 910 | ||
| 911 | /^(xa|=?\1a){2}$/ | |
| 912 | xa=xaa | |
| 913 | 0: xa=xaa | |
| 914 | 1: =xaa | |
| 915 | ** Failers | |
| 916 | No match | |
| 917 | xa=xaaa | |
| 918 | No match | |
| 919 | ||
| 920 | /^(xa|=?\1a)+$/ | |
| 921 | xa=xaa | |
| 922 | 0: xa=xaa | |
| 923 | 1: =xaa | |
| 924 | ** Failers | |
| 925 | No match | |
| 926 | xa=xaaa | |
| 927 | No match | |
| 928 | ||
| 929 | /These are syntax tests from Perl 5.005/I | /These are syntax tests from Perl 5.005/I |
| 930 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| # | Line 1003 copy substring 5 failed -7 | Line 1059 copy substring 5 failed -7 |
| 1059 | ||
| 1060 | /(.{20})/I | /(.{20})/I |
| 1061 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 1062 | No options | No options |
| 1063 | No first char | No first char |
| 1064 | No need char | No need char |
| # | Line 1021 No need char | Line 1076 No need char |
| 1076 | ||
| 1077 | /(.{15})/I | /(.{15})/I |
| 1078 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 1079 | No options | No options |
| 1080 | No first char | No first char |
| 1081 | No need char | No need char |
| # | Line 1036 No need char | Line 1090 No need char |
| 1090 | ||
| 1091 | /(.{16})/I | /(.{16})/I |
| 1092 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 1093 | No options | No options |
| 1094 | No first char | No first char |
| 1095 | No need char | No need char |
| # | Line 1103 No need char | Line 1156 No need char |
| 1156 | )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ | )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ |
| 1157 | )?)?)?)?)?)?)?)?)?otherword/I | )?)?)?)?)?)?)?)?)?otherword/I |
| 1158 | Capturing subpattern count = 8 | Capturing subpattern count = 8 |
| Partial matching not supported | ||
| 1159 | Contains explicit CR or LF match | Contains explicit CR or LF match |
| 1160 | No options | No options |
| 1161 | First char = 'w' | First char = 'w' |
| # | Line 1118 Need char = 'd' | Line 1170 Need char = 'd' |
| 1170 | End | End |
| 1171 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 1172 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 1173 | No options | No options |
| 1174 | First char at start or follows newline | First char at start or follows newline |
| 1175 | Need char = 'X' | Need char = 'X' |
| # | Line 1126 Need char = 'X' | Line 1177 Need char = 'X' |
| 1177 | /.*X/IDZs | /.*X/IDZs |
| 1178 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 1179 | Bra | Bra |
| 1180 | Any* | AllAny* |
| 1181 | X | X |
| 1182 | Ket | Ket |
| 1183 | End | End |
| 1184 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 1185 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 1186 | Options: anchored dotall | Options: anchored dotall |
| 1187 | No first char | No first char |
| 1188 | Need char = 'X' | Need char = 'X' |
| # | Line 1151 Need char = 'X' | Line 1201 Need char = 'X' |
| 1201 | End | End |
| 1202 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 1203 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 1204 | No options | No options |
| 1205 | First char at start or follows newline | First char at start or follows newline |
| 1206 | No need char | No need char |
| # | Line 1160 No need char | Line 1209 No need char |
| 1209 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 1210 | Bra | Bra |
| 1211 | CBra 1 | CBra 1 |
| 1212 | Any* | AllAny* |
| 1213 | X | X |
| 1214 | Alt | Alt |
| 1215 | ^ | ^ |
| # | Line 1170 No need char | Line 1219 No need char |
| 1219 | End | End |
| 1220 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 1221 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 1222 | Options: anchored dotall | Options: anchored dotall |
| 1223 | No first char | No first char |
| 1224 | No need char | No need char |
| # | Line 1179 No need char | Line 1227 No need char |
| 1227 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 1228 | Bra | Bra |
| 1229 | CBra 1 | CBra 1 |
| 1230 | Any* | AllAny* |
| 1231 | X | X |
| 1232 | Alt | Alt |
| 1233 | ^ | ^ |
| # | Line 1189 No need char | Line 1237 No need char |
| 1237 | End | End |
| 1238 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 1239 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 1240 | Options: anchored dotall | Options: anchored dotall |
| 1241 | No first char | No first char |
| 1242 | No need char | No need char |
| # | Line 1198 No need char | Line 1245 No need char |
| 1245 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 1246 | Bra | Bra |
| 1247 | Bra | Bra |
| 1248 | 04 Opt | AllAny* |
| Any* | ||
| 1249 | X | X |
| 1250 | Alt | Alt |
| 04 Opt | ||
| 1251 | ^ | ^ |
| 1252 | B | B |
| 1253 | Ket | Ket |
| 00 Opt | ||
| 1254 | Ket | Ket |
| 1255 | End | End |
| 1256 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 1257 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| 1258 | Partial matching not supported | Options: anchored |
| 1259 | No options | No first char |
| First char at start or follows newline | ||
| 1260 | No need char | No need char |
| 1261 | ||
| 1262 | /\Biss\B/I+ | /\Biss\B/I+ |
| # | Line 1296 No need char | Line 1339 No need char |
| 1339 | ||
| 1340 | /.*iss/Ig+ | /.*iss/Ig+ |
| 1341 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 1342 | No options | No options |
| 1343 | First char at start or follows newline | First char at start or follows newline |
| 1344 | Need char = 's' | Need char = 's' |
| # | Line 1399 Need char = 'c' | Line 1441 Need char = 'c' |
| 1441 | ||
| 1442 | /a*/I | /a*/I |
| 1443 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 1444 | No options | No options |
| 1445 | No first char | No first char |
| 1446 | No need char | No need char |
| 1447 | ||
| 1448 | /a+/I | /a+/I |
| 1449 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 1450 | No options | No options |
| 1451 | First char = 'a' | First char = 'a' |
| 1452 | No need char | No need char |
| 1453 | ||
| 1454 | /(baa|a+)/I | /(baa|a+)/I |
| 1455 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 1456 | No options | No options |
| 1457 | No first char | No first char |
| 1458 | Need char = 'a' | Need char = 'a' |
| 1459 | ||
| 1460 | /a{0,3}/I | /a{0,3}/I |
| 1461 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 1462 | No options | No options |
| 1463 | No first char | No first char |
| 1464 | No need char | No need char |
| 1465 | ||
| 1466 | /baa{3,}/I | /baa{3,}/I |
| 1467 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 1468 | No options | No options |
| 1469 | First char = 'b' | First char = 'b' |
| 1470 | Need char = 'a' | Need char = 'a' |
| 1471 | ||
| 1472 | /"([^\\"]+|\\.)*"/I | /"([^\\"]+|\\.)*"/I |
| 1473 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 1474 | No options | No options |
| 1475 | First char = '"' | First char = '"' |
| 1476 | Need char = '"' | Need char = '"' |
| # | Line 1489 Need char = 'b' | Line 1525 Need char = 'b' |
| 1525 | ||
| 1526 | /abc*/I | /abc*/I |
| 1527 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 1528 | No options | No options |
| 1529 | First char = 'a' | First char = 'a' |
| 1530 | Need char = 'b' | Need char = 'b' |
| 1531 | ||
| 1532 | /ab.c*/I | /ab.c*/I |
| 1533 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 1534 | No options | No options |
| 1535 | First char = 'a' | First char = 'a' |
| 1536 | Need char = 'b' | Need char = 'b' |
| 1537 | ||
| 1538 | /a.c*/I | /a.c*/I |
| 1539 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 1540 | No options | No options |
| 1541 | First char = 'a' | First char = 'a' |
| 1542 | No need char | No need char |
| 1543 | ||
| 1544 | /.c*/I | /.c*/I |
| 1545 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 1546 | No options | No options |
| 1547 | No first char | No first char |
| 1548 | No need char | No need char |
| 1549 | ||
| 1550 | /ac*/I | /ac*/I |
| 1551 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 1552 | No options | No options |
| 1553 | First char = 'a' | First char = 'a' |
| 1554 | No need char | No need char |
| 1555 | ||
| 1556 | /(a.c*|b.c*)/I | /(a.c*|b.c*)/I |
| 1557 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 1558 | No options | No options |
| 1559 | No first char | No first char |
| 1560 | No need char | No need char |
| 1561 | ||
| 1562 | /a.c*|aba/I | /a.c*|aba/I |
| 1563 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 1564 | No options | No options |
| 1565 | First char = 'a' | First char = 'a' |
| 1566 | No need char | No need char |
| 1567 | ||
| 1568 | /.+a/I | /.+a/I |
| 1569 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 1570 | No options | No options |
| 1571 | No first char | No first char |
| 1572 | Need char = 'a' | Need char = 'a' |
| 1573 | ||
| 1574 | /(?=abcda)a.*/I | /(?=abcda)a.*/I |
| 1575 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 1576 | No options | No options |
| 1577 | First char = 'a' | First char = 'a' |
| 1578 | Need char = 'a' | Need char = 'a' |
| 1579 | ||
| 1580 | /(?=a)a.*/I | /(?=a)a.*/I |
| 1581 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 1582 | No options | No options |
| 1583 | First char = 'a' | First char = 'a' |
| 1584 | No need char | No need char |
| # | Line 1565 No need char | Line 1591 No need char |
| 1591 | ||
| 1592 | /a\d*/I | /a\d*/I |
| 1593 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 1594 | No options | No options |
| 1595 | First char = 'a' | First char = 'a' |
| 1596 | No need char | No need char |
| 1597 | ||
| 1598 | /ab\d*/I | /ab\d*/I |
| 1599 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 1600 | No options | No options |
| 1601 | First char = 'a' | First char = 'a' |
| 1602 | Need char = 'b' | Need char = 'b' |
| # | Line 1591 Need char = 'd' | Line 1615 Need char = 'd' |
| 1615 | ||
| 1616 | /ab\d+/I | /ab\d+/I |
| 1617 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 1618 | No options | No options |
| 1619 | First char = 'a' | First char = 'a' |
| 1620 | Need char = 'b' | Need char = 'b' |
| # | Line 1666 No need char | Line 1689 No need char |
| 1689 | \Nabc | \Nabc |
| 1690 | No match | No match |
| 1691 | ||
| 1692 | /a*(b+)(z)(z)/IP | /a*(b+)(z)(z)/P |
| 1693 | aaaabbbbzzzz | aaaabbbbzzzz |
| 1694 | 0: aaaabbbbzz | 0: aaaabbbbzz |
| 1695 | 1: bbbb | 1: bbbb |
| # | Line 1698 Capturing subpattern count = 0 | Line 1721 Capturing subpattern count = 0 |
| 1721 | Options: anchored | Options: anchored |
| 1722 | No first char | No first char |
| 1723 | Need char = 'd' | Need char = 'd' |
| 1724 | Study returned NULL | Subject length lower bound = 4 |
| 1725 | No set of starting bytes | |
| 1726 | ||
| 1727 | /\( # ( at start | /\( # ( at start |
| 1728 | (?: # Non-capturing bracket | (?: # Non-capturing bracket |
| # | Line 1709 Study returned NULL | Line 1733 Study returned NULL |
| 1733 | \) # Closing ) | \) # Closing ) |
| 1734 | /Ix | /Ix |
| 1735 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 1736 | Options: extended | Options: extended |
| 1737 | First char = '(' | First char = '(' |
| 1738 | Need char = ')' | Need char = ')' |
| # | Line 1738 No match | Line 1761 No match |
| 1761 | ||
| 1762 | /\( ( (?>[^()]+) | (?R) )* \) /Ixg | /\( ( (?>[^()]+) | (?R) )* \) /Ixg |
| 1763 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 1764 | Options: extended | Options: extended |
| 1765 | First char = '(' | First char = '(' |
| 1766 | Need char = ')' | Need char = ')' |
| # | Line 1753 Need char = ')' | Line 1775 Need char = ')' |
| 1775 | ||
| 1776 | /\( (?: (?>[^()]+) | (?R) ) \) /Ix | /\( (?: (?>[^()]+) | (?R) ) \) /Ix |
| 1777 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 1778 | Options: extended | Options: extended |
| 1779 | First char = '(' | First char = '(' |
| 1780 | Need char = ')' | Need char = ')' |
| # | Line 1772 No match | Line 1793 No match |
| 1793 | ||
| 1794 | /\( (?: (?>[^()]+) | (?R) )? \) /Ix | /\( (?: (?>[^()]+) | (?R) )? \) /Ix |
| 1795 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 1796 | Options: extended | Options: extended |
| 1797 | First char = '(' | First char = '(' |
| 1798 | Need char = ')' | Need char = ')' |
| # | Line 1783 Need char = ')' | Line 1803 Need char = ')' |
| 1803 | ||
| 1804 | /\( ( (?>[^()]+) | (?R) )* \) /Ix | /\( ( (?>[^()]+) | (?R) )* \) /Ix |
| 1805 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 1806 | Options: extended | Options: extended |
| 1807 | First char = '(' | First char = '(' |
| 1808 | Need char = ')' | Need char = ')' |
| # | Line 1793 Need char = ')' | Line 1812 Need char = ')' |
| 1812 | ||
| 1813 | /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix | /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix |
| 1814 | Capturing subpattern count = 2 | Capturing subpattern count = 2 |
| Partial matching not supported | ||
| 1815 | Options: extended | Options: extended |
| 1816 | First char = '(' | First char = '(' |
| 1817 | Need char = ')' | Need char = ')' |
| # | Line 1804 Need char = ')' | Line 1822 Need char = ')' |
| 1822 | ||
| 1823 | /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix | /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix |
| 1824 | Capturing subpattern count = 3 | Capturing subpattern count = 3 |
| Partial matching not supported | ||
| 1825 | Options: extended | Options: extended |
| 1826 | First char = '(' | First char = '(' |
| 1827 | Need char = ')' | Need char = ')' |
| # | Line 1821 Need char = ')' | Line 1838 Need char = ')' |
| 1838 | ||
| 1839 | /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix | /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix |
| 1840 | Capturing subpattern count = 3 | Capturing subpattern count = 3 |
| Partial matching not supported | ||
| 1841 | Options: extended | Options: extended |
| 1842 | First char = '(' | First char = '(' |
| 1843 | Need char = ')' | Need char = ')' |
| # | Line 1838 Need char = ')' | Line 1854 Need char = ')' |
| 1854 | ||
| 1855 | /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix | /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix |
| 1856 | Capturing subpattern count = 11 | Capturing subpattern count = 11 |
| Partial matching not supported | ||
| 1857 | Options: extended | Options: extended |
| 1858 | First char = '(' | First char = '(' |
| 1859 | Need char = ')' | Need char = ')' |
| # | Line 1858 Need char = ')' | Line 1873 Need char = ')' |
| 1873 | ||
| 1874 | /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix | /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix |
| 1875 | Capturing subpattern count = 3 | Capturing subpattern count = 3 |
| Partial matching not supported | ||
| 1876 | Options: extended | Options: extended |
| 1877 | First char = '(' | First char = '(' |
| 1878 | Need char = ')' | Need char = ')' |
| # | Line 1866 Need char = ')' | Line 1880 Need char = ')' |
| 1880 | 0: (abcd(xyz<p>qrs)123) | 0: (abcd(xyz<p>qrs)123) |
| 1881 | 1: abcd(xyz<p>qrs)123 | 1: abcd(xyz<p>qrs)123 |
| 1882 | 2: 123 | 2: 123 |
| 3: <unset> | ||
| 1883 | ||
| 1884 | /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix | /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix |
| 1885 | Capturing subpattern count = 3 | Capturing subpattern count = 3 |
| Partial matching not supported | ||
| 1886 | Options: extended | Options: extended |
| 1887 | First char = '(' | First char = '(' |
| 1888 | Need char = ')' | Need char = ')' |
| # | Line 1942 Capturing subpattern count = 0 | Line 1954 Capturing subpattern count = 0 |
| 1954 | No options | No options |
| 1955 | No first char | No first char |
| 1956 | No need char | No need char |
| 1957 | Subject length lower bound = 1 | |
| 1958 | 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 | 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 |
| 1959 | _ 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 f g h i j k l m n o p q r s t u v w x y z |
| 1960 | ||
| # | Line 2003 Contains explicit CR or LF match | Line 2016 Contains explicit CR or LF match |
| 2016 | No options | No options |
| 2017 | No first char | No first char |
| 2018 | No need char | No need char |
| 2019 | Subject length lower bound = 1 | |
| 2020 | Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20 | Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20 |
| 2021 | ||
| 2022 | /^[[:cntrl:]]/DZ | /^[[:cntrl:]]/DZ |
| # | Line 2249 Need char = 'd' | Line 2263 Need char = 'd' |
| 2263 | /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\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 | /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\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 |
| 2264 | Capturing subpattern count = 271 | Capturing subpattern count = 271 |
| 2265 | Max back reference = 270 | Max back reference = 270 |
| Partial matching not supported | ||
| 2266 | No options | No options |
| 2267 | No first char | No first char |
| 2268 | No need char | No need char |
| # | Line 2746 No need char | Line 2759 No need char |
| 2759 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 2760 | Bra | Bra |
| 2761 | a | a |
| 2762 | 01 Opt | /i b |
| NC b | ||
| 2763 | Ket | Ket |
| 2764 | End | End |
| 2765 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| # | Line 2769 No match | Line 2781 No match |
| 2781 | Bra | Bra |
| 2782 | CBra 1 | CBra 1 |
| 2783 | a | a |
| 2784 | 01 Opt | /i b |
| NC b | ||
| 2785 | Ket | Ket |
| 00 Opt | ||
| 2786 | Ket | Ket |
| 2787 | End | End |
| 2788 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| # | Line 2794 No match | Line 2804 No match |
| 2804 | / (?i)abc/IxDZ | / (?i)abc/IxDZ |
| 2805 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 2806 | Bra | Bra |
| 2807 | NC abc | /i abc |
| 2808 | Ket | Ket |
| 2809 | End | End |
| 2810 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| # | Line 2807 Need char = 'c' (caseless) | Line 2817 Need char = 'c' (caseless) |
| 2817 | (?i)abc/IxDZ | (?i)abc/IxDZ |
| 2818 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 2819 | Bra | Bra |
| 2820 | NC abc | /i abc |
| 2821 | Ket | Ket |
| 2822 | End | End |
| 2823 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| # | Line 2930 Need char = 'c' | Line 2940 Need char = 'c' |
| 2940 | End | End |
| 2941 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 2942 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 2943 | No options | No options |
| 2944 | No first char | No first char |
| 2945 | No need char | No need char |
| # | Line 2959 No need char | Line 2968 No need char |
| 2968 | End | End |
| 2969 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 2970 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 2971 | No options | No options |
| 2972 | First char = 'x' | First char = 'x' |
| 2973 | No need char | No need char |
| # | Line 2975 No need char | Line 2983 No need char |
| 2983 | End | End |
| 2984 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 2985 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 2986 | No options | No options |
| 2987 | First char = 'x' | First char = 'x' |
| 2988 | No need char | No need char |
| # | Line 2983 No need char | Line 2990 No need char |
| 2990 | /(x)*+/DZ | /(x)*+/DZ |
| 2991 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 2992 | Bra | Bra |
| 2993 | Once | Braposzero |
| 2994 | Brazero | CBraPos 1 |
| CBra 1 | ||
| 2995 | x | x |
| 2996 | KetRmax | KetRpos |
| Ket | ||
| 2997 | Ket | Ket |
| 2998 | End | End |
| 2999 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| # | Line 2999 No need char | Line 3004 No need char |
| 3004 | ||
| 3005 | /^(\w++|\s++)*$/I | /^(\w++|\s++)*$/I |
| 3006 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 3007 | Options: anchored | Options: anchored |
| 3008 | No first char | No first char |
| 3009 | No need char | No need char |
| # | Line 3013 No match | Line 3017 No match |
| 3017 | ||
| 3018 | /(\d++)(\w)/I | /(\d++)(\w)/I |
| 3019 | Capturing subpattern count = 2 | Capturing subpattern count = 2 |
| Partial matching not supported | ||
| 3020 | No options | No options |
| 3021 | No first char | No first char |
| 3022 | No need char | No need char |
| # | Line 3028 No match | Line 3031 No match |
| 3031 | ||
| 3032 | /a++b/I | /a++b/I |
| 3033 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 3034 | No options | No options |
| 3035 | First char = 'a' | First char = 'a' |
| 3036 | Need char = 'b' | Need char = 'b' |
| # | Line 3037 Need char = 'b' | Line 3039 Need char = 'b' |
| 3039 | ||
| 3040 | /(a++b)/I | /(a++b)/I |
| 3041 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 3042 | No options | No options |
| 3043 | First char = 'a' | First char = 'a' |
| 3044 | Need char = 'b' | Need char = 'b' |
| # | Line 3047 Need char = 'b' | Line 3048 Need char = 'b' |
| 3048 | ||
| 3049 | /(a++)b/I | /(a++)b/I |
| 3050 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 3051 | No options | No options |
| 3052 | First char = 'a' | First char = 'a' |
| 3053 | Need char = 'b' | Need char = 'b' |
| # | Line 3057 Need char = 'b' | Line 3057 Need char = 'b' |
| 3057 | ||
| 3058 | /([^()]++|\([^()]*\))+/I | /([^()]++|\([^()]*\))+/I |
| 3059 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 3060 | No options | No options |
| 3061 | No first char | No first char |
| 3062 | No need char | No need char |
| # | Line 3067 No need char | Line 3066 No need char |
| 3066 | ||
| 3067 | /\(([^()]++|\([^()]+\))+\)/I | /\(([^()]++|\([^()]+\))+\)/I |
| 3068 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 3069 | No options | No options |
| 3070 | First char = '(' | First char = '(' |
| 3071 | Need char = ')' | Need char = ')' |
| # | Line 3130 Failed: nothing to repeat at offset 7 | Line 3128 Failed: nothing to repeat at offset 7 |
| 3128 | End | End |
| 3129 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 3130 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 3131 | No options | No options |
| 3132 | First char = 'x' | First char = 'x' |
| 3133 | Need char = 'b' | Need char = 'b' |
| # | Line 3147 Need char = 'b' | Line 3144 Need char = 'b' |
| 3144 | End | End |
| 3145 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 3146 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 3147 | Options: ungreedy | Options: ungreedy |
| 3148 | First char = 'x' | First char = 'x' |
| 3149 | Need char = 'b' | Need char = 'b' |
| # | Line 3176 Need char = 'b' | Line 3172 Need char = 'b' |
| 3172 | End | End |
| 3173 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 3174 | Capturing subpattern count = 5 | Capturing subpattern count = 5 |
| Partial matching not supported | ||
| 3175 | Options: anchored | Options: anchored |
| 3176 | No first char | No first char |
| 3177 | No need char | No need char |
| # | Line 3192 No need char | Line 3187 No need char |
| 3187 | End | End |
| 3188 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 3189 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 3190 | Options: anchored | Options: anchored |
| 3191 | No first char | No first char |
| 3192 | Need char = 'b' | Need char = 'b' |
| # | Line 3210 Need char = 'b' | Line 3204 Need char = 'b' |
| 3204 | End | End |
| 3205 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 3206 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 3207 | Options: anchored | Options: anchored |
| 3208 | No first char | No first char |
| 3209 | Need char = 'b' | Need char = 'b' |
| # | Line 3225 Failed: POSIX collating elements are not | Line 3218 Failed: POSIX collating elements are not |
| 3218 | Failed: POSIX named classes are supported only within a class at offset 0 | Failed: POSIX named classes are supported only within a class at offset 0 |
| 3219 | ||
| 3220 | /\l/I | /\l/I |
| 3221 | Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1 | Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1 |
| 3222 | ||
| 3223 | /\L/I | /\L/I |
| 3224 | Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1 | Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1 |
| 3225 | ||
| 3226 | /\N{name}/I | /\N{name}/I |
| 3227 | Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1 | Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1 |
| 3228 | ||
| 3229 | /\u/I | /\u/I |
| 3230 | Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1 | Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1 |
| 3231 | ||
| 3232 | /\U/I | /\U/I |
| 3233 | Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1 | Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1 |
| 3234 | ||
| 3235 | /[/I | /[/I |
| 3236 | Failed: missing terminating ] for character class at offset 1 | Failed: missing terminating ] for character class at offset 1 |
| # | Line 3286 No need char | Line 3279 No need char |
| 3279 | ||
| 3280 | /< (?: (?(R) \d++ | [^<>]*+) | (?R)) * >/Ix | /< (?: (?(R) \d++ | [^<>]*+) | (?R)) * >/Ix |
| 3281 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 3282 | Options: extended | Options: extended |
| 3283 | First char = '<' | First char = '<' |
| 3284 | Need char = '>' | Need char = '>' |
| # | Line 3336 Need char = 'X' | Line 3328 Need char = 'X' |
| 3328 | /(.*)\d+\1/I | /(.*)\d+\1/I |
| 3329 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| 3330 | Max back reference = 1 | Max back reference = 1 |
| Partial matching not supported | ||
| 3331 | No options | No options |
| 3332 | No first char | No first char |
| 3333 | No need char | No need char |
| 3334 | ||
| 3335 | /(.*)\d+/I | /(.*)\d+/I |
| 3336 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 3337 | No options | No options |
| 3338 | First char at start or follows newline | First char at start or follows newline |
| 3339 | No need char | No need char |
| # | Line 3351 No need char | Line 3341 No need char |
| 3341 | /(.*)\d+\1/Is | /(.*)\d+\1/Is |
| 3342 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| 3343 | Max back reference = 1 | Max back reference = 1 |
| Partial matching not supported | ||
| 3344 | Options: dotall | Options: dotall |
| 3345 | No first char | No first char |
| 3346 | No need char | No need char |
| 3347 | ||
| 3348 | /(.*)\d+/Is | /(.*)\d+/Is |
| 3349 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 3350 | Options: anchored dotall | Options: anchored dotall |
| 3351 | No first char | No first char |
| 3352 | No need char | No need char |
| # | Line 3366 No need char | Line 3354 No need char |
| 3354 | /(.*(xyz))\d+\2/I | /(.*(xyz))\d+\2/I |
| 3355 | Capturing subpattern count = 2 | Capturing subpattern count = 2 |
| 3356 | Max back reference = 2 | Max back reference = 2 |
| Partial matching not supported | ||
| 3357 | No options | No options |
| 3358 | First char at start or follows newline | First char at start or follows newline |
| 3359 | Need char = 'z' | Need char = 'z' |
| # | Line 3374 Need char = 'z' | Line 3361 Need char = 'z' |
| 3361 | /((.*))\d+\1/I | /((.*))\d+\1/I |
| 3362 | Capturing subpattern count = 2 | Capturing subpattern count = 2 |
| 3363 | Max back reference = 1 | Max back reference = 1 |
| Partial matching not supported | ||
| 3364 | No options | No options |
| 3365 | No first char | No first char |
| 3366 | No need char | No need char |
| # | Line 3391 Need char = 'b' | Line 3377 Need char = 'b' |
| 3377 | ||
| 3378 | /(?=a).*/I | /(?=a).*/I |
| 3379 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 3380 | No options | No options |
| 3381 | First char = 'a' | First char = 'a' |
| 3382 | No need char | No need char |
| # | Line 3497 Capturing subpattern count = 0 | Line 3482 Capturing subpattern count = 0 |
| 3482 | No options | No options |
| 3483 | No first char | No first char |
| 3484 | No need char | No need char |
| 3485 | Subject length lower bound = 1 | |
| 3486 | Starting byte set: a b | Starting byte set: a b |
| 3487 | ||
| 3488 | /[^a]/I | /[^a]/I |
| # | Line 3516 Capturing subpattern count = 0 | Line 3502 Capturing subpattern count = 0 |
| 3502 | No options | No options |
| 3503 | No first char | No first char |
| 3504 | Need char = '6' | Need char = '6' |
| 3505 | Subject length lower bound = 4 | |
| 3506 | Starting byte set: 0 1 2 3 4 5 6 7 8 9 | Starting byte set: 0 1 2 3 4 5 6 7 8 9 |
| 3507 | ||
| 3508 | /a^b/I | /a^b/I |
| # | Line 3549 Capturing subpattern count = 0 | Line 3536 Capturing subpattern count = 0 |
| 3536 | Options: caseless | Options: caseless |
| 3537 | No first char | No first char |
| 3538 | No need char | No need char |
| 3539 | Subject length lower bound = 1 | |
| 3540 | Starting byte set: A B a b | Starting byte set: A B a b |
| 3541 | ||
| 3542 | /[ab](?i)cd/IS | /[ab](?i)cd/IS |
| # | Line 3556 Capturing subpattern count = 0 | Line 3544 Capturing subpattern count = 0 |
| 3544 | No options | No options |
| 3545 | No first char | No first char |
| 3546 | Need char = 'd' (caseless) | Need char = 'd' (caseless) |
| 3547 | Subject length lower bound = 3 | |
| 3548 | Starting byte set: a b | Starting byte set: a b |
| 3549 | ||
| 3550 | /abc(?C)def/I | /abc(?C)def/I |
| # | Line 3713 No need char | Line 3702 No need char |
| 3702 | ||
| 3703 | /(\d{3}(?C))*/I | /(\d{3}(?C))*/I |
| 3704 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 3705 | No options | No options |
| 3706 | No first char | No first char |
| 3707 | No need char | No need char |
| # | Line 3842 Callout 0: last capture = 1 | Line 3830 Callout 0: last capture = 1 |
| 3830 | ||
| 3831 | /a(b+)(c*)(?C1)/I | /a(b+)(c*)(?C1)/I |
| 3832 | Capturing subpattern count = 2 | Capturing subpattern count = 2 |
| Partial matching not supported | ||
| 3833 | No options | No options |
| 3834 | First char = 'a' | First char = 'a' |
| 3835 | Need char = 'b' | Need char = 'b' |
| # | Line 3868 No match | Line 3855 No match |
| 3855 | ||
| 3856 | /a(b+?)(c*?)(?C1)/I | /a(b+?)(c*?)(?C1)/I |
| 3857 | Capturing subpattern count = 2 | Capturing subpattern count = 2 |
| Partial matching not supported | ||
| 3858 | No options | No options |
| 3859 | First char = 'a' | First char = 'a' |
| 3860 | Need char = 'b' | Need char = 'b' |
| # | Line 3909 Capturing subpattern count = 0 | Line 3895 Capturing subpattern count = 0 |
| 3895 | No options | No options |
| 3896 | No first char | No first char |
| 3897 | No need char | No need char |
| 3898 | Subject length lower bound = 1 | |
| 3899 | Starting byte set: a b | Starting byte set: a b |
| 3900 | ||
| 3901 | /(?R)/I | /(?R)/I |
| # | Line 4028 No options | Line 4015 No options |
| 4015 | First char = 'a' | First char = 'a' |
| 4016 | Need char = 'b' | Need char = 'b' |
| 4017 | ||
| /^\W*(?:((.)\W*(?1)\W*\2|)|((.)\W*(?3)\W*\4|\W*.\W*))\W*$/Ii | ||
| Capturing subpattern count = 4 | ||
| Max back reference = 4 | ||
| Partial matching not supported | ||
| Options: anchored caseless | ||
| No first char | ||
| No need char | ||
| 1221 | ||
| 0: 1221 | ||
| 1: 1221 | ||
| 2: 1 | ||
| Satan, oscillate my metallic sonatas! | ||
| 0: Satan, oscillate my metallic sonatas! | ||
| 1: <unset> | ||
| 2: <unset> | ||
| 3: Satan, oscillate my metallic sonatas | ||
| 4: S | ||
| A man, a plan, a canal: Panama! | ||
| 0: A man, a plan, a canal: Panama! | ||
| 1: <unset> | ||
| 2: <unset> | ||
| 3: A man, a plan, a canal: Panama | ||
| 4: A | ||
| Able was I ere I saw Elba. | ||
| 0: Able was I ere I saw Elba. | ||
| 1: <unset> | ||
| 2: <unset> | ||
| 3: Able was I ere I saw Elba | ||
| 4: A | ||
| *** Failers | ||
| No match | ||
| The quick brown fox | ||
| No match | ||
| 4018 | /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I | /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I |
| 4019 | Capturing subpattern count = 2 | Capturing subpattern count = 2 |
| Partial matching not supported | ||
| 4020 | Options: anchored | Options: anchored |
| 4021 | No first char | No first char |
| 4022 | No need char | No need char |
| # | Line 4105 No match | Line 4057 No match |
| 4057 | ||
| 4058 | /((< (?: (?(R) \d++ | [^<>]*+) | (?2)) * >))/Ix | /((< (?: (?(R) \d++ | [^<>]*+) | (?2)) * >))/Ix |
| 4059 | Capturing subpattern count = 2 | Capturing subpattern count = 2 |
| Partial matching not supported | ||
| 4060 | Options: extended | Options: extended |
| 4061 | First char = '<' | First char = '<' |
| 4062 | Need char = '>' | Need char = '>' |
| # | Line 4279 Named capturing subpatterns: | Line 4230 Named capturing subpatterns: |
| 4230 | one 1 | one 1 |
| 4231 | three 3 | three 3 |
| 4232 | two 2 | two 2 |
| Partial matching not supported | ||
| 4233 | Options: anchored caseless | Options: anchored caseless |
| 4234 | No first char | No first char |
| 4235 | No need char | No need char |
| # | Line 4325 No need char | Line 4275 No need char |
| 4275 | ||
| 4276 | /(.*)a/Is | /(.*)a/Is |
| 4277 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 4278 | Options: anchored dotall | Options: anchored dotall |
| 4279 | No first char | No first char |
| 4280 | Need char = 'a' | Need char = 'a' |
| # | Line 4333 Need char = 'a' | Line 4282 Need char = 'a' |
| 4282 | /(.*)a\1/Is | /(.*)a\1/Is |
| 4283 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| 4284 | Max back reference = 1 | Max back reference = 1 |
| Partial matching not supported | ||
| 4285 | Options: dotall | Options: dotall |
| 4286 | No first char | No first char |
| 4287 | Need char = 'a' | Need char = 'a' |
| # | Line 4341 Need char = 'a' | Line 4289 Need char = 'a' |
| 4289 | /(.*)a(b)\2/Is | /(.*)a(b)\2/Is |
| 4290 | Capturing subpattern count = 2 | Capturing subpattern count = 2 |
| 4291 | Max back reference = 2 | Max back reference = 2 |
| Partial matching not supported | ||
| 4292 | Options: anchored dotall | Options: anchored dotall |
| 4293 | No first char | No first char |
| 4294 | Need char = 'b' | Need char = 'b' |
| 4295 | ||
| 4296 | /((.*)a|(.*)b)z/Is | /((.*)a|(.*)b)z/Is |
| 4297 | Capturing subpattern count = 3 | Capturing subpattern count = 3 |
| Partial matching not supported | ||
| 4298 | Options: anchored dotall | Options: anchored dotall |
| 4299 | No first char | No first char |
| 4300 | Need char = 'z' | Need char = 'z' |
| # | Line 4356 Need char = 'z' | Line 4302 Need char = 'z' |
| 4302 | /((.*)a|(.*)b)z\1/Is | /((.*)a|(.*)b)z\1/Is |
| 4303 | Capturing subpattern count = 3 | Capturing subpattern count = 3 |
| 4304 | Max back reference = 1 | Max back reference = 1 |
| Partial matching not supported | ||
| 4305 | Options: dotall | Options: dotall |
| 4306 | No first char | No first char |
| 4307 | Need char = 'z' | Need char = 'z' |
| # | Line 4364 Need char = 'z' | Line 4309 Need char = 'z' |
| 4309 | /((.*)a|(.*)b)z\2/Is | /((.*)a|(.*)b)z\2/Is |
| 4310 | Capturing subpattern count = 3 | Capturing subpattern count = 3 |
| 4311 | Max back reference = 2 | Max back reference = 2 |
| Partial matching not supported | ||
| 4312 | Options: dotall | Options: dotall |
| 4313 | No first char | No first char |
| 4314 | Need char = 'z' | Need char = 'z' |
| # | Line 4372 Need char = 'z' | Line 4316 Need char = 'z' |
| 4316 | /((.*)a|(.*)b)z\3/Is | /((.*)a|(.*)b)z\3/Is |
| 4317 | Capturing subpattern count = 3 | Capturing subpattern count = 3 |
| 4318 | Max back reference = 3 | Max back reference = 3 |
| Partial matching not supported | ||
| 4319 | Options: dotall | Options: dotall |
| 4320 | No first char | No first char |
| 4321 | Need char = 'z' | Need char = 'z' |
| # | Line 4380 Need char = 'z' | Line 4323 Need char = 'z' |
| 4323 | /((.*)a|^(.*)b)z\3/Is | /((.*)a|^(.*)b)z\3/Is |
| 4324 | Capturing subpattern count = 3 | Capturing subpattern count = 3 |
| 4325 | Max back reference = 3 | Max back reference = 3 |
| Partial matching not supported | ||
| 4326 | Options: anchored dotall | Options: anchored dotall |
| 4327 | No first char | No first char |
| 4328 | Need char = 'z' | Need char = 'z' |
| 4329 | ||
| 4330 | /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is | /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is |
| 4331 | Capturing subpattern count = 31 | Capturing subpattern count = 31 |
| Partial matching not supported | ||
| 4332 | Options: anchored dotall | Options: anchored dotall |
| 4333 | No first char | No first char |
| 4334 | No need char | No need char |
| # | Line 4395 No need char | Line 4336 No need char |
| 4336 | /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is | /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is |
| 4337 | Capturing subpattern count = 31 | Capturing subpattern count = 31 |
| 4338 | Max back reference = 31 | Max back reference = 31 |
| Partial matching not supported | ||
| 4339 | Options: dotall | Options: dotall |
| 4340 | No first char | No first char |
| 4341 | No need char | No need char |
| # | Line 4403 No need char | Line 4343 No need char |
| 4343 | /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is | /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is |
| 4344 | Capturing subpattern count = 32 | Capturing subpattern count = 32 |
| 4345 | Max back reference = 32 | Max back reference = 32 |
| Partial matching not supported | ||
| 4346 | Options: dotall | Options: dotall |
| 4347 | No first char | No first char |
| 4348 | No need char | No need char |
| # | Line 4470 Need char = 'c' | Line 4409 Need char = 'c' |
| 4409 | ||
| 4410 | /(a+)*zz/I | /(a+)*zz/I |
| 4411 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 4412 | No options | No options |
| 4413 | No first char | No first char |
| 4414 | Need char = 'z' | Need char = 'z' |
| 4415 | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzbbbbbb\M | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzbbbbbb\M |
| 4416 | Minimum match() limit = 8 | Minimum match() limit = 8 |
| 4417 | Minimum match() recursion limit = 6 | Minimum match() recursion limit = 7 |
| 4418 | 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazz | 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazz |
| 4419 | 1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa | 1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa |
| 4420 | aaaaaaaaaaaaaz\M | aaaaaaaaaaaaaz\M |
| 4421 | Minimum match() limit = 32768 | Minimum match() limit = 32768 |
| 4422 | Minimum match() recursion limit = 42 | Minimum match() recursion limit = 43 |
| 4423 | No match | No match |
| 4424 | ||
| 4425 | /(aaa(?C1)bbb|ab)/I | /(aaa(?C1)bbb|ab)/I |
| # | Line 4607 Failed: two named subpatterns have the s | Line 4545 Failed: two named subpatterns have the s |
| 4545 | Capturing subpattern count = 3 | Capturing subpattern count = 3 |
| 4546 | Named capturing subpatterns: | Named capturing subpatterns: |
| 4547 | elem 2 | elem 2 |
| Partial matching not supported | ||
| 4548 | No options | No options |
| 4549 | First char = '[' | First char = '[' |
| 4550 | Need char = ']' | Need char = ']' |
| # | Line 4625 No match | Line 4562 No match |
| 4562 | Capturing subpattern count = 3 | Capturing subpattern count = 3 |
| 4563 | Named capturing subpatterns: | Named capturing subpatterns: |
| 4564 | elem 2 | elem 2 |
| Partial matching not supported | ||
| 4565 | No options | No options |
| 4566 | First char = '[' | First char = '[' |
| 4567 | Need char = ']' | Need char = ']' |
| # | Line 4732 No need char | Line 4668 No need char |
| 4668 | ||
| 4669 | /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii | /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii |
| 4670 | Capturing subpattern count = 3 | Capturing subpattern count = 3 |
| Partial matching not supported | ||
| 4671 | Options: caseless | Options: caseless |
| 4672 | No first char | No first char |
| 4673 | Need char = 'g' (caseless) | Need char = 'g' (caseless) |
| # | Line 4742 Need char = 'g' (caseless) | Line 4677 Need char = 'g' (caseless) |
| 4677 | ||
| 4678 | /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS | /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS |
| 4679 | Capturing subpattern count = 3 | Capturing subpattern count = 3 |
| Partial matching not supported | ||
| 4680 | Options: caseless | Options: caseless |
| 4681 | No first char | No first char |
| 4682 | Need char = 'g' (caseless) | Need char = 'g' (caseless) |
| 4683 | Study returned NULL | Subject length lower bound = 8 |
| 4684 | No set of starting bytes | |
| 4685 | Baby Bjorn Active Carrier - With free SHIPPING!! | Baby Bjorn Active Carrier - With free SHIPPING!! |
| 4686 | 0: Baby Bjorn Active Carrier - With free SHIPPING!! | 0: Baby Bjorn Active Carrier - With free SHIPPING!! |
| 4687 | 1: Baby Bjorn Active Carrier - With free SHIPPING!! | 1: Baby Bjorn Active Carrier - With free SHIPPING!! |
| # | Line 4761 Study returned NULL | Line 4696 Study returned NULL |
| 4696 | End | End |
| 4697 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 4698 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 4699 | No options | No options |
| 4700 | No first char | No first char |
| 4701 | Need char = 'b' | Need char = 'b' |
| 4702 | Study returned NULL | Subject length lower bound = 1 |
| 4703 | No set of starting bytes | |
| 4704 | ||
| 4705 | /(a|b)*.?c/ISDZ | /(a|b)*.?c/ISDZ |
| 4706 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| # | Line 4785 Capturing subpattern count = 1 | Line 4720 Capturing subpattern count = 1 |
| 4720 | No options | No options |
| 4721 | No first char | No first char |
| 4722 | Need char = 'c' | Need char = 'c' |
| 4723 | Study returned NULL | Subject length lower bound = 1 |
| 4724 | No set of starting bytes | |
| 4725 | ||
| 4726 | /abc(?C255)de(?C)f/DZ | /abc(?C255)de(?C)f/DZ |
| 4727 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| # | Line 4854 No match | Line 4790 No match |
| 4790 | End | End |
| 4791 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 4792 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 4793 | Options: | Options: |
| 4794 | No first char | No first char |
| 4795 | Need char = 'b' | Need char = 'b' |
| # | Line 4899 Need char = 'b' | Line 4834 Need char = 'b' |
| 4834 | End | End |
| 4835 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 4836 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 4837 | Options: | Options: |
| 4838 | First char = 'a' | First char = 'a' |
| 4839 | Need char = 'b' | Need char = 'b' |
| # | Line 5337 No match | Line 5271 No match |
| 5271 | End | End |
| 5272 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 5273 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 5274 | Options: | Options: |
| 5275 | No first char | No first char |
| 5276 | Need char = '3' | Need char = '3' |
| # | Line 5369 Need char = '3' | Line 5302 Need char = '3' |
| 5302 | ||
| 5303 | /\b.*/I | /\b.*/I |
| 5304 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 5305 | No options | No options |
| 5306 | No first char | No first char |
| 5307 | No need char | No need char |
| # | Line 5378 No need char | Line 5310 No need char |
| 5310 | ||
| 5311 | /\b.*/Is | /\b.*/Is |
| 5312 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 5313 | Options: dotall | Options: dotall |
| 5314 | No first char | No first char |
| 5315 | No need char | No need char |
| # | Line 5387 No need char | Line 5318 No need char |
| 5318 | ||
| 5319 | /(?!.bcd).*/I | /(?!.bcd).*/I |
| 5320 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 5321 | No options | No options |
| 5322 | No first char | No first char |
| 5323 | No need char | No need char |
| # | Line 5400 No options | Line 5330 No options |
| 5330 | First char = 'a' | First char = 'a' |
| 5331 | Need char = 'e' | Need char = 'e' |
| 5332 | ab\P | ab\P |
| 5333 | Partial match | Partial match: ab |
| 5334 | abc\P | abc\P |
| 5335 | Partial match | Partial match: abc |
| 5336 | abcd\P | abcd\P |
| 5337 | Partial match | Partial match: abcd |
| 5338 | abcde\P | abcde\P |
| 5339 | 0: abcde | 0: abcde |
| 5340 | the quick brown abc\P | the quick brown abc\P |
| 5341 | Partial match | Partial match: abc |
| 5342 | ** Failers\P | ** Failers\P |
| 5343 | No match | No match |
| 5344 | the quick brown abxyz fox\P | the quick brown abxyz fox\P |
| # | Line 5433 Need char = '/' | Line 5363 Need char = '/' |
| 5363 | 1: 02 | 1: 02 |
| 5364 | 2: 05 | 2: 05 |
| 5365 | 1\P | 1\P |
| 5366 | Partial match | Partial match: 1 |
| 5367 | 1/2\P | 1/2\P |
| 5368 | Partial match | Partial match: 1/2 |
| 5369 | 1/2/0\P | 1/2/0\P |
| 5370 | Partial match | Partial match: 1/2/0 |
| 5371 | 1/2/04\P | 1/2/04\P |
| 5372 | 0: 1/2/04 | 0: 1/2/04 |
| 5373 | 1: 1 | 1: 1 |
| 5374 | 2: 2 | 2: 2 |
| 5375 | 0\P | 0\P |
| 5376 | Partial match | Partial match: 0 |
| 5377 | 02/\P | 02/\P |
| 5378 | Partial match | Partial match: 02/ |
| 5379 | 02/0\P | 02/0\P |
| 5380 | Partial match | Partial match: 02/0 |
| 5381 | 02/1\P | 02/1\P |
| 5382 | Partial match | Partial match: 02/1 |
| 5383 | ** Failers\P | ** Failers\P |
| 5384 | No match | No match |
| 5385 | \P | \P |
| # | Line 5471 No match | Line 5401 No match |
| 5401 | ||
| 5402 | /0{0,2}ABC/I | /0{0,2}ABC/I |
| 5403 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 5404 | No options | No options |
| 5405 | No first char | No first char |
| 5406 | Need char = 'C' | Need char = 'C' |
| 5407 | ||
| 5408 | /\d{3,}ABC/I | /\d{3,}ABC/I |
| 5409 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 5410 | No options | No options |
| 5411 | No first char | No first char |
| 5412 | Need char = 'C' | Need char = 'C' |
| 5413 | ||
| 5414 | /\d*ABC/I | /\d*ABC/I |
| 5415 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 5416 | No options | No options |
| 5417 | No first char | No first char |
| 5418 | Need char = 'C' | Need char = 'C' |
| 5419 | ||
| 5420 | /[abc]+DE/I | /[abc]+DE/I |
| 5421 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 5422 | No options | No options |
| 5423 | No first char | No first char |
| 5424 | Need char = 'E' | Need char = 'E' |
| # | Line 5505 Need char = '3' | Line 5431 Need char = '3' |
| 5431 | 123\P | 123\P |
| 5432 | 0: 123 | 0: 123 |
| 5433 | a\P | a\P |
| 5434 | Partial match | Partial match: a |
| 5435 | b\P | b\P |
| 5436 | Partial match | Partial match: b |
| 5437 | c\P | c\P |
| 5438 | Partial match | Partial match: c |
| 5439 | c12\P | c12\P |
| 5440 | Partial match | Partial match: c12 |
| 5441 | c123\P | c123\P |
| 5442 | 0: c123 | 0: c123 |
| 5443 | ||
| # | Line 5521 Options: anchored | Line 5447 Options: anchored |
| 5447 | No first char | No first char |
| 5448 | Need char = 'X' | Need char = 'X' |
| 5449 | 1\P | 1\P |
| 5450 | Partial match | Partial match: 1 |
| 5451 | 123\P | 123\P |
| 5452 | Partial match | Partial match: 123 |
| 5453 | 123X | 123X |
| 5454 | 0: 123X | 0: 123X |
| 5455 | 1234\P | 1234\P |
| 5456 | Partial match | Partial match: 1234 |
| 5457 | 1234X | 1234X |
| 5458 | 0: 1234X | 0: 1234X |
| 5459 | 12345\P | 12345\P |
| 5460 | Partial match | Partial match: 12345 |
| 5461 | 12345X | 12345X |
| 5462 | 0: 12345X | 0: 12345X |
| 5463 | *** Failers | *** Failers |
| # | Line 5578 Capturing subpattern count = 1 | Line 5504 Capturing subpattern count = 1 |
| 5504 | No options | No options |
| 5505 | No first char | No first char |
| 5506 | No need char | No need char |
| 5507 | Subject length lower bound = 1 | |
| 5508 | Starting byte set: a b | Starting byte set: a b |
| 5509 | Compiled regex written to testsavedregex | Compiled regex written to testsavedregex |
| 5510 | Study data written to testsavedregex | Study data written to testsavedregex |
| # | Line 5598 Capturing subpattern count = 1 | Line 5525 Capturing subpattern count = 1 |
| 5525 | No options | No options |
| 5526 | No first char | No first char |
| 5527 | No need char | No need char |
| 5528 | Subject length lower bound = 1 | |
| 5529 | Starting byte set: a b | Starting byte set: a b |
| 5530 | Compiled regex written to testsavedregex | Compiled regex written to testsavedregex |
| 5531 | Study data written to testsavedregex | Study data written to testsavedregex |
| # | Line 5616 No match | Line 5544 No match |
| 5544 | ~<(\w+)/?>(.)*</(\1)>~smgI | ~<(\w+)/?>(.)*</(\1)>~smgI |
| 5545 | Capturing subpattern count = 3 | Capturing subpattern count = 3 |
| 5546 | Max back reference = 1 | Max back reference = 1 |
| Partial matching not supported | ||
| 5547 | Options: multiline dotall | Options: multiline dotall |
| 5548 | First char = '<' | First char = '<' |
| 5549 | Need char = '>' | Need char = '>' |
| # | Line 5669 No match | Line 5596 No match |
| 5596 | line one\nthis is a line\nbreak in the second line | line one\nthis is a line\nbreak in the second line |
| 5597 | No match | No match |
| 5598 | ||
| 5599 | /ab.cd/IP | /ab.cd/P |
| 5600 | ab-cd | ab-cd |
| 5601 | 0: ab-cd | 0: ab-cd |
| 5602 | ab=cd | ab=cd |
| # | Line 5679 No match: POSIX code 17: match failed | Line 5606 No match: POSIX code 17: match failed |
| 5606 | ab\ncd | ab\ncd |
| 5607 | No match: POSIX code 17: match failed | No match: POSIX code 17: match failed |
| 5608 | ||
| 5609 | /ab.cd/IPs | /ab.cd/Ps |
| 5610 | ab-cd | ab-cd |
| 5611 | 0: ab-cd | 0: ab-cd |
| 5612 | ab=cd | ab=cd |
| # | Line 5923 Matched, but too many substrings | Line 5850 Matched, but too many substrings |
| 5850 | ||
| 5851 | /[^()]*(?:\((?R)\)[^()]*)*/I | /[^()]*(?:\((?R)\)[^()]*)*/I |
| 5852 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 5853 | No options | No options |
| 5854 | No first char | No first char |
| 5855 | No need char | No need char |
| # | Line 5936 No need char | Line 5862 No need char |
| 5862 | ||
| 5863 | /[^()]*(?:\((?>(?R))\)[^()]*)*/I | /[^()]*(?:\((?>(?R))\)[^()]*)*/I |
| 5864 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 5865 | No options | No options |
| 5866 | No first char | No first char |
| 5867 | No need char | No need char |
| # | Line 5947 No need char | Line 5872 No need char |
| 5872 | ||
| 5873 | /[^()]*(?:\((?R)\))*[^()]*/I | /[^()]*(?:\((?R)\))*[^()]*/I |
| 5874 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 5875 | No options | No options |
| 5876 | No first char | No first char |
| 5877 | No need char | No need char |
| # | Line 5958 No need char | Line 5882 No need char |
| 5882 | ||
| 5883 | /(?:\((?R)\))*[^()]*/I | /(?:\((?R)\))*[^()]*/I |
| 5884 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 5885 | No options | No options |
| 5886 | No first char | No first char |
| 5887 | No need char | No need char |
| # | Line 5971 No need char | Line 5894 No need char |
| 5894 | ||
| 5895 | /(?:\((?R)\))|[^()]*/I | /(?:\((?R)\))|[^()]*/I |
| 5896 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 5897 | No options | No options |
| 5898 | No first char | No first char |
| 5899 | No need char | No need char |
| # | Line 5984 No need char | Line 5906 No need char |
| 5906 | ((this)) | ((this)) |
| 5907 | 0: ((this)) | 0: ((this)) |
| 5908 | ||
| 5909 | /a(b)c/IPN | /a(b)c/PN |
| 5910 | abc | abc |
| 5911 | Matched with REG_NOSUB | Matched with REG_NOSUB |
| 5912 | ||
| 5913 | /a(?P<name>b)c/IPN | /a(?P<name>b)c/PN |
| 5914 | abc | abc |
| 5915 | Matched with REG_NOSUB | Matched with REG_NOSUB |
| 5916 | ||
| # | Line 6313 Failed: octal value is greater than \377 | Line 6235 Failed: octal value is greater than \377 |
| 6235 | ||
| 6236 | /\s*,\s*/IS | /\s*,\s*/IS |
| 6237 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 6238 | No options | No options |
| 6239 | No first char | No first char |
| 6240 | Need char = ',' | Need char = ',' |
| 6241 | Subject length lower bound = 1 | |
| 6242 | Starting byte set: \x09 \x0a \x0c \x0d \x20 , | Starting byte set: \x09 \x0a \x0c \x0d \x20 , |
| 6243 | \x0b,\x0b | \x0b,\x0b |
| 6244 | 0: , | 0: , |
| # |
Line 6443
Unknown newline type at: |
Line 6365
Unknown newline type at: |
| 6365 | ||
| 6366 | /.*/I<lf> | /.*/I<lf> |
| 6367 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 6368 | Options: | Options: |
| 6369 | Forced newline sequence: LF | Forced newline sequence: LF |
| 6370 | First char at start or follows newline | First char at start or follows newline |
| # | Line 6469 No need char | Line 6390 No need char |
| 6390 | ||
| 6391 | /\w+(.)(.)?def/Is | /\w+(.)(.)?def/Is |
| 6392 | Capturing subpattern count = 2 | Capturing subpattern count = 2 |
| Partial matching not supported | ||
| 6393 | Options: dotall | Options: dotall |
| 6394 | No first char | No first char |
| 6395 | Need char = 'f' | Need char = 'f' |
| # | Line 6486 Need char = 'f' | Line 6406 Need char = 'f' |
| 6406 | ||
| 6407 | +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I | +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I |
| 6408 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 6409 | No options | No options |
| 6410 | No first char | No first char |
| 6411 | No need char | No need char |
| 6412 | /* this is a C style comment */\M | /* this is a C style comment */\M |
| 6413 | Minimum match() limit = 120 | Minimum match() limit = 120 |
| 6414 | Minimum match() recursion limit = 6 | Minimum match() recursion limit = 35 |
| 6415 | 0: /* this is a C style comment */ | 0: /* this is a C style comment */ |
| 6416 | 1: /* this is a C style comment */ | 1: /* this is a C style comment */ |
| 6417 | ||
| # | Line 6621 No need char | Line 6540 No need char |
| 6540 | ||
| 6541 | /(a*b|(?i:c*(?-i)d))/IS | /(a*b|(?i:c*(?-i)d))/IS |
| 6542 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 6543 | No options | No options |
| 6544 | No first char | No first char |
| 6545 | No need char | No need char |
| 6546 | Subject length lower bound = 1 | |
| 6547 | Starting byte set: C a b c d | Starting byte set: C a b c d |
| 6548 | ||
| 6549 | /()[ab]xyz/IS | /()[ab]xyz/IS |
| # | Line 6632 Capturing subpattern count = 1 | Line 6551 Capturing subpattern count = 1 |
| 6551 | No options | No options |
| 6552 | No first char | No first char |
| 6553 | Need char = 'z' | Need char = 'z' |
| 6554 | Subject length lower bound = 4 | |
| 6555 | Starting byte set: a b | Starting byte set: a b |
| 6556 | ||
| 6557 | /(|)[ab]xyz/IS | /(|)[ab]xyz/IS |
| # | Line 6639 Capturing subpattern count = 1 | Line 6559 Capturing subpattern count = 1 |
| 6559 | No options | No options |
| 6560 | No first char | No first char |
| 6561 | Need char = 'z' | Need char = 'z' |
| 6562 | Subject length lower bound = 4 | |
| 6563 | Starting byte set: a b | Starting byte set: a b |
| 6564 | ||
| 6565 | /(|c)[ab]xyz/IS | /(|c)[ab]xyz/IS |
| # | Line 6646 Capturing subpattern count = 1 | Line 6567 Capturing subpattern count = 1 |
| 6567 | No options | No options |
| 6568 | No first char | No first char |
| 6569 | Need char = 'z' | Need char = 'z' |
| 6570 | Subject length lower bound = 4 | |
| 6571 | Starting byte set: a b c | Starting byte set: a b c |
| 6572 | ||
| 6573 | /(|c?)[ab]xyz/IS | /(|c?)[ab]xyz/IS |
| # | Line 6653 Capturing subpattern count = 1 | Line 6575 Capturing subpattern count = 1 |
| 6575 | No options | No options |
| 6576 | No first char | No first char |
| 6577 | Need char = 'z' | Need char = 'z' |
| 6578 | Subject length lower bound = 4 | |
| 6579 | Starting byte set: a b c | Starting byte set: a b c |
| 6580 | ||
| 6581 | /(d?|c?)[ab]xyz/IS | /(d?|c?)[ab]xyz/IS |
| # | Line 6660 Capturing subpattern count = 1 | Line 6583 Capturing subpattern count = 1 |
| 6583 | No options | No options |
| 6584 | No first char | No first char |
| 6585 | Need char = 'z' | Need char = 'z' |
| 6586 | Subject length lower bound = 4 | |
| 6587 | Starting byte set: a b c d | Starting byte set: a b c d |
| 6588 | ||
| 6589 | /(d?|c)[ab]xyz/IS | /(d?|c)[ab]xyz/IS |
| # | Line 6667 Capturing subpattern count = 1 | Line 6591 Capturing subpattern count = 1 |
| 6591 | No options | No options |
| 6592 | No first char | No first char |
| 6593 | Need char = 'z' | Need char = 'z' |
| 6594 | Subject length lower bound = 4 | |
| 6595 | Starting byte set: a b c d | Starting byte set: a b c d |
| 6596 | ||
| 6597 | /^a*b\d/DZ | /^a*b\d/DZ |
| # | Line 6680 Starting byte set: a b c d | Line 6605 Starting byte set: a b c d |
| 6605 | End | End |
| 6606 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 6607 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 6608 | Options: anchored | Options: anchored |
| 6609 | No first char | No first char |
| 6610 | Need char = 'b' | Need char = 'b' |
| # | Line 6696 Need char = 'b' | Line 6620 Need char = 'b' |
| 6620 | End | End |
| 6621 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 6622 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 6623 | Options: anchored | Options: anchored |
| 6624 | No first char | No first char |
| 6625 | Need char = 'b' | Need char = 'b' |
| # | Line 6712 Need char = 'b' | Line 6635 Need char = 'b' |
| 6635 | End | End |
| 6636 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 6637 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 6638 | Options: anchored | Options: anchored |
| 6639 | No first char | No first char |
| 6640 | Need char = 'b' | Need char = 'b' |
| # | Line 6728 Need char = 'b' | Line 6650 Need char = 'b' |
| 6650 | End | End |
| 6651 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 6652 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 6653 | Options: anchored | Options: anchored |
| 6654 | No first char | No first char |
| 6655 | Need char = 'A' | Need char = 'A' |
| # | Line 6743 No match | Line 6664 No match |
| 6664 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 6665 | Bra | Bra |
| 6666 | ^ | ^ |
| 6667 | a* | /i a* |
| 6668 | NC A | /i A |
| 6669 | \d | \d |
| 6670 | Ket | Ket |
| 6671 | End | End |
| 6672 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 6673 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 6674 | Options: anchored caseless | Options: anchored caseless |
| 6675 | No first char | No first char |
| 6676 | Need char = 'A' (caseless) | Need char = 'A' (caseless) |
| # | Line 6761 Need char = 'A' (caseless) | Line 6681 Need char = 'A' (caseless) |
| 6681 | ||
| 6682 | /(a*|b*)[cd]/IS | /(a*|b*)[cd]/IS |
| 6683 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 6684 | No options | No options |
| 6685 | No first char | No first char |
| 6686 | No need char | No need char |
| 6687 | Subject length lower bound = 1 | |
| 6688 | Starting byte set: a b c d | Starting byte set: a b c d |
| 6689 | ||
| 6690 | /(a+|b*)[cd]/IS | /(a+|b*)[cd]/IS |
| 6691 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 6692 | No options | No options |
| 6693 | No first char | No first char |
| 6694 | No need char | No need char |
| 6695 | Subject length lower bound = 1 | |
| 6696 | Starting byte set: a b c d | Starting byte set: a b c d |
| 6697 | ||
| 6698 | /(a*|b+)[cd]/IS | /(a*|b+)[cd]/IS |
| 6699 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 6700 | No options | No options |
| 6701 | No first char | No first char |
| 6702 | No need char | No need char |
| 6703 | Subject length lower bound = 1 | |
| 6704 | Starting byte set: a b c d | Starting byte set: a b c d |
| 6705 | ||
| 6706 | /(a+|b+)[cd]/IS | /(a+|b+)[cd]/IS |
| 6707 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 6708 | No options | No options |
| 6709 | No first char | No first char |
| 6710 | No need char | No need char |
| 6711 | Subject length lower bound = 2 | |
| 6712 | Starting byte set: a b | Starting byte set: a b |
| 6713 | ||
| 6714 | /(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((( | /(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((( |
| # | Line 7373 Matched, but too many substrings | Line 7293 Matched, but too many substrings |
| 7293 | /[^a]+a/BZi | /[^a]+a/BZi |
| 7294 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 7295 | Bra | Bra |
| 7296 | [^A]++ | /i [^A]++ |
| 7297 | NC a | /i a |
| 7298 | Ket | Ket |
| 7299 | End | End |
| 7300 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| # | Line 7382 Matched, but too many substrings | Line 7302 Matched, but too many substrings |
| 7302 | /[^a]+A/BZi | /[^a]+A/BZi |
| 7303 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 7304 | Bra | Bra |
| 7305 | [^A]++ | /i [^A]++ |
| 7306 | NC A | /i A |
| 7307 | Ket | Ket |
| 7308 | End | End |
| 7309 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| # | Line 7594 No match | Line 7514 No match |
| 7514 | ^ | ^ |
| 7515 | CBra 1 | CBra 1 |
| 7516 | Cond | Cond |
| 7517 | 2 Cond ref | 2 Cond nref |
| 7518 | y | y |
| 7519 | Ket | Ket |
| 7520 | [()] | [()] |
| # | Line 7660 Named capturing subpatterns: | Line 7580 Named capturing subpatterns: |
| 7580 | one 1 | one 1 |
| 7581 | three 3 | three 3 |
| 7582 | two 2 | two 2 |
| Partial matching not supported | ||
| 7583 | Options: anchored caseless | Options: anchored caseless |
| 7584 | No first char | No first char |
| 7585 | No need char | No need char |
| # | Line 7694 No match | Line 7613 No match |
| 7613 | /(?=(\w+))\1:/I | /(?=(\w+))\1:/I |
| 7614 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| 7615 | Max back reference = 1 | Max back reference = 1 |
| Partial matching not supported | ||
| 7616 | No options | No options |
| 7617 | No first char | No first char |
| 7618 | Need char = ':' | Need char = ':' |
| # | Line 7707 Capturing subpattern count = 1 | Line 7625 Capturing subpattern count = 1 |
| 7625 | Max back reference = 1 | Max back reference = 1 |
| 7626 | Named capturing subpatterns: | Named capturing subpatterns: |
| 7627 | abc 1 | abc 1 |
| Partial matching not supported | ||
| 7628 | No options | No options |
| 7629 | No first char | No first char |
| 7630 | Need char = ':' | Need char = ':' |
| # | Line 7715 Need char = ':' | Line 7632 Need char = ':' |
| 7632 | 0: abcd: | 0: abcd: |
| 7633 | 1: abcd | 1: abcd |
| 7634 | ||
| /(?'abc'\w+):\k<abc>{2}/ | ||
| a:aaxyz | ||
| 0: a:aa | ||
| 1: a | ||
| ab:ababxyz | ||
| 0: ab:abab | ||
| 1: ab | ||
| ** Failers | ||
| No match | ||
| a:axyz | ||
| No match | ||
| ab:abxyz | ||
| No match | ||
| 7635 | /(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J | /(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J |
| 7636 | adaa | adaa |
| 7637 | 0: adaa | 0: adaa |
| # | Line 7755 No match | Line 7658 No match |
| 7658 | bddd | bddd |
| 7659 | No match | No match |
| 7660 | ||
| /^(?<ab>a)? (?(<ab>)b|c) (?('ab')d|e)/x | ||
| abd | ||
| 0: abd | ||
| 1: a | ||
| ce | ||
| 0: ce | ||
| 7661 | /(?(<bc))/ | /(?(<bc))/ |
| 7662 | Failed: malformed number or name after (?( at offset 6 | Failed: malformed number or name after (?( at offset 6 |
| 7663 | ||
| # | Line 7792 Failed: reference to non-existent subpat | Line 7688 Failed: reference to non-existent subpat |
| 7688 | 1: abcabc1Xabc2XabcX | 1: abcabc1Xabc2XabcX |
| 7689 | 2: abcabc1Xabc2XabcX | 2: abcabc1Xabc2XabcX |
| 7690 | ||
| /^(?(DEFINE) (?<A> a) (?<B> b) ) (?&A) (?&B) /x | ||
| abcd | ||
| 0: ab | ||
| 1: <unset> | ||
| 2: <unset> | ||
| /(?<NAME>(?&NAME_PAT))\s+(?<ADDR>(?&ADDRESS_PAT)) | ||
| (?(DEFINE) | ||
| (?<NAME_PAT>[a-z]+) | ||
| (?<ADDRESS_PAT>\d+) | ||
| )/x | ||
| metcalfe 33 | ||
| 0: metcalfe 33 | ||
| 1: metcalfe | ||
| 2: 33 | ||
| 3: <unset> | ||
| 4: <unset> | ||
| 7691 | /^(?(DEFINE) abc | xyz ) /x | /^(?(DEFINE) abc | xyz ) /x |
| 7692 | Failed: DEFINE group contains more than one branch at offset 22 | Failed: DEFINE group contains more than one branch at offset 22 |
| 7693 | ||
| # | Line 7851 No match | Line 7729 No match |
| 7729 | No match | No match |
| 7730 | ||
| 7731 | /^abc./mgx<any> | /^abc./mgx<any> |
| 7732 | abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x85abc7 \x{2028}abc8 \x{2029}abc9 JUNK | abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x85abc7 JUNK |
| 7733 | 0: abc1 | 0: abc1 |
| 7734 | 0: abc2 | 0: abc2 |
| 7735 | 0: abc3 | 0: abc3 |
| # | Line 7861 No match | Line 7739 No match |
| 7739 | 0: abc7 | 0: abc7 |
| 7740 | ||
| 7741 | /abc.$/mgx<any> | /abc.$/mgx<any> |
| 7742 | abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc7\x{2028} abc8\x{2029} abc9 | abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc7 abc9 |
| 7743 | 0: abc1 | 0: abc1 |
| 7744 | 0: abc2 | 0: abc2 |
| 7745 | 0: abc3 | 0: abc3 |
| # | Line 7987 Need char = 'P' | Line 7865 Need char = 'P' |
| 7865 | 0: PXP | 0: PXP |
| 7866 | 1: P | 1: P |
| 7867 | ||
| /(?(DEFINE)(?<byte>2[0-4]\d|25[0-5]|1\d\d|[1-9]?\d))\b(?&byte)(\.(?&byte)){3}/ | ||
| 1.2.3.4 | ||
| 0: 1.2.3.4 | ||
| 1: <unset> | ||
| 2: .4 | ||
| 131.111.10.206 | ||
| 0: 131.111.10.206 | ||
| 1: <unset> | ||
| 2: .206 | ||
| 10.0.0.0 | ||
| 0: 10.0.0.0 | ||
| 1: <unset> | ||
| 2: .0 | ||
| ** Failers | ||
| No match | ||
| 10.6 | ||
| No match | ||
| 455.3.4.5 | ||
| No match | ||
| /\b(?&byte)(\.(?&byte)){3}(?(DEFINE)(?<byte>2[0-4]\d|25[0-5]|1\d\d|[1-9]?\d))/ | ||
| 1.2.3.4 | ||
| 0: 1.2.3.4 | ||
| 1: .4 | ||
| 2: <unset> | ||
| 131.111.10.206 | ||
| 0: 131.111.10.206 | ||
| 1: .206 | ||
| 2: <unset> | ||
| 10.0.0.0 | ||
| 0: 10.0.0.0 | ||
| 1: .0 | ||
| 2: <unset> | ||
| ** Failers | ||
| No match | ||
| 10.6 | ||
| No match | ||
| 455.3.4.5 | ||
| No match | ||
| 7868 | /(?:a(?&abc)b)*(?<abc>x)/ | /(?:a(?&abc)b)*(?<abc>x)/ |
| 7869 | 123axbaxbaxbx456 | 123axbaxbaxbx456 |
| 7870 | 0: axbaxbaxbx | 0: axbaxbaxbx |
| # | Line 8064 No match | Line 7902 No match |
| 7902 | DEFabcABCXYZ | DEFabcABCXYZ |
| 7903 | No match | No match |
| 7904 | ||
| /^(a(b))\1\g1\g{1}\g-1\g{-1}\g{-02}Z/ | ||
| ababababbbabZXXXX | ||
| 0: ababababbbabZ | ||
| 1: ab | ||
| 2: b | ||
| 7905 | /^(a)\g-2/ | /^(a)\g-2/ |
| 7906 | Failed: reference to non-existent subpattern at offset 7 | Failed: reference to non-existent subpattern at offset 7 |
| 7907 | ||
| # | Line 8163 No match | Line 7995 No match |
| 7995 | 0+ | 0+ |
| 7996 | ||
| 7997 | /abc.$/mgx<anycrlf> | /abc.$/mgx<anycrlf> |
| 7998 | abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc7\x{2028} abc8\x{2029} abc9 | abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc9 |
| 7999 | 0: abc1 | 0: abc1 |
| 8000 | 0: abc4 | 0: abc4 |
| 8001 | 0: abc5 | 0: abc5 |
| # | Line 8325 Failed: reference to non-existent subpat | Line 8157 Failed: reference to non-existent subpat |
| 8157 | 0: Y! | 0: Y! |
| 8158 | 1: ! | 1: ! |
| 8159 | ||
| /(foo)\Kbar/ | ||
| foobar | ||
| 0: bar | ||
| 1: foo | ||
| /(foo)(\Kbar|baz)/ | ||
| foobar | ||
| 0: bar | ||
| 1: foo | ||
| 2: bar | ||
| foobaz | ||
| 0: foobaz | ||
| 1: foo | ||
| 2: baz | ||
| /(foo\Kbar)baz/ | ||
| foobarbaz | ||
| 0: barbaz | ||
| 1: foobar | ||
| 8160 | /(?<A>tom|bon)-\k{A}/ | /(?<A>tom|bon)-\k{A}/ |
| 8161 | tom-tom | tom-tom |
| 8162 | 0: tom-tom | 0: tom-tom |
| # | Line 8357 No match | Line 8169 No match |
| 8169 | tom-bon | tom-bon |
| 8170 | No match | No match |
| 8171 | ||
| /(?<A>tom|bon)-\g{A}/ | ||
| tom-tom | ||
| 0: tom-tom | ||
| 1: tom | ||
| bon-bon | ||
| 0: bon-bon | ||
| 1: bon | ||
| 8172 | /\g{A/ | /\g{A/ |
| 8173 | Failed: syntax error in subpattern name (missing terminator) at offset 4 | Failed: syntax error in subpattern name (missing terminator) at offset 4 |
| 8174 | ||
| # | Line 8459 Failed: syntax error in subpattern name | Line 8263 Failed: syntax error in subpattern name |
| 8263 | 3: <unset> | 3: <unset> |
| 8264 | 4: x | 4: x |
| 8265 | ||
| /(?|(abc)|(xyz))\1/ | ||
| abcabc | ||
| 0: abcabc | ||
| 1: abc | ||
| xyzxyz | ||
| 0: xyzxyz | ||
| 1: xyz | ||
| ** Failers | ||
| No match | ||
| abcxyz | ||
| No match | ||
| xyzabc | ||
| No match | ||
| /(?|(abc)|(xyz))(?1)/ | ||
| abcabc | ||
| 0: abcabc | ||
| 1: abc | ||
| xyzabc | ||
| 0: xyzabc | ||
| 1: xyz | ||
| ** Failers | ||
| No match | ||
| xyzxyz | ||
| No match | ||
| /\H\h\V\v/ | ||
| X X\x0a | ||
| 0: X X\x0a | ||
| X\x09X\x0b | ||
| 0: X\x09X\x0b | ||
| ** Failers | ||
| No match | ||
| \xa0 X\x0a | ||
| No match | ||
| /\H*\h+\V?\v{3,4}/ | ||
| \x09\x20\xa0X\x0a\x0b\x0c\x0d\x0a | ||
| 0: \x09 \xa0X\x0a\x0b\x0c\x0d | ||
| \x09\x20\xa0\x0a\x0b\x0c\x0d\x0a | ||
| 0: \x09 \xa0\x0a\x0b\x0c\x0d | ||
| \x09\x20\xa0\x0a\x0b\x0c | ||
| 0: \x09 \xa0\x0a\x0b\x0c | ||
| ** Failers | ||
| No match | ||
| \x09\x20\xa0\x0a\x0b | ||
| No match | ||
| /\H{3,4}/ | ||
| XY ABCDE | ||
| 0: ABCD | ||
| XY PQR ST | ||
| 0: PQR | ||
| /.\h{3,4}./ | ||
| XY AB PQRS | ||
| 0: B P | ||
| /\h*X\h?\H+Y\H?Z/ | ||
| >XNNNYZ | ||
| 0: XNNNYZ | ||
| > X NYQZ | ||
| 0: X NYQZ | ||
| ** Failers | ||
| No match | ||
| >XYZ | ||
| No match | ||
| > X NY Z | ||
| No match | ||
| /\v*X\v?Y\v+Z\V*\x0a\V+\x0b\V{2,3}\x0c/ | ||
| >XY\x0aZ\x0aA\x0bNN\x0c | ||
| 0: XY\x0aZ\x0aA\x0bNN\x0c | ||
| >\x0a\x0dX\x0aY\x0a\x0bZZZ\x0aAAA\x0bNNN\x0c | ||
| 0: \x0a\x0dX\x0aY\x0a\x0bZZZ\x0aAAA\x0bNNN\x0c | ||
| 8266 | /[\h]/BZ | /[\h]/BZ |
| 8267 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 8268 | Bra | Bra |
| # | Line 8831 Failed: missing terminating ] for charac | Line 8559 Failed: missing terminating ] for charac |
| 8559 | End | End |
| 8560 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 8561 | ||
| /^a+(*FAIL)/ | ||
| aaaaaa | ||
| No match | ||
| /a+b?c+(*FAIL)/ | ||
| aaabccc | ||
| No match | ||
| /a+b?(*PRUNE)c+(*FAIL)/ | ||
| aaabccc | ||
| No match | ||
| /a+b?(*COMMIT)c+(*FAIL)/ | ||
| aaabccc | ||
| No match | ||
| /a+b?(*SKIP)c+(*FAIL)/ | ||
| aaabcccaaabccc | ||
| No match | ||
| /^(?:aaa(*THEN)\w{6}|bbb(*THEN)\w{5}|ccc(*THEN)\w{4}|\w{3})/ | ||
| aaaxxxxxx | ||
| 0: aaaxxxxxx | ||
| aaa++++++ | ||
| 0: aaa | ||
| bbbxxxxx | ||
| 0: bbbxxxxx | ||
| bbb+++++ | ||
| 0: bbb | ||
| cccxxxx | ||
| 0: cccxxxx | ||
| ccc++++ | ||
| 0: ccc | ||
| dddddddd | ||
| 0: ddd | ||
| /^(aaa(*THEN)\w{6}|bbb(*THEN)\w{5}|ccc(*THEN)\w{4}|\w{3})/ | ||
| aaaxxxxxx | ||
| 0: aaaxxxxxx | ||
| 1: aaaxxxxxx | ||
| aaa++++++ | ||
| 0: aaa | ||
| 1: aaa | ||
| bbbxxxxx | ||
| 0: bbbxxxxx | ||
| 1: bbbxxxxx | ||
| bbb+++++ | ||
| 0: bbb | ||
| 1: bbb | ||
| cccxxxx | ||
| 0: cccxxxx | ||
| 1: cccxxxx | ||
| ccc++++ | ||
| 0: ccc | ||
| 1: ccc | ||
| dddddddd | ||
| 0: ddd | ||
| 1: ddd | ||
| /a+b?(*THEN)c+(*FAIL)/ | ||
| aaabccc | ||
| No match | ||
| /(A (A|B(*ACCEPT)|C) D)(E)/x | ||
| ABX | ||
| 0: AB | ||
| AADE | ||
| 0: AADE | ||
| 1: AAD | ||
| 2: A | ||
| 3: E | ||
| ACDE | ||
| 0: ACDE | ||
| 1: ACD | ||
| 2: C | ||
| 3: E | ||
| ** Failers | ||
| No match | ||
| AD | ||
| No match | ||
| 8562 | /^a+(*FAIL)/C | /^a+(*FAIL)/C |
| 8563 | aaaaaa | aaaaaa |
| 8564 | --->aaaaaa | --->aaaaaa |
| # | Line 9040 No match | Line 8687 No match |
| 8687 | +13 ^ ^ (*FAIL) | +13 ^ ^ (*FAIL) |
| 8688 | No match | No match |
| 8689 | ||
| /a(*PRUNE:XXX)b/ | ||
| Failed: (*VERB) with an argument is not supported at offset 8 | ||
| 8690 | /a(*MARK)b/ | /a(*MARK)b/ |
| 8691 | Failed: (*VERB) not recognized at offset 7 | Failed: (*MARK) must have an argument at offset 7 |
| 8692 | ||
| 8693 | /(?i:A{1,}\6666666666)/ | /(?i:A{1,}\6666666666)/ |
| 8694 | Failed: number is too big at offset 19 | Failed: number is too big at offset 19 |
| # | Line 9133 No match | Line 8777 No match |
| 8777 | No match | No match |
| 8778 | a\x85b | a\x85b |
| 8779 | No match | No match |
| 8780 | ||
| 8781 | /(*ANY).*/g | |
| 8782 | abc\r\ndef | |
| 8783 | 0: abc | |
| 8784 | 0: | |
| 8785 | 0: def | |
| 8786 | 0: | |
| 8787 | ||
| 8788 | /(*ANYCRLF).*/g | |
| 8789 | abc\r\ndef | |
| 8790 | 0: abc | |
| 8791 | 0: | |
| 8792 | 0: def | |
| 8793 | 0: | |
| 8794 | ||
| 8795 | /(*CRLF).*/g | |
| 8796 | abc\r\ndef | |
| 8797 | 0: abc | |
| 8798 | 0: | |
| 8799 | 0: def | |
| 8800 | 0: | |
| 8801 | ||
| 8802 | /a\Rb/I<bsr_anycrlf> | /a\Rb/I<bsr_anycrlf> |
| 8803 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| # | Line 9216 No match | Line 8881 No match |
| 8881 | ||
| 8882 | /a\R{2,4}b/I<bsr_anycrlf> | /a\R{2,4}b/I<bsr_anycrlf> |
| 8883 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 8884 | Options: bsr_anycrlf | Options: bsr_anycrlf |
| 8885 | First char = 'a' | First char = 'a' |
| 8886 | Need char = 'b' | Need char = 'b' |
| # | Line 9235 No match | Line 8899 No match |
| 8899 | ||
| 8900 | /a\R{2,4}b/I<bsr_unicode> | /a\R{2,4}b/I<bsr_unicode> |
| 8901 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 8902 | Options: bsr_unicode | Options: bsr_unicode |
| 8903 | First char = 'a' | First char = 'a' |
| 8904 | Need char = 'b' | Need char = 'b' |
| # | Line 9385 Failed: unknown POSIX class name at offs | Line 9048 Failed: unknown POSIX class name at offs |
| 9048 | /[[:a\dz:]]/ | /[[:a\dz:]]/ |
| 9049 | Failed: unknown POSIX class name at offset 3 | Failed: unknown POSIX class name at offset 3 |
| 9050 | ||
| 9051 | /^(?<name>a|b\g<name>c)/ | /(^(a|b\g<-1'c))/ |
| 9052 | aaaa | Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 15 |
| 0: a | ||
| 1: a | ||
| bacxxx | ||
| 0: bac | ||
| 1: bac | ||
| bbaccxxx | ||
| 0: bbacc | ||
| 1: bbacc | ||
| bbbacccxx | ||
| 0: bbbaccc | ||
| 1: bbbaccc | ||
| 9053 | ||
| 9054 | /^(?<name>a|b\g'name'c)/ | /^(?+1)(?<a>x|y){0}z/ |
| 9055 | aaaa | xzxx |
| 9056 | 0: a | 0: xz |
| 9057 | 1: a | yzyy |
| 9058 | bacxxx | 0: yz |
| 9059 | 0: bac | ** Failers |
| 9060 | 1: bac | No match |
| 9061 | bbaccxxx | xxz |
| 9062 | 0: bbacc | No match |
| 1: bbacc | ||
| bbbacccxx | ||
| 0: bbbaccc | ||
| 1: bbbaccc | ||
| 9063 | ||
| 9064 | /^(a|b\g<1>c)/ | /(\3)(\1)(a)/ |
| 9065 | aaaa | cat |
| 9066 | 0: a | No match |
| 1: a | ||
| bacxxx | ||
| 0: bac | ||
| 1: bac | ||
| bbaccxxx | ||
| 0: bbacc | ||
| 1: bbacc | ||
| bbbacccxx | ||
| 0: bbbaccc | ||
| 1: bbbaccc | ||
| 9067 | ||
| 9068 | /^(a|b\g'1'c)/ | /(\3)(\1)(a)/<JS> |
| 9069 | cat | |
| 9070 | 0: a | |
| 9071 | 1: | |
| 9072 | 2: | |
| 9073 | 3: a | |
| 9074 | ||
| 9075 | /TA]/ | |
| 9076 | The ACTA] comes | |
| 9077 | 0: TA] | |
| 9078 | ||
| 9079 | /TA]/<JS> | |
| 9080 | Failed: ] is an invalid data character in JavaScript compatibility mode at offset 2 | |
| 9081 | ||
| 9082 | /(?2)[]a()b](abc)/ | |
| 9083 | Failed: reference to non-existent subpattern at offset 3 | |
| 9084 | ||
| 9085 | /(?2)[^]a()b](abc)/ | |
| 9086 | Failed: reference to non-existent subpattern at offset 3 | |
| 9087 | ||
| 9088 | /(?1)[]a()b](abc)/ | |
| 9089 | abcbabc | |
| 9090 | 0: abcbabc | |
| 9091 | 1: abc | |
| 9092 | ** Failers | |
| 9093 | No match | |
| 9094 | abcXabc | |
| 9095 | No match | |
| 9096 | ||
| 9097 | /(?1)[^]a()b](abc)/ | |
| 9098 | abcXabc | |
| 9099 | 0: abcXabc | |
| 9100 | 1: abc | |
| 9101 | ** Failers | |
| 9102 | No match | |
| 9103 | abcbabc | |
| 9104 | No match | |
| 9105 | ||
| 9106 | /(?2)[]a()b](abc)(xyz)/ | |
| 9107 | xyzbabcxyz | |
| 9108 | 0: xyzbabcxyz | |
| 9109 | 1: abc | |
| 9110 | 2: xyz | |
| 9111 | ||
| 9112 | /(?&N)[]a(?<N>)](?<M>abc)/ | |
| 9113 | Failed: reference to non-existent subpattern at offset 4 | |
| 9114 | ||
| 9115 | /(?&N)[]a(?<N>)](abc)/ | |
| 9116 | Failed: reference to non-existent subpattern at offset 4 | |
| 9117 | ||
| 9118 | /a[]b/ | |
| 9119 | Failed: missing terminating ] for character class at offset 4 | |
| 9120 | ||
| 9121 | /a[^]b/ | |
| 9122 | Failed: missing terminating ] for character class at offset 5 | |
| 9123 | ||
| 9124 | /a[]b/<JS> | |
| 9125 | ** Failers | |
| 9126 | No match | |
| 9127 | ab | |
| 9128 | No match | |
| 9129 | ||
| 9130 | /a[]+b/<JS> | |
| 9131 | ** Failers | |
| 9132 | No match | |
| 9133 | ab | |
| 9134 | No match | |
| 9135 | ||
| 9136 | /a[]*+b/<JS> | |
| 9137 | ** Failers | |
| 9138 | No match | |
| 9139 | ab | |
| 9140 | No match | |
| 9141 | ||
| 9142 | /a[^]b/<JS> | |
| 9143 | aXb | |
| 9144 | 0: aXb | |
| 9145 | a\nb | |
| 9146 | 0: a\x0ab | |
| 9147 | ** Failers | |
| 9148 | No match | |
| 9149 | ab | |
| 9150 | No match | |
| 9151 | ||
| 9152 | /a[^]+b/<JS> | |
| 9153 | aXb | |
| 9154 | 0: aXb | |
| 9155 | a\nX\nXb | |
| 9156 | 0: a\x0aX\x0aXb | |
| 9157 | ** Failers | |
| 9158 | No match | |
| 9159 | ab | |
| 9160 | No match | |
| 9161 | ||
| 9162 | /a(?!)+b/ | |
| 9163 | Failed: nothing to repeat at offset 5 | |
| 9164 | ||
| 9165 | /a(*FAIL)+b/ | |
| 9166 | Failed: nothing to repeat at offset 8 | |
| 9167 | ||
| 9168 | /(abc|pqr|123){0}[xyz]/SI | |
| 9169 | Capturing subpattern count = 1 | |
| 9170 | No options | |
| 9171 | No first char | |
| 9172 | No need char | |
| 9173 | Subject length lower bound = 1 | |
| 9174 | Starting byte set: x y z | |
| 9175 | ||
| 9176 | /(?(?=.*b)b|^)/CI | |
| 9177 | Capturing subpattern count = 0 | |
| 9178 | Options: | |
| 9179 | No first char | |
| 9180 | No need char | |
| 9181 | adc | |
| 9182 | --->adc | |
| 9183 | +0 ^ (?(?=.*b)b|^) | |
| 9184 | +2 ^ (?=.*b) | |
| 9185 | +5 ^ .* | |
| 9186 | +7 ^ ^ b | |
| 9187 | +7 ^ ^ b | |
| 9188 | +7 ^^ b | |
| 9189 | +7 ^ b | |
| 9190 | +12 ^ ) | |
| 9191 | +13 ^ | |
| 9192 | 0: | |
| 9193 | abc | |
| 9194 | --->abc | |
| 9195 | +0 ^ (?(?=.*b)b|^) | |
| 9196 | +2 ^ (?=.*b) | |
| 9197 | +5 ^ .* | |
| 9198 | +7 ^ ^ b | |
| 9199 | +7 ^ ^ b | |
| 9200 | +7 ^^ b | |
| 9201 | +8 ^ ^ ) | |
| 9202 | +9 ^ b | |
| 9203 | +0 ^ (?(?=.*b)b|^) | |
| 9204 | +2 ^ (?=.*b) | |
| 9205 | +5 ^ .* | |
| 9206 | +7 ^ ^ b | |
| 9207 | +7 ^^ b | |
| 9208 | +7 ^ b | |
| 9209 | +8 ^^ ) | |
| 9210 | +9 ^ b | |
| 9211 | +10 ^^ | | |
| 9212 | +13 ^^ | |
| 9213 | 0: b | |
| 9214 | ||
| 9215 | /(?(?=b).*b|^d)/I | |
| 9216 | Capturing subpattern count = 0 | |
| 9217 | No options | |
| 9218 | No first char | |
| 9219 | No need char | |
| 9220 | ||
| 9221 | /(?(?=.*b).*b|^d)/I | |
| 9222 | Capturing subpattern count = 0 | |
| 9223 | No options | |
| 9224 | First char at start or follows newline | |
| 9225 | No need char | |
| 9226 | ||
| 9227 | /a?|b?/P | |
| 9228 | abc | |
| 9229 | 0: a | |
| 9230 | ** Failers | |
| 9231 | 0: | |
| 9232 | ddd\N | |
| 9233 | No match: POSIX code 17: match failed | |
| 9234 | ||
| 9235 | /xyz/C | |
| 9236 | xyz | |
| 9237 | --->xyz | |
| 9238 | +0 ^ x | |
| 9239 | +1 ^^ y | |
| 9240 | +2 ^ ^ z | |
| 9241 | +3 ^ ^ | |
| 9242 | 0: xyz | |
| 9243 | abcxyz | |
| 9244 | --->abcxyz | |
| 9245 | +0 ^ x | |
| 9246 | +1 ^^ y | |
| 9247 | +2 ^ ^ z | |
| 9248 | +3 ^ ^ | |
| 9249 | 0: xyz | |
| 9250 | abcxyz\Y | |
| 9251 | --->abcxyz | |
| 9252 | +0 ^ x | |
| 9253 | +0 ^ x | |
| 9254 | +0 ^ x | |
| 9255 | +0 ^ x | |
| 9256 | +1 ^^ y | |
| 9257 | +2 ^ ^ z | |
| 9258 | +3 ^ ^ | |
| 9259 | 0: xyz | |
| 9260 | ** Failers | |
| 9261 | No match | |
| 9262 | abc | |
| 9263 | No match | |
| 9264 | abc\Y | |
| 9265 | --->abc | |
| 9266 | +0 ^ x | |
| 9267 | +0 ^ x | |
| 9268 | +0 ^ x | |
| 9269 | +0 ^ x | |
| 9270 | No match | |
| 9271 | abcxypqr | |
| 9272 | No match | |
| 9273 | abcxypqr\Y | |
| 9274 | --->abcxypqr | |
| 9275 | +0 ^ x | |
| 9276 | +0 ^ x | |
| 9277 | +0 ^ x | |
| 9278 | +0 ^ x | |
| 9279 | +1 ^^ y | |
| 9280 | +2 ^ ^ z | |
| 9281 | +0 ^ x | |
| 9282 | +0 ^ x | |
| 9283 | +0 ^ x | |
| 9284 | +0 ^ x | |
| 9285 | +0 ^ x | |
| 9286 | No match | |
| 9287 | ||
| 9288 | /(*NO_START_OPT)xyz/C | |
| 9289 | abcxyz | |
| 9290 | --->abcxyz | |
| 9291 | +15 ^ x | |
| 9292 | +15 ^ x | |
| 9293 | +15 ^ x | |
| 9294 | +15 ^ x | |
| 9295 | +16 ^^ y | |
| 9296 | +17 ^ ^ z | |
| 9297 | +18 ^ ^ | |
| 9298 | 0: xyz | |
| 9299 | ||
| 9300 | /xyz/CY | |
| 9301 | abcxyz | |
| 9302 | --->abcxyz | |
| 9303 | +0 ^ x | |
| 9304 | +0 ^ x | |
| 9305 | +0 ^ x | |
| 9306 | +0 ^ x | |
| 9307 | +1 ^^ y | |
| 9308 | +2 ^ ^ z | |
| 9309 | +3 ^ ^ | |
| 9310 | 0: xyz | |
| 9311 | ||
| 9312 | /^"((?(?=[a])[^"])|b)*"$/C | |
| 9313 | "ab" | |
| 9314 | --->"ab" | |
| 9315 | +0 ^ ^ | |
| 9316 | +1 ^ " | |
| 9317 | +2 ^^ ((?(?=[a])[^"])|b)* | |
| 9318 | +3 ^^ (?(?=[a])[^"]) | |
| 9319 | +5 ^^ (?=[a]) | |
| 9320 | +8 ^^ [a] | |
| 9321 | +11 ^ ^ ) | |
| 9322 | +12 ^^ [^"] | |
| 9323 | +16 ^ ^ ) | |
| 9324 | +17 ^ ^ | | |
| 9325 | +3 ^ ^ (?(?=[a])[^"]) | |
| 9326 | +5 ^ ^ (?=[a]) | |
| 9327 | +8 ^ ^ [a] | |
| 9328 | +21 ^ ^ " | |
| 9329 | +18 ^ ^ b | |
| 9330 | +19 ^ ^ ) | |
| 9331 | +3 ^ ^ (?(?=[a])[^"]) | |
| 9332 | +5 ^ ^ (?=[a]) | |
| 9333 | +8 ^ ^ [a] | |
| 9334 | +21 ^ ^ " | |
| 9335 | +22 ^ ^ $ | |
| 9336 | +23 ^ ^ | |
| 9337 | 0: "ab" | |
| 9338 | 1: | |
| 9339 | ||
| 9340 | /^"((?(?=[a])[^"])|b)*"$/ | |
| 9341 | "ab" | |
| 9342 | 0: "ab" | |
| 9343 | 1: | |
| 9344 | ||
| 9345 | /^X(?5)(a)(?|(b)|(q))(c)(d)Y/ | |
| 9346 | Failed: reference to non-existent subpattern at offset 5 | |
| 9347 | ||
| 9348 | /^X(?&N)(a)(?|(b)|(q))(c)(d)(?<N>Y)/ | |
| 9349 | XYabcdY | |
| 9350 | 0: XYabcdY | |
| 9351 | 1: a | |
| 9352 | 2: b | |
| 9353 | 3: c | |
| 9354 | 4: d | |
| 9355 | 5: Y | |
| 9356 | ||
| 9357 | /Xa{2,4}b/ | |
| 9358 | X\P | |
| 9359 | Partial match: X | |
| 9360 | Xa\P | |
| 9361 | Partial match: Xa | |
| 9362 | Xaa\P | |
| 9363 | Partial match: Xaa | |
| 9364 | Xaaa\P | |
| 9365 | Partial match: Xaaa | |
| 9366 | Xaaaa\P | |
| 9367 | Partial match: Xaaaa | |
| 9368 | ||
| 9369 | /Xa{2,4}?b/ | |
| 9370 | X\P | |
| 9371 | Partial match: X | |
| 9372 | Xa\P | |
| 9373 | Partial match: Xa | |
| 9374 | Xaa\P | |
| 9375 | Partial match: Xaa | |
| 9376 | Xaaa\P | |
| 9377 | Partial match: Xaaa | |
| 9378 | Xaaaa\P | |
| 9379 | Partial match: Xaaaa | |
| 9380 | ||
| 9381 | /Xa{2,4}+b/ | |
| 9382 | X\P | |
| 9383 | Partial match: X | |
| 9384 | Xa\P | |
| 9385 | Partial match: Xa | |
| 9386 | Xaa\P | |
| 9387 | Partial match: Xaa | |
| 9388 | Xaaa\P | |
| 9389 | Partial match: Xaaa | |
| 9390 | Xaaaa\P | |
| 9391 | Partial match: Xaaaa | |
| 9392 | ||
| 9393 | /X\d{2,4}b/ | |
| 9394 | X\P | |
| 9395 | Partial match: X | |
| 9396 | X3\P | |
| 9397 | Partial match: X3 | |
| 9398 | X33\P | |
| 9399 | Partial match: X33 | |
| 9400 | X333\P | |
| 9401 | Partial match: X333 | |
| 9402 | X3333\P | |
| 9403 | Partial match: X3333 | |
| 9404 | ||
| 9405 | /X\d{2,4}?b/ | |
| 9406 | X\P | |
| 9407 | Partial match: X | |
| 9408 | X3\P | |
| 9409 | Partial match: X3 | |
| 9410 | X33\P | |
| 9411 | Partial match: X33 | |
| 9412 | X333\P | |
| 9413 | Partial match: X333 | |
| 9414 | X3333\P | |
| 9415 | Partial match: X3333 | |
| 9416 | ||
| 9417 | /X\d{2,4}+b/ | |
| 9418 | X\P | |
| 9419 | Partial match: X | |
| 9420 | X3\P | |
| 9421 | Partial match: X3 | |
| 9422 | X33\P | |
| 9423 | Partial match: X33 | |
| 9424 | X333\P | |
| 9425 | Partial match: X333 | |
| 9426 | X3333\P | |
| 9427 | Partial match: X3333 | |
| 9428 | ||
| 9429 | /X\D{2,4}b/ | |
| 9430 | X\P | |
| 9431 | Partial match: X | |
| 9432 | Xa\P | |
| 9433 | Partial match: Xa | |
| 9434 | Xaa\P | |
| 9435 | Partial match: Xaa | |
| 9436 | Xaaa\P | |
| 9437 | Partial match: Xaaa | |
| 9438 | Xaaaa\P | |
| 9439 | Partial match: Xaaaa | |
| 9440 | ||
| 9441 | /X\D{2,4}?b/ | |
| 9442 | X\P | |
| 9443 | Partial match: X | |
| 9444 | Xa\P | |
| 9445 | Partial match: Xa | |
| 9446 | Xaa\P | |
| 9447 | Partial match: Xaa | |
| 9448 | Xaaa\P | |
| 9449 | Partial match: Xaaa | |
| 9450 | Xaaaa\P | |
| 9451 | Partial match: Xaaaa | |
| 9452 | ||
| 9453 | /X\D{2,4}+b/ | |
| 9454 | X\P | |
| 9455 | Partial match: X | |
| 9456 | Xa\P | |
| 9457 | Partial match: Xa | |
| 9458 | Xaa\P | |
| 9459 | Partial match: Xaa | |
| 9460 | Xaaa\P | |
| 9461 | Partial match: Xaaa | |
| 9462 | Xaaaa\P | |
| 9463 | Partial match: Xaaaa | |
| 9464 | ||
| 9465 | /X[abc]{2,4}b/ | |
| 9466 | X\P | |
| 9467 | Partial match: X | |
| 9468 | Xa\P | |
| 9469 | Partial match: Xa | |
| 9470 | Xaa\P | |
| 9471 | Partial match: Xaa | |
| 9472 | Xaaa\P | |
| 9473 | Partial match: Xaaa | |
| 9474 | Xaaaa\P | |
| 9475 | Partial match: Xaaaa | |
| 9476 | ||
| 9477 | /X[abc]{2,4}?b/ | |
| 9478 | X\P | |
| 9479 | Partial match: X | |
| 9480 | Xa\P | |
| 9481 | Partial match: Xa | |
| 9482 | Xaa\P | |
| 9483 | Partial match: Xaa | |
| 9484 | Xaaa\P | |
| 9485 | Partial match: Xaaa | |
| 9486 | Xaaaa\P | |
| 9487 | Partial match: Xaaaa | |
| 9488 | ||
| 9489 | /X[abc]{2,4}+b/ | |
| 9490 | X\P | |
| 9491 | Partial match: X | |
| 9492 | Xa\P | |
| 9493 | Partial match: Xa | |
| 9494 | Xaa\P | |
| 9495 | Partial match: Xaa | |
| 9496 | Xaaa\P | |
| 9497 | Partial match: Xaaa | |
| 9498 | Xaaaa\P | |
| 9499 | Partial match: Xaaaa | |
| 9500 | ||
| 9501 | /X[^a]{2,4}b/ | |
| 9502 | X\P | |
| 9503 | Partial match: X | |
| 9504 | Xz\P | |
| 9505 | Partial match: Xz | |
| 9506 | Xzz\P | |
| 9507 | Partial match: Xzz | |
| 9508 | Xzzz\P | |
| 9509 | Partial match: Xzzz | |
| 9510 | Xzzzz\P | |
| 9511 | Partial match: Xzzzz | |
| 9512 | ||
| 9513 | /X[^a]{2,4}?b/ | |
| 9514 | X\P | |
| 9515 | Partial match: X | |
| 9516 | Xz\P | |
| 9517 | Partial match: Xz | |
| 9518 | Xzz\P | |
| 9519 | Partial match: Xzz | |
| 9520 | Xzzz\P | |
| 9521 | Partial match: Xzzz | |
| 9522 | Xzzzz\P | |
| 9523 | Partial match: Xzzzz | |
| 9524 | ||
| 9525 | /X[^a]{2,4}+b/ | |
| 9526 | X\P | |
| 9527 | Partial match: X | |
| 9528 | Xz\P | |
| 9529 | Partial match: Xz | |
| 9530 | Xzz\P | |
| 9531 | Partial match: Xzz | |
| 9532 | Xzzz\P | |
| 9533 | Partial match: Xzzz | |
| 9534 | Xzzzz\P | |
| 9535 | Partial match: Xzzzz | |
| 9536 | ||
| 9537 | /(Y)X\1{2,4}b/ | |
| 9538 | YX\P | |
| 9539 | Partial match: YX | |
| 9540 | YXY\P | |
| 9541 | Partial match: YXY | |
| 9542 | YXYY\P | |
| 9543 | Partial match: YXYY | |
| 9544 | YXYYY\P | |
| 9545 | Partial match: YXYYY | |
| 9546 | YXYYYY\P | |
| 9547 | Partial match: YXYYYY | |
| 9548 | ||
| 9549 | /(Y)X\1{2,4}?b/ | |
| 9550 | YX\P | |
| 9551 | Partial match: YX | |
| 9552 | YXY\P | |
| 9553 | Partial match: YXY | |
| 9554 | YXYY\P | |
| 9555 | Partial match: YXYY | |
| 9556 | YXYYY\P | |
| 9557 | Partial match: YXYYY | |
| 9558 | YXYYYY\P | |
| 9559 | Partial match: YXYYYY | |
| 9560 | ||
| 9561 | /(Y)X\1{2,4}+b/ | |
| 9562 | YX\P | |
| 9563 | Partial match: YX | |
| 9564 | YXY\P | |
| 9565 | Partial match: YXY | |
| 9566 | YXYY\P | |
| 9567 | Partial match: YXYY | |
| 9568 | YXYYY\P | |
| 9569 | Partial match: YXYYY | |
| 9570 | YXYYYY\P | |
| 9571 | Partial match: YXYYYY | |
| 9572 | ||
| 9573 | /\++\KZ|\d+X|9+Y/ | |
| 9574 | ++++123999\P | |
| 9575 | Partial match: 123999 | |
| 9576 | ++++123999Y\P | |
| 9577 | 0: 999Y | |
| 9578 | ++++Z1234\P | |
| 9579 | 0: Z | |
| 9580 | ||
| 9581 | /Z(*F)/ | |
| 9582 | Z\P | |
| 9583 | No match | |
| 9584 | ZA\P | |
| 9585 | No match | |
| 9586 | ||
| 9587 | /Z(?!)/ | |
| 9588 | Z\P | |
| 9589 | No match | |
| 9590 | ZA\P | |
| 9591 | No match | |
| 9592 | ||
| 9593 | /dog(sbody)?/ | |
| 9594 | dogs\P | |
| 9595 | 0: dog | |
| 9596 | dogs\P\P | |
| 9597 | Partial match: dogs | |
| 9598 | ||
| 9599 | /dog(sbody)??/ | |
| 9600 | dogs\P | |
| 9601 | 0: dog | |
| 9602 | dogs\P\P | |
| 9603 | 0: dog | |
| 9604 | ||
| 9605 | /dog|dogsbody/ | |
| 9606 | dogs\P | |
| 9607 | 0: dog | |
| 9608 | dogs\P\P | |
| 9609 | 0: dog | |
| 9610 | ||
| 9611 | /dogsbody|dog/ | |
| 9612 | dogs\P | |
| 9613 | 0: dog | |
| 9614 | dogs\P\P | |
| 9615 | Partial match: dogs | |
| 9616 | ||
| 9617 | /\bthe cat\b/ | |
| 9618 | the cat\P | |
| 9619 | 0: the cat | |
| 9620 | the cat\P\P | |
| 9621 | Partial match: the cat | |
| 9622 | ||
| 9623 | /abc/ | |
| 9624 | abc\P | |
| 9625 | 0: abc | |
| 9626 | abc\P\P | |
| 9627 | 0: abc | |
| 9628 | ||
| 9629 | /\w+A/P | |
| 9630 | CDAAAAB | |
| 9631 | 0: CDAAAA | |
| 9632 | ||
| 9633 | /\w+A/PU | |
| 9634 | CDAAAAB | |
| 9635 | 0: CDA | |
| 9636 | ||
| 9637 | /abc\K123/ | |
| 9638 | xyzabc123pqr | |
| 9639 | 0: 123 | |
| 9640 | xyzabc12\P | |
| 9641 | Partial match: abc12 | |
| 9642 | xyzabc12\P\P | |
| 9643 | Partial match: abc12 | |
| 9644 | ||
| 9645 | /(?<=abc)123/ | |
| 9646 | xyzabc123pqr | |
| 9647 | 0: 123 | |
| 9648 | xyzabc12\P | |
| 9649 | Partial match: abc12 | |
| 9650 | xyzabc12\P\P | |
| 9651 | Partial match: abc12 | |
| 9652 | ||
| 9653 | /\babc\b/ | |
| 9654 | +++abc+++ | |
| 9655 | 0: abc | |
| 9656 | +++ab\P | |
| 9657 | Partial match: +ab | |
| 9658 | +++ab\P\P | |
| 9659 | Partial match: +ab | |
| 9660 | ||
| 9661 | /(?&word)(?&element)(?(DEFINE)(?<element><[^m][^>]>[^<])(?<word>\w*+))/BZ | |
| 9662 | ------------------------------------------------------------------ | |
| 9663 | Bra | |
| 9664 | Once | |
| 9665 | Recurse | |
| 9666 | Ket | |
| 9667 | Once | |
| 9668 | Recurse | |
| 9669 | Ket | |
| 9670 | Cond | |
| 9671 | Cond def | |
| 9672 | CBra 1 | |
| 9673 | < | |
| 9674 | [^m] | |
| 9675 | [^>] | |
| 9676 | > | |
| 9677 | [^<] | |
| 9678 | Ket | |
| 9679 | CBra 2 | |
| 9680 | \w*+ | |
| 9681 | Ket | |
| 9682 | Ket | |
| 9683 | Ket | |
| 9684 | End | |
| 9685 | ------------------------------------------------------------------ | |
| 9686 | ||
| 9687 | /(?&word)(?&element)(?(DEFINE)(?<element><[^\d][^>]>[^<])(?<word>\w*+))/BZ | |
| 9688 | ------------------------------------------------------------------ | |
| 9689 | Bra | |
| 9690 | Once | |
| 9691 | Recurse | |
| 9692 | Ket | |
| 9693 | Once | |
| 9694 | Recurse | |
| 9695 | Ket | |
| 9696 | Cond | |
| 9697 | Cond def | |
| 9698 | CBra 1 | |
| 9699 | < | |
| 9700 | [\x00-/:-\xff] (neg) | |
| 9701 | [^>] | |
| 9702 | > | |
| 9703 | [^<] | |
| 9704 | Ket | |
| 9705 | CBra 2 | |
| 9706 | \w*+ | |
| 9707 | Ket | |
| 9708 | Ket | |
| 9709 | Ket | |
| 9710 | End | |
| 9711 | ------------------------------------------------------------------ | |
| 9712 | ||
| 9713 | /(ab)(x(y)z(cd(*ACCEPT)))pq/BZ | |
| 9714 | ------------------------------------------------------------------ | |
| 9715 | Bra | |
| 9716 | CBra 1 | |
| 9717 | ab | |
| 9718 | Ket | |
| 9719 | CBra 2 | |
| 9720 | x | |
| 9721 | CBra 3 | |
| 9722 | y | |
| 9723 | Ket | |
| 9724 | z | |
| 9725 | CBra 4 | |
| 9726 | cd | |
| 9727 | Close 4 | |
| 9728 | Close 2 | |
| 9729 | *ACCEPT | |
| 9730 | Ket | |
| 9731 | Ket | |
| 9732 | pq | |
| 9733 | Ket | |
| 9734 | End | |
| 9735 | ------------------------------------------------------------------ | |
| 9736 | ||
| 9737 | /abc\K/+ | |
| 9738 | abcdef | |
| 9739 | 0: | |
| 9740 | 0+ def | |
| 9741 | abcdef\N\N | |
| 9742 | 0: | |
| 9743 | 0+ def | |
| 9744 | xyzabcdef\N\N | |
| 9745 | 0: | |
| 9746 | 0+ def | |
| 9747 | ** Failers | |
| 9748 | No match | |
| 9749 | abcdef\N | |
| 9750 | No match | |
| 9751 | xyzabcdef\N | |
| 9752 | No match | |
| 9753 | ||
| 9754 | /^(?:(?=abc)|abc\K)/+ | |
| 9755 | abcdef | |
| 9756 | 0: | |
| 9757 | 0+ abcdef | |
| 9758 | abcdef\N\N | |
| 9759 | 0: | |
| 9760 | 0+ def | |
| 9761 | ** Failers | |
| 9762 | No match | |
| 9763 | abcdef\N | |
| 9764 | No match | |
| 9765 | ||
| 9766 | /a?b?/+ | |
| 9767 | xyz | |
| 9768 | 0: | |
| 9769 | 0+ xyz | |
| 9770 | xyzabc | |
| 9771 | 0: | |
| 9772 | 0+ xyzabc | |
| 9773 | xyzabc\N | |
| 9774 | 0: ab | |
| 9775 | 0+ c | |
| 9776 | xyzabc\N\N | |
| 9777 | 0: | |
| 9778 | 0+ yzabc | |
| 9779 | xyz\N\N | |
| 9780 | 0: | |
| 9781 | 0+ yz | |
| 9782 | ** Failers | |
| 9783 | 0: | |
| 9784 | 0+ ** Failers | |
| 9785 | xyz\N | |
| 9786 | No match | |
| 9787 | ||
| 9788 | /^a?b?/+ | |
| 9789 | xyz | |
| 9790 | 0: | |
| 9791 | 0+ xyz | |
| 9792 | xyzabc | |
| 9793 | 0: | |
| 9794 | 0+ xyzabc | |
| 9795 | ** Failers | |
| 9796 | 0: | |
| 9797 | 0+ ** Failers | |
| 9798 | xyzabc\N | |
| 9799 | No match | |
| 9800 | xyzabc\N\N | |
| 9801 | No match | |
| 9802 | xyz\N\N | |
| 9803 | No match | |
| 9804 | xyz\N | |
| 9805 | No match | |
| 9806 | ||
| 9807 | /^(?<name>a|b\g<name>c)/ | |
| 9808 | aaaa | aaaa |
| 9809 | 0: a | 0: a |
| 9810 | 1: a | 1: a |
| # | Line 9441 Failed: unknown POSIX class name at offs | Line 9818 Failed: unknown POSIX class name at offs |
| 9818 | 0: bbbaccc | 0: bbbaccc |
| 9819 | 1: bbbaccc | 1: bbbaccc |
| 9820 | ||
| 9821 | /^(a|b\g'-1'c)/ | /^(?<name>a|b\g'name'c)/ |
| 9822 | aaaa | aaaa |
| 9823 | 0: a | 0: a |
| 9824 | 1: a | 1: a |
| # | Line 9455 Failed: unknown POSIX class name at offs | Line 9832 Failed: unknown POSIX class name at offs |
| 9832 | 0: bbbaccc | 0: bbbaccc |
| 9833 | 1: bbbaccc | 1: bbbaccc |
| 9834 | ||
| 9835 | /(^(a|b\g<-1>c))/ | /^(a|b\g<1>c)/ |
| 9836 | aaaa | aaaa |
| 9837 | 0: a | 0: a |
| 9838 | 1: a | 1: a |
| 2: a | ||
| 9839 | bacxxx | bacxxx |
| 9840 | 0: bac | 0: bac |
| 9841 | 1: bac | 1: bac |
| 2: bac | ||
| 9842 | bbaccxxx | bbaccxxx |
| 9843 | 0: bbacc | 0: bbacc |
| 9844 | 1: bbacc | 1: bbacc |
| 2: bbacc | ||
| 9845 | bbbacccxx | bbbacccxx |
| 9846 | 0: bbbaccc | 0: bbbaccc |
| 9847 | 1: bbbaccc | 1: bbbaccc |
| 2: bbbaccc | ||
| /(^(a|b\g<-1'c))/ | ||
| Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 15 | ||
| 9848 | ||
| 9849 | /(^(a|b\g{-1}))/ | /^(a|b\g'1'c)/ |
| 9850 | aaaa | |
| 9851 | 0: a | |
| 9852 | 1: a | |
| 9853 | bacxxx | bacxxx |
| 9854 | No match | 0: bac |
| 9855 | 1: bac | |
| 9856 | bbaccxxx | |
| 9857 | 0: bbacc | |
| 9858 | 1: bbacc | |
| 9859 | bbbacccxx | |
| 9860 | 0: bbbaccc | |
| 9861 | 1: bbbaccc | |
| 9862 | ||
| 9863 | /^(a|b\g'-1'c)/ | |
| 9864 | aaaa | |
| 9865 | 0: a | |
| 9866 | 1: a | |
| 9867 | bacxxx | |
| 9868 | 0: bac | |
| 9869 | 1: bac | |
| 9870 | bbaccxxx | |
| 9871 | 0: bbacc | |
| 9872 | 1: bbacc | |
| 9873 | bbbacccxx | |
| 9874 | 0: bbbaccc | |
| 9875 | 1: bbbaccc | |
| 9876 | ||
| 9877 | /(^(a|b\g<-1>c))/ | |
| 9878 | aaaa | |
| 9879 | 0: a | |
| 9880 | 1: a | |
| 9881 | 2: a | |
| 9882 | bacxxx | |
| 9883 | 0: bac | |
| 9884 | 1: bac | |
| 9885 | 2: bac | |
| 9886 | bbaccxxx | |
| 9887 | 0: bbacc | |
| 9888 | 1: bbacc | |
| 9889 | 2: bbacc | |
| 9890 | bbbacccxx | |
| 9891 | 0: bbbaccc | |
| 9892 | 1: bbbaccc | |
| 9893 | 2: bbbaccc | |
| 9894 | ||
| 9895 | /(?-i:\g<name>)(?i:(?<name>a))/ | /(?-i:\g<name>)(?i:(?<name>a))/ |
| 9896 | XaaX | XaaX |
| 9897 | 0: aa | 0: aa |
| # | Line 9505 No match | Line 9917 No match |
| 9917 | 0: AA | 0: AA |
| 9918 | 1: A | 1: A |
| 9919 | ||
| 9920 | / End of testinput2 / | /(?=(?<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>\})\}))\{/ |
| 9921 | ||
| 9922 | /(?<n>a|b|c)\g<n>*/ | |
| 9923 | abc | |
| 9924 | 0: abc | |
| 9925 | 1: a | |
| 9926 | accccbbb | |
| 9927 | 0: accccbbb | |
| 9928 | 1: a | |
| 9929 | ||
| 9930 | /^X(?7)(a)(?|(b)|(q)(r)(s))(c)(d)(Y)/ | |
| 9931 | XYabcdY | |
| 9932 | 0: XYabcdY | |
| 9933 | 1: a | |
| 9934 | 2: b | |
| 9935 | 3: <unset> | |
| 9936 | 4: <unset> | |
| 9937 | 5: c | |
| 9938 | 6: d | |
| 9939 | 7: Y | |
| 9940 | ||
| 9941 | /(?<=b(?1)|zzz)(a)/ | |
| 9942 | xbaax | |
| 9943 | 0: a | |
| 9944 | 1: a | |
| 9945 | xzzzax | |
| 9946 | 0: a | |
| 9947 | 1: a | |
| 9948 | ||
| 9949 | /(a)(?<=b\1)/ | |
| 9950 | Failed: lookbehind assertion is not fixed length at offset 10 | |
| 9951 | ||
| 9952 | /(a)(?<=b+(?1))/ | |
| 9953 | Failed: lookbehind assertion is not fixed length at offset 13 | |
| 9954 | ||
| 9955 | /(a+)(?<=b(?1))/ | |
| 9956 | Failed: lookbehind assertion is not fixed length at offset 14 | |
| 9957 | ||
| 9958 | /(a(?<=b(?1)))/ | |
| 9959 | Failed: lookbehind assertion is not fixed length at offset 13 | |
| 9960 | ||
| 9961 | /(?<=b(?1))xyz/ | |
| 9962 | Failed: reference to non-existent subpattern at offset 8 | |
| 9963 | ||
| 9964 | /(?<=b(?1))xyz(b+)pqrstuvew/ | |
| 9965 | Failed: lookbehind assertion is not fixed length at offset 26 | |
| 9966 | ||
| 9967 | /(a|bc)\1/SI | |
| 9968 | Capturing subpattern count = 1 | |
| 9969 | Max back reference = 1 | |
| 9970 | No options | |
| 9971 | No first char | |
| 9972 | No need char | |
| 9973 | Subject length lower bound = 2 | |
| 9974 | Starting byte set: a b | |
| 9975 | ||
| 9976 | /(a|bc)\1{2,3}/SI | |
| 9977 | Capturing subpattern count = 1 | |
| 9978 | Max back reference = 1 | |
| 9979 | No options | |
| 9980 | No first char | |
| 9981 | No need char | |
| 9982 | Subject length lower bound = 3 | |
| 9983 | Starting byte set: a b | |
| 9984 | ||
| 9985 | /(a|bc)(?1)/SI | |
| 9986 | Capturing subpattern count = 1 | |
| 9987 | No options | |
| 9988 | No first char | |
| 9989 | No need char | |
| 9990 | Subject length lower bound = 2 | |
| 9991 | Starting byte set: a b | |
| 9992 | ||
| 9993 | /(a|b\1)(a|b\1)/SI | |
| 9994 | Capturing subpattern count = 2 | |
| 9995 | Max back reference = 1 | |
| 9996 | No options | |
| 9997 | No first char | |
| 9998 | No need char | |
| 9999 | Subject length lower bound = 2 | |
| 10000 | Starting byte set: a b | |
| 10001 | ||
| 10002 | /(a|b\1){2}/SI | |
| 10003 | Capturing subpattern count = 1 | |
| 10004 | Max back reference = 1 | |
| 10005 | No options | |
| 10006 | No first char | |
| 10007 | No need char | |
| 10008 | Subject length lower bound = 2 | |
| 10009 | Starting byte set: a b | |
| 10010 | ||
| 10011 | /(a|bbbb\1)(a|bbbb\1)/SI | |
| 10012 | Capturing subpattern count = 2 | |
| 10013 | Max back reference = 1 | |
| 10014 | No options | |
| 10015 | No first char | |
| 10016 | No need char | |
| 10017 | Subject length lower bound = 2 | |
| 10018 | Starting byte set: a b | |
| 10019 | ||
| 10020 | /(a|bbbb\1){2}/SI | |
| 10021 | Capturing subpattern count = 1 | |
| 10022 | Max back reference = 1 | |
| 10023 | No options | |
| 10024 | No first char | |
| 10025 | No need char | |
| 10026 | Subject length lower bound = 2 | |
| 10027 | Starting byte set: a b | |
| 10028 | ||
| 10029 | /^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 | |
| 10030 | Capturing subpattern count = 1 | |
| 10031 | Options: anchored | |
| 10032 | No first char | |
| 10033 | Need char = ':' | |
| 10034 | Subject length lower bound = 22 | |
| 10035 | No set of starting bytes | |
| 10036 | ||
| 10037 | / (?: [\040\t] | \( | |
| 10038 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* | |
| 10039 | \) )* # optional leading comment | |
| 10040 | (?: (?: | |
| 10041 | [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... | |
| 10042 | (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom | |
| 10043 | | | |
| 10044 | " (?: # opening quote... | |
| 10045 | [^\\\x80-\xff\n\015"] # Anything except backslash and quote | |
| 10046 | | # or | |
| 10047 | \\ [^\x80-\xff] # Escaped something (something != CR) | |
| 10048 | )* " # closing quote | |
| 10049 | ) # initial word | |
| 10050 | (?: (?: [\040\t] | \( | |
| 10051 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* | |
| 10052 | \) )* \. (?: [\040\t] | \( | |
| 10053 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* | |
| 10054 | \) )* (?: | |
| 10055 | [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... | |
| 10056 | (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom | |
| 10057 | | | |
| 10058 | " (?: # opening quote... | |
| 10059 | [^\\\x80-\xff\n\015"] # Anything except backslash and quote | |
| 10060 | | # or | |
| 10061 | \\ [^\x80-\xff] # Escaped something (something != CR) | |
| 10062 | )* " # closing quote | |
| 10063 | ) )* # further okay, if led by a period | |
| 10064 | (?: [\040\t] | \( | |
| 10065 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* | |
| 10066 | \) )* @ (?: [\040\t] | \( | |
| 10067 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* | |
| 10068 | \) )* (?: | |
| 10069 | [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... | |
| 10070 | (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom | |
| 10071 | | \[ # [ | |
| 10072 | (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff | |
| 10073 | \] # ] | |
| 10074 | ) # initial subdomain | |
| 10075 | (?: # | |
| 10076 | (?: [\040\t] | \( | |
| 10077 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* | |
| 10078 | \) )* \. # if led by a period... | |
| 10079 | (?: [\040\t] | \( | |
| 10080 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* | |
| 10081 | \) )* (?: | |
| 10082 | [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... | |
| 10083 | (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom | |
| 10084 | | \[ # [ | |
| 10085 | (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff | |
| 10086 | \] # ] | |
| 10087 | ) # ...further okay | |
| 10088 | )* | |
| 10089 | # address | |
| 10090 | | # or | |
| 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 | " (?: # opening quote... | |
| 10096 | [^\\\x80-\xff\n\015"] # Anything except backslash and quote | |
| 10097 | | # or | |
| 10098 | \\ [^\x80-\xff] # Escaped something (something != CR) | |
| 10099 | )* " # closing quote | |
| 10100 | ) # one word, optionally followed by.... | |
| 10101 | (?: | |
| 10102 | [^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] | # atom and space parts, or... | |
| 10103 | \( | |
| 10104 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* | |
| 10105 | \) | # comments, or... | |
| 10106 | ||
| 10107 | " (?: # opening quote... | |
| 10108 | [^\\\x80-\xff\n\015"] # Anything except backslash and quote | |
| 10109 | | # or | |
| 10110 | \\ [^\x80-\xff] # Escaped something (something != CR) | |
| 10111 | )* " # closing quote | |
| 10112 | # quoted strings | |
| 10113 | )* | |
| 10114 | < (?: [\040\t] | \( | |
| 10115 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* | |
| 10116 | \) )* # leading < | |
| 10117 | (?: @ (?: [\040\t] | \( | |
| 10118 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* | |
| 10119 | \) )* (?: | |
| 10120 | [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... | |
| 10121 | (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom | |
| 10122 | | \[ # [ | |
| 10123 | (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff | |
| 10124 | \] # ] | |
| 10125 | ) # initial subdomain | |
| 10126 | (?: # | |
| 10127 | (?: [\040\t] | \( | |
| 10128 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* | |
| 10129 | \) )* \. # if led by a period... | |
| 10130 | (?: [\040\t] | \( | |
| 10131 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* | |
| 10132 | \) )* (?: | |
| 10133 | [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... | |
| 10134 | (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom | |
| 10135 | | \[ # [ | |
| 10136 | (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff | |
| 10137 | \] # ] | |
| 10138 | ) # ...further okay | |
| 10139 | )* | |
| 10140 | ||
| 10141 | (?: (?: [\040\t] | \( | |
| 10142 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* | |
| 10143 | \) )* , (?: [\040\t] | \( | |
| 10144 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* | |
| 10145 | \) )* @ (?: [\040\t] | \( | |
| 10146 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* | |
| 10147 | \) )* (?: | |
| 10148 | [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... | |
| 10149 | (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom | |
| 10150 | | \[ # [ | |
| 10151 | (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff | |
| 10152 | \] # ] | |
| 10153 | ) # initial subdomain | |
| 10154 | (?: # | |
| 10155 | (?: [\040\t] | \( | |
| 10156 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* | |
| 10157 | \) )* \. # if led by a period... | |
| 10158 | (?: [\040\t] | \( | |
| 10159 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* | |
| 10160 | \) )* (?: | |
| 10161 | [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... | |
| 10162 | (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom | |
| 10163 | | \[ # [ | |
| 10164 | (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff | |
| 10165 | \] # ] | |
| 10166 | ) # ...further okay | |
| 10167 | )* | |
| 10168 | )* # further okay, if led by comma | |
| 10169 | : # closing colon | |
| 10170 | (?: [\040\t] | \( | |
| 10171 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* | |
| 10172 | \) )* )? # optional route | |
| 10173 | (?: | |
| 10174 | [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... | |
| 10175 | (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom | |
| 10176 | | | |
| 10177 | " (?: # opening quote... | |
| 10178 | [^\\\x80-\xff\n\015"] # Anything except backslash and quote | |
| 10179 | | # or | |
| 10180 | \\ [^\x80-\xff] # Escaped something (something != CR) | |
| 10181 | )* " # closing quote | |
| 10182 | ) # initial word | |
| 10183 | (?: (?: [\040\t] | \( | |
| 10184 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* | |
| 10185 | \) )* \. (?: [\040\t] | \( | |
| 10186 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* | |
| 10187 | \) )* (?: | |
| 10188 | [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... | |
| 10189 | (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom | |
| 10190 | | | |
| 10191 | " (?: # opening quote... | |
| 10192 | [^\\\x80-\xff\n\015"] # Anything except backslash and quote | |
| 10193 | | # or | |
| 10194 | \\ [^\x80-\xff] # Escaped something (something != CR) | |
| 10195 | )* " # closing quote | |
| 10196 | ) )* # further okay, if led by a period | |
| 10197 | (?: [\040\t] | \( | |
| 10198 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* | |
| 10199 | \) )* @ (?: [\040\t] | \( | |
| 10200 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* | |
| 10201 | \) )* (?: | |
| 10202 | [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... | |
| 10203 | (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom | |
| 10204 | | \[ # [ | |
| 10205 | (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff | |
| 10206 | \] # ] | |
| 10207 | ) # initial subdomain | |
| 10208 | (?: # | |
| 10209 | (?: [\040\t] | \( | |
| 10210 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* | |
| 10211 | \) )* \. # if led by a period... | |
| 10212 | (?: [\040\t] | \( | |
| 10213 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* | |
| 10214 | \) )* (?: | |
| 10215 | [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... | |
| 10216 | (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom | |
| 10217 | | \[ # [ | |
| 10218 | (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff | |
| 10219 | \] # ] | |
| 10220 | ) # ...further okay | |
| 10221 | )* | |
| 10222 | # address spec | |
| 10223 | (?: [\040\t] | \( | |
| 10224 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* | |
| 10225 | \) )* > # trailing > | |
| 10226 | # name and address | |
| 10227 | ) (?: [\040\t] | \( | |
| 10228 | (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* | |
| 10229 | \) )* # optional trailing comment | |
| 10230 | /xSI | |
| 10231 | Capturing subpattern count = 0 | |
| 10232 | Contains explicit CR or LF match | |
| 10233 | Options: extended | |
| 10234 | No first char | |
| 10235 | No need char | |
| 10236 | Subject length lower bound = 3 | |
| 10237 | Starting byte set: \x09 \x20 ! " # $ % & ' ( * + - / 0 1 2 3 4 5 6 7 8 | |
| 10238 | 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 | |
| 10239 | f g h i j k l m n o p q r s t u v w x y z { | } ~ \x7f | |
| 10240 | ||
| 10241 | /<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 | |
| 10242 | Capturing subpattern count = 11 | |
| 10243 | Options: caseless dotall | |
| 10244 | First char = '<' | |
| 10245 | Need char = '>' | |
| 10246 | Subject length lower bound = 47 | |
| 10247 | No set of starting bytes | |
| 10248 | ||
| 10249 | "(?>.*/)foo"SI | |
| 10250 | Capturing subpattern count = 0 | |
| 10251 | No options | |
| 10252 | First char at start or follows newline | |
| 10253 | Need char = 'o' | |
| 10254 | Subject length lower bound = 4 | |
| 10255 | No set of starting bytes | |
| 10256 | ||
| 10257 | /(?(?=[^a-z]+[a-z]) \d{2}-[a-z]{3}-\d{2} | \d{2}-\d{2}-\d{2} ) /xSI | |
| 10258 | Capturing subpattern count = 0 | |
| 10259 | Options: extended | |
| 10260 | No first char | |
| 10261 | Need char = '-' | |
| 10262 | Subject length lower bound = 8 | |
| 10263 | No set of starting bytes | |
| 10264 | ||
| 10265 | /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))/iSI | |
| 10266 | Capturing subpattern count = 1 | |
| 10267 | Options: caseless | |
| 10268 | No first char | |
| 10269 | No need char | |
| 10270 | Subject length lower bound = 1 | |
| 10271 | Starting byte set: A B C a b c | |
| 10272 | ||
| 10273 | /(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/SI | |
| 10274 | Capturing subpattern count = 0 | |
| 10275 | No options | |
| 10276 | No first char | |
| 10277 | Need char = 'b' | |
| 10278 | Subject length lower bound = 41 | |
| 10279 | Starting byte set: c d | |
| 10280 | ||
| 10281 | /<a[\s]+href[\s]*=[\s]* # find <a href= | |
| 10282 | ([\"\'])? # find single or double quote | |
| 10283 | (?(1) (.*?)\1 | ([^\s]+)) # if quote found, match up to next matching | |
| 10284 | # quote, otherwise match up to next space | |
| 10285 | /isxSI | |
| 10286 | Capturing subpattern count = 3 | |
| 10287 | Max back reference = 1 | |
| 10288 | Options: caseless extended dotall | |
| 10289 | First char = '<' | |
| 10290 | Need char = '=' | |
| 10291 | Subject length lower bound = 9 | |
| 10292 | No set of starting bytes | |
| 10293 | ||
| 10294 | /^(?!:) # colon disallowed at start | |
| 10295 | (?: # start of item | |
| 10296 | (?: [0-9a-f]{1,4} | # 1-4 hex digits or | |
| 10297 | (?(1)0 | () ) ) # if null previously matched, fail; else null | |
| 10298 | : # followed by colon | |
| 10299 | ){1,7} # end item; 1-7 of them required | |
| 10300 | [0-9a-f]{1,4} $ # final hex number at end of string | |
| 10301 | (?(1)|.) # check that there was an empty component | |
| 10302 | /xiIS | |
| 10303 | Capturing subpattern count = 1 | |
| 10304 | Options: anchored caseless extended | |
| 10305 | No first char | |
| 10306 | Need char = ':' | |
| 10307 | Subject length lower bound = 2 | |
| 10308 | No set of starting bytes | |
| 10309 | ||
| 10310 | /(?|(?<a>A)|(?<a>B))/I | |
| 10311 | Capturing subpattern count = 1 | |
| 10312 | Named capturing subpatterns: | |
| 10313 | a 1 | |
| 10314 | a 1 | |
| 10315 | No options | |
| 10316 | No first char | |
| 10317 | No need char | |
| 10318 | AB\Ca | |
| 10319 | 0: A | |
| 10320 | 1: A | |
| 10321 | C A (1) a | |
| 10322 | BA\Ca | |
| 10323 | 0: B | |
| 10324 | 1: B | |
| 10325 | C B (1) a | |
| 10326 | ||
| 10327 | /(?|(?<a>A)|(?<b>B))/ | |
| 10328 | Failed: different names for subpatterns of the same number are not allowed at offset 15 | |
| 10329 | ||
| 10330 | /(?:a(?<quote> (?<apostrophe>')|(?<realquote>")) | | |
| 10331 | b(?<quote> (?<apostrophe>')|(?<realquote>")) ) | |
| 10332 | (?('quote')[a-z]+|[0-9]+)/JIx | |
| 10333 | Capturing subpattern count = 6 | |
| 10334 | Named capturing subpatterns: | |
| 10335 | apostrophe 2 | |
| 10336 | apostrophe 5 | |
| 10337 | quote 1 | |
| 10338 | quote 4 | |
| 10339 | realquote 3 | |
| 10340 | realquote 6 | |
| 10341 | Options: extended dupnames | |
| 10342 | No first char | |
| 10343 | No need char | |
| 10344 | a"aaaaa | |
| 10345 | 0: a"aaaaa | |
| 10346 | 1: " | |
| 10347 | 2: <unset> | |
| 10348 | 3: " | |
| 10349 | b"aaaaa | |
| 10350 | 0: b"aaaaa | |
| 10351 | 1: <unset> | |
| 10352 | 2: <unset> | |
| 10353 | 3: <unset> | |
| 10354 | 4: " | |
| 10355 | 5: <unset> | |
| 10356 | 6: " | |
| 10357 | ** Failers | |
| 10358 | No match | |
| 10359 | b"11111 | |
| 10360 | No match | |
| 10361 | a"11111 | |
| 10362 | No match | |
| 10363 | ||
| 10364 | /^(?|(a)(b)(c)(?<D>d)|(?<D>e)) (?('D')X|Y)/JDZx | |
| 10365 | ------------------------------------------------------------------ | |
| 10366 | Bra | |
| 10367 | ^ | |
| 10368 | Bra | |
| 10369 | CBra 1 | |
| 10370 | a | |
| 10371 | Ket | |
| 10372 | CBra 2 | |
| 10373 | b | |
| 10374 | Ket | |
| 10375 | CBra 3 | |
| 10376 | c | |
| 10377 | Ket | |
| 10378 | CBra 4 | |
| 10379 | d | |
| 10380 | Ket | |
| 10381 | Alt | |
| 10382 | CBra 1 | |
| 10383 | e | |
| 10384 | Ket | |
| 10385 | Ket | |
| 10386 | Cond | |
| 10387 | 4 Cond nref | |
| 10388 | X | |
| 10389 | Alt | |
| 10390 | Y | |
| 10391 | Ket | |
| 10392 | Ket | |
| 10393 | End | |
| 10394 | ------------------------------------------------------------------ | |
| 10395 | Capturing subpattern count = 4 | |
| 10396 | Named capturing subpatterns: | |
| 10397 | D 4 | |
| 10398 | D 1 | |
| 10399 | Options: anchored extended dupnames | |
| 10400 | No first char | |
| 10401 | No need char | |
| 10402 | abcdX | |
| 10403 | 0: abcdX | |
| 10404 | 1: a | |
| 10405 | 2: b | |
| 10406 | 3: c | |
| 10407 | 4: d | |
| 10408 | eX | |
| 10409 | 0: eX | |
| 10410 | 1: e | |
| 10411 | ** Failers | |
| 10412 | No match | |
| 10413 | abcdY | |
| 10414 | No match | |
| 10415 | ey | |
| 10416 | No match | |
| 10417 | ||
| 10418 | /(?<A>a) (b)(c) (?<A>d (?(R&A)$ | (?4)) )/JDZx | |
| 10419 | ------------------------------------------------------------------ | |
| 10420 | Bra | |
| 10421 | CBra 1 | |
| 10422 | a | |
| 10423 | Ket | |
| 10424 | CBra 2 | |
| 10425 | b | |
| 10426 | Ket | |
| 10427 | CBra 3 | |
| 10428 | c | |
| 10429 | Ket | |
| 10430 | CBra 4 | |
| 10431 | d | |
| 10432 | Cond | |
| 10433 | Cond nrecurse 1 | |
| 10434 | $ | |
| 10435 | Alt | |
| 10436 | Once | |
| 10437 | Recurse | |
| 10438 | Ket | |
| 10439 | Ket | |
| 10440 | Ket | |
| 10441 | Ket | |
| 10442 | End | |
| 10443 | ------------------------------------------------------------------ | |
| 10444 | Capturing subpattern count = 4 | |
| 10445 | Named capturing subpatterns: | |
| 10446 | A 1 | |
| 10447 | A 4 | |
| 10448 | Options: extended dupnames | |
| 10449 | First char = 'a' | |
| 10450 | Need char = 'd' | |
| 10451 | abcdd | |
| 10452 | 0: abcdd | |
| 10453 | 1: a | |
| 10454 | 2: b | |
| 10455 | 3: c | |
| 10456 | 4: dd | |
| 10457 | ** Failers | |
| 10458 | No match | |
| 10459 | abcdde | |
| 10460 | No match | |
| 10461 | ||
| 10462 | /abcd*/ | |
| 10463 | xxxxabcd\P | |
| 10464 | 0: abcd | |
| 10465 | xxxxabcd\P\P | |
| 10466 | Partial match: abcd | |
| 10467 | ||
| 10468 | /abcd*/i | |
| 10469 | xxxxabcd\P | |
| 10470 | 0: abcd | |
| 10471 | xxxxabcd\P\P | |
| 10472 | Partial match: abcd | |
| 10473 | XXXXABCD\P | |
| 10474 | 0: ABCD | |
| 10475 | XXXXABCD\P\P | |
| 10476 | Partial match: ABCD | |
| 10477 | ||
| 10478 | /abc\d*/ | |
| 10479 | xxxxabc1\P | |
| 10480 | 0: abc1 | |
| 10481 | xxxxabc1\P\P | |
| 10482 | Partial match: abc1 | |
| 10483 | ||
| 10484 | /(a)bc\1*/ | |
| 10485 | xxxxabca\P | |
| 10486 | 0: abca | |
| 10487 | 1: a | |
| 10488 | xxxxabca\P\P | |
| 10489 | Partial match: abca | |
| 10490 | ||
| 10491 | /abc[de]*/ | |
| 10492 | xxxxabcde\P | |
| 10493 | 0: abcde | |
| 10494 | xxxxabcde\P\P | |
| 10495 | Partial match: abcde | |
| 10496 | ||
| 10497 | /-- This is not in the Perl >= 5.10 test because Perl seems currently to be | |
| 10498 | broken and not behaving as specified in that it *does* bumpalong after | |
| 10499 | hitting (*COMMIT). --/ | |
| 10500 | ||
| 10501 | /(?1)(A(*COMMIT)|B)D/ | |
| 10502 | ABD | |
| 10503 | 0: ABD | |
| 10504 | 1: B | |
| 10505 | XABD | |
| 10506 | 0: ABD | |
| 10507 | 1: B | |
| 10508 | BAD | |
| 10509 | 0: BAD | |
| 10510 | 1: A | |
| 10511 | ABXABD | |
| 10512 | 0: ABD | |
| 10513 | 1: B | |
| 10514 | ** Failers | |
| 10515 | No match | |
| 10516 | ABX | |
| 10517 | No match | |
| 10518 | BAXBAD | |
| 10519 | No match | |
| 10520 | ||
| 10521 | /(\3)(\1)(a)/<JS> | |
| 10522 | cat | |
| 10523 | 0: a | |
| 10524 | 1: | |
| 10525 | 2: | |
| 10526 | 3: a | |
| 10527 | ||
| 10528 | /(\3)(\1)(a)/SI<JS> | |
| 10529 | Capturing subpattern count = 3 | |
| 10530 | Max back reference = 3 | |
| 10531 | Options: | |
| 10532 | No first char | |
| 10533 | Need char = 'a' | |
| 10534 | Subject length lower bound = 1 | |
| 10535 | No set of starting bytes | |
| 10536 | cat | |
| 10537 | 0: a | |
| 10538 | 1: | |
| 10539 | 2: | |
| 10540 | 3: a | |
| 10541 | ||
| 10542 | /(\3)(\1)(a)/SI | |
| 10543 | Capturing subpattern count = 3 | |
| 10544 | Max back reference = 3 | |
| 10545 | No options | |
| 10546 | No first char | |
| 10547 | Need char = 'a' | |
| 10548 | Subject length lower bound = 3 | |
| 10549 | No set of starting bytes | |
| 10550 | cat | |
| 10551 | No match | |
| 10552 | ||
| 10553 | /i(?(DEFINE)(?<s>a))/SI | |
| 10554 | Capturing subpattern count = 1 | |
| 10555 | Named capturing subpatterns: | |
| 10556 | s 1 | |
| 10557 | No options | |
| 10558 | First char = 'i' | |
| 10559 | No need char | |
| 10560 | Subject length lower bound = 1 | |
| 10561 | No set of starting bytes | |
| 10562 | i | |
| 10563 | 0: i | |
| 10564 | ||
| 10565 | /()i(?(1)a)/SI | |
| 10566 | Capturing subpattern count = 1 | |
| 10567 | No options | |
| 10568 | No first char | |
| 10569 | Need char = 'i' | |
| 10570 | Subject length lower bound = 1 | |
| 10571 | Starting byte set: i | |
| 10572 | ia | |
| 10573 | 0: ia | |
| 10574 | 1: | |
| 10575 | ||
| 10576 | /(?i)a(?-i)b|c/BZ | |
| 10577 | ------------------------------------------------------------------ | |
| 10578 | Bra | |
| 10579 | /i a | |
| 10580 | b | |
| 10581 | Alt | |
| 10582 | c | |
| 10583 | Ket | |
| 10584 | End | |
| 10585 | ------------------------------------------------------------------ | |
| 10586 | XabX | |
| 10587 | 0: ab | |
| 10588 | XAbX | |
| 10589 | 0: Ab | |
| 10590 | CcC | |
| 10591 | 0: c | |
| 10592 | ** Failers | |
| 10593 | No match | |
| 10594 | XABX | |
| 10595 | No match | |