Parent Directory
|
Revision Log
|
Patch
| revision 210 by ph10, Wed Aug 8 14:24:50 2007 UTC | revision 574 by ph10, Sat Nov 20 17:47:27 2010 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 109 Failed: missing ) at offset 4 | Line 146 Failed: missing ) at offset 4 |
| 146 | Failed: missing ) after comment at offset 7 | Failed: missing ) after comment at offset 7 |
| 147 | ||
| 148 | /(?z)abc/ | /(?z)abc/ |
| 149 | Failed: unrecognized character after (? at offset 2 | Failed: unrecognized character after (? or (?- at offset 2 |
| 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 310 No match | Line 350 No match |
| 350 | No match | No match |
| 351 | ||
| 352 | /ab(?z)cd/ | /ab(?z)cd/ |
| 353 | Failed: unrecognized character after (? at offset 4 | Failed: unrecognized character after (? or (?- at offset 4 |
| 354 | ||
| 355 | /^abc|def/I | /^abc|def/I |
| 356 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| # | 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 612 Capturing subpattern count = 1 | Line 643 Capturing subpattern count = 1 |
| 643 | No options | No options |
| 644 | First char = 'b' (caseless) | First char = 'b' (caseless) |
| 645 | No need char | No need char |
| 646 | Study returned NULL | Subject length lower bound = 1 |
| 647 | No set of starting bytes | |
| 648 | ||
| 649 | /(a*b|(?i:c*(?-i)d))/IS | /(a*b|(?i:c*(?-i)d))/IS |
| 650 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 651 | No options | No options |
| 652 | No first char | No first char |
| 653 | No need char | No need char |
| 654 | Subject length lower bound = 1 | |
| 655 | Starting byte set: C a b c d | Starting byte set: C a b c d |
| 656 | ||
| 657 | /a$/I | /a$/I |
| # | Line 668 Need char = 'c' | Line 700 Need char = 'c' |
| 700 | ||
| 701 | /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I | /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I |
| 702 | Capturing subpattern count = 5 | Capturing subpattern count = 5 |
| Partial matching not supported | ||
| 703 | Options: anchored | Options: anchored |
| 704 | No first char | No first char |
| 705 | No need char | No need char |
| # | Line 685 Capturing subpattern count = 0 | Line 716 Capturing subpattern count = 0 |
| 716 | No options | No options |
| 717 | No first char | No first char |
| 718 | No need char | No need char |
| 719 | Subject length lower bound = 1 | |
| 720 | Starting byte set: a b | Starting byte set: a b |
| 721 | ||
| 722 | /(?<!foo)(alpha|omega)/IS | /(?<!foo)(alpha|omega)/IS |
| # | Line 692 Capturing subpattern count = 1 | Line 724 Capturing subpattern count = 1 |
| 724 | No options | No options |
| 725 | No first char | No first char |
| 726 | Need char = 'a' | Need char = 'a' |
| 727 | Subject length lower bound = 5 | |
| 728 | Starting byte set: a o | Starting byte set: a o |
| 729 | ||
| 730 | /(?!alphabet)[ab]/IS | /(?!alphabet)[ab]/IS |
| # | Line 699 Capturing subpattern count = 0 | Line 732 Capturing subpattern count = 0 |
| 732 | No options | No options |
| 733 | No first char | No first char |
| 734 | No need char | No need char |
| 735 | Subject length lower bound = 1 | |
| 736 | Starting byte set: a b | Starting byte set: a b |
| 737 | ||
| 738 | /(?<=foo\n)^bar/Im | /(?<=foo\n)^bar/Im |
| 739 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| 740 | Contains explicit CR or LF match | |
| 741 | Options: multiline | Options: multiline |
| 742 | No first char | No first char |
| 743 | Need char = 'r' | Need char = 'r' |
| # | Line 719 No match | Line 754 No match |
| 754 | ||
| 755 | /^(?<=foo\n)bar/Im | /^(?<=foo\n)bar/Im |
| 756 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| 757 | Contains explicit CR or LF match | |
| 758 | Options: multiline | Options: multiline |
| 759 | First char at start or follows newline | First char at start or follows newline |
| 760 | Need char = 'r' | Need char = 'r' |
| # | Line 782 No need char | Line 818 No need char |
| 818 | ||
| 819 | /(?>.*)(?<=(abcd)|(xyz))/I | /(?>.*)(?<=(abcd)|(xyz))/I |
| 820 | Capturing subpattern count = 2 | Capturing subpattern count = 2 |
| Partial matching not supported | ||
| 821 | No options | No options |
| 822 | First char at start or follows newline | First char at start or follows newline |
| 823 | No need char | No need char |
| # | Line 852 No match | Line 887 No match |
| 887 | a | a |
| 888 | No match | No match |
| 889 | ||
| 890 | /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 |
| 891 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| 892 | No options | No options |
| 893 | First char = 'T' | First char = 'T' |
| # | Line 864 Max back reference = 1 | Line 899 Max back reference = 1 |
| 899 | Options: anchored | Options: anchored |
| 900 | No first char | No first char |
| 901 | No need char | No need char |
| 902 | aaaa | |
| 903 | No match | |
| 904 | aaaaaa | aaaaaa |
| 905 | 0: aaaaaa | No match |
| 906 | 1: aa | |
| 907 | /Perl does not fail these two for the final subjects. Neither did PCRE until/ | |
| 908 | /release 8.01. The problem is in backtracking into a subpattern that contains/ | |
| 909 | No match | |
| 910 | /a recursive reference to itself. PCRE has now made these into atomic patterns./ | |
| 911 | No match | |
| 912 | ||
| 913 | /^(xa|=?\1a){2}$/ | |
| 914 | xa=xaa | |
| 915 | 0: xa=xaa | |
| 916 | 1: =xaa | |
| 917 | ** Failers | |
| 918 | No match | |
| 919 | xa=xaaa | |
| 920 | No match | |
| 921 | ||
| 922 | /^(xa|=?\1a)+$/ | |
| 923 | xa=xaa | |
| 924 | 0: xa=xaa | |
| 925 | 1: =xaa | |
| 926 | ** Failers | |
| 927 | No match | |
| 928 | xa=xaaa | |
| 929 | No match | |
| 930 | ||
| 931 | /These are syntax tests from Perl 5.005/I | /These are syntax tests from Perl 5.005/I |
| 932 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| # | Line 944 Failed: missing ) at offset 4 | Line 1004 Failed: missing ) at offset 4 |
| 1004 | Failed: unrecognized character after (?< at offset 3 | Failed: unrecognized character after (?< at offset 3 |
| 1005 | ||
| 1006 | /a(?{)b/ | /a(?{)b/ |
| 1007 | Failed: unrecognized character after (? at offset 3 | Failed: unrecognized character after (? or (?- at offset 3 |
| 1008 | ||
| 1009 | /a(?{{})b/ | /a(?{{})b/ |
| 1010 | Failed: unrecognized character after (? at offset 3 | Failed: unrecognized character after (? or (?- at offset 3 |
| 1011 | ||
| 1012 | /a(?{}})b/ | /a(?{}})b/ |
| 1013 | Failed: unrecognized character after (? at offset 3 | Failed: unrecognized character after (? or (?- at offset 3 |
| 1014 | ||
| 1015 | /a(?{"{"})b/ | /a(?{"{"})b/ |
| 1016 | Failed: unrecognized character after (? at offset 3 | Failed: unrecognized character after (? or (?- at offset 3 |
| 1017 | ||
| 1018 | /a(?{"{"}})b/ | /a(?{"{"}})b/ |
| 1019 | Failed: unrecognized character after (? at offset 3 | Failed: unrecognized character after (? or (?- at offset 3 |
| 1020 | ||
| 1021 | /(?(1?)a|b)/ | /(?(1?)a|b)/ |
| 1022 | Failed: malformed number or name after (?( at offset 4 | Failed: malformed number or name after (?( at offset 4 |
| 1023 | ||
| /(?(1)a|b|c)/ | ||
| Failed: conditional group contains more than two branches at offset 10 | ||
| 1024 | /[a[:xyz:/ | /[a[:xyz:/ |
| 1025 | Failed: missing terminating ] for character class at offset 8 | Failed: missing terminating ] for character class at offset 8 |
| 1026 | ||
| # | Line 1004 copy substring 5 failed -7 | Line 1061 copy substring 5 failed -7 |
| 1061 | ||
| 1062 | /(.{20})/I | /(.{20})/I |
| 1063 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 1064 | No options | No options |
| 1065 | No first char | No first char |
| 1066 | No need char | No need char |
| # | Line 1022 No need char | Line 1078 No need char |
| 1078 | ||
| 1079 | /(.{15})/I | /(.{15})/I |
| 1080 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 1081 | No options | No options |
| 1082 | No first char | No first char |
| 1083 | No need char | No need char |
| # | Line 1037 No need char | Line 1092 No need char |
| 1092 | ||
| 1093 | /(.{16})/I | /(.{16})/I |
| 1094 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 1095 | No options | No options |
| 1096 | No first char | No first char |
| 1097 | No need char | No need char |
| # | Line 1104 No need char | Line 1158 No need char |
| 1158 | )((?:[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]+ |
| 1159 | )?)?)?)?)?)?)?)?)?otherword/I | )?)?)?)?)?)?)?)?)?otherword/I |
| 1160 | Capturing subpattern count = 8 | Capturing subpattern count = 8 |
| 1161 | Partial matching not supported | Contains explicit CR or LF match |
| 1162 | No options | No options |
| 1163 | First char = 'w' | First char = 'w' |
| 1164 | Need char = 'd' | Need char = 'd' |
| # | Line 1118 Need char = 'd' | Line 1172 Need char = 'd' |
| 1172 | End | End |
| 1173 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 1174 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 1175 | No options | No options |
| 1176 | First char at start or follows newline | First char at start or follows newline |
| 1177 | Need char = 'X' | Need char = 'X' |
| # | Line 1126 Need char = 'X' | Line 1179 Need char = 'X' |
| 1179 | /.*X/IDZs | /.*X/IDZs |
| 1180 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 1181 | Bra | Bra |
| 1182 | Any* | AllAny* |
| 1183 | X | X |
| 1184 | Ket | Ket |
| 1185 | End | End |
| 1186 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 1187 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 1188 | Options: anchored dotall | Options: anchored dotall |
| 1189 | No first char | No first char |
| 1190 | Need char = 'X' | Need char = 'X' |
| # | Line 1151 Need char = 'X' | Line 1203 Need char = 'X' |
| 1203 | End | End |
| 1204 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 1205 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 1206 | No options | No options |
| 1207 | First char at start or follows newline | First char at start or follows newline |
| 1208 | No need char | No need char |
| # | Line 1160 No need char | Line 1211 No need char |
| 1211 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 1212 | Bra | Bra |
| 1213 | CBra 1 | CBra 1 |
| 1214 | Any* | AllAny* |
| 1215 | X | X |
| 1216 | Alt | Alt |
| 1217 | ^ | ^ |
| # | Line 1170 No need char | Line 1221 No need char |
| 1221 | End | End |
| 1222 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 1223 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 1224 | Options: anchored dotall | Options: anchored dotall |
| 1225 | No first char | No first char |
| 1226 | No need char | No need char |
| # | Line 1179 No need char | Line 1229 No need char |
| 1229 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 1230 | Bra | Bra |
| 1231 | CBra 1 | CBra 1 |
| 1232 | Any* | AllAny* |
| 1233 | X | X |
| 1234 | Alt | Alt |
| 1235 | ^ | ^ |
| # | Line 1189 No need char | Line 1239 No need char |
| 1239 | End | End |
| 1240 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 1241 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 1242 | Options: anchored dotall | Options: anchored dotall |
| 1243 | No first char | No first char |
| 1244 | No need char | No need char |
| # | Line 1199 No need char | Line 1248 No need char |
| 1248 | Bra | Bra |
| 1249 | Bra | Bra |
| 1250 | 04 Opt | 04 Opt |
| 1251 | Any* | AllAny* |
| 1252 | X | X |
| 1253 | Alt | Alt |
| 1254 | 04 Opt | 04 Opt |
| # | Line 1211 No need char | Line 1260 No need char |
| 1260 | End | End |
| 1261 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 1262 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| 1263 | Partial matching not supported | Options: anchored |
| 1264 | No options | No first char |
| First char at start or follows newline | ||
| 1265 | No need char | No need char |
| 1266 | ||
| 1267 | /\Biss\B/I+ | /\Biss\B/I+ |
| # | Line 1296 No need char | Line 1344 No need char |
| 1344 | ||
| 1345 | /.*iss/Ig+ | /.*iss/Ig+ |
| 1346 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 1347 | No options | No options |
| 1348 | First char at start or follows newline | First char at start or follows newline |
| 1349 | Need char = 's' | Need char = 's' |
| # | Line 1347 No need char | Line 1394 No need char |
| 1394 | ||
| 1395 | /^ab\n/Ig+ | /^ab\n/Ig+ |
| 1396 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| 1397 | Contains explicit CR or LF match | |
| 1398 | Options: anchored | Options: anchored |
| 1399 | No first char | No first char |
| 1400 | No need char | No need char |
| # | Line 1356 No need char | Line 1404 No need char |
| 1404 | ||
| 1405 | /^ab\n/Img+ | /^ab\n/Img+ |
| 1406 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| 1407 | Contains explicit CR or LF match | |
| 1408 | Options: multiline | Options: multiline |
| 1409 | First char at start or follows newline | First char at start or follows newline |
| 1410 | Need char = 10 | Need char = 10 |
| # | Line 1397 Need char = 'c' | Line 1446 Need char = 'c' |
| 1446 | ||
| 1447 | /a*/I | /a*/I |
| 1448 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 1449 | No options | No options |
| 1450 | No first char | No first char |
| 1451 | No need char | No need char |
| 1452 | ||
| 1453 | /a+/I | /a+/I |
| 1454 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 1455 | No options | No options |
| 1456 | First char = 'a' | First char = 'a' |
| 1457 | No need char | No need char |
| 1458 | ||
| 1459 | /(baa|a+)/I | /(baa|a+)/I |
| 1460 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 1461 | No options | No options |
| 1462 | No first char | No first char |
| 1463 | Need char = 'a' | Need char = 'a' |
| 1464 | ||
| 1465 | /a{0,3}/I | /a{0,3}/I |
| 1466 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 1467 | No options | No options |
| 1468 | No first char | No first char |
| 1469 | No need char | No need char |
| 1470 | ||
| 1471 | /baa{3,}/I | /baa{3,}/I |
| 1472 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 1473 | No options | No options |
| 1474 | First char = 'b' | First char = 'b' |
| 1475 | Need char = 'a' | Need char = 'a' |
| 1476 | ||
| 1477 | /"([^\\"]+|\\.)*"/I | /"([^\\"]+|\\.)*"/I |
| 1478 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 1479 | No options | No options |
| 1480 | First char = '"' | First char = '"' |
| 1481 | Need char = '"' | Need char = '"' |
| # | Line 1487 Need char = 'b' | Line 1530 Need char = 'b' |
| 1530 | ||
| 1531 | /abc*/I | /abc*/I |
| 1532 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 1533 | No options | No options |
| 1534 | First char = 'a' | First char = 'a' |
| 1535 | Need char = 'b' | Need char = 'b' |
| 1536 | ||
| 1537 | /ab.c*/I | /ab.c*/I |
| 1538 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 1539 | No options | No options |
| 1540 | First char = 'a' | First char = 'a' |
| 1541 | Need char = 'b' | Need char = 'b' |
| 1542 | ||
| 1543 | /a.c*/I | /a.c*/I |
| 1544 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 1545 | No options | No options |
| 1546 | First char = 'a' | First char = 'a' |
| 1547 | No need char | No need char |
| 1548 | ||
| 1549 | /.c*/I | /.c*/I |
| 1550 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 1551 | No options | No options |
| 1552 | No first char | No first char |
| 1553 | No need char | No need char |
| 1554 | ||
| 1555 | /ac*/I | /ac*/I |
| 1556 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 1557 | No options | No options |
| 1558 | First char = 'a' | First char = 'a' |
| 1559 | No need char | No need char |
| 1560 | ||
| 1561 | /(a.c*|b.c*)/I | /(a.c*|b.c*)/I |
| 1562 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 1563 | No options | No options |
| 1564 | No first char | No first char |
| 1565 | No need char | No need char |
| 1566 | ||
| 1567 | /a.c*|aba/I | /a.c*|aba/I |
| 1568 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 1569 | No options | No options |
| 1570 | First char = 'a' | First char = 'a' |
| 1571 | No need char | No need char |
| 1572 | ||
| 1573 | /.+a/I | /.+a/I |
| 1574 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 1575 | No options | No options |
| 1576 | No first char | No first char |
| 1577 | Need char = 'a' | Need char = 'a' |
| 1578 | ||
| 1579 | /(?=abcda)a.*/I | /(?=abcda)a.*/I |
| 1580 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 1581 | No options | No options |
| 1582 | First char = 'a' | First char = 'a' |
| 1583 | Need char = 'a' | Need char = 'a' |
| 1584 | ||
| 1585 | /(?=a)a.*/I | /(?=a)a.*/I |
| 1586 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 1587 | No options | No options |
| 1588 | First char = 'a' | First char = 'a' |
| 1589 | No need char | No need char |
| # | Line 1563 No need char | Line 1596 No need char |
| 1596 | ||
| 1597 | /a\d*/I | /a\d*/I |
| 1598 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 1599 | No options | No options |
| 1600 | First char = 'a' | First char = 'a' |
| 1601 | No need char | No need char |
| 1602 | ||
| 1603 | /ab\d*/I | /ab\d*/I |
| 1604 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 1605 | No options | No options |
| 1606 | First char = 'a' | First char = 'a' |
| 1607 | Need char = 'b' | Need char = 'b' |
| # | Line 1589 Need char = 'd' | Line 1620 Need char = 'd' |
| 1620 | ||
| 1621 | /ab\d+/I | /ab\d+/I |
| 1622 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 1623 | No options | No options |
| 1624 | First char = 'a' | First char = 'a' |
| 1625 | Need char = 'b' | Need char = 'b' |
| 1626 | ||
| 1627 | /a(?(1)b)/I | /a(?(1)b)(.)/I |
| 1628 | Capturing subpattern count = 0 | Capturing subpattern count = 1 |
| 1629 | No options | No options |
| 1630 | First char = 'a' | First char = 'a' |
| 1631 | No need char | No need char |
| 1632 | ||
| 1633 | /a(?(1)bag|big)/I | /a(?(1)bag|big)(.)/I |
| 1634 | Capturing subpattern count = 0 | Capturing subpattern count = 1 |
| 1635 | No options | No options |
| 1636 | First char = 'a' | First char = 'a' |
| 1637 | Need char = 'g' | Need char = 'g' |
| 1638 | ||
| 1639 | /a(?(1)bag|big)*/I | /a(?(1)bag|big)*(.)/I |
| 1640 | Capturing subpattern count = 0 | Capturing subpattern count = 1 |
| 1641 | No options | No options |
| 1642 | First char = 'a' | First char = 'a' |
| 1643 | No need char | No need char |
| 1644 | ||
| 1645 | /a(?(1)bag|big)+/I | /a(?(1)bag|big)+(.)/I |
| 1646 | Capturing subpattern count = 0 | Capturing subpattern count = 1 |
| 1647 | No options | No options |
| 1648 | First char = 'a' | First char = 'a' |
| 1649 | Need char = 'g' | Need char = 'g' |
| 1650 | ||
| 1651 | /a(?(1)b..|b..)/I | /a(?(1)b..|b..)(.)/I |
| 1652 | Capturing subpattern count = 0 | Capturing subpattern count = 1 |
| 1653 | No options | No options |
| 1654 | First char = 'a' | First char = 'a' |
| 1655 | Need char = 'b' | Need char = 'b' |
| # | Line 1664 No need char | Line 1694 No need char |
| 1694 | \Nabc | \Nabc |
| 1695 | No match | No match |
| 1696 | ||
| 1697 | /a*(b+)(z)(z)/IP | /a*(b+)(z)(z)/P |
| 1698 | aaaabbbbzzzz | aaaabbbbzzzz |
| 1699 | 0: aaaabbbbzz | 0: aaaabbbbzz |
| 1700 | 1: bbbb | 1: bbbb |
| # | Line 1696 Capturing subpattern count = 0 | Line 1726 Capturing subpattern count = 0 |
| 1726 | Options: anchored | Options: anchored |
| 1727 | No first char | No first char |
| 1728 | Need char = 'd' | Need char = 'd' |
| 1729 | Study returned NULL | Subject length lower bound = 4 |
| 1730 | No set of starting bytes | |
| 1731 | ||
| 1732 | /\( # ( at start | /\( # ( at start |
| 1733 | (?: # Non-capturing bracket | (?: # Non-capturing bracket |
| # | Line 1707 Study returned NULL | Line 1738 Study returned NULL |
| 1738 | \) # Closing ) | \) # Closing ) |
| 1739 | /Ix | /Ix |
| 1740 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 1741 | Options: extended | Options: extended |
| 1742 | First char = '(' | First char = '(' |
| 1743 | Need char = ')' | Need char = ')' |
| # | Line 1736 No match | Line 1766 No match |
| 1766 | ||
| 1767 | /\( ( (?>[^()]+) | (?R) )* \) /Ixg | /\( ( (?>[^()]+) | (?R) )* \) /Ixg |
| 1768 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 1769 | Options: extended | Options: extended |
| 1770 | First char = '(' | First char = '(' |
| 1771 | Need char = ')' | Need char = ')' |
| # | Line 1751 Need char = ')' | Line 1780 Need char = ')' |
| 1780 | ||
| 1781 | /\( (?: (?>[^()]+) | (?R) ) \) /Ix | /\( (?: (?>[^()]+) | (?R) ) \) /Ix |
| 1782 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 1783 | Options: extended | Options: extended |
| 1784 | First char = '(' | First char = '(' |
| 1785 | Need char = ')' | Need char = ')' |
| # | Line 1770 No match | Line 1798 No match |
| 1798 | ||
| 1799 | /\( (?: (?>[^()]+) | (?R) )? \) /Ix | /\( (?: (?>[^()]+) | (?R) )? \) /Ix |
| 1800 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 1801 | Options: extended | Options: extended |
| 1802 | First char = '(' | First char = '(' |
| 1803 | Need char = ')' | Need char = ')' |
| # | Line 1781 Need char = ')' | Line 1808 Need char = ')' |
| 1808 | ||
| 1809 | /\( ( (?>[^()]+) | (?R) )* \) /Ix | /\( ( (?>[^()]+) | (?R) )* \) /Ix |
| 1810 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 1811 | Options: extended | Options: extended |
| 1812 | First char = '(' | First char = '(' |
| 1813 | Need char = ')' | Need char = ')' |
| # | Line 1791 Need char = ')' | Line 1817 Need char = ')' |
| 1817 | ||
| 1818 | /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix | /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix |
| 1819 | Capturing subpattern count = 2 | Capturing subpattern count = 2 |
| Partial matching not supported | ||
| 1820 | Options: extended | Options: extended |
| 1821 | First char = '(' | First char = '(' |
| 1822 | Need char = ')' | Need char = ')' |
| # | Line 1802 Need char = ')' | Line 1827 Need char = ')' |
| 1827 | ||
| 1828 | /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix | /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix |
| 1829 | Capturing subpattern count = 3 | Capturing subpattern count = 3 |
| Partial matching not supported | ||
| 1830 | Options: extended | Options: extended |
| 1831 | First char = '(' | First char = '(' |
| 1832 | Need char = ')' | Need char = ')' |
| # | Line 1819 Need char = ')' | Line 1843 Need char = ')' |
| 1843 | ||
| 1844 | /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix | /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix |
| 1845 | Capturing subpattern count = 3 | Capturing subpattern count = 3 |
| Partial matching not supported | ||
| 1846 | Options: extended | Options: extended |
| 1847 | First char = '(' | First char = '(' |
| 1848 | Need char = ')' | Need char = ')' |
| # | Line 1836 Need char = ')' | Line 1859 Need char = ')' |
| 1859 | ||
| 1860 | /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix | /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix |
| 1861 | Capturing subpattern count = 11 | Capturing subpattern count = 11 |
| Partial matching not supported | ||
| 1862 | Options: extended | Options: extended |
| 1863 | First char = '(' | First char = '(' |
| 1864 | Need char = ')' | Need char = ')' |
| # | Line 1856 Need char = ')' | Line 1878 Need char = ')' |
| 1878 | ||
| 1879 | /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix | /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix |
| 1880 | Capturing subpattern count = 3 | Capturing subpattern count = 3 |
| Partial matching not supported | ||
| 1881 | Options: extended | Options: extended |
| 1882 | First char = '(' | First char = '(' |
| 1883 | Need char = ')' | Need char = ')' |
| # | Line 1864 Need char = ')' | Line 1885 Need char = ')' |
| 1885 | 0: (abcd(xyz<p>qrs)123) | 0: (abcd(xyz<p>qrs)123) |
| 1886 | 1: abcd(xyz<p>qrs)123 | 1: abcd(xyz<p>qrs)123 |
| 1887 | 2: 123 | 2: 123 |
| 3: <unset> | ||
| 1888 | ||
| 1889 | /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix | /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix |
| 1890 | Capturing subpattern count = 3 | Capturing subpattern count = 3 |
| Partial matching not supported | ||
| 1891 | Options: extended | Options: extended |
| 1892 | First char = '(' | First char = '(' |
| 1893 | Need char = ')' | Need char = ')' |
| # | Line 1900 No need char | Line 1919 No need char |
| 1919 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 1920 | Bra | Bra |
| 1921 | ^ | ^ |
| 1922 | [\x00-/:-@[-`{-\xff] | [\x00-/:-@[-`{-\xff] (neg) |
| 1923 | Ket | Ket |
| 1924 | End | End |
| 1925 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| # | Line 1926 No need char | Line 1945 No need char |
| 1945 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 1946 | Bra | Bra |
| 1947 | ^ | ^ |
| 1948 | [\x00-@[-`{-\xff] | [\x00-@[-`{-\xff] (neg) |
| 1949 | Ket | Ket |
| 1950 | End | End |
| 1951 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| # | Line 1940 Capturing subpattern count = 0 | Line 1959 Capturing subpattern count = 0 |
| 1959 | No options | No options |
| 1960 | No first char | No first char |
| 1961 | No need char | No need char |
| 1962 | Subject length lower bound = 1 | |
| 1963 | Starting byte set: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z | Starting byte set: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z |
| 1964 | _ a b c d e f g h i j k l m n o p q r s t u v w x y z | _ a b c d e f g h i j k l m n o p q r s t u v w x y z |
| 1965 | ||
| # | Line 1960 No need char | Line 1980 No need char |
| 1980 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 1981 | Bra | Bra |
| 1982 | ^ | ^ |
| 1983 | [\x80-\xff] | [\x80-\xff] (neg) |
| 1984 | Ket | Ket |
| 1985 | End | End |
| 1986 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| # | Line 1986 No need char | Line 2006 No need char |
| 2006 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 2007 | Bra | Bra |
| 2008 | ^ | ^ |
| 2009 | [\x00-\x08\x0a-\x1f!-\xff] | [\x00-\x08\x0a-\x1f!-\xff] (neg) |
| 2010 | Ket | Ket |
| 2011 | End | End |
| 2012 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| # | Line 1997 No need char | Line 2017 No need char |
| 2017 | ||
| 2018 | /[\n\x0b\x0c\x0d[:blank:]]/IS | /[\n\x0b\x0c\x0d[:blank:]]/IS |
| 2019 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| 2020 | Contains explicit CR or LF match | |
| 2021 | No options | No options |
| 2022 | No first char | No first char |
| 2023 | No need char | No need char |
| 2024 | Subject length lower bound = 1 | |
| 2025 | Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20 | Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20 |
| 2026 | ||
| 2027 | /^[[:cntrl:]]/DZ | /^[[:cntrl:]]/DZ |
| # | Line 2136 No need char | Line 2158 No need char |
| 2158 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 2159 | Bra | Bra |
| 2160 | ^ | ^ |
| 2161 | [ -~\x80-\xff] | [ -~\x80-\xff] (neg) |
| 2162 | Ket | Ket |
| 2163 | End | End |
| 2164 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| # | Line 2149 No need char | Line 2171 No need char |
| 2171 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 2172 | Bra | Bra |
| 2173 | ^ | ^ |
| 2174 | [\x00-/12:-\xff] | [\x00-/12:-\xff] (neg) |
| 2175 | Ket | Ket |
| 2176 | End | End |
| 2177 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| # | Line 2162 No need char | Line 2184 No need char |
| 2184 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 2185 | Bra | Bra |
| 2186 | ^ | ^ |
| 2187 | [\x00-\x08\x0a-\x1f!-\xff] | [\x00-\x08\x0a-\x1f!-\xff] (neg) |
| 2188 | Ket | Ket |
| 2189 | End | End |
| 2190 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| # | Line 2246 Need char = 'd' | Line 2268 Need char = 'd' |
| 2268 | /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\w+)\s+(\270)/I | /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\w+)\s+(\270)/I |
| 2269 | Capturing subpattern count = 271 | Capturing subpattern count = 271 |
| 2270 | Max back reference = 270 | Max back reference = 270 |
| Partial matching not supported | ||
| 2271 | No options | No options |
| 2272 | No first char | No first char |
| 2273 | No need char | No need char |
| # | Line 2730 No need char | Line 2751 No need char |
| 2751 | /[\S]/DZ | /[\S]/DZ |
| 2752 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 2753 | Bra | Bra |
| 2754 | [\x00-\x08\x0b\x0e-\x1f!-\xff] | [\x00-\x08\x0b\x0e-\x1f!-\xff] (neg) |
| 2755 | Ket | Ket |
| 2756 | End | End |
| 2757 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| # | Line 2927 Need char = 'c' | Line 2948 Need char = 'c' |
| 2948 | End | End |
| 2949 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 2950 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 2951 | No options | No options |
| 2952 | No first char | No first char |
| 2953 | No need char | No need char |
| # | Line 2956 No need char | Line 2976 No need char |
| 2976 | End | End |
| 2977 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 2978 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 2979 | No options | No options |
| 2980 | First char = 'x' | First char = 'x' |
| 2981 | No need char | No need char |
| # | Line 2972 No need char | Line 2991 No need char |
| 2991 | End | End |
| 2992 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 2993 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 2994 | No options | No options |
| 2995 | First char = 'x' | First char = 'x' |
| 2996 | No need char | No need char |
| # | Line 2996 No need char | Line 3014 No need char |
| 3014 | ||
| 3015 | /^(\w++|\s++)*$/I | /^(\w++|\s++)*$/I |
| 3016 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 3017 | Options: anchored | Options: anchored |
| 3018 | No first char | No first char |
| 3019 | No need char | No need char |
| # | Line 3010 No match | Line 3027 No match |
| 3027 | ||
| 3028 | /(\d++)(\w)/I | /(\d++)(\w)/I |
| 3029 | Capturing subpattern count = 2 | Capturing subpattern count = 2 |
| Partial matching not supported | ||
| 3030 | No options | No options |
| 3031 | No first char | No first char |
| 3032 | No need char | No need char |
| # | Line 3025 No match | Line 3041 No match |
| 3041 | ||
| 3042 | /a++b/I | /a++b/I |
| 3043 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 3044 | No options | No options |
| 3045 | First char = 'a' | First char = 'a' |
| 3046 | Need char = 'b' | Need char = 'b' |
| # | Line 3034 Need char = 'b' | Line 3049 Need char = 'b' |
| 3049 | ||
| 3050 | /(a++b)/I | /(a++b)/I |
| 3051 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 3052 | No options | No options |
| 3053 | First char = 'a' | First char = 'a' |
| 3054 | Need char = 'b' | Need char = 'b' |
| # | Line 3044 Need char = 'b' | Line 3058 Need char = 'b' |
| 3058 | ||
| 3059 | /(a++)b/I | /(a++)b/I |
| 3060 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 3061 | No options | No options |
| 3062 | First char = 'a' | First char = 'a' |
| 3063 | Need char = 'b' | Need char = 'b' |
| # | Line 3054 Need char = 'b' | Line 3067 Need char = 'b' |
| 3067 | ||
| 3068 | /([^()]++|\([^()]*\))+/I | /([^()]++|\([^()]*\))+/I |
| 3069 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 3070 | No options | No options |
| 3071 | No first char | No first char |
| 3072 | No need char | No need char |
| # | Line 3064 No need char | Line 3076 No need char |
| 3076 | ||
| 3077 | /\(([^()]++|\([^()]+\))+\)/I | /\(([^()]++|\([^()]+\))+\)/I |
| 3078 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 3079 | No options | No options |
| 3080 | First char = '(' | First char = '(' |
| 3081 | Need char = ')' | Need char = ')' |
| # | Line 3127 Failed: nothing to repeat at offset 7 | Line 3138 Failed: nothing to repeat at offset 7 |
| 3138 | End | End |
| 3139 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 3140 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 3141 | No options | No options |
| 3142 | First char = 'x' | First char = 'x' |
| 3143 | Need char = 'b' | Need char = 'b' |
| # | Line 3144 Need char = 'b' | Line 3154 Need char = 'b' |
| 3154 | End | End |
| 3155 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 3156 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 3157 | Options: ungreedy | Options: ungreedy |
| 3158 | First char = 'x' | First char = 'x' |
| 3159 | Need char = 'b' | Need char = 'b' |
| # | Line 3173 Need char = 'b' | Line 3182 Need char = 'b' |
| 3182 | End | End |
| 3183 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 3184 | Capturing subpattern count = 5 | Capturing subpattern count = 5 |
| Partial matching not supported | ||
| 3185 | Options: anchored | Options: anchored |
| 3186 | No first char | No first char |
| 3187 | No need char | No need char |
| # | Line 3189 No need char | Line 3197 No need char |
| 3197 | End | End |
| 3198 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 3199 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 3200 | Options: anchored | Options: anchored |
| 3201 | No first char | No first char |
| 3202 | Need char = 'b' | Need char = 'b' |
| # | Line 3207 Need char = 'b' | Line 3214 Need char = 'b' |
| 3214 | End | End |
| 3215 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 3216 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 3217 | Options: anchored | Options: anchored |
| 3218 | No first char | No first char |
| 3219 | Need char = 'b' | Need char = 'b' |
| # | Line 3222 Failed: POSIX collating elements are not | Line 3228 Failed: POSIX collating elements are not |
| 3228 | 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 |
| 3229 | ||
| 3230 | /\l/I | /\l/I |
| 3231 | 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 |
| 3232 | ||
| 3233 | /\L/I | /\L/I |
| 3234 | 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 |
| 3235 | ||
| 3236 | /\N{name}/I | /\N{name}/I |
| 3237 | 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 |
| 3238 | ||
| 3239 | /\u/I | /\u/I |
| 3240 | 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 |
| 3241 | ||
| 3242 | /\U/I | /\U/I |
| 3243 | 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 |
| 3244 | ||
| 3245 | /[/I | /[/I |
| 3246 | Failed: missing terminating ] for character class at offset 1 | Failed: missing terminating ] for character class at offset 1 |
| # | Line 3283 No need char | Line 3289 No need char |
| 3289 | ||
| 3290 | /< (?: (?(R) \d++ | [^<>]*+) | (?R)) * >/Ix | /< (?: (?(R) \d++ | [^<>]*+) | (?R)) * >/Ix |
| 3291 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 3292 | Options: extended | Options: extended |
| 3293 | First char = '<' | First char = '<' |
| 3294 | Need char = '>' | Need char = '>' |
| # | Line 3333 Need char = 'X' | Line 3338 Need char = 'X' |
| 3338 | /(.*)\d+\1/I | /(.*)\d+\1/I |
| 3339 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| 3340 | Max back reference = 1 | Max back reference = 1 |
| Partial matching not supported | ||
| 3341 | No options | No options |
| 3342 | No first char | No first char |
| 3343 | No need char | No need char |
| 3344 | ||
| 3345 | /(.*)\d+/I | /(.*)\d+/I |
| 3346 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 3347 | No options | No options |
| 3348 | First char at start or follows newline | First char at start or follows newline |
| 3349 | No need char | No need char |
| # | Line 3348 No need char | Line 3351 No need char |
| 3351 | /(.*)\d+\1/Is | /(.*)\d+\1/Is |
| 3352 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| 3353 | Max back reference = 1 | Max back reference = 1 |
| Partial matching not supported | ||
| 3354 | Options: dotall | Options: dotall |
| 3355 | No first char | No first char |
| 3356 | No need char | No need char |
| 3357 | ||
| 3358 | /(.*)\d+/Is | /(.*)\d+/Is |
| 3359 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 3360 | Options: anchored dotall | Options: anchored dotall |
| 3361 | No first char | No first char |
| 3362 | No need char | No need char |
| # | Line 3363 No need char | Line 3364 No need char |
| 3364 | /(.*(xyz))\d+\2/I | /(.*(xyz))\d+\2/I |
| 3365 | Capturing subpattern count = 2 | Capturing subpattern count = 2 |
| 3366 | Max back reference = 2 | Max back reference = 2 |
| Partial matching not supported | ||
| 3367 | No options | No options |
| 3368 | First char at start or follows newline | First char at start or follows newline |
| 3369 | Need char = 'z' | Need char = 'z' |
| # | Line 3371 Need char = 'z' | Line 3371 Need char = 'z' |
| 3371 | /((.*))\d+\1/I | /((.*))\d+\1/I |
| 3372 | Capturing subpattern count = 2 | Capturing subpattern count = 2 |
| 3373 | Max back reference = 1 | Max back reference = 1 |
| Partial matching not supported | ||
| 3374 | No options | No options |
| 3375 | No first char | No first char |
| 3376 | No need char | No need char |
| # | Line 3388 Need char = 'b' | Line 3387 Need char = 'b' |
| 3387 | ||
| 3388 | /(?=a).*/I | /(?=a).*/I |
| 3389 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 3390 | No options | No options |
| 3391 | First char = 'a' | First char = 'a' |
| 3392 | No need char | No need char |
| # | Line 3435 No options | Line 3433 No options |
| 3433 | No first char | No first char |
| 3434 | Need char = 'a' | Need char = 'a' |
| 3435 | ||
| 3436 | /(?(1)ab|ac)/I | /(?(1)ab|ac)(.)/I |
| 3437 | Capturing subpattern count = 0 | Capturing subpattern count = 1 |
| 3438 | No options | No options |
| 3439 | First char = 'a' | First char = 'a' |
| 3440 | No need char | No need char |
| 3441 | ||
| 3442 | /(?(1)abz|acz)/I | /(?(1)abz|acz)(.)/I |
| 3443 | Capturing subpattern count = 0 | Capturing subpattern count = 1 |
| 3444 | No options | No options |
| 3445 | First char = 'a' | First char = 'a' |
| 3446 | Need char = 'z' | Need char = 'z' |
| 3447 | ||
| 3448 | /(?(1)abz)/I | /(?(1)abz)(.)/I |
| 3449 | Capturing subpattern count = 0 | Capturing subpattern count = 1 |
| 3450 | No options | No options |
| 3451 | No first char | No first char |
| 3452 | No need char | No need char |
| 3453 | ||
| 3454 | /(?(1)abz)123/I | /(?(1)abz)(1)23/I |
| 3455 | Capturing subpattern count = 0 | Capturing subpattern count = 1 |
| 3456 | No options | No options |
| 3457 | No first char | No first char |
| 3458 | Need char = '3' | Need char = '3' |
| # | Line 3494 Capturing subpattern count = 0 | Line 3492 Capturing subpattern count = 0 |
| 3492 | No options | No options |
| 3493 | No first char | No first char |
| 3494 | No need char | No need char |
| 3495 | Subject length lower bound = 1 | |
| 3496 | Starting byte set: a b | Starting byte set: a b |
| 3497 | ||
| 3498 | /[^a]/I | /[^a]/I |
| # | Line 3513 Capturing subpattern count = 0 | Line 3512 Capturing subpattern count = 0 |
| 3512 | No options | No options |
| 3513 | No first char | No first char |
| 3514 | Need char = '6' | Need char = '6' |
| 3515 | Subject length lower bound = 4 | |
| 3516 | 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 |
| 3517 | ||
| 3518 | /a^b/I | /a^b/I |
| # | Line 3546 Capturing subpattern count = 0 | Line 3546 Capturing subpattern count = 0 |
| 3546 | Options: caseless | Options: caseless |
| 3547 | No first char | No first char |
| 3548 | No need char | No need char |
| 3549 | Subject length lower bound = 1 | |
| 3550 | Starting byte set: A B a b | Starting byte set: A B a b |
| 3551 | ||
| 3552 | /[ab](?i)cd/IS | /[ab](?i)cd/IS |
| # | Line 3553 Capturing subpattern count = 0 | Line 3554 Capturing subpattern count = 0 |
| 3554 | No options | No options |
| 3555 | No first char | No first char |
| 3556 | Need char = 'd' (caseless) | Need char = 'd' (caseless) |
| 3557 | Subject length lower bound = 3 | |
| 3558 | Starting byte set: a b | Starting byte set: a b |
| 3559 | ||
| 3560 | /abc(?C)def/I | /abc(?C)def/I |
| # | Line 3710 No need char | Line 3712 No need char |
| 3712 | ||
| 3713 | /(\d{3}(?C))*/I | /(\d{3}(?C))*/I |
| 3714 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 3715 | No options | No options |
| 3716 | No first char | No first char |
| 3717 | No need char | No need char |
| # | Line 3839 Callout 0: last capture = 1 | Line 3840 Callout 0: last capture = 1 |
| 3840 | ||
| 3841 | /a(b+)(c*)(?C1)/I | /a(b+)(c*)(?C1)/I |
| 3842 | Capturing subpattern count = 2 | Capturing subpattern count = 2 |
| Partial matching not supported | ||
| 3843 | No options | No options |
| 3844 | First char = 'a' | First char = 'a' |
| 3845 | Need char = 'b' | Need char = 'b' |
| # | Line 3865 No match | Line 3865 No match |
| 3865 | ||
| 3866 | /a(b+?)(c*?)(?C1)/I | /a(b+?)(c*?)(?C1)/I |
| 3867 | Capturing subpattern count = 2 | Capturing subpattern count = 2 |
| Partial matching not supported | ||
| 3868 | No options | No options |
| 3869 | First char = 'a' | First char = 'a' |
| 3870 | Need char = 'b' | Need char = 'b' |
| # | Line 3906 Capturing subpattern count = 0 | Line 3905 Capturing subpattern count = 0 |
| 3905 | No options | No options |
| 3906 | No first char | No first char |
| 3907 | No need char | No need char |
| 3908 | Subject length lower bound = 1 | |
| 3909 | Starting byte set: a b | Starting byte set: a b |
| 3910 | ||
| 3911 | /(?R)/I | /(?R)/I |
| # | Line 4025 No options | Line 4025 No options |
| 4025 | First char = 'a' | First char = 'a' |
| 4026 | Need char = 'b' | Need char = 'b' |
| 4027 | ||
| /^\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 | ||
| 4028 | /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I | /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I |
| 4029 | Capturing subpattern count = 2 | Capturing subpattern count = 2 |
| Partial matching not supported | ||
| 4030 | Options: anchored | Options: anchored |
| 4031 | No first char | No first char |
| 4032 | No need char | No need char |
| # | Line 4102 No match | Line 4067 No match |
| 4067 | ||
| 4068 | /((< (?: (?(R) \d++ | [^<>]*+) | (?2)) * >))/Ix | /((< (?: (?(R) \d++ | [^<>]*+) | (?2)) * >))/Ix |
| 4069 | Capturing subpattern count = 2 | Capturing subpattern count = 2 |
| Partial matching not supported | ||
| 4070 | Options: extended | Options: extended |
| 4071 | First char = '<' | First char = '<' |
| 4072 | Need char = '>' | Need char = '>' |
| # | Line 4276 Named capturing subpatterns: | Line 4240 Named capturing subpatterns: |
| 4240 | one 1 | one 1 |
| 4241 | three 3 | three 3 |
| 4242 | two 2 | two 2 |
| Partial matching not supported | ||
| 4243 | Options: anchored caseless | Options: anchored caseless |
| 4244 | No first char | No first char |
| 4245 | No need char | No need char |
| # | Line 4322 No need char | Line 4285 No need char |
| 4285 | ||
| 4286 | /(.*)a/Is | /(.*)a/Is |
| 4287 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 4288 | Options: anchored dotall | Options: anchored dotall |
| 4289 | No first char | No first char |
| 4290 | Need char = 'a' | Need char = 'a' |
| # | Line 4330 Need char = 'a' | Line 4292 Need char = 'a' |
| 4292 | /(.*)a\1/Is | /(.*)a\1/Is |
| 4293 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| 4294 | Max back reference = 1 | Max back reference = 1 |
| Partial matching not supported | ||
| 4295 | Options: dotall | Options: dotall |
| 4296 | No first char | No first char |
| 4297 | Need char = 'a' | Need char = 'a' |
| # | Line 4338 Need char = 'a' | Line 4299 Need char = 'a' |
| 4299 | /(.*)a(b)\2/Is | /(.*)a(b)\2/Is |
| 4300 | Capturing subpattern count = 2 | Capturing subpattern count = 2 |
| 4301 | Max back reference = 2 | Max back reference = 2 |
| Partial matching not supported | ||
| 4302 | Options: anchored dotall | Options: anchored dotall |
| 4303 | No first char | No first char |
| 4304 | Need char = 'b' | Need char = 'b' |
| 4305 | ||
| 4306 | /((.*)a|(.*)b)z/Is | /((.*)a|(.*)b)z/Is |
| 4307 | Capturing subpattern count = 3 | Capturing subpattern count = 3 |
| Partial matching not supported | ||
| 4308 | Options: anchored dotall | Options: anchored dotall |
| 4309 | No first char | No first char |
| 4310 | Need char = 'z' | Need char = 'z' |
| # | Line 4353 Need char = 'z' | Line 4312 Need char = 'z' |
| 4312 | /((.*)a|(.*)b)z\1/Is | /((.*)a|(.*)b)z\1/Is |
| 4313 | Capturing subpattern count = 3 | Capturing subpattern count = 3 |
| 4314 | Max back reference = 1 | Max back reference = 1 |
| Partial matching not supported | ||
| 4315 | Options: dotall | Options: dotall |
| 4316 | No first char | No first char |
| 4317 | Need char = 'z' | Need char = 'z' |
| # | Line 4361 Need char = 'z' | Line 4319 Need char = 'z' |
| 4319 | /((.*)a|(.*)b)z\2/Is | /((.*)a|(.*)b)z\2/Is |
| 4320 | Capturing subpattern count = 3 | Capturing subpattern count = 3 |
| 4321 | Max back reference = 2 | Max back reference = 2 |
| Partial matching not supported | ||
| 4322 | Options: dotall | Options: dotall |
| 4323 | No first char | No first char |
| 4324 | Need char = 'z' | Need char = 'z' |
| # | Line 4369 Need char = 'z' | Line 4326 Need char = 'z' |
| 4326 | /((.*)a|(.*)b)z\3/Is | /((.*)a|(.*)b)z\3/Is |
| 4327 | Capturing subpattern count = 3 | Capturing subpattern count = 3 |
| 4328 | Max back reference = 3 | Max back reference = 3 |
| Partial matching not supported | ||
| 4329 | Options: dotall | Options: dotall |
| 4330 | No first char | No first char |
| 4331 | Need char = 'z' | Need char = 'z' |
| # | Line 4377 Need char = 'z' | Line 4333 Need char = 'z' |
| 4333 | /((.*)a|^(.*)b)z\3/Is | /((.*)a|^(.*)b)z\3/Is |
| 4334 | Capturing subpattern count = 3 | Capturing subpattern count = 3 |
| 4335 | Max back reference = 3 | Max back reference = 3 |
| Partial matching not supported | ||
| 4336 | Options: anchored dotall | Options: anchored dotall |
| 4337 | No first char | No first char |
| 4338 | Need char = 'z' | Need char = 'z' |
| 4339 | ||
| 4340 | /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is | /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is |
| 4341 | Capturing subpattern count = 31 | Capturing subpattern count = 31 |
| Partial matching not supported | ||
| 4342 | Options: anchored dotall | Options: anchored dotall |
| 4343 | No first char | No first char |
| 4344 | No need char | No need char |
| # | Line 4392 No need char | Line 4346 No need char |
| 4346 | /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is | /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is |
| 4347 | Capturing subpattern count = 31 | Capturing subpattern count = 31 |
| 4348 | Max back reference = 31 | Max back reference = 31 |
| Partial matching not supported | ||
| 4349 | Options: dotall | Options: dotall |
| 4350 | No first char | No first char |
| 4351 | No need char | No need char |
| # | Line 4400 No need char | Line 4353 No need char |
| 4353 | /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is | /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is |
| 4354 | Capturing subpattern count = 32 | Capturing subpattern count = 32 |
| 4355 | Max back reference = 32 | Max back reference = 32 |
| Partial matching not supported | ||
| 4356 | Options: dotall | Options: dotall |
| 4357 | No first char | No first char |
| 4358 | No need char | No need char |
| # | Line 4467 Need char = 'c' | Line 4419 Need char = 'c' |
| 4419 | ||
| 4420 | /(a+)*zz/I | /(a+)*zz/I |
| 4421 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 4422 | No options | No options |
| 4423 | No first char | No first char |
| 4424 | Need char = 'z' | Need char = 'z' |
| # | Line 4604 Failed: two named subpatterns have the s | Line 4555 Failed: two named subpatterns have the s |
| 4555 | Capturing subpattern count = 3 | Capturing subpattern count = 3 |
| 4556 | Named capturing subpatterns: | Named capturing subpatterns: |
| 4557 | elem 2 | elem 2 |
| Partial matching not supported | ||
| 4558 | No options | No options |
| 4559 | First char = '[' | First char = '[' |
| 4560 | Need char = ']' | Need char = ']' |
| # | Line 4622 No match | Line 4572 No match |
| 4572 | Capturing subpattern count = 3 | Capturing subpattern count = 3 |
| 4573 | Named capturing subpatterns: | Named capturing subpatterns: |
| 4574 | elem 2 | elem 2 |
| Partial matching not supported | ||
| 4575 | No options | No options |
| 4576 | First char = '[' | First char = '[' |
| 4577 | Need char = ']' | Need char = ']' |
| # | Line 4729 No need char | Line 4678 No need char |
| 4678 | ||
| 4679 | /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii | /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii |
| 4680 | Capturing subpattern count = 3 | Capturing subpattern count = 3 |
| Partial matching not supported | ||
| 4681 | Options: caseless | Options: caseless |
| 4682 | No first char | No first char |
| 4683 | Need char = 'g' (caseless) | Need char = 'g' (caseless) |
| # | Line 4739 Need char = 'g' (caseless) | Line 4687 Need char = 'g' (caseless) |
| 4687 | ||
| 4688 | /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS | /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS |
| 4689 | Capturing subpattern count = 3 | Capturing subpattern count = 3 |
| Partial matching not supported | ||
| 4690 | Options: caseless | Options: caseless |
| 4691 | No first char | No first char |
| 4692 | Need char = 'g' (caseless) | Need char = 'g' (caseless) |
| 4693 | Study returned NULL | Subject length lower bound = 8 |
| 4694 | No set of starting bytes | |
| 4695 | Baby Bjorn Active Carrier - With free SHIPPING!! | Baby Bjorn Active Carrier - With free SHIPPING!! |
| 4696 | 0: Baby Bjorn Active Carrier - With free SHIPPING!! | 0: Baby Bjorn Active Carrier - With free SHIPPING!! |
| 4697 | 1: Baby Bjorn Active Carrier - With free SHIPPING!! | 1: Baby Bjorn Active Carrier - With free SHIPPING!! |
| # | Line 4758 Study returned NULL | Line 4706 Study returned NULL |
| 4706 | End | End |
| 4707 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 4708 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 4709 | No options | No options |
| 4710 | No first char | No first char |
| 4711 | Need char = 'b' | Need char = 'b' |
| 4712 | Study returned NULL | Subject length lower bound = 1 |
| 4713 | No set of starting bytes | |
| 4714 | ||
| 4715 | /(a|b)*.?c/ISDZ | /(a|b)*.?c/ISDZ |
| 4716 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| # | Line 4782 Capturing subpattern count = 1 | Line 4730 Capturing subpattern count = 1 |
| 4730 | No options | No options |
| 4731 | No first char | No first char |
| 4732 | Need char = 'c' | Need char = 'c' |
| 4733 | Study returned NULL | Subject length lower bound = 1 |
| 4734 | No set of starting bytes | |
| 4735 | ||
| 4736 | /abc(?C255)de(?C)f/DZ | /abc(?C255)de(?C)f/DZ |
| 4737 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| # | Line 4851 No match | Line 4800 No match |
| 4800 | End | End |
| 4801 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 4802 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 4803 | Options: | Options: |
| 4804 | No first char | No first char |
| 4805 | Need char = 'b' | Need char = 'b' |
| # | Line 4896 Need char = 'b' | Line 4844 Need char = 'b' |
| 4844 | End | End |
| 4845 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 4846 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 4847 | Options: | Options: |
| 4848 | First char = 'a' | First char = 'a' |
| 4849 | Need char = 'b' | Need char = 'b' |
| # | Line 5334 No match | Line 5281 No match |
| 5281 | End | End |
| 5282 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 5283 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 5284 | Options: | Options: |
| 5285 | No first char | No first char |
| 5286 | Need char = '3' | Need char = '3' |
| # | Line 5366 Need char = '3' | Line 5312 Need char = '3' |
| 5312 | ||
| 5313 | /\b.*/I | /\b.*/I |
| 5314 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 5315 | No options | No options |
| 5316 | No first char | No first char |
| 5317 | No need char | No need char |
| # | Line 5375 No need char | Line 5320 No need char |
| 5320 | ||
| 5321 | /\b.*/Is | /\b.*/Is |
| 5322 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 5323 | Options: dotall | Options: dotall |
| 5324 | No first char | No first char |
| 5325 | No need char | No need char |
| # | Line 5384 No need char | Line 5328 No need char |
| 5328 | ||
| 5329 | /(?!.bcd).*/I | /(?!.bcd).*/I |
| 5330 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 5331 | No options | No options |
| 5332 | No first char | No first char |
| 5333 | No need char | No need char |
| # | Line 5397 No options | Line 5340 No options |
| 5340 | First char = 'a' | First char = 'a' |
| 5341 | Need char = 'e' | Need char = 'e' |
| 5342 | ab\P | ab\P |
| 5343 | Partial match | Partial match: ab |
| 5344 | abc\P | abc\P |
| 5345 | Partial match | Partial match: abc |
| 5346 | abcd\P | abcd\P |
| 5347 | Partial match | Partial match: abcd |
| 5348 | abcde\P | abcde\P |
| 5349 | 0: abcde | 0: abcde |
| 5350 | the quick brown abc\P | the quick brown abc\P |
| 5351 | Partial match | Partial match: abc |
| 5352 | ** Failers\P | ** Failers\P |
| 5353 | No match | No match |
| 5354 | the quick brown abxyz fox\P | the quick brown abxyz fox\P |
| # | Line 5430 Need char = '/' | Line 5373 Need char = '/' |
| 5373 | 1: 02 | 1: 02 |
| 5374 | 2: 05 | 2: 05 |
| 5375 | 1\P | 1\P |
| 5376 | Partial match | Partial match: 1 |
| 5377 | 1/2\P | 1/2\P |
| 5378 | Partial match | Partial match: 1/2 |
| 5379 | 1/2/0\P | 1/2/0\P |
| 5380 | Partial match | Partial match: 1/2/0 |
| 5381 | 1/2/04\P | 1/2/04\P |
| 5382 | 0: 1/2/04 | 0: 1/2/04 |
| 5383 | 1: 1 | 1: 1 |
| 5384 | 2: 2 | 2: 2 |
| 5385 | 0\P | 0\P |
| 5386 | Partial match | Partial match: 0 |
| 5387 | 02/\P | 02/\P |
| 5388 | Partial match | Partial match: 02/ |
| 5389 | 02/0\P | 02/0\P |
| 5390 | Partial match | Partial match: 02/0 |
| 5391 | 02/1\P | 02/1\P |
| 5392 | Partial match | Partial match: 02/1 |
| 5393 | ** Failers\P | ** Failers\P |
| 5394 | No match | No match |
| 5395 | \P | \P |
| # | Line 5468 No match | Line 5411 No match |
| 5411 | ||
| 5412 | /0{0,2}ABC/I | /0{0,2}ABC/I |
| 5413 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 5414 | No options | No options |
| 5415 | No first char | No first char |
| 5416 | Need char = 'C' | Need char = 'C' |
| 5417 | ||
| 5418 | /\d{3,}ABC/I | /\d{3,}ABC/I |
| 5419 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 5420 | No options | No options |
| 5421 | No first char | No first char |
| 5422 | Need char = 'C' | Need char = 'C' |
| 5423 | ||
| 5424 | /\d*ABC/I | /\d*ABC/I |
| 5425 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 5426 | No options | No options |
| 5427 | No first char | No first char |
| 5428 | Need char = 'C' | Need char = 'C' |
| 5429 | ||
| 5430 | /[abc]+DE/I | /[abc]+DE/I |
| 5431 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 5432 | No options | No options |
| 5433 | No first char | No first char |
| 5434 | Need char = 'E' | Need char = 'E' |
| # | Line 5502 Need char = '3' | Line 5441 Need char = '3' |
| 5441 | 123\P | 123\P |
| 5442 | 0: 123 | 0: 123 |
| 5443 | a\P | a\P |
| 5444 | Partial match | Partial match: a |
| 5445 | b\P | b\P |
| 5446 | Partial match | Partial match: b |
| 5447 | c\P | c\P |
| 5448 | Partial match | Partial match: c |
| 5449 | c12\P | c12\P |
| 5450 | Partial match | Partial match: c12 |
| 5451 | c123\P | c123\P |
| 5452 | 0: c123 | 0: c123 |
| 5453 | ||
| # | Line 5518 Options: anchored | Line 5457 Options: anchored |
| 5457 | No first char | No first char |
| 5458 | Need char = 'X' | Need char = 'X' |
| 5459 | 1\P | 1\P |
| 5460 | Partial match | Partial match: 1 |
| 5461 | 123\P | 123\P |
| 5462 | Partial match | Partial match: 123 |
| 5463 | 123X | 123X |
| 5464 | 0: 123X | 0: 123X |
| 5465 | 1234\P | 1234\P |
| 5466 | Partial match | Partial match: 1234 |
| 5467 | 1234X | 1234X |
| 5468 | 0: 1234X | 0: 1234X |
| 5469 | 12345\P | 12345\P |
| 5470 | Partial match | Partial match: 12345 |
| 5471 | 12345X | 12345X |
| 5472 | 0: 12345X | 0: 12345X |
| 5473 | *** Failers | *** Failers |
| # | Line 5575 Capturing subpattern count = 1 | Line 5514 Capturing subpattern count = 1 |
| 5514 | No options | No options |
| 5515 | No first char | No first char |
| 5516 | No need char | No need char |
| 5517 | Subject length lower bound = 1 | |
| 5518 | Starting byte set: a b | Starting byte set: a b |
| 5519 | Compiled regex written to testsavedregex | Compiled regex written to testsavedregex |
| 5520 | Study data written to testsavedregex | Study data written to testsavedregex |
| # | Line 5595 Capturing subpattern count = 1 | Line 5535 Capturing subpattern count = 1 |
| 5535 | No options | No options |
| 5536 | No first char | No first char |
| 5537 | No need char | No need char |
| 5538 | Subject length lower bound = 1 | |
| 5539 | Starting byte set: a b | Starting byte set: a b |
| 5540 | Compiled regex written to testsavedregex | Compiled regex written to testsavedregex |
| 5541 | Study data written to testsavedregex | Study data written to testsavedregex |
| # | Line 5613 No match | Line 5554 No match |
| 5554 | ~<(\w+)/?>(.)*</(\1)>~smgI | ~<(\w+)/?>(.)*</(\1)>~smgI |
| 5555 | Capturing subpattern count = 3 | Capturing subpattern count = 3 |
| 5556 | Max back reference = 1 | Max back reference = 1 |
| Partial matching not supported | ||
| 5557 | Options: multiline dotall | Options: multiline dotall |
| 5558 | First char = '<' | First char = '<' |
| 5559 | Need char = '>' | Need char = '>' |
| # | Line 5631 No need char | Line 5571 No need char |
| 5571 | ||
| 5572 | /line\nbreak/I | /line\nbreak/I |
| 5573 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| 5574 | Contains explicit CR or LF match | |
| 5575 | No options | No options |
| 5576 | First char = 'l' | First char = 'l' |
| 5577 | Need char = 'k' | Need char = 'k' |
| # | Line 5641 Need char = 'k' | Line 5582 Need char = 'k' |
| 5582 | ||
| 5583 | /line\nbreak/If | /line\nbreak/If |
| 5584 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| 5585 | Contains explicit CR or LF match | |
| 5586 | Options: firstline | Options: firstline |
| 5587 | First char = 'l' | First char = 'l' |
| 5588 | Need char = 'k' | Need char = 'k' |
| # | Line 5653 No match | Line 5595 No match |
| 5595 | ||
| 5596 | /line\nbreak/Imf | /line\nbreak/Imf |
| 5597 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| 5598 | Contains explicit CR or LF match | |
| 5599 | Options: multiline firstline | Options: multiline firstline |
| 5600 | First char = 'l' | First char = 'l' |
| 5601 | Need char = 'k' | Need char = 'k' |
| # | Line 5663 No match | Line 5606 No match |
| 5606 | line one\nthis is a line\nbreak in the second line | line one\nthis is a line\nbreak in the second line |
| 5607 | No match | No match |
| 5608 | ||
| 5609 | /ab.cd/IP | /ab.cd/P |
| 5610 | ab-cd | ab-cd |
| 5611 | 0: ab-cd | 0: ab-cd |
| 5612 | ab=cd | ab=cd |
| # | Line 5673 No match: POSIX code 17: match failed | Line 5616 No match: POSIX code 17: match failed |
| 5616 | ab\ncd | ab\ncd |
| 5617 | No match: POSIX code 17: match failed | No match: POSIX code 17: match failed |
| 5618 | ||
| 5619 | /ab.cd/IPs | /ab.cd/Ps |
| 5620 | ab-cd | ab-cd |
| 5621 | 0: ab-cd | 0: ab-cd |
| 5622 | ab=cd | ab=cd |
| # | Line 5917 Matched, but too many substrings | Line 5860 Matched, but too many substrings |
| 5860 | ||
| 5861 | /[^()]*(?:\((?R)\)[^()]*)*/I | /[^()]*(?:\((?R)\)[^()]*)*/I |
| 5862 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 5863 | No options | No options |
| 5864 | No first char | No first char |
| 5865 | No need char | No need char |
| # | Line 5930 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 5941 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 5952 No need char | Line 5892 No need char |
| 5892 | ||
| 5893 | /(?:\((?R)\))*[^()]*/I | /(?:\((?R)\))*[^()]*/I |
| 5894 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 5895 | No options | No options |
| 5896 | No first char | No first char |
| 5897 | No need char | No need char |
| # | Line 5965 No need char | Line 5904 No need char |
| 5904 | ||
| 5905 | /(?:\((?R)\))|[^()]*/I | /(?:\((?R)\))|[^()]*/I |
| 5906 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 5907 | No options | No options |
| 5908 | No first char | No first char |
| 5909 | No need char | No need char |
| # | Line 5978 No need char | Line 5916 No need char |
| 5916 | ((this)) | ((this)) |
| 5917 | 0: ((this)) | 0: ((this)) |
| 5918 | ||
| 5919 | /a(b)c/IPN | /a(b)c/PN |
| 5920 | abc | abc |
| 5921 | Matched with REG_NOSUB | Matched with REG_NOSUB |
| 5922 | ||
| 5923 | /a(?P<name>b)c/IPN | /a(?P<name>b)c/PN |
| 5924 | abc | abc |
| 5925 | Matched with REG_NOSUB | Matched with REG_NOSUB |
| 5926 | ||
| # | Line 6160 Named capturing subpatterns: | Line 6098 Named capturing subpatterns: |
| 6098 | A 2 | A 2 |
| 6099 | A 3 | A 3 |
| 6100 | Options: anchored dupnames | Options: anchored dupnames |
| 6101 | Duplicate name status changes | |
| 6102 | No first char | No first char |
| 6103 | No need char | No need char |
| 6104 | a1b\CA | a1b\CA |
| # | Line 6306 Failed: octal value is greater than \377 | Line 6245 Failed: octal value is greater than \377 |
| 6245 | ||
| 6246 | /\s*,\s*/IS | /\s*,\s*/IS |
| 6247 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 6248 | No options | No options |
| 6249 | No first char | No first char |
| 6250 | Need char = ',' | Need char = ',' |
| 6251 | Subject length lower bound = 1 | |
| 6252 | Starting byte set: \x09 \x0a \x0c \x0d \x20 , | Starting byte set: \x09 \x0a \x0c \x0d \x20 , |
| 6253 | \x0b,\x0b | \x0b,\x0b |
| 6254 | 0: , | 0: , |
| # |
Line 6436
Unknown newline type at: |
Line 6375
Unknown newline type at: |
| 6375 | ||
| 6376 | /.*/I<lf> | /.*/I<lf> |
| 6377 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 6378 | Options: | Options: |
| 6379 | Forced newline sequence: LF | Forced newline sequence: LF |
| 6380 | First char at start or follows newline | First char at start or follows newline |
| # | Line 6462 No need char | Line 6400 No need char |
| 6400 | ||
| 6401 | /\w+(.)(.)?def/Is | /\w+(.)(.)?def/Is |
| 6402 | Capturing subpattern count = 2 | Capturing subpattern count = 2 |
| Partial matching not supported | ||
| 6403 | Options: dotall | Options: dotall |
| 6404 | No first char | No first char |
| 6405 | Need char = 'f' | Need char = 'f' |
| # | Line 6479 Need char = 'f' | Line 6416 Need char = 'f' |
| 6416 | ||
| 6417 | +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I | +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I |
| 6418 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 6419 | No options | No options |
| 6420 | No first char | No first char |
| 6421 | No need char | No need char |
| # | Line 6614 No need char | Line 6550 No need char |
| 6550 | ||
| 6551 | /(a*b|(?i:c*(?-i)d))/IS | /(a*b|(?i:c*(?-i)d))/IS |
| 6552 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 6553 | No options | No options |
| 6554 | No first char | No first char |
| 6555 | No need char | No need char |
| 6556 | Subject length lower bound = 1 | |
| 6557 | Starting byte set: C a b c d | Starting byte set: C a b c d |
| 6558 | ||
| 6559 | /()[ab]xyz/IS | /()[ab]xyz/IS |
| # | Line 6625 Capturing subpattern count = 1 | Line 6561 Capturing subpattern count = 1 |
| 6561 | No options | No options |
| 6562 | No first char | No first char |
| 6563 | Need char = 'z' | Need char = 'z' |
| 6564 | Subject length lower bound = 4 | |
| 6565 | Starting byte set: a b | Starting byte set: a b |
| 6566 | ||
| 6567 | /(|)[ab]xyz/IS | /(|)[ab]xyz/IS |
| # | Line 6632 Capturing subpattern count = 1 | Line 6569 Capturing subpattern count = 1 |
| 6569 | No options | No options |
| 6570 | No first char | No first char |
| 6571 | Need char = 'z' | Need char = 'z' |
| 6572 | Subject length lower bound = 4 | |
| 6573 | Starting byte set: a b | Starting byte set: a b |
| 6574 | ||
| 6575 | /(|c)[ab]xyz/IS | /(|c)[ab]xyz/IS |
| # | Line 6639 Capturing subpattern count = 1 | Line 6577 Capturing subpattern count = 1 |
| 6577 | No options | No options |
| 6578 | No first char | No first char |
| 6579 | Need char = 'z' | Need char = 'z' |
| 6580 | Subject length lower bound = 4 | |
| 6581 | Starting byte set: a b c | Starting byte set: a b c |
| 6582 | ||
| 6583 | /(|c?)[ab]xyz/IS | /(|c?)[ab]xyz/IS |
| # | Line 6646 Capturing subpattern count = 1 | Line 6585 Capturing subpattern count = 1 |
| 6585 | No options | No options |
| 6586 | No first char | No first char |
| 6587 | Need char = 'z' | Need char = 'z' |
| 6588 | Subject length lower bound = 4 | |
| 6589 | Starting byte set: a b c | Starting byte set: a b c |
| 6590 | ||
| 6591 | /(d?|c?)[ab]xyz/IS | /(d?|c?)[ab]xyz/IS |
| # | Line 6653 Capturing subpattern count = 1 | Line 6593 Capturing subpattern count = 1 |
| 6593 | No options | No options |
| 6594 | No first char | No first char |
| 6595 | Need char = 'z' | Need char = 'z' |
| 6596 | Subject length lower bound = 4 | |
| 6597 | Starting byte set: a b c d | Starting byte set: a b c d |
| 6598 | ||
| 6599 | /(d?|c)[ab]xyz/IS | /(d?|c)[ab]xyz/IS |
| # | Line 6660 Capturing subpattern count = 1 | Line 6601 Capturing subpattern count = 1 |
| 6601 | No options | No options |
| 6602 | No first char | No first char |
| 6603 | Need char = 'z' | Need char = 'z' |
| 6604 | Subject length lower bound = 4 | |
| 6605 | Starting byte set: a b c d | Starting byte set: a b c d |
| 6606 | ||
| 6607 | /^a*b\d/DZ | /^a*b\d/DZ |
| # | Line 6673 Starting byte set: a b c d | Line 6615 Starting byte set: a b c d |
| 6615 | End | End |
| 6616 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 6617 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 6618 | Options: anchored | Options: anchored |
| 6619 | No first char | No first char |
| 6620 | Need char = 'b' | Need char = 'b' |
| # | Line 6689 Need char = 'b' | Line 6630 Need char = 'b' |
| 6630 | End | End |
| 6631 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 6632 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 6633 | Options: anchored | Options: anchored |
| 6634 | No first char | No first char |
| 6635 | Need char = 'b' | Need char = 'b' |
| # | Line 6705 Need char = 'b' | Line 6645 Need char = 'b' |
| 6645 | End | End |
| 6646 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 6647 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 6648 | Options: anchored | Options: anchored |
| 6649 | No first char | No first char |
| 6650 | Need char = 'b' | Need char = 'b' |
| # | Line 6721 Need char = 'b' | Line 6660 Need char = 'b' |
| 6660 | End | End |
| 6661 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 6662 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 6663 | Options: anchored | Options: anchored |
| 6664 | No first char | No first char |
| 6665 | Need char = 'A' | Need char = 'A' |
| # | Line 6743 No match | Line 6681 No match |
| 6681 | End | End |
| 6682 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 6683 | Capturing subpattern count = 0 | Capturing subpattern count = 0 |
| Partial matching not supported | ||
| 6684 | Options: anchored caseless | Options: anchored caseless |
| 6685 | No first char | No first char |
| 6686 | Need char = 'A' (caseless) | Need char = 'A' (caseless) |
| # | Line 6754 Need char = 'A' (caseless) | Line 6691 Need char = 'A' (caseless) |
| 6691 | ||
| 6692 | /(a*|b*)[cd]/IS | /(a*|b*)[cd]/IS |
| 6693 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 6694 | No options | No options |
| 6695 | No first char | No first char |
| 6696 | No need char | No need char |
| 6697 | Subject length lower bound = 1 | |
| 6698 | Starting byte set: a b c d | Starting byte set: a b c d |
| 6699 | ||
| 6700 | /(a+|b*)[cd]/IS | /(a+|b*)[cd]/IS |
| 6701 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 6702 | No options | No options |
| 6703 | No first char | No first char |
| 6704 | No need char | No need char |
| 6705 | Subject length lower bound = 1 | |
| 6706 | Starting byte set: a b c d | Starting byte set: a b c d |
| 6707 | ||
| 6708 | /(a*|b+)[cd]/IS | /(a*|b+)[cd]/IS |
| 6709 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 6710 | No options | No options |
| 6711 | No first char | No first char |
| 6712 | No need char | No need char |
| 6713 | Subject length lower bound = 1 | |
| 6714 | Starting byte set: a b c d | Starting byte set: a b c d |
| 6715 | ||
| 6716 | /(a+|b+)[cd]/IS | /(a+|b+)[cd]/IS |
| 6717 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| Partial matching not supported | ||
| 6718 | No options | No options |
| 6719 | No first char | No first char |
| 6720 | No need char | No need char |
| 6721 | Subject length lower bound = 2 | |
| 6722 | Starting byte set: a b | Starting byte set: a b |
| 6723 | ||
| 6724 | /(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((( | /(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((( |
| # | Line 7587 No match | Line 7524 No match |
| 7524 | ^ | ^ |
| 7525 | CBra 1 | CBra 1 |
| 7526 | Cond | Cond |
| 7527 | 2 Cond ref | 2 Cond nref |
| 7528 | y | y |
| 7529 | Ket | Ket |
| 7530 | [()] | [()] |
| # | Line 7653 Named capturing subpatterns: | Line 7590 Named capturing subpatterns: |
| 7590 | one 1 | one 1 |
| 7591 | three 3 | three 3 |
| 7592 | two 2 | two 2 |
| Partial matching not supported | ||
| 7593 | Options: anchored caseless | Options: anchored caseless |
| 7594 | No first char | No first char |
| 7595 | No need char | No need char |
| # | Line 7687 No match | Line 7623 No match |
| 7623 | /(?=(\w+))\1:/I | /(?=(\w+))\1:/I |
| 7624 | Capturing subpattern count = 1 | Capturing subpattern count = 1 |
| 7625 | Max back reference = 1 | Max back reference = 1 |
| Partial matching not supported | ||
| 7626 | No options | No options |
| 7627 | No first char | No first char |
| 7628 | Need char = ':' | Need char = ':' |
| # | Line 7700 Capturing subpattern count = 1 | Line 7635 Capturing subpattern count = 1 |
| 7635 | Max back reference = 1 | Max back reference = 1 |
| 7636 | Named capturing subpatterns: | Named capturing subpatterns: |
| 7637 | abc 1 | abc 1 |
| Partial matching not supported | ||
| 7638 | No options | No options |
| 7639 | No first char | No first char |
| 7640 | Need char = ':' | Need char = ':' |
| # | Line 7708 Need char = ':' | Line 7642 Need char = ':' |
| 7642 | 0: abcd: | 0: abcd: |
| 7643 | 1: abcd | 1: abcd |
| 7644 | ||
| /(?'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 | ||
| 7645 | /(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J | /(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J |
| 7646 | adaa | adaa |
| 7647 | 0: adaa | 0: adaa |
| # | Line 7748 No match | Line 7668 No match |
| 7668 | bddd | bddd |
| 7669 | No match | No match |
| 7670 | ||
| /^(?<ab>a)? (?(<ab>)b|c) (?('ab')d|e)/x | ||
| abd | ||
| 0: abd | ||
| 1: a | ||
| ce | ||
| 0: ce | ||
| 7671 | /(?(<bc))/ | /(?(<bc))/ |
| 7672 | Failed: malformed number or name after (?( at offset 6 | Failed: malformed number or name after (?( at offset 6 |
| 7673 | ||
| # | Line 7785 Failed: reference to non-existent subpat | Line 7698 Failed: reference to non-existent subpat |
| 7698 | 1: abcabc1Xabc2XabcX | 1: abcabc1Xabc2XabcX |
| 7699 | 2: abcabc1Xabc2XabcX | 2: abcabc1Xabc2XabcX |
| 7700 | ||
| /^(?(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> | ||
| 7701 | /^(?(DEFINE) abc | xyz ) /x | /^(?(DEFINE) abc | xyz ) /x |
| 7702 | Failed: DEFINE group contains more than one branch at offset 22 | Failed: DEFINE group contains more than one branch at offset 22 |
| 7703 | ||
| # | Line 7844 No match | Line 7739 No match |
| 7739 | No match | No match |
| 7740 | ||
| 7741 | /^abc./mgx<any> | /^abc./mgx<any> |
| 7742 | abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x85abc7 \x{2028}abc8 \x{2029}abc9 JUNK | abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x85abc7 JUNK |
| 7743 | 0: abc1 | 0: abc1 |
| 7744 | 0: abc2 | 0: abc2 |
| 7745 | 0: abc3 | 0: abc3 |
| # | Line 7854 No match | Line 7749 No match |
| 7749 | 0: abc7 | 0: abc7 |
| 7750 | ||
| 7751 | /abc.$/mgx<any> | /abc.$/mgx<any> |
| 7752 | 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 |
| 7753 | 0: abc1 | 0: abc1 |
| 7754 | 0: abc2 | 0: abc2 |
| 7755 | 0: abc3 | 0: abc3 |
| # | Line 7868 No match | Line 7763 No match |
| 7763 | /a/<any><crlf> | /a/<any><crlf> |
| 7764 | Failed: inconsistent NEWLINE options at offset 0 | Failed: inconsistent NEWLINE options at offset 0 |
| 7765 | ||
| 7766 | /^a\Rb/ | /^a\Rb/<bsr_unicode> |
| 7767 | a\nb | a\nb |
| 7768 | 0: a\x0ab | 0: a\x0ab |
| 7769 | a\rb | a\rb |
| # | Line 7886 No match | Line 7781 No match |
| 7781 | a\n\rb | a\n\rb |
| 7782 | No match | No match |
| 7783 | ||
| 7784 | /^a\R*b/ | /^a\R*b/<bsr_unicode> |
| 7785 | ab | ab |
| 7786 | 0: ab | 0: ab |
| 7787 | a\nb | a\nb |
| # | Line 7906 No match | Line 7801 No match |
| 7801 | a\n\r\x85\x0cb | a\n\r\x85\x0cb |
| 7802 | 0: a\x0a\x0d\x85\x0cb | 0: a\x0a\x0d\x85\x0cb |
| 7803 | ||
| 7804 | /^a\R+b/ | /^a\R+b/<bsr_unicode> |
| 7805 | a\nb | a\nb |
| 7806 | 0: a\x0ab | 0: a\x0ab |
| 7807 | a\rb | a\rb |
| # | Line 7928 No match | Line 7823 No match |
| 7823 | ab | ab |
| 7824 | No match | No match |
| 7825 | ||
| 7826 | /^a\R{1,3}b/ | /^a\R{1,3}b/<bsr_unicode> |
| 7827 | a\nb | a\nb |
| 7828 | 0: a\x0ab | 0: a\x0ab |
| 7829 | a\n\rb | a\n\rb |
| # | Line 7950 No match | Line 7845 No match |
| 7845 | a\r | a\r |
| 7846 | No match | No match |
| 7847 | ||
| 7848 | /^a[\R]b/ | /^a[\R]b/<bsr_unicode> |
| 7849 | aRb | aRb |
| 7850 | 0: aRb | 0: aRb |
| 7851 | ** Failers | ** Failers |
| # | Line 7980 Need char = 'P' | Line 7875 Need char = 'P' |
| 7875 | 0: PXP | 0: PXP |
| 7876 | 1: P | 1: P |
| 7877 | ||
| /(?(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 | ||
| 7878 | /(?:a(?&abc)b)*(?<abc>x)/ | /(?:a(?&abc)b)*(?<abc>x)/ |
| 7879 | 123axbaxbaxbx456 | 123axbaxbaxbx456 |
| 7880 | 0: axbaxbaxbx | 0: axbaxbaxbx |
| # | Line 8057 No match | Line 7912 No match |
| 7912 | DEFabcABCXYZ | DEFabcABCXYZ |
| 7913 | No match | No match |
| 7914 | ||
| /^(a(b))\1\g1\g{1}\g-1\g{-1}\g{-02}Z/ | ||
| ababababbbabZXXXX | ||
| 0: ababababbbabZ | ||
| 1: ab | ||
| 2: b | ||
| 7915 | /^(a)\g-2/ | /^(a)\g-2/ |
| 7916 | Failed: reference to non-existent subpattern at offset 4 | Failed: reference to non-existent subpattern at offset 7 |
| 7917 | ||
| 7918 | /^(a)\g/ | /^(a)\g/ |
| 7919 | Failed: \g is not followed by a braced name or an optionally braced non-zero number at offset 4 | Failed: a numbered reference must not be zero at offset 5 |
| 7920 | ||
| 7921 | /^(a)\g{0}/ | /^(a)\g{0}/ |
| 7922 | Failed: \g is not followed by a braced name or an optionally braced non-zero number at offset 4 | Failed: a numbered reference must not be zero at offset 8 |
| 7923 | ||
| 7924 | /^(a)\g{3/ | /^(a)\g{3/ |
| 7925 | Failed: \g is not followed by a braced name or an optionally braced non-zero number at offset 4 | Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 8 |
| 7926 | ||
| 7927 | /^(a)\g{4a}/ | /^(a)\g{4a}/ |
| 7928 | Failed: reference to non-existent subpattern at offset 9 | Failed: reference to non-existent subpattern at offset 9 |
| # | Line 8156 No match | Line 8005 No match |
| 8005 | 0+ | 0+ |
| 8006 | ||
| 8007 | /abc.$/mgx<anycrlf> | /abc.$/mgx<anycrlf> |
| 8008 | 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 |
| 8009 | 0: abc1 | 0: abc1 |
| 8010 | 0: abc4 | 0: abc4 |
| 8011 | 0: abc5 | 0: abc5 |
| # | Line 8210 No match | Line 8059 No match |
| 8059 | No match | No match |
| 8060 | ||
| 8061 | /x(?-0)y/ | /x(?-0)y/ |
| 8062 | Failed: (?+ or (?- or (?(+ or (?(- must be followed by a non-zero number at offset 5 | Failed: a numbered reference must not be zero at offset 5 |
| 8063 | ||
| 8064 | /x(?-1)y/ | /x(?-1)y/ |
| 8065 | Failed: reference to non-existent subpattern at offset 5 | Failed: reference to non-existent subpattern at offset 5 |
| 8066 | ||
| 8067 | /x(?+0)y/ | /x(?+0)y/ |
| 8068 | Failed: (?+ or (?- or (?(+ or (?(- must be followed by a non-zero number at offset 5 | Failed: a numbered reference must not be zero at offset 5 |
| 8069 | ||
| 8070 | /x(?+1)y/ | /x(?+1)y/ |
| 8071 | Failed: reference to non-existent subpattern at offset 5 | Failed: reference to non-existent subpattern at offset 5 |
| # | Line 8298 Failed: reference to non-existent subpat | Line 8147 Failed: reference to non-existent subpat |
| 8147 | /((?(-2)a))/BZ | /((?(-2)a))/BZ |
| 8148 | Failed: reference to non-existent subpattern at offset 7 | Failed: reference to non-existent subpattern at offset 7 |
| 8149 | ||
| 8150 | /^(?(+1)X|Y)/BZ | /^(?(+1)X|Y)(.)/BZ |
| 8151 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 8152 | Bra | Bra |
| 8153 | ^ | ^ |
| # | Line 8308 Failed: reference to non-existent subpat | Line 8157 Failed: reference to non-existent subpat |
| 8157 | Alt | Alt |
| 8158 | Y | Y |
| 8159 | Ket | Ket |
| 8160 | CBra 1 | |
| 8161 | Any | |
| 8162 | Ket | |
| 8163 | Ket | Ket |
| 8164 | End | End |
| 8165 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 8166 | Y | Y! |
| 8167 | 0: Y | 0: Y! |
| 8168 | 1: ! | |
| /(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 | ||
| 8169 | ||
| 8170 | /(?<A>tom|bon)-\k{A}/ | /(?<A>tom|bon)-\k{A}/ |
| 8171 | tom-tom | tom-tom |
| # | Line 8346 No match | Line 8179 No match |
| 8179 | tom-bon | tom-bon |
| 8180 | No match | No match |
| 8181 | ||
| /(?<A>tom|bon)-\g{A}/ | ||
| tom-tom | ||
| 0: tom-tom | ||
| 1: tom | ||
| bon-bon | ||
| 0: bon-bon | ||
| 1: bon | ||
| 8182 | /\g{A/ | /\g{A/ |
| 8183 | Failed: syntax error in subpattern name (missing terminator) at offset 4 | Failed: syntax error in subpattern name (missing terminator) at offset 4 |
| 8184 | ||
| # | Line 8448 Failed: syntax error in subpattern name | Line 8273 Failed: syntax error in subpattern name |
| 8273 | 3: <unset> | 3: <unset> |
| 8274 | 4: x | 4: x |
| 8275 | ||
| /(?|(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 | ||
| 8276 | /[\h]/BZ | /[\h]/BZ |
| 8277 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 8278 | Bra | Bra |
| # | Line 8820 Failed: missing terminating ] for charac | Line 8569 Failed: missing terminating ] for charac |
| 8569 | End | End |
| 8570 | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| 8571 | ||
| /^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 | ||
| 8572 | /^a+(*FAIL)/C | /^a+(*FAIL)/C |
| 8573 | aaaaaa | aaaaaa |
| 8574 | --->aaaaaa | --->aaaaaa |
| # | Line 9029 No match | Line 8697 No match |
| 8697 | +13 ^ ^ (*FAIL) | +13 ^ ^ (*FAIL) |
| 8698 | No match | No match |
| 8699 | ||
| /a(*PRUNE:XXX)b/ | ||
| Failed: (*VERB) with an argument is not supported at offset 8 | ||
| 8700 | /a(*MARK)b/ | /a(*MARK)b/ |
| 8701 | Failed: (*VERB) not recognized at offset 7 | Failed: (*MARK) must have an argument at offset 7 |
| 8702 | ||
| 8703 | /(?i:A{1,}\6666666666)/ | |
| 8704 | Failed: number is too big at offset 19 | |
| 8705 | ||
| 8706 | /\g6666666666/ | |
| 8707 | Failed: number is too big at offset 11 | |
| 8708 | ||
| 8709 | /[\g6666666666]/ | |
| 8710 | Failed: number is too big at offset 12 | |
| 8711 | ||
| 8712 | /(?1)\c[/ | |
| 8713 | Failed: reference to non-existent subpattern at offset 3 | |
| 8714 | ||
| 8715 | /.+A/<crlf> | |
| 8716 | \r\nA | |
| 8717 | No match | |
| 8718 | ||
| 8719 | /\nA/<crlf> | |
| 8720 | \r\nA | |
| 8721 | 0: \x0aA | |
| 8722 | ||
| 8723 | /[\r\n]A/<crlf> | |
| 8724 | \r\nA | |
| 8725 | 0: \x0aA | |
| 8726 | ||
| 8727 | /(\r|\n)A/<crlf> | |
| 8728 | \r\nA | |
| 8729 | 0: \x0aA | |
| 8730 | 1: \x0a | |
| 8731 | ||
| 8732 | /a(*CR)b/ | |
| 8733 | Failed: (*VERB) not recognized at offset 5 | |
| 8734 | ||
| 8735 | /(*CR)a.b/ | |
| 8736 | a\nb | |
| 8737 | 0: a\x0ab | |
| 8738 | ** Failers | |
| 8739 | No match | |
| 8740 | a\rb | |
| 8741 | No match | |
| 8742 | ||
| 8743 | /(*CR)a.b/<lf> | |
| 8744 | a\nb | |
| 8745 | 0: a\x0ab | |
| 8746 | ** Failers | |
| 8747 | No match | |
| 8748 | a\rb | |
| 8749 | No match | |
| 8750 | ||
| 8751 | /(*LF)a.b/<CRLF> | |
| 8752 | a\rb | |
| 8753 | 0: a\x0db | |
| 8754 | ** Failers | |
| 8755 | No match | |
| 8756 | a\nb | |
| 8757 | No match | |
| 8758 | ||
| 8759 | /(*CRLF)a.b/ | |
| 8760 | a\rb | |
| 8761 | 0: a\x0db | |
| 8762 | a\nb | |
| 8763 | 0: a\x0ab | |
| 8764 | ** Failers | |
| 8765 | No match | |
| 8766 | a\r\nb | |
| 8767 | No match | |
| 8768 | ||
| 8769 | /(*ANYCRLF)a.b/<CR> | |
| 8770 | ** Failers | |
| 8771 | No match | |
| 8772 | a\rb | |
| 8773 | No match | |
| 8774 | a\nb | |
| 8775 | No match | |
| 8776 | a\r\nb | |
| 8777 | No match | |
| 8778 | ||
| 8779 | /(*ANY)a.b/<cr> | |
| 8780 | ** Failers | |
| 8781 | No match | |
| 8782 | a\rb | |
| 8783 | No match | |
| 8784 | a\nb | |
| 8785 | No match | |
| 8786 | a\r\nb | |
| 8787 | No match | |
| 8788 | a\x85b | |
| 8789 | No match | |
| 8790 | ||
| 8791 | /(*ANY).*/g | |
| 8792 | abc\r\ndef | |
| 8793 | 0: abc | |
| 8794 | 0: | |
| 8795 | 0: def | |
| 8796 | 0: | |
| 8797 | ||
| 8798 | /(*ANYCRLF).*/g | |
| 8799 | abc\r\ndef | |
| 8800 | 0: abc | |
| 8801 | 0: | |
| 8802 | 0: def | |
| 8803 | 0: | |
| 8804 | ||
| 8805 | /(*CRLF).*/g | |
| 8806 | abc\r\ndef | |
| 8807 | 0: abc | |
| 8808 | 0: | |
| 8809 | 0: def | |
| 8810 | 0: | |
| 8811 | ||
| 8812 | /a\Rb/I<bsr_anycrlf> | |
| 8813 | Capturing subpattern count = 0 | |
| 8814 | Options: bsr_anycrlf | |
| 8815 | First char = 'a' | |
| 8816 | Need char = 'b' | |
| 8817 | a\rb | |
| 8818 | 0: a\x0db | |
| 8819 | a\nb | |
| 8820 | 0: a\x0ab | |
| 8821 | a\r\nb | |
| 8822 | 0: a\x0d\x0ab | |
| 8823 | ** Failers | |
| 8824 | No match | |
| 8825 | a\x85b | |
| 8826 | No match | |
| 8827 | a\x0bb | |
| 8828 | No match | |
| 8829 | ||
| 8830 | /a\Rb/I<bsr_unicode> | |
| 8831 | Capturing subpattern count = 0 | |
| 8832 | Options: bsr_unicode | |
| 8833 | First char = 'a' | |
| 8834 | Need char = 'b' | |
| 8835 | a\rb | |
| 8836 | 0: a\x0db | |
| 8837 | a\nb | |
| 8838 | 0: a\x0ab | |
| 8839 | a\r\nb | |
| 8840 | 0: a\x0d\x0ab | |
| 8841 | a\x85b | |
| 8842 | 0: a\x85b | |
| 8843 | a\x0bb | |
| 8844 | 0: a\x0bb | |
| 8845 | ** Failers | |
| 8846 | No match | |
| 8847 | a\x85b\<bsr_anycrlf> | |
| 8848 | No match | |
| 8849 | a\x0bb\<bsr_anycrlf> | |
| 8850 | No match | |
| 8851 | ||
| 8852 | /a\R?b/I<bsr_anycrlf> | |
| 8853 | Capturing subpattern count = 0 | |
| 8854 | Options: bsr_anycrlf | |
| 8855 | First char = 'a' | |
| 8856 | Need char = 'b' | |
| 8857 | a\rb | |
| 8858 | 0: a\x0db | |
| 8859 | a\nb | |
| 8860 | 0: a\x0ab | |
| 8861 | a\r\nb | |
| 8862 | 0: a\x0d\x0ab | |
| 8863 | ** Failers | |
| 8864 | No match | |
| 8865 | a\x85b | |
| 8866 | No match | |
| 8867 | a\x0bb | |
| 8868 | No match | |
| 8869 | ||
| 8870 | /a\R?b/I<bsr_unicode> | |
| 8871 | Capturing subpattern count = 0 | |
| 8872 | Options: bsr_unicode | |
| 8873 | First char = 'a' | |
| 8874 | Need char = 'b' | |
| 8875 | a\rb | |
| 8876 | 0: a\x0db | |
| 8877 | a\nb | |
| 8878 | 0: a\x0ab | |
| 8879 | a\r\nb | |
| 8880 | 0: a\x0d\x0ab | |
| 8881 | a\x85b | |
| 8882 | 0: a\x85b | |
| 8883 | a\x0bb | |
| 8884 | 0: a\x0bb | |
| 8885 | ** Failers | |
| 8886 | No match | |
| 8887 | a\x85b\<bsr_anycrlf> | |
| 8888 | No match | |
| 8889 | a\x0bb\<bsr_anycrlf> | |
| 8890 | No match | |
| 8891 | ||
| 8892 | /a\R{2,4}b/I<bsr_anycrlf> | |
| 8893 | Capturing subpattern count = 0 | |
| 8894 | Options: bsr_anycrlf | |
| 8895 | First char = 'a' | |
| 8896 | Need char = 'b' | |
| 8897 | a\r\n\nb | |
| 8898 | 0: a\x0d\x0a\x0ab | |
| 8899 | a\n\r\rb | |
| 8900 | 0: a\x0a\x0d\x0db | |
| 8901 | a\r\n\r\n\r\n\r\nb | |
| 8902 | 0: a\x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0ab | |
| 8903 | ** Failers | |
| 8904 | No match | |
| 8905 | a\x85\85b | |
| 8906 | No match | |
| 8907 | a\x0b\0bb | |
| 8908 | No match | |
| 8909 | ||
| 8910 | /a\R{2,4}b/I<bsr_unicode> | |
| 8911 | Capturing subpattern count = 0 | |
| 8912 | Options: bsr_unicode | |
| 8913 | First char = 'a' | |
| 8914 | Need char = 'b' | |
| 8915 | a\r\rb | |
| 8916 | 0: a\x0d\x0db | |
| 8917 | a\n\n\nb | |
| 8918 | 0: a\x0a\x0a\x0ab | |
| 8919 | a\r\n\n\r\rb | |
| 8920 | 0: a\x0d\x0a\x0a\x0d\x0db | |
| 8921 | a\x85\85b | |
| 8922 | No match | |
| 8923 | a\x0b\0bb | |
| 8924 | No match | |
| 8925 | ** Failers | |
| 8926 | No match | |
| 8927 | a\r\r\r\r\rb | |
| 8928 | No match | |
| 8929 | a\x85\85b\<bsr_anycrlf> | |
| 8930 | No match | |
| 8931 | a\x0b\0bb\<bsr_anycrlf> | |
| 8932 | No match | |
| 8933 | ||
| 8934 | /(*BSR_ANYCRLF)a\Rb/I | |
| 8935 | Capturing subpattern count = 0 | |
| 8936 | Options: bsr_anycrlf | |
| 8937 | First char = 'a' | |
| 8938 | Need char = 'b' | |
| 8939 | a\nb | |
| 8940 | 0: a\x0ab | |
| 8941 | a\rb | |
| 8942 | 0: a\x0db | |
| 8943 | ||
| 8944 | /(*BSR_UNICODE)a\Rb/I | |
| 8945 | Capturing subpattern count = 0 | |
| 8946 | Options: bsr_unicode | |
| 8947 | First char = 'a' | |
| 8948 | Need char = 'b' | |
| 8949 | a\x85b | |
| 8950 | 0: a\x85b | |
| 8951 | ||
| 8952 | /(*BSR_ANYCRLF)(*CRLF)a\Rb/I | |
| 8953 | Capturing subpattern count = 0 | |
| 8954 | Options: bsr_anycrlf | |
| 8955 | Forced newline sequence: CRLF | |
| 8956 | First char = 'a' | |
| 8957 | Need char = 'b' | |
| 8958 | a\nb | |
| 8959 | 0: a\x0ab | |
| 8960 | a\rb | |
| 8961 | 0: a\x0db | |
| 8962 | ||
| 8963 | /(*CRLF)(*BSR_UNICODE)a\Rb/I | |
| 8964 | Capturing subpattern count = 0 | |
| 8965 | Options: bsr_unicode | |
| 8966 | Forced newline sequence: CRLF | |
| 8967 | First char = 'a' | |
| 8968 | Need char = 'b' | |
| 8969 | a\x85b | |
| 8970 | 0: a\x85b | |
| 8971 | ||
| 8972 | /(*CRLF)(*BSR_ANYCRLF)(*CR)ab/I | |
| 8973 | Capturing subpattern count = 0 | |
| 8974 | Options: bsr_anycrlf | |
| 8975 | Forced newline sequence: CR | |
| 8976 | First char = 'a' | |
| 8977 | Need char = 'b' | |
| 8978 | ||
| 8979 | /(?<a>)(?&)/ | |
| 8980 | Failed: subpattern name expected at offset 9 | |
| 8981 | ||
| 8982 | /(?<abc>)(?&a)/ | |
| 8983 | Failed: reference to non-existent subpattern at offset 12 | |
| 8984 | ||
| 8985 | /(?<a>)(?&aaaaaaaaaaaaaaaaaaaaaaa)/ | |
| 8986 | Failed: reference to non-existent subpattern at offset 32 | |
| 8987 | ||
| 8988 | /(?+-a)/ | |
| 8989 | Failed: digit expected after (?+ at offset 3 | |
| 8990 | ||
| 8991 | /(?-+a)/ | |
| 8992 | Failed: unrecognized character after (? or (?- at offset 3 | |
| 8993 | ||
| 8994 | /(?(-1))/ | |
| 8995 | Failed: reference to non-existent subpattern at offset 6 | |
| 8996 | ||
| 8997 | /(?(+10))/ | |
| 8998 | Failed: reference to non-existent subpattern at offset 7 | |
| 8999 | ||
| 9000 | /(?(10))/ | |
| 9001 | Failed: reference to non-existent subpattern at offset 6 | |
| 9002 | ||
| 9003 | /(?(+2))()()/ | |
| 9004 | ||
| 9005 | /(?(2))()()/ | |
| 9006 | ||
| 9007 | /\k''/ | |
| 9008 | Failed: subpattern name expected at offset 3 | |
| 9009 | ||
| 9010 | /\k<>/ | |
| 9011 | Failed: subpattern name expected at offset 3 | |
| 9012 | ||
| 9013 | /\k{}/ | |
| 9014 | Failed: subpattern name expected at offset 3 | |
| 9015 | ||
| 9016 | /(?P=)/ | |
| 9017 | Failed: subpattern name expected at offset 4 | |
| 9018 | ||
| 9019 | /(?P>)/ | |
| 9020 | Failed: subpattern name expected at offset 4 | |
| 9021 | ||
| 9022 | /(?!\w)(?R)/ | |
| 9023 | Failed: recursive call could loop indefinitely at offset 9 | |
| 9024 | ||
| 9025 | /(?=\w)(?R)/ | |
| 9026 | Failed: recursive call could loop indefinitely at offset 9 | |
| 9027 | ||
| 9028 | /(?<!\w)(?R)/ | |
| 9029 | Failed: recursive call could loop indefinitely at offset 10 | |
| 9030 | ||
| 9031 | /(?<=\w)(?R)/ | |
| 9032 | Failed: recursive call could loop indefinitely at offset 10 | |
| 9033 | ||
| 9034 | /[[:foo:]]/ | |
| 9035 | Failed: unknown POSIX class name at offset 3 | |
| 9036 | ||
| 9037 | /[[:1234:]]/ | |
| 9038 | Failed: unknown POSIX class name at offset 3 | |
| 9039 | ||
| 9040 | /[[:f\oo:]]/ | |
| 9041 | Failed: unknown POSIX class name at offset 3 | |
| 9042 | ||
| 9043 | /[[: :]]/ | |
| 9044 | Failed: unknown POSIX class name at offset 3 | |
| 9045 | ||
| 9046 | /[[:...:]]/ | |
| 9047 | Failed: unknown POSIX class name at offset 3 | |
| 9048 | ||
| 9049 | /[[:l\ower:]]/ | |
| 9050 | Failed: unknown POSIX class name at offset 3 | |
| 9051 | ||
| 9052 | /[[:abc\:]]/ | |
| 9053 | Failed: unknown POSIX class name at offset 3 | |
| 9054 | ||
| 9055 | /[abc[:x\]pqr:]]/ | |
| 9056 | Failed: unknown POSIX class name at offset 6 | |
| 9057 | ||
| 9058 | /[[:a\dz:]]/ | |
| 9059 | Failed: unknown POSIX class name at offset 3 | |
| 9060 | ||
| 9061 | /(^(a|b\g<-1'c))/ | |
| 9062 | Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 15 | |
| 9063 | ||
| 9064 | /^(?+1)(?<a>x|y){0}z/ | |
| 9065 | xzxx | |
| 9066 | 0: xz | |
| 9067 | yzyy | |
| 9068 | 0: yz | |
| 9069 | ** Failers | |
| 9070 | No match | |
| 9071 | xxz | |
| 9072 | No match | |
| 9073 | ||
| 9074 | /(\3)(\1)(a)/ | |
| 9075 | cat | |
| 9076 | No match | |
| 9077 | ||
| 9078 | /(\3)(\1)(a)/<JS> | |
| 9079 | cat | |
| 9080 | 0: a | |
| 9081 | 1: | |
| 9082 | 2: | |
| 9083 | 3: a | |
| 9084 | ||
| 9085 | /TA]/ | |
| 9086 | The ACTA] comes | |
| 9087 | 0: TA] | |
| 9088 | ||
| 9089 | /TA]/<JS> | |
| 9090 | Failed: ] is an invalid data character in JavaScript compatibility mode at offset 2 | |
| 9091 | ||
| 9092 | /(?2)[]a()b](abc)/ | |
| 9093 | Failed: reference to non-existent subpattern at offset 3 | |
| 9094 | ||
| 9095 | /(?2)[^]a()b](abc)/ | |
| 9096 | Failed: reference to non-existent subpattern at offset 3 | |
| 9097 | ||
| 9098 | /(?1)[]a()b](abc)/ | |
| 9099 | abcbabc | |
| 9100 | 0: abcbabc | |
| 9101 | 1: abc | |
| 9102 | ** Failers | |
| 9103 | No match | |
| 9104 | abcXabc | |
| 9105 | No match | |
| 9106 | ||
| 9107 | /(?1)[^]a()b](abc)/ | |
| 9108 | abcXabc | |
| 9109 | 0: abcXabc | |
| 9110 | 1: abc | |
| 9111 | ** Failers | |
| 9112 | No match | |
| 9113 | abcbabc | |
| 9114 | No match | |
| 9115 | ||
| 9116 | /(?2)[]a()b](abc)(xyz)/ | |
| 9117 | xyzbabcxyz | |
| 9118 | 0: xyzbabcxyz | |
| 9119 | 1: abc | |
| 9120 | 2: xyz | |
| 9121 | ||
| 9122 | /(?&N)[]a(?<N>)](?<M>abc)/ | |
| 9123 | Failed: reference to non-existent subpattern at offset 4 | |
| 9124 | ||
| 9125 | /(?&N)[]a(?<N>)](abc)/ | |
| 9126 | Failed: reference to non-existent subpattern at offset 4 | |
| 9127 | ||
| 9128 | /a[]b/ | |
| 9129 | Failed: missing terminating ] for character class at offset 4 | |
| 9130 | ||
| 9131 | /a[^]b/ | |
| 9132 | Failed: missing terminating ] for character class at offset 5 | |
| 9133 | ||
| 9134 | /a[]b/<JS> | |
| 9135 | ** Failers | |
| 9136 | No match | |
| 9137 | ab | |
| 9138 | No match | |
| 9139 | ||
| 9140 | /a[]+b/<JS> | |
| 9141 | ** Failers | |
| 9142 | No match | |
| 9143 | ab | |
| 9144 | No match | |
| 9145 | ||
| 9146 | /a[]*+b/<JS> | |
| 9147 | ** Failers | |
| 9148 | No match | |
| 9149 | ab | |
| 9150 | No match | |
| 9151 | ||
| 9152 | /a[^]b/<JS> | |
| 9153 | aXb | |
| 9154 | 0: aXb | |
| 9155 | a\nb | |
| 9156 | 0: a\x0ab | |
| 9157 | ** Failers | |
| 9158 | No match | |
| 9159 | ab | |
| 9160 | No match | |
| 9161 | ||
| 9162 | /a[^]+b/<JS> | |
| 9163 | aXb | |
| 9164 | 0: aXb | |
| 9165 | a\nX\nXb | |
| 9166 | 0: a\x0aX\x0aXb | |
| 9167 | ** Failers | |
| 9168 | No match | |
| 9169 | ab | |
| 9170 | No match | |
| 9171 | ||
| 9172 | /a(?!)+b/ | |
| 9173 | Failed: nothing to repeat at offset 5 | |
| 9174 | ||
| 9175 | /a(*FAIL)+b/ | |
| 9176 | Failed: nothing to repeat at offset 8 | |
| 9177 | ||
| 9178 | /(abc|pqr|123){0}[xyz]/SI | |
| 9179 | Capturing subpattern count = 1 | |
| 9180 | No options | |
| 9181 | No first char | |
| 9182 | No need char | |
| 9183 | Subject length lower bound = 1 | |
| 9184 | Starting byte set: x y z | |
| 9185 | ||
| 9186 | /(?(?=.*b)b|^)/CI | |
| 9187 | Capturing subpattern count = 0 | |
| 9188 | Options: | |
| 9189 | No first char | |
| 9190 | No need char | |
| 9191 | adc | |
| 9192 | --->adc | |
| 9193 | +0 ^ (?(?=.*b)b|^) | |
| 9194 | +2 ^ (?=.*b) | |
| 9195 | +5 ^ .* | |
| 9196 | +7 ^ ^ b | |
| 9197 | +7 ^ ^ b | |
| 9198 | +7 ^^ b | |
| 9199 | +7 ^ b | |
| 9200 | +12 ^ ) | |
| 9201 | +13 ^ | |
| 9202 | 0: | |
| 9203 | abc | |
| 9204 | --->abc | |
| 9205 | +0 ^ (?(?=.*b)b|^) | |
| 9206 | +2 ^ (?=.*b) | |
| 9207 | +5 ^ .* | |
| 9208 | +7 ^ ^ b | |
| 9209 | +7 ^ ^ b | |
| 9210 | +7 ^^ b | |
| 9211 | +8 ^ ^ ) | |
| 9212 | +9 ^ b | |
| 9213 | +0 ^ (?(?=.*b)b|^) | |
| 9214 | +2 ^ (?=.*b) | |
| 9215 | +5 ^ .* | |
| 9216 | +7 ^ ^ b | |
| 9217 | +7 ^^ b | |
| 9218 | +7 ^ b | |
| 9219 | +8 ^^ ) | |
| 9220 | +9 ^ b | |
| 9221 | +10 ^^ | | |
| 9222 | +13 ^^ | |
| 9223 | 0: b | |
| 9224 | ||
| 9225 | /(?(?=b).*b|^d)/I | |
| 9226 | Capturing subpattern count = 0 | |
| 9227 | No options | |
| 9228 | No first char | |
| 9229 | No need char | |
| 9230 | ||
| 9231 | /(?(?=.*b).*b|^d)/I | |
| 9232 | Capturing subpattern count = 0 | |
| 9233 | No options | |
| 9234 | First char at start or follows newline | |
| 9235 | No need char | |
| 9236 | ||
| 9237 | /a?|b?/P | |
| 9238 | abc | |
| 9239 | 0: a | |
| 9240 | ** Failers | |
| 9241 | 0: | |
| 9242 | ddd\N | |
| 9243 | No match: POSIX code 17: match failed | |
| 9244 | ||
| 9245 | /xyz/C | |
| 9246 | xyz | |
| 9247 | --->xyz | |
| 9248 | +0 ^ x | |
| 9249 | +1 ^^ y | |
| 9250 | +2 ^ ^ z | |
| 9251 | +3 ^ ^ | |
| 9252 | 0: xyz | |
| 9253 | abcxyz | |
| 9254 | --->abcxyz | |
| 9255 | +0 ^ x | |
| 9256 | +1 ^^ y | |
| 9257 | +2 ^ ^ z | |
| 9258 | +3 ^ ^ | |
| 9259 | 0: xyz | |
| 9260 | abcxyz\Y | |
| 9261 | --->abcxyz | |
| 9262 | +0 ^ x | |
| 9263 | +0 ^ x | |
| 9264 | +0 ^ x | |
| 9265 | +0 ^ x | |
| 9266 | +1 ^^ y | |
| 9267 | +2 ^ ^ z | |
| 9268 | +3 ^ ^ | |
| 9269 | 0: xyz | |
| 9270 | ** Failers | |
| 9271 | No match | |
| 9272 | abc | |
| 9273 | No match | |
| 9274 | abc\Y | |
| 9275 | --->abc | |
| 9276 | +0 ^ x | |
| 9277 | +0 ^ x | |
| 9278 | +0 ^ x | |
| 9279 | +0 ^ x | |
| 9280 | No match | |
| 9281 | abcxypqr | |
| 9282 | No match | |
| 9283 | abcxypqr\Y | |
| 9284 | --->abcxypqr | |
| 9285 | +0 ^ x | |
| 9286 | +0 ^ x | |
| 9287 | +0 ^ x | |
| 9288 | +0 ^ x | |
| 9289 | +1 ^^ y | |
| 9290 | +2 ^ ^ z | |
| 9291 | +0 ^ x | |
| 9292 | +0 ^ x | |
| 9293 | +0 ^ x | |
| 9294 | +0 ^ x | |
| 9295 | +0 ^ x | |
| 9296 | No match | |
| 9297 | ||
| 9298 | /^"((?(?=[a])[^"])|b)*"$/C | |
| 9299 | "ab" | |
| 9300 | --->"ab" | |
| 9301 | +0 ^ ^ | |
| 9302 | +1 ^ " | |
| 9303 | +2 ^^ ((?(?=[a])[^"])|b)* | |
| 9304 | +3 ^^ (?(?=[a])[^"]) | |
| 9305 | +5 ^^ (?=[a]) | |
| 9306 | +8 ^^ [a] | |
| 9307 | +11 ^ ^ ) | |
| 9308 | +12 ^^ [^"] | |
| 9309 | +16 ^ ^ ) | |
| 9310 | +17 ^ ^ | | |
| 9311 | +3 ^ ^ (?(?=[a])[^"]) | |
| 9312 | +5 ^ ^ (?=[a]) | |
| 9313 | +8 ^ ^ [a] | |
| 9314 | +21 ^ ^ " | |
| 9315 | +18 ^ ^ b | |
| 9316 | +19 ^ ^ ) | |
| 9317 | +3 ^ ^ (?(?=[a])[^"]) | |
| 9318 | +5 ^ ^ (?=[a]) | |
| 9319 | +8 ^ ^ [a] | |
| 9320 | +21 ^ ^ " | |
| 9321 | +22 ^ ^ $ | |
| 9322 | +23 ^ ^ | |
| 9323 | 0: "ab" | |
| 9324 | 1: | |
| 9325 | ||
| 9326 | /^"((?(?=[a])[^"])|b)*"$/ | |
| 9327 | "ab" | |
| 9328 | 0: "ab" | |
| 9329 | 1: | |
| 9330 | ||
| 9331 | /^X(?5)(a)(?|(b)|(q))(c)(d)Y/ | |
| 9332 | Failed: reference to non-existent subpattern at offset 5 | |
| 9333 | ||
| 9334 | /^X(?&N)(a)(?|(b)|(q))(c)(d)(?<N>Y)/ | |
| 9335 | XYabcdY | |
| 9336 | 0: XYabcdY | |
| 9337 | 1: a | |
| 9338 | 2: b | |
| 9339 | 3: c | |
| 9340 | 4: d | |
| 9341 | 5: Y | |
| 9342 | ||
| 9343 | /Xa{2,4}b/ | |
| 9344 | X\P | |
| 9345 | Partial match: X | |
| 9346 | Xa\P | |
| 9347 | Partial match: Xa | |
| 9348 | Xaa\P | |
| 9349 | Partial match: Xaa | |
| 9350 | Xaaa\P | |
| 9351 | Partial match: Xaaa | |
| 9352 | Xaaaa\P | |
| 9353 | Partial match: Xaaaa | |
| 9354 | ||
| 9355 | /Xa{2,4}?b/ | |
| 9356 | X\P | |
| 9357 | Partial match: X | |
| 9358 | Xa\P | |
| 9359 | Partial match: Xa | |
| 9360 | Xaa\P | |
| 9361 | Partial match: Xaa | |
| 9362 | Xaaa\P | |
| 9363 | Partial match: Xaaa | |
| 9364 | Xaaaa\P | |
| 9365 | Partial match: Xaaaa | |
| 9366 | ||
| 9367 | /Xa{2,4}+b/ | |
| 9368 | X\P | |
| 9369 | Partial match: X | |
| 9370 | Xa\P | |
| 9371 | Partial match: Xa | |
| 9372 | Xaa\P | |
| 9373 | Partial match: Xaa | |
| 9374 | Xaaa\P | |
| 9375 | Partial match: Xaaa | |
| 9376 | Xaaaa\P | |
| 9377 | Partial match: Xaaaa | |
| 9378 | ||
| 9379 | /X\d{2,4}b/ | |
| 9380 | X\P | |
| 9381 | Partial match: X | |
| 9382 | X3\P | |
| 9383 | Partial match: X3 | |
| 9384 | X33\P | |
| 9385 | Partial match: X33 | |
| 9386 | X333\P | |
| 9387 | Partial match: X333 | |
| 9388 | X3333\P | |
| 9389 | Partial match: X3333 | |
| 9390 | ||
| 9391 | /X\d{2,4}?b/ | |
| 9392 | X\P | |
| 9393 | Partial match: X | |
| 9394 | X3\P | |
| 9395 | Partial match: X3 | |
| 9396 | X33\P | |
| 9397 | Partial match: X33 | |
| 9398 | X333\P | |
| 9399 | Partial match: X333 | |
| 9400 | X3333\P | |
| 9401 | Partial match: X3333 | |
| 9402 | ||
| 9403 | /X\d{2,4}+b/ | |
| 9404 | X\P | |
| 9405 | Partial match: X | |
| 9406 | X3\P | |
| 9407 | Partial match: X3 | |
| 9408 | X33\P | |
| 9409 | Partial match: X33 | |
| 9410 | X333\P | |
| 9411 | Partial match: X333 | |
| 9412 | X3333\P | |
| 9413 | Partial match: X3333 | |
| 9414 | ||
| 9415 | /X\D{2,4}b/ | |
| 9416 | X\P | |
| 9417 | Partial match: X | |
| 9418 | Xa\P | |
| 9419 | Partial match: Xa | |
| 9420 | Xaa\P | |
| 9421 | Partial match: Xaa | |
| 9422 | Xaaa\P | |
| 9423 | Partial match: Xaaa | |
| 9424 | Xaaaa\P | |
| 9425 | Partial match: Xaaaa | |
| 9426 | ||
| 9427 | /X\D{2,4}?b/ | |
| 9428 | X\P | |
| 9429 | Partial match: X | |
| 9430 | Xa\P | |
| 9431 | Partial match: Xa | |
| 9432 | Xaa\P | |
| 9433 | Partial match: Xaa | |
| 9434 | Xaaa\P | |
| 9435 | Partial match: Xaaa | |
| 9436 | Xaaaa\P | |
| 9437 | Partial match: Xaaaa | |
| 9438 | ||
| 9439 | /X\D{2,4}+b/ | |
| 9440 | X\P | |
| 9441 | Partial match: X | |
| 9442 | Xa\P | |
| 9443 | Partial match: Xa | |
| 9444 | Xaa\P | |
| 9445 | Partial match: Xaa | |
| 9446 | Xaaa\P | |
| 9447 | Partial match: Xaaa | |
| 9448 | Xaaaa\P | |
| 9449 | Partial match: Xaaaa | |
| 9450 | ||
| 9451 | /X[abc]{2,4}b/ | |
| 9452 | X\P | |
| 9453 | Partial match: X | |
| 9454 | Xa\P | |
| 9455 | Partial match: Xa | |
| 9456 | Xaa\P | |
| 9457 | Partial match: Xaa | |
| 9458 | Xaaa\P | |
| 9459 | Partial match: Xaaa | |
| 9460 | Xaaaa\P | |
| 9461 | Partial match: Xaaaa | |
| 9462 | ||
| 9463 | /X[abc]{2,4}?b/ | |
| 9464 | X\P | |
| 9465 | Partial match: X | |
| 9466 | Xa\P | |
| 9467 | Partial match: Xa | |
| 9468 | Xaa\P | |
| 9469 | Partial match: Xaa | |
| 9470 | Xaaa\P | |
| 9471 | Partial match: Xaaa | |
| 9472 | Xaaaa\P | |
| 9473 | Partial match: Xaaaa | |
| 9474 | ||
| 9475 | /X[abc]{2,4}+b/ | |
| 9476 | X\P | |
| 9477 | Partial match: X | |
| 9478 | Xa\P | |
| 9479 | Partial match: Xa | |
| 9480 | Xaa\P | |
| 9481 | Partial match: Xaa | |
| 9482 | Xaaa\P | |
| 9483 | Partial match: Xaaa | |
| 9484 | Xaaaa\P | |
| 9485 | Partial match: Xaaaa | |
| 9486 | ||
| 9487 | /X[^a]{2,4}b/ | |
| 9488 | X\P | |
| 9489 | Partial match: X | |
| 9490 | Xz\P | |
| 9491 | Partial match: Xz | |
| 9492 | Xzz\P | |
| 9493 | Partial match: Xzz | |
| 9494 | Xzzz\P | |
| 9495 | Partial match: Xzzz | |
| 9496 | Xzzzz\P | |
| 9497 | Partial match: Xzzzz | |
| 9498 | ||
| 9499 | /X[^a]{2,4}?b/ | |
| 9500 | X\P | |
| 9501 | Partial match: X | |
| 9502 | Xz\P | |
| 9503 | Partial match: Xz | |
| 9504 | Xzz\P | |
| 9505 | Partial match: Xzz | |
| 9506 | Xzzz\P | |
| 9507 | Partial match: Xzzz | |
| 9508 | Xzzzz\P | |
| 9509 | Partial match: Xzzzz | |
| 9510 | ||
| 9511 | /X[^a]{2,4}+b/ | |
| 9512 | X\P | |
| 9513 | Partial match: X | |
| 9514 | Xz\P | |
| 9515 | Partial match: Xz | |
| 9516 | Xzz\P | |
| 9517 | Partial match: Xzz | |
| 9518 | Xzzz\P | |
| 9519 | Partial match: Xzzz | |
| 9520 | Xzzzz\P | |
| 9521 | Partial match: Xzzzz | |
| 9522 | ||
| 9523 | /(Y)X\1{2,4}b/ | |
| 9524 | YX\P | |
| 9525 | Partial match: YX | |
| 9526 | YXY\P | |
| 9527 | Partial match: YXY | |
| 9528 | YXYY\P | |
| 9529 | Partial match: YXYY | |
| 9530 | YXYYY\P | |
| 9531 | Partial match: YXYYY | |
| 9532 | YXYYYY\P | |
| 9533 | Partial match: YXYYYY | |
| 9534 | ||
| 9535 | /(Y)X\1{2,4}?b/ | |
| 9536 | YX\P | |
| 9537 | Partial match: YX | |
| 9538 | YXY\P | |
| 9539 | Partial match: YXY | |
| 9540 | YXYY\P | |
| 9541 | Partial match: YXYY | |
| 9542 | YXYYY\P | |
| 9543 | Partial match: YXYYY | |
| 9544 | YXYYYY\P | |
| 9545 | Partial match: YXYYYY | |
| 9546 | ||
| 9547 | /(Y)X\1{2,4}+b/ | |
| 9548 | YX\P | |
| 9549 | Partial match: YX | |
| 9550 | YXY\P | |
| 9551 | Partial match: YXY | |
| 9552 | YXYY\P | |
| 9553 | Partial match: YXYY | |
| 9554 | YXYYY\P | |
| 9555 | Partial match: YXYYY | |
| 9556 | YXYYYY\P | |
| 9557 | Partial match: YXYYYY | |
| 9558 | ||
| 9559 | /\++\KZ|\d+X|9+Y/ | |
| 9560 | ++++123999\P | |
| 9561 | Partial match: 123999 | |
| 9562 | ++++123999Y\P | |
| 9563 | 0: 999Y | |
| 9564 | ++++Z1234\P | |
| 9565 | 0: Z | |
| 9566 | ||
| 9567 | /Z(*F)/ | |
| 9568 | Z\P | |
| 9569 | No match | |
| 9570 | ZA\P | |
| 9571 | No match | |
| 9572 | ||
| 9573 | /Z(?!)/ | |
| 9574 | Z\P | |
| 9575 | No match | |
| 9576 | ZA\P | |
| 9577 | No match | |
| 9578 | ||
| 9579 | /dog(sbody)?/ | |
| 9580 | dogs\P | |
| 9581 | 0: dog | |
| 9582 | dogs\P\P | |
| 9583 | Partial match: dogs | |
| 9584 | ||
| 9585 | /dog(sbody)??/ | |
| 9586 | dogs\P | |
| 9587 | 0: dog | |
| 9588 | dogs\P\P | |
| 9589 | 0: dog | |
| 9590 | ||
| 9591 | /dog|dogsbody/ | |
| 9592 | dogs\P | |
| 9593 | 0: dog | |
| 9594 | dogs\P\P | |
| 9595 | 0: dog | |
| 9596 | ||
| 9597 | /dogsbody|dog/ | |
| 9598 | dogs\P | |
| 9599 | 0: dog | |
| 9600 | dogs\P\P | |
| 9601 | Partial match: dogs | |
| 9602 | ||
| 9603 | /\bthe cat\b/ | |
| 9604 | the cat\P | |
| 9605 | 0: the cat | |
| 9606 | the cat\P\P | |
| 9607 | Partial match: the cat | |
| 9608 | ||
| 9609 | /abc/ | |
| 9610 | abc\P | |
| 9611 | 0: abc | |
| 9612 | abc\P\P | |
| 9613 | 0: abc | |
| 9614 | ||
| 9615 | /\w+A/P | |
| 9616 | CDAAAAB | |
| 9617 | 0: CDAAAA | |
| 9618 | ||
| 9619 | /\w+A/PU | |
| 9620 | CDAAAAB | |
| 9621 | 0: CDA | |
| 9622 | ||
| 9623 | /abc\K123/ | |
| 9624 | xyzabc123pqr | |
| 9625 | 0: 123 | |
| 9626 | xyzabc12\P | |
| 9627 | Partial match: abc12 | |
| 9628 | xyzabc12\P\P | |
| 9629 | Partial match: abc12 | |
| 9630 | ||
| 9631 | /(?<=abc)123/ | |
| 9632 | xyzabc123pqr | |
| 9633 | 0: 123 | |
| 9634 | xyzabc12\P | |
| 9635 | Partial match: abc12 | |
| 9636 | xyzabc12\P\P | |
| 9637 | Partial match: abc12 | |
| 9638 | ||
| 9639 | /\babc\b/ | |
| 9640 | +++abc+++ | |
| 9641 | 0: abc | |
| 9642 | +++ab\P | |
| 9643 | Partial match: +ab | |
| 9644 | +++ab\P\P | |
| 9645 | Partial match: +ab | |
| 9646 | ||
| 9647 | /(?&word)(?&element)(?(DEFINE)(?<element><[^m][^>]>[^<])(?<word>\w*+))/BZ | |
| 9648 | ------------------------------------------------------------------ | |
| 9649 | Bra | |
| 9650 | Once | |
| 9651 | Recurse | |
| 9652 | Ket | |
| 9653 | Once | |
| 9654 | Recurse | |
| 9655 | Ket | |
| 9656 | Cond | |
| 9657 | Cond def | |
| 9658 | CBra 1 | |
| 9659 | < | |
| 9660 | [^m] | |
| 9661 | [^>] | |
| 9662 | > | |
| 9663 | [^<] | |
| 9664 | Ket | |
| 9665 | CBra 2 | |
| 9666 | \w*+ | |
| 9667 | Ket | |
| 9668 | Ket | |
| 9669 | Ket | |
| 9670 | End | |
| 9671 | ------------------------------------------------------------------ | |
| 9672 | ||
| 9673 | /(?&word)(?&element)(?(DEFINE)(?<element><[^\d][^>]>[^<])(?<word>\w*+))/BZ | |
| 9674 | ------------------------------------------------------------------ | |
| 9675 | Bra | |
| 9676 | Once | |
| 9677 | Recurse | |
| 9678 | Ket | |
| 9679 | Once | |
| 9680 | Recurse | |
| 9681 | Ket | |
| 9682 | Cond | |
| 9683 | Cond def | |
| 9684 | CBra 1 | |
| 9685 | < | |
| 9686 | [\x00-/:-\xff] (neg) | |
| 9687 | [^>] | |
| 9688 | > | |
| 9689 | [^<] | |
| 9690 | Ket | |
| 9691 | CBra 2 | |
| 9692 | \w*+ | |
| 9693 | Ket | |
| 9694 | Ket | |
| 9695 | Ket | |
| 9696 | End | |
| 9697 | ------------------------------------------------------------------ | |
| 9698 | ||
| 9699 | /(ab)(x(y)z(cd(*ACCEPT)))pq/BZ | |
| 9700 | ------------------------------------------------------------------ | |
| 9701 | Bra | |
| 9702 | CBra 1 | |
| 9703 | ab | |
| 9704 | Ket | |
| 9705 | CBra 2 | |
| 9706 | x | |
| 9707 | CBra 3 | |
| 9708 | y | |
| 9709 | Ket | |
| 9710 | z | |
| 9711 | CBra 4 | |
| 9712 | cd | |
| 9713 | Close 4 | |
| 9714 | Close 2 | |
| 9715 | *ACCEPT | |
| 9716 | Ket | |
| 9717 | Ket | |
| 9718 | pq | |
| 9719 | Ket | |
| 9720 | End | |
| 9721 | ------------------------------------------------------------------ | |
| 9722 | ||
| 9723 | /abc\K/+ | |
| 9724 | abcdef | |
| 9725 | 0: | |
| 9726 | 0+ def | |
| 9727 | abcdef\N\N | |
| 9728 | 0: | |
| 9729 | 0+ def | |
| 9730 | xyzabcdef\N\N | |
| 9731 | 0: | |
| 9732 | 0+ def | |
| 9733 | ** Failers | |
| 9734 | No match | |
| 9735 | abcdef\N | |
| 9736 | No match | |
| 9737 | xyzabcdef\N | |
| 9738 | No match | |
| 9739 | ||
| 9740 | /^(?:(?=abc)|abc\K)/+ | |
| 9741 | abcdef | |
| 9742 | 0: | |
| 9743 | 0+ abcdef | |
| 9744 | abcdef\N\N | |
| 9745 | 0: | |
| 9746 | 0+ def | |
| 9747 | ** Failers | |
| 9748 | No match | |
| 9749 | abcdef\N | |
| 9750 | No match | |
| 9751 | ||
| 9752 | /a?b?/+ | |
| 9753 | xyz | |
| 9754 | 0: | |
| 9755 | 0+ xyz | |
| 9756 | xyzabc | |
| 9757 | 0: | |
| 9758 | 0+ xyzabc | |
| 9759 | xyzabc\N | |
| 9760 | 0: ab | |
| 9761 | 0+ c | |
| 9762 | xyzabc\N\N | |
| 9763 | 0: | |
| 9764 | 0+ yzabc | |
| 9765 | xyz\N\N | |
| 9766 | 0: | |
| 9767 | 0+ yz | |
| 9768 | ** Failers | |
| 9769 | 0: | |
| 9770 | 0+ ** Failers | |
| 9771 | xyz\N | |
| 9772 | No match | |
| 9773 | ||
| 9774 | /^a?b?/+ | |
| 9775 | xyz | |
| 9776 | 0: | |
| 9777 | 0+ xyz | |
| 9778 | xyzabc | |
| 9779 | 0: | |
| 9780 | 0+ xyzabc | |
| 9781 | ** Failers | |
| 9782 | 0: | |
| 9783 | 0+ ** Failers | |
| 9784 | xyzabc\N | |
| 9785 | No match | |
| 9786 | xyzabc\N\N | |
| 9787 | No match | |
| 9788 | xyz\N\N | |
| 9789 | No match | |
| 9790 | xyz\N | |
| 9791 | No match | |
| 9792 | ||
| 9793 | /^(?<name>a|b\g<name>c)/ | |
| 9794 | aaaa | |
| 9795 | 0: a | |
| 9796 | 1: a | |
| 9797 | bacxxx | |
| 9798 | 0: bac | |
| 9799 | 1: bac | |
| 9800 | bbaccxxx | |
| 9801 | 0: bbacc | |
| 9802 | 1: bbacc | |
| 9803 | bbbacccxx | |
| 9804 | 0: bbbaccc | |
| 9805 | 1: bbbaccc | |
| 9806 | ||
| 9807 | /^(?<name>a|b\g'name'c)/ | |
| 9808 | aaaa | |
| 9809 | 0: a | |
| 9810 | 1: a | |
| 9811 | bacxxx | |
| 9812 | 0: bac | |
| 9813 | 1: bac | |
| 9814 | bbaccxxx | |
| 9815 | 0: bbacc | |
| 9816 | 1: bbacc | |
| 9817 | bbbacccxx | |
| 9818 | 0: bbbaccc | |
| 9819 | 1: bbbaccc | |
| 9820 | ||
| 9821 | /^(a|b\g<1>c)/ | |
| 9822 | aaaa | |
| 9823 | 0: a | |
| 9824 | 1: a | |
| 9825 | bacxxx | |
| 9826 | 0: bac | |
| 9827 | 1: bac | |
| 9828 | bbaccxxx | |
| 9829 | 0: bbacc | |
| 9830 | 1: bbacc | |
| 9831 | bbbacccxx | |
| 9832 | 0: bbbaccc | |
| 9833 | 1: bbbaccc | |
| 9834 | ||
| 9835 | /^(a|b\g'1'c)/ | |
| 9836 | aaaa | |
| 9837 | 0: a | |
| 9838 | 1: a | |
| 9839 | bacxxx | |
| 9840 | 0: bac | |
| 9841 | 1: bac | |
| 9842 | bbaccxxx | |
| 9843 | 0: bbacc | |
| 9844 | 1: bbacc | |
| 9845 | bbbacccxx | |
| 9846 | 0: bbbaccc | |
| 9847 | 1: bbbaccc | |
| 9848 | ||
| 9849 | /^(a|b\g'-1'c)/ | |
| 9850 | aaaa | |
| 9851 | 0: a | |
| 9852 | 1: a | |
| 9853 | bacxxx | |
| 9854 | 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 | 2: a | |
| 9868 | bacxxx | |
| 9869 | 0: bac | |
| 9870 | 1: bac | |
| 9871 | 2: bac | |
| 9872 | bbaccxxx | |
| 9873 | 0: bbacc | |
| 9874 | 1: bbacc | |
| 9875 | 2: bbacc | |
| 9876 | bbbacccxx | |
| 9877 | 0: bbbaccc | |
| 9878 | 1: bbbaccc | |
| 9879 | 2: bbbaccc | |
| 9880 | ||
| 9881 | /(?-i:\g<name>)(?i:(?<name>a))/ | |
| 9882 | XaaX | |
| 9883 | 0: aa | |
| 9884 | 1: a | |
| 9885 | XAAX | |
| 9886 | 0: AA | |
| 9887 | 1: A | |
| 9888 | ||
| 9889 | /(?i:\g<name>)(?-i:(?<name>a))/ | |
| 9890 | XaaX | |
| 9891 | 0: aa | |
| 9892 | 1: a | |
| 9893 | ** Failers | |
| 9894 | No match | |
| 9895 | XAAX | |
| 9896 | No match | |
| 9897 | ||
| 9898 | /(?-i:\g<+1>)(?i:(a))/ | |
| 9899 | XaaX | |
| 9900 | 0: aa | |
| 9901 | 1: a | |
| 9902 | XAAX | |
| 9903 | 0: AA | |
| 9904 | 1: A | |
| 9905 | ||
| 9906 | /(?=(?<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>\})\}))\{/ | |
| 9907 | ||
| 9908 | /(?<n>a|b|c)\g<n>*/ | |
| 9909 | abc | |
| 9910 | 0: abc | |
| 9911 | 1: a | |
| 9912 | accccbbb | |
| 9913 | 0: accccbbb | |
| 9914 | 1: a | |
| 9915 | ||
| 9916 | /^X(?7)(a)(?|(b)|(q)(r)(s))(c)(d)(Y)/ | |
| 9917 | XYabcdY | |
| 9918 | 0: XYabcdY | |
| 9919 | 1: a | |
| 9920 | 2: b | |
| 9921 | 3: <unset> | |
| 9922 | 4: <unset> | |
| 9923 | 5: c | |
| 9924 | 6: d | |
| 9925 | 7: Y | |
| 9926 | ||
| 9927 | /(?<=b(?1)|zzz)(a)/ | |
| 9928 | xbaax | |
| 9929 | 0: a | |
| 9930 | 1: a | |
| 9931 | xzzzax | |
| 9932 | 0: a | |
| 9933 | 1: a | |
| 9934 | ||
| 9935 | /(a)(?<=b\1)/ | |
| 9936 | Failed: lookbehind assertion is not fixed length at offset 10 | |
| 9937 | ||
| 9938 | /(a)(?<=b+(?1))/ | |
| 9939 | Failed: lookbehind assertion is not fixed length at offset 13 | |
| 9940 | ||
| 9941 | /(a+)(?<=b(?1))/ | |
| 9942 | Failed: lookbehind assertion is not fixed length at offset 14 | |
| 9943 | ||
| 9944 | /(a(?<=b(?1)))/ | |
| 9945 | Failed: lookbehind assertion is not fixed length at offset 13 | |
| 9946 | ||
| 9947 | /(?<=b(?1))xyz/ | |
| 9948 | Failed: reference to non-existent subpattern at offset 8 | |
| 9949 | ||
| 9950 | /(?<=b(?1))xyz(b+)pqrstuvew/ | |
| 9951 | Failed: lookbehind assertion is not fixed length at offset 26 | |
| 9952 | ||
| 9953 | /(a|bc)\1/SI | |
| 9954 | Capturing subpattern count = 1 | |
| 9955 | Max back reference = 1 | |
| 9956 | No options | |
| 9957 | No first char | |
| 9958 | No need char | |
| 9959 | Subject length lower bound = 2 | |
| 9960 | Starting byte set: a b | |
| 9961 | ||
| 9962 | /(a|bc)\1{2,3}/SI | |
| 9963 | Capturing subpattern count = 1 | |
| 9964 | Max back reference = 1 | |
| 9965 | No options | |
| 9966 | No first char | |
| 9967 | No need char | |
| 9968 | Subject length lower bound = 3 |