/[pcre]/code/trunk/testdata/testoutput2
ViewVC logotype

Diff of /code/trunk/testdata/testoutput2

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 937 by ph10, Sun Feb 26 15:58:56 2012 UTC revision 1440 by zherczeg, Sat Jan 11 21:54:20 2014 UTC
# Line 7  Line 7 
7    
8      NOTE: This is a non-UTF set of tests. When UTF support is needed, use      NOTE: This is a non-UTF set of tests. When UTF support is needed, use
9      test 5, and if Unicode Property Support is needed, use test 7. --/      test 5, and if Unicode Property Support is needed, use test 7. --/
10    
11    < forbid 8W
12    
13  /(a)b|/I  /(a)b|/I
14  Capturing subpattern count = 1  Capturing subpattern count = 1
15    May match empty string
16  No options  No options
17  No first char  No first char
18  No need char  No need char
# Line 175  No options Line 178  No options
178  No first char  No first char
179  No need char  No need char
180  Subject length lower bound = 3  Subject length lower bound = 3
181  Starting byte set: c d e  Starting chars: c d e
182      this sentence eventually mentions a cat      this sentence eventually mentions a cat
183   0: cat   0: cat
184      this sentences rambles on and on for a while and then reaches elephant      this sentences rambles on and on for a while and then reaches elephant
# Line 187  Options: caseless Line 190  Options: caseless
190  No first char  No first char
191  No need char  No need char
192  Subject length lower bound = 3  Subject length lower bound = 3
193  Starting byte set: C D E c d e  Starting chars: C D E c d e
194      this sentence eventually mentions a CAT cat      this sentence eventually mentions a CAT cat
195   0: CAT   0: CAT
196      this sentences rambles on and on for a while to elephant ElePhant      this sentences rambles on and on for a while to elephant ElePhant
# Line 199  No options Line 202  No options
202  No first char  No first char
203  No need char  No need char
204  Subject length lower bound = 1  Subject length lower bound = 1
205  Starting byte set: a b c d  Starting chars: a b c d
206    
207  /(a|[^\dZ])/IS  /(a|[^\dZ])/IS
208  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 207  No options Line 210  No options
210  No first char  No first char
211  No need char  No need char
212  Subject length lower bound = 1  Subject length lower bound = 1
213  Starting byte set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a  Starting chars: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a
214    \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19    \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19
215    \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = >    \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = >
216    ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y [ \ ] ^ _ ` a b c d    ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y [ \ ] ^ _ ` a b c d
# Line 228  No options Line 231  No options
231  No first char  No first char
232  No need char  No need char
233  Subject length lower bound = 1  Subject length lower bound = 1
234  Starting byte set: \x09 \x0a \x0c \x0d \x20 a b  Starting chars: \x09 \x0a \x0b \x0c \x0d \x20 a b
235    
236  /(ab\2)/  /(ab\2)/
237  Failed: reference to non-existent subpattern at offset 6  Failed: reference to non-existent subpattern at offset 6
# Line 448  Need char = '=' Line 451  Need char = '='
451    
452  /(?<!bar|cattle)foo/I  /(?<!bar|cattle)foo/I
453  Capturing subpattern count = 0  Capturing subpattern count = 0
454    Max lookbehind = 6
455  No options  No options
456  First char = 'f'  First char = 'f'
457  Need char = 'o'  Need char = 'o'
 Max lookbehind = 6  
458      foo      foo
459   0: foo   0: foo
460      catfoo      catfoo
# Line 498  No need char Line 501  No need char
501    
502  /(?s).*/I  /(?s).*/I
503  Capturing subpattern count = 0  Capturing subpattern count = 0
504    May match empty string
505  Options: anchored dotall  Options: anchored dotall
506  No first char  No first char
507  No need char  No need char
# Line 508  No options Line 512  No options
512  No first char  No first char
513  No need char  No need char
514  Subject length lower bound = 1  Subject length lower bound = 1
515  Starting byte set: a b c d  Starting chars: a b c d
516    
517  /(?i)[abcd]/IS  /(?i)[abcd]/IS
518  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 516  Options: caseless Line 520  Options: caseless
520  No first char  No first char
521  No need char  No need char
522  Subject length lower bound = 1  Subject length lower bound = 1
523  Starting byte set: A B C D a b c d  Starting chars: A B C D a b c d
524    
525  /(?m)[xy]|(b|c)/IS  /(?m)[xy]|(b|c)/IS
526  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 524  Options: multiline Line 528  Options: multiline
528  No first char  No first char
529  No need char  No need char
530  Subject length lower bound = 1  Subject length lower bound = 1
531  Starting byte set: b c x y  Starting chars: b c x y
532    
533  /(^a|^b)/Im  /(^a|^b)/Im
534  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 545  Failed: conditional group contains more Line 549  Failed: conditional group contains more
549  Failed: conditional group contains more than two branches at offset 12  Failed: conditional group contains more than two branches at offset 12
550    
551  /(?(1a)/  /(?(1a)/
552  Failed: missing ) at offset 6  Failed: malformed number or name after (?( at offset 4
553    
554  /(?(1a))/  /(?(1a))/
555  Failed: reference to non-existent subpattern at offset 6  Failed: malformed number or name after (?( at offset 4
556    
557  /(?(?i))/  /(?(?i))/
558  Failed: assertion expected after (?( at offset 3  Failed: assertion expected after (?( at offset 3
# Line 587  No options Line 591  No options
591  First char = 'b' (caseless)  First char = 'b' (caseless)
592  No need char  No need char
593  Subject length lower bound = 1  Subject length lower bound = 1
594  No set of starting bytes  No starting char list
595    
596  /(a*b|(?i:c*(?-i)d))/IS  /(a*b|(?i:c*(?-i)d))/IS
597  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 595  No options Line 599  No options
599  No first char  No first char
600  No need char  No need char
601  Subject length lower bound = 1  Subject length lower bound = 1
602  Starting byte set: C a b c d  Starting chars: C a b c d
603    
604  /a$/I  /a$/I
605  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 631  No match Line 635  No match
635    
636  /\Aabc/Im  /\Aabc/Im
637  Capturing subpattern count = 0  Capturing subpattern count = 0
638    Max lookbehind = 1
639  Options: anchored multiline  Options: anchored multiline
640  No first char  No first char
641  No need char  No need char
# Line 656  No need char Line 661  No need char
661    
662  /(?<=foo)[ab]/IS  /(?<=foo)[ab]/IS
663  Capturing subpattern count = 0  Capturing subpattern count = 0
664    Max lookbehind = 3
665  No options  No options
666  No first char  No first char
667  No need char  No need char
 Max lookbehind = 3  
668  Subject length lower bound = 1  Subject length lower bound = 1
669  Starting byte set: a b  Starting chars: a b
670    
671  /(?<!foo)(alpha|omega)/IS  /(?<!foo)(alpha|omega)/IS
672  Capturing subpattern count = 1  Capturing subpattern count = 1
673    Max lookbehind = 3
674  No options  No options
675  No first char  No first char
676  Need char = 'a'  Need char = 'a'
 Max lookbehind = 3  
677  Subject length lower bound = 5  Subject length lower bound = 5
678  Starting byte set: a o  Starting chars: a o
679    
680  /(?!alphabet)[ab]/IS  /(?!alphabet)[ab]/IS
681  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 678  No options Line 683  No options
683  No first char  No first char
684  No need char  No need char
685  Subject length lower bound = 1  Subject length lower bound = 1
686  Starting byte set: a b  Starting chars: a b
687    
688  /(?<=foo\n)^bar/Im  /(?<=foo\n)^bar/Im
689  Capturing subpattern count = 0  Capturing subpattern count = 0
690    Max lookbehind = 4
691  Contains explicit CR or LF match  Contains explicit CR or LF match
692  Options: multiline  Options: multiline
693  No first char  No first char
694  Need char = 'r'  Need char = 'r'
 Max lookbehind = 4  
695      foo\nbarbar      foo\nbarbar
696   0: bar   0: bar
697      ***Failers      ***Failers
# Line 700  No match Line 705  No match
705    
706  /^(?<=foo\n)bar/Im  /^(?<=foo\n)bar/Im
707  Capturing subpattern count = 0  Capturing subpattern count = 0
708    Max lookbehind = 4
709  Contains explicit CR or LF match  Contains explicit CR or LF match
710  Options: multiline  Options: multiline
711  First char at start or follows newline  First char at start or follows newline
712  Need char = 'r'  Need char = 'r'
 Max lookbehind = 4  
713      foo\nbarbar      foo\nbarbar
714   0: bar   0: bar
715      ***Failers      ***Failers
# Line 743  Failed: lookbehind assertion is not fixe Line 748  Failed: lookbehind assertion is not fixe
748    
749  /(?<=bullock|donkey)-cart/I  /(?<=bullock|donkey)-cart/I
750  Capturing subpattern count = 0  Capturing subpattern count = 0
751    Max lookbehind = 7
752  No options  No options
753  First char = '-'  First char = '-'
754  Need char = 't'  Need char = 't'
 Max lookbehind = 7  
755      the bullock-cart      the bullock-cart
756   0: -cart   0: -cart
757      a donkey-cart race      a donkey-cart race
# Line 760  No match Line 765  No match
765    
766  /(?<=ab(?i)x|y|z)/I  /(?<=ab(?i)x|y|z)/I
767  Capturing subpattern count = 0  Capturing subpattern count = 0
768    Max lookbehind = 3
769    May match empty string
770  No options  No options
771  No first char  No first char
772  No need char  No need char
 Max lookbehind = 3  
773    
774  /(?>.*)(?<=(abcd)|(xyz))/I  /(?>.*)(?<=(abcd)|(xyz))/I
775  Capturing subpattern count = 2  Capturing subpattern count = 2
776    Max lookbehind = 4
777    May match empty string
778  No options  No options
779  First char at start or follows newline  No first char
780  No need char  No need char
 Max lookbehind = 4  
781      alphabetabcd      alphabetabcd
782   0: alphabetabcd   0: alphabetabcd
783   1: abcd   1: abcd
# Line 781  Max lookbehind = 4 Line 788  Max lookbehind = 4
788    
789  /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/I  /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/I
790  Capturing subpattern count = 0  Capturing subpattern count = 0
791    Max lookbehind = 4
792  No options  No options
793  First char = 'Z'  First char = 'Z'
794  Need char = 'Z'  Need char = 'Z'
 Max lookbehind = 4  
795      abxyZZ      abxyZZ
796   0: ZZ   0: ZZ
797      abXyZZ      abXyZZ
# Line 810  No match Line 817  No match
817    
818  /(?<!(foo)a)bar/I  /(?<!(foo)a)bar/I
819  Capturing subpattern count = 1  Capturing subpattern count = 1
820    Max lookbehind = 4
821  No options  No options
822  First char = 'b'  First char = 'b'
823  Need char = 'r'  Need char = 'r'
 Max lookbehind = 4  
824      bar      bar
825   0: bar   0: bar
826      foobbar      foobbar
# Line 823  No match Line 830  No match
830      fooabar      fooabar
831  No match  No match
832    
 /This one is here because Perl 5.005_02 doesn't fail it/I  
 Capturing subpattern count = 0  
 No options  
 First char = 'T'  
 Need char = 't'  
   
 /^(a)?(?(1)a|b)+$/I  
 Capturing subpattern count = 1  
 Options: anchored  
 No first char  
 No need char  
     *** Failers  
 No match  
     a  
 No match  
   
833  /This one is here because Perl behaves differently; see also the following/I  /This one is here because Perl behaves differently; see also the following/I
834  Capturing subpattern count = 0  Capturing subpattern count = 0
835  No options  No options
# Line 1212  No need char Line 1203  No need char
1203    
1204  /\Biss\B/I+  /\Biss\B/I+
1205  Capturing subpattern count = 0  Capturing subpattern count = 0
1206    Max lookbehind = 1
1207  No options  No options
1208  First char = 'i'  First char = 'i'
1209  Need char = 's'  Need char = 's'
 Max lookbehind = 1  
1210      Mississippi      Mississippi
1211   0: iss   0: iss
1212   0+ issippi   0+ issippi
# Line 1233  Need char = 's' Line 1224  Need char = 's'
1224    
1225  /\Biss\B/IG+  /\Biss\B/IG+
1226  Capturing subpattern count = 0  Capturing subpattern count = 0
1227    Max lookbehind = 1
1228  No options  No options
1229  First char = 'i'  First char = 'i'
1230  Need char = 's'  Need char = 's'
 Max lookbehind = 1  
1231      Mississippi      Mississippi
1232   0: iss   0: iss
1233   0+ issippi   0+ issippi
1234    
1235  /\Biss\B/Ig+  /\Biss\B/Ig+
1236  Capturing subpattern count = 0  Capturing subpattern count = 0
1237    Max lookbehind = 1
1238  No options  No options
1239  First char = 'i'  First char = 'i'
1240  Need char = 's'  Need char = 's'
 Max lookbehind = 1  
1241      Mississippi      Mississippi
1242   0: iss   0: iss
1243   0+ issippi   0+ issippi
# Line 1259  No match Line 1250  No match
1250    
1251  /(?<=[Ms])iss/Ig+  /(?<=[Ms])iss/Ig+
1252  Capturing subpattern count = 0  Capturing subpattern count = 0
1253    Max lookbehind = 1
1254  No options  No options
1255  First char = 'i'  First char = 'i'
1256  Need char = 's'  Need char = 's'
 Max lookbehind = 1  
1257      Mississippi      Mississippi
1258   0: iss   0: iss
1259   0+ issippi   0+ issippi
# Line 1271  Max lookbehind = 1 Line 1262  Max lookbehind = 1
1262    
1263  /(?<=[Ms])iss/IG+  /(?<=[Ms])iss/IG+
1264  Capturing subpattern count = 0  Capturing subpattern count = 0
1265    Max lookbehind = 1
1266  No options  No options
1267  First char = 'i'  First char = 'i'
1268  Need char = 's'  Need char = 's'
 Max lookbehind = 1  
1269      Mississippi      Mississippi
1270   0: iss   0: iss
1271   0+ issippi   0+ issippi
# Line 1392  Need char = 'c' Line 1383  Need char = 'c'
1383    
1384  /a*/I  /a*/I
1385  Capturing subpattern count = 0  Capturing subpattern count = 0
1386    May match empty string
1387  No options  No options
1388  No first char  No first char
1389  No need char  No need char
# Line 1410  Need char = 'a' Line 1402  Need char = 'a'
1402    
1403  /a{0,3}/I  /a{0,3}/I
1404  Capturing subpattern count = 0  Capturing subpattern count = 0
1405    May match empty string
1406  No options  No options
1407  No first char  No first char
1408  No need char  No need char
# Line 1452  Need char = 'r' Line 1445  Need char = 'r'
1445    
1446  /...(?<=abc)/I  /...(?<=abc)/I
1447  Capturing subpattern count = 0  Capturing subpattern count = 0
1448    Max lookbehind = 3
1449  No options  No options
1450  No first char  No first char
1451  No need char  No need char
 Max lookbehind = 3  
1452    
1453  /abc(?!pqr)/I  /abc(?!pqr)/I
1454  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 1609  Need char = 'e' Line 1602  Need char = 'e'
1602    
1603  /a?b?/I  /a?b?/I
1604  Capturing subpattern count = 0  Capturing subpattern count = 0
1605    May match empty string
1606  No options  No options
1607  No first char  No first char
1608  No need char  No need char
# Line 1627  No match Line 1621  No match
1621    
1622  /|-/I  /|-/I
1623  Capturing subpattern count = 0  Capturing subpattern count = 0
1624    May match empty string
1625  No options  No options
1626  No first char  No first char
1627  No need char  No need char
# Line 1647  Options: anchored Line 1642  Options: anchored
1642  No first char  No first char
1643  Need char = 'd'  Need char = 'd'
1644  Subject length lower bound = 4  Subject length lower bound = 4
1645  No set of starting bytes  No starting char list
1646    
1647  /\(             # ( at start  /\(             # ( at start
1648    (?:           # Non-capturing bracket    (?:           # Non-capturing bracket
# Line 1880  No options Line 1875  No options
1875  No first char  No first char
1876  No need char  No need char
1877  Subject length lower bound = 1  Subject length lower bound = 1
1878  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 chars: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
1879    _ a b c d e f g h i j k l m n o p q r s t u v w x y z    _ a b c d e f g h i j k l m n o p q r s t u v w x y z
1880    
1881  /^[[:ascii:]]/DZ  /^[[:ascii:]]/DZ
# Line 1942  No options Line 1937  No options
1937  No first char  No first char
1938  No need char  No need char
1939  Subject length lower bound = 1  Subject length lower bound = 1
1940  Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20  Starting chars: \x09 \x0a \x0b \x0c \x0d \x20
1941    
1942  /^[[:cntrl:]]/DZ  /^[[:cntrl:]]/DZ
1943  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2640  Need char = '-' Line 2635  Need char = '-'
2635          End          End
2636  ------------------------------------------------------------------  ------------------------------------------------------------------
2637  Capturing subpattern count = 0  Capturing subpattern count = 0
2638    May match empty string
2639  Options: extended  Options: extended
2640  No first char  No first char
2641  No need char  No need char
# Line 2659  No need char Line 2655  No need char
2655  /[\s]/DZ  /[\s]/DZ
2656  ------------------------------------------------------------------  ------------------------------------------------------------------
2657          Bra          Bra
2658          [\x09\x0a\x0c\x0d ]          [\x09-\x0d ]
2659          Ket          Ket
2660          End          End
2661  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2671  No need char Line 2667  No need char
2667  /[\S]/DZ  /[\S]/DZ
2668  ------------------------------------------------------------------  ------------------------------------------------------------------
2669          Bra          Bra
2670          [\x00-\x08\x0b\x0e-\x1f!-\xff] (neg)          [\x00-\x08\x0e-\x1f!-\xff] (neg)
2671          Ket          Ket
2672          End          End
2673  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2782  Need char = '0' Line 2778  Need char = '0'
2778          End          End
2779  ------------------------------------------------------------------  ------------------------------------------------------------------
2780  Capturing subpattern count = 0  Capturing subpattern count = 0
2781    May match empty string
2782  No options  No options
2783  No first char  No first char
2784  No need char  No need char
# Line 2881  No match Line 2878  No match
2878          End          End
2879  ------------------------------------------------------------------  ------------------------------------------------------------------
2880  Capturing subpattern count = 0  Capturing subpattern count = 0
2881    May match empty string
2882  No options  No options
2883  No first char  No first char
2884  No need char  No need char
# Line 2897  No options Line 2895  No options
2895  First char = 'x'  First char = 'x'
2896  No need char  No need char
2897    
2898  /x{1,3}+/DZ  /x{1,3}+/BZO
2899  ------------------------------------------------------------------  ------------------------------------------------------------------
2900          Bra          Bra
         Once  
2901          x          x
2902          x{0,2}          x{0,2}+
2903          Ket          Ket
2904            End
2905    ------------------------------------------------------------------
2906    
2907    /x{1,3}+/BZOi
2908    ------------------------------------------------------------------
2909            Bra
2910         /i x
2911         /i x{0,2}+
2912            Ket
2913            End
2914    ------------------------------------------------------------------
2915    
2916    /[^x]{1,3}+/BZO
2917    ------------------------------------------------------------------
2918            Bra
2919            [^x]
2920            [^x]{0,2}+
2921            Ket
2922            End
2923    ------------------------------------------------------------------
2924    
2925    /[^x]{1,3}+/BZOi
2926    ------------------------------------------------------------------
2927            Bra
2928         /i [^x]
2929         /i [^x]{0,2}+
2930          Ket          Ket
2931          End          End
2932  ------------------------------------------------------------------  ------------------------------------------------------------------
 Capturing subpattern count = 0  
 No options  
 First char = 'x'  
 No need char  
2933    
2934  /(x)*+/DZ  /(x)*+/DZ
2935  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2923  No need char Line 2942  No need char
2942          End          End
2943  ------------------------------------------------------------------  ------------------------------------------------------------------
2944  Capturing subpattern count = 1  Capturing subpattern count = 1
2945    May match empty string
2946  No options  No options
2947  No first char  No first char
2948  No need char  No need char
2949    
2950  /^(\w++|\s++)*$/I  /^(\w++|\s++)*$/I
2951  Capturing subpattern count = 1  Capturing subpattern count = 1
2952    May match empty string
2953  Options: anchored  Options: anchored
2954  No first char  No first char
2955  No need char  No need char
# Line 3090  Need char = 'b' Line 3111  Need char = 'b'
3111          [bc]+          [bc]+
3112          Ket          Ket
3113          CBra 5          CBra 5
3114          \w*          \w*+
3115          Ket          Ket
3116          Ket          Ket
3117          Ket          Ket
# Line 3169  Failed: missing terminating ] for charac Line 3190  Failed: missing terminating ] for charac
3190  /[\s]/IDZ  /[\s]/IDZ
3191  ------------------------------------------------------------------  ------------------------------------------------------------------
3192          Bra          Bra
3193          [\x09\x0a\x0c\x0d ]          [\x09-\x0d ]
3194          Ket          Ket
3195          End          End
3196  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 3233  No match Line 3254  No match
3254          End          End
3255  ------------------------------------------------------------------  ------------------------------------------------------------------
3256  Capturing subpattern count = 0  Capturing subpattern count = 0
3257    Max lookbehind = 1
3258  No options  No options
3259  First char = '8'  First char = '8'
3260  Need char = 'X'  Need char = 'X'
 Max lookbehind = 1  
3261    
3262  |\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|IDZ  |\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|IDZ
3263  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 3247  Max lookbehind = 1 Line 3268  Max lookbehind = 1
3268          End          End
3269  ------------------------------------------------------------------  ------------------------------------------------------------------
3270  Capturing subpattern count = 0  Capturing subpattern count = 0
3271    Max lookbehind = 1
3272  No options  No options
3273  First char = '$'  First char = '$'
3274  Need char = 'X'  Need char = 'X'
 Max lookbehind = 1  
3275    
3276  /(.*)\d+\1/I  /(.*)\d+\1/I
3277  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 3304  Need char = 'b' Line 3325  Need char = 'b'
3325    
3326  /(?=a).*/I  /(?=a).*/I
3327  Capturing subpattern count = 0  Capturing subpattern count = 0
3328    May match empty string
3329  No options  No options
3330  First char = 'a'  First char = 'a'
3331  No need char  No need char
# Line 3322  Need char = 'z' (caseless) Line 3344  Need char = 'z' (caseless)
3344    
3345  /(?=a)(?=b)/I  /(?=a)(?=b)/I
3346  Capturing subpattern count = 0  Capturing subpattern count = 0
3347    May match empty string
3348  No options  No options
3349  First char = 'a'  First char = 'a'
3350  No need char  No need char
# Line 3388  Need char = 'a' Line 3411  Need char = 'a'
3411    
3412  /(a)*/I  /(a)*/I
3413  Capturing subpattern count = 1  Capturing subpattern count = 1
3414    May match empty string
3415  No options  No options
3416  No first char  No first char
3417  No need char  No need char
# Line 3410  No options Line 3434  No options
3434  No first char  No first char
3435  No need char  No need char
3436  Subject length lower bound = 1  Subject length lower bound = 1
3437  Starting byte set: a b  Starting chars: a b
3438    
3439  /[^a]/I  /[^a]/I
3440  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 3430  No options Line 3454  No options
3454  No first char  No first char
3455  Need char = '6'  Need char = '6'
3456  Subject length lower bound = 4  Subject length lower bound = 4
3457  Starting byte set: 0 1 2 3 4 5 6 7 8 9  Starting chars: 0 1 2 3 4 5 6 7 8 9
3458    
3459  /a^b/I  /a^b/I
3460  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 3464  Options: caseless Line 3488  Options: caseless
3488  No first char  No first char
3489  No need char  No need char
3490  Subject length lower bound = 1  Subject length lower bound = 1
3491  Starting byte set: A B a b  Starting chars: A B a b
3492    
3493  /[ab](?i)cd/IS  /[ab](?i)cd/IS
3494  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 3472  No options Line 3496  No options
3496  No first char  No first char
3497  Need char = 'd' (caseless)  Need char = 'd' (caseless)
3498  Subject length lower bound = 3  Subject length lower bound = 3
3499  Starting byte set: a b  Starting chars: a b
3500    
3501  /abc(?C)def/I  /abc(?C)def/I
3502  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 3513  No options Line 3537  No options
3537  No first char  No first char
3538  Need char = 'f'  Need char = 'f'
3539  Subject length lower bound = 7  Subject length lower bound = 7
3540  Starting byte set: 0 1 2 3 4 5 6 7 8 9  Starting chars: 0 1 2 3 4 5 6 7 8 9
3541      1234abcdef      1234abcdef
3542  --->1234abcdef  --->1234abcdef
3543    1 ^              \d    1 ^              \d
# Line 3616  No match Line 3640  No match
3640    
3641  /(?C0)(abc(?C1))*/I  /(?C0)(abc(?C1))*/I
3642  Capturing subpattern count = 1  Capturing subpattern count = 1
3643    May match empty string
3644  No options  No options
3645  No first char  No first char
3646  No need char  No need char
# Line 3649  No need char Line 3674  No need char
3674    
3675  /(\d{3}(?C))*/I  /(\d{3}(?C))*/I
3676  Capturing subpattern count = 1  Capturing subpattern count = 1
3677    May match empty string
3678  No options  No options
3679  No first char  No first char
3680  No need char  No need char
# Line 3763  Callout 2: last capture = -1 Line 3789  Callout 2: last capture = -1
3789    
3790  /(?<=(abc)(?C))xyz/I  /(?<=(abc)(?C))xyz/I
3791  Capturing subpattern count = 1  Capturing subpattern count = 1
3792    Max lookbehind = 3
3793  No options  No options
3794  First char = 'x'  First char = 'x'
3795  Need char = 'z'  Need char = 'z'
 Max lookbehind = 3  
3796     abcxyz\C+     abcxyz\C+
3797  Callout 0: last capture = 1  Callout 0: last capture = 1
3798   0: <unset>   0: <unset>
# Line 3785  Need char = 'b' Line 3811  Need char = 'b'
3811  --->abbbbbccc  --->abbbbbccc
3812    1 ^        ^    1 ^        ^
3813  Callout data = 1  Callout data = 1
   1 ^       ^  
 Callout data = 1  
   1 ^      ^  
 Callout data = 1  
   1 ^     ^  
 Callout data = 1  
   1 ^    ^  
 Callout data = 1  
   1 ^   ^  
 Callout data = 1  
   1 ^  ^  
 Callout data = 1  
   1 ^ ^  
 Callout data = 1  
3814  No match  No match
3815    
3816  /a(b+?)(c*?)(?C1)/I  /a(b+?)(c*?)(?C1)/I
# Line 3844  No options Line 3856  No options
3856  No first char  No first char
3857  No need char  No need char
3858  Subject length lower bound = 1  Subject length lower bound = 1
3859  Starting byte set: a b  Starting chars: a b
3860    
3861  /(?R)/I  /(?R)/I
3862  Failed: recursive call could loop indefinitely at offset 3  Failed: recursive call could loop indefinitely at offset 3
# Line 3895  Failed: recursive call could loop indefi Line 3907  Failed: recursive call could loop indefi
3907    
3908  /^([^()]|\((?1)*\))*$/I  /^([^()]|\((?1)*\))*$/I
3909  Capturing subpattern count = 1  Capturing subpattern count = 1
3910    May match empty string
3911  Options: anchored  Options: anchored
3912  No first char  No first char
3913  No need char  No need char
# Line 4174  Named capturing subpatterns: Line 4187  Named capturing subpatterns:
4187    one     1    one     1
4188    three   3    three   3
4189    two     2    two     2
4190    May match empty string
4191  Options: anchored caseless  Options: anchored caseless
4192  No first char  No first char
4193  No need char  No need char
# Line 4273  Need char = 'z' Line 4287  Need char = 'z'
4287    
4288  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is
4289  Capturing subpattern count = 31  Capturing subpattern count = 31
4290    May match empty string
4291  Options: anchored dotall  Options: anchored dotall
4292  No first char  No first char
4293  No need char  No need char
# Line 4280  No need char Line 4295  No need char
4295  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is
4296  Capturing subpattern count = 31  Capturing subpattern count = 31
4297  Max back reference = 31  Max back reference = 31
4298    May match empty string
4299  Options: dotall  Options: dotall
4300  No first char  No first char
4301  No need char  No need char
# Line 4287  No need char Line 4303  No need char
4303  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is
4304  Capturing subpattern count = 32  Capturing subpattern count = 32
4305  Max back reference = 32  Max back reference = 32
4306    May match empty string
4307  Options: dotall  Options: dotall
4308  No first char  No first char
4309  No need char  No need char
# Line 4363  Minimum match() recursion limit = 6 Line 4380  Minimum match() recursion limit = 6
4380   1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa   1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
4381    aaaaaaaaaaaaaz\M    aaaaaaaaaaaaaz\M
4382  Minimum match() limit = 32768  Minimum match() limit = 32768
4383  Minimum match() recursion limit = 42  Minimum match() recursion limit = 29
4384  No match  No match
4385    
4386  /(aaa(?C1)bbb|ab)/I  /(aaa(?C1)bbb|ab)/I
# Line 4438  Capturing subpattern count = 2 Line 4455  Capturing subpattern count = 2
4455  Named capturing subpatterns:  Named capturing subpatterns:
4456    Tes    1    Tes    1
4457    Test   2    Test   2
4458    May match empty string
4459  No options  No options
4460  No first char  No first char
4461  No need char  No need char
# Line 4456  Capturing subpattern count = 2 Line 4474  Capturing subpattern count = 2
4474  Named capturing subpatterns:  Named capturing subpatterns:
4475    Tes    2    Tes    2
4476    Test   1    Test   1
4477    May match empty string
4478  No options  No options
4479  No first char  No first char
4480  No need char  No need char
# Line 4533  Need char = ']' Line 4552  Need char = ']'
4552          End          End
4553  ------------------------------------------------------------------  ------------------------------------------------------------------
4554  Capturing subpattern count = 2  Capturing subpattern count = 2
4555    May match empty string
4556  No options  No options
4557  No first char  No first char
4558  No need char  No need char
# Line 4553  No need char Line 4573  No need char
4573          End          End
4574  ------------------------------------------------------------------  ------------------------------------------------------------------
4575  Capturing subpattern count = 2  Capturing subpattern count = 2
4576    May match empty string
4577  No options  No options
4578  No first char  No first char
4579  No need char  No need char
# Line 4584  No need char Line 4605  No need char
4605          End          End
4606  ------------------------------------------------------------------  ------------------------------------------------------------------
4607  Capturing subpattern count = 2  Capturing subpattern count = 2
4608    May match empty string
4609  No options  No options
4610  No first char  No first char
4611  No need char  No need char
# Line 4591  No need char Line 4613  No need char
4613  /[ab]{1}+/DZ  /[ab]{1}+/DZ
4614  ------------------------------------------------------------------  ------------------------------------------------------------------
4615          Bra          Bra
4616          Once          [ab]{1,1}+
         [ab]{1,1}  
         Ket  
4617          Ket          Ket
4618          End          End
4619  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 4617  Options: caseless Line 4637  Options: caseless
4637  No first char  No first char
4638  Need char = 'g' (caseless)  Need char = 'g' (caseless)
4639  Subject length lower bound = 8  Subject length lower bound = 8
4640  No set of starting bytes  No starting char list
4641       Baby Bjorn Active Carrier - With free SHIPPING!!       Baby Bjorn Active Carrier - With free SHIPPING!!
4642   0: Baby Bjorn Active Carrier - With free SHIPPING!!   0: Baby Bjorn Active Carrier - With free SHIPPING!!
4643   1: Baby Bjorn Active Carrier - With free SHIPPING!!   1: Baby Bjorn Active Carrier - With free SHIPPING!!
# Line 4636  No options Line 4656  No options
4656  No first char  No first char
4657  Need char = 'b'  Need char = 'b'
4658  Subject length lower bound = 1  Subject length lower bound = 1
4659  No set of starting bytes  No starting char list
4660    
4661  /(a|b)*.?c/ISDZ  /(a|b)*.?c/ISDZ
4662  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 4657  No options Line 4677  No options
4677  No first char  No first char
4678  Need char = 'c'  Need char = 'c'
4679  Subject length lower bound = 1  Subject length lower bound = 1
4680  No set of starting bytes  No starting char list
4681    
4682  /abc(?C255)de(?C)f/DZ  /abc(?C255)de(?C)f/DZ
4683  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 4730  Options: Line 4750  Options:
4750  No first char  No first char
4751  Need char = 'b'  Need char = 'b'
4752  Subject length lower bound = 1  Subject length lower bound = 1
4753  Starting byte set: a b  Starting chars: a b
4754    ab    ab
4755  --->ab  --->ab
4756   +0 ^      a*   +0 ^      a*
# Line 4873  Options: Line 4893  Options:
4893  No first char  No first char
4894  Need char = 'x'  Need char = 'x'
4895  Subject length lower bound = 4  Subject length lower bound = 4
4896  Starting byte set: a d  Starting chars: a d
4897    abcx    abcx
4898  --->abcx  --->abcx
4899   +0 ^        (abc|def)   +0 ^        (abc|def)
# Line 5107  Options: Line 5127  Options:
5127  No first char  No first char
5128  No need char  No need char
5129  Subject length lower bound = 2  Subject length lower bound = 2
5130  Starting byte set: a b x  Starting chars: a b x
5131      Note: that { does NOT introduce a quantifier      Note: that { does NOT introduce a quantifier
5132  --->Note: that { does NOT introduce a quantifier  --->Note: that { does NOT introduce a quantifier
5133   +0         ^                                        ([ab]{,4}c|xy)   +0         ^                                        ([ab]{,4}c|xy)
# Line 5305  No match Line 5325  No match
5325          Callout 255 0 21          Callout 255 0 21
5326          CBra 1          CBra 1
5327          Callout 255 1 9          Callout 255 1 9
5328          [ab]{1,4}          [ab]{1,4}+
5329          Callout 255 10 1          Callout 255 10 1
5330          c          c
5331          Callout 255 11 0          Callout 255 11 0
# Line 5318  No match Line 5338  No match
5338          Ket          Ket
5339          CBra 1          CBra 1
5340          Callout 255 1 9          Callout 255 1 9
5341          [ab]{1,4}          [ab]{1,4}+
5342          Callout 255 10 1          Callout 255 10 1
5343          c          c
5344          Callout 255 11 0          Callout 255 11 0
# Line 5331  No match Line 5351  No match
5351          Ket          Ket
5352          CBra 1          CBra 1
5353          Callout 255 1 9          Callout 255 1 9
5354          [ab]{1,4}          [ab]{1,4}+
5355          Callout 255 10 1          Callout 255 10 1
5356          c          c
5357          Callout 255 11 0          Callout 255 11 0
# Line 5344  No match Line 5364  No match
5364          Ket          Ket
5365          CBra 1          CBra 1
5366          Callout 255 1 9          Callout 255 1 9
5367          [ab]{1,4}          [ab]{1,4}+
5368          Callout 255 10 1          Callout 255 10 1
5369          c          c
5370          Callout 255 11 0          Callout 255 11 0
# Line 5358  No match Line 5378  No match
5378          Braminzero          Braminzero
5379          CBra 1          CBra 1
5380          Callout 255 1 9          Callout 255 1 9
5381          [ab]{1,4}          [ab]{1,4}+
5382          Callout 255 10 1          Callout 255 10 1
5383          c          c
5384          Callout 255 11 0          Callout 255 11 0
# Line 5411  Need char = '3' Line 5431  Need char = '3'
5431    
5432  /\b.*/I  /\b.*/I
5433  Capturing subpattern count = 0  Capturing subpattern count = 0
5434    Max lookbehind = 1
5435    May match empty string
5436  No options  No options
5437  No first char  No first char
5438  No need char  No need char
 Max lookbehind = 1  
5439    ab cd\>1    ab cd\>1
5440   0:  cd   0:  cd
5441    
5442  /\b.*/Is  /\b.*/Is
5443  Capturing subpattern count = 0  Capturing subpattern count = 0
5444    Max lookbehind = 1
5445    May match empty string
5446  Options: dotall  Options: dotall
5447  No first char  No first char
5448  No need char  No need char
 Max lookbehind = 1  
5449    ab cd\>1    ab cd\>1
5450   0:  cd   0:  cd
5451    
5452  /(?!.bcd).*/I  /(?!.bcd).*/I
5453  Capturing subpattern count = 0  Capturing subpattern count = 0
5454    May match empty string
5455  No options  No options
5456  No first char  No first char
5457  No need char  No need char
# Line 5584  No options Line 5607  No options
5607  First char = 'a'  First char = 'a'
5608  Need char = 'c'  Need char = 'c'
5609  Subject length lower bound = 3  Subject length lower bound = 3
5610  No set of starting bytes  No starting char list
5611  Compiled pattern written to testsavedregex  Compiled pattern written to testsavedregex
5612  Study data written to testsavedregex  Study data written to testsavedregex
5613  <testsavedregex  <testsavedregex
# Line 5619  No options Line 5642  No options
5642  First char = 'a'  First char = 'a'
5643  Need char = 'c'  Need char = 'c'
5644  Subject length lower bound = 3  Subject length lower bound = 3
5645  No set of starting bytes  No starting char list
5646  Compiled pattern written to testsavedregex  Compiled pattern written to testsavedregex
5647  Study data written to testsavedregex  Study data written to testsavedregex
5648  <testsavedregex  <testsavedregex
# Line 5654  No options Line 5677  No options
5677  No first char  No first char
5678  No need char  No need char
5679  Subject length lower bound = 1  Subject length lower bound = 1
5680  Starting byte set: a b  Starting chars: a b
5681  Compiled pattern written to testsavedregex  Compiled pattern written to testsavedregex
5682  Study data written to testsavedregex  Study data written to testsavedregex
5683  <testsavedregex  <testsavedregex
# Line 5693  No options Line 5716  No options
5716  No first char  No first char
5717  No need char  No need char
5718  Subject length lower bound = 1  Subject length lower bound = 1
5719  Starting byte set: a b  Starting chars: a b
5720  Compiled pattern written to testsavedregex  Compiled pattern written to testsavedregex
5721  Study data written to testsavedregex  Study data written to testsavedregex
5722  <testsavedregex  <testsavedregex
# Line 6017  Matched, but too many substrings Line 6040  Matched, but too many substrings
6040    
6041  /[^()]*(?:\((?R)\)[^()]*)*/I  /[^()]*(?:\((?R)\)[^()]*)*/I
6042  Capturing subpattern count = 0  Capturing subpattern count = 0
6043    May match empty string
6044  No options  No options
6045  No first char  No first char
6046  No need char  No need char
# Line 6029  No need char Line 6053  No need char
6053    
6054  /[^()]*(?:\((?>(?R))\)[^()]*)*/I  /[^()]*(?:\((?>(?R))\)[^()]*)*/I
6055  Capturing subpattern count = 0  Capturing subpattern count = 0
6056    May match empty string
6057  No options  No options
6058  No first char  No first char
6059  No need char  No need char
# Line 6039  No need char Line 6064  No need char
6064    
6065  /[^()]*(?:\((?R)\))*[^()]*/I  /[^()]*(?:\((?R)\))*[^()]*/I
6066  Capturing subpattern count = 0  Capturing subpattern count = 0
6067    May match empty string
6068  No options  No options
6069  No first char  No first char
6070  No need char  No need char
# Line 6049  No need char Line 6075  No need char
6075    
6076  /(?:\((?R)\))*[^()]*/I  /(?:\((?R)\))*[^()]*/I
6077  Capturing subpattern count = 0  Capturing subpattern count = 0
6078    May match empty string
6079  No options  No options
6080  No first char  No first char
6081  No need char  No need char
# Line 6061  No need char Line 6088  No need char
6088    
6089  /(?:\((?R)\))|[^()]*/I  /(?:\((?R)\))|[^()]*/I
6090  Capturing subpattern count = 0  Capturing subpattern count = 0
6091    May match empty string
6092  No options  No options
6093  No first char  No first char
6094  No need char  No need char
# Line 6110  no parentheses with name "Z" Line 6138  no parentheses with name "Z"
6138   2: a1   2: a1
6139  copy substring Z failed -7  copy substring Z failed -7
6140    C a1 (2) A    C a1 (2) A
6141    
6142    /(?|(?<a>)(?<b>)(?<a>)|(?<a>)(?<b>)(?<a>))/IJ
6143    Capturing subpattern count = 3
6144    Named capturing subpatterns:
6145      a   1
6146      a   3
6147      b   2
6148    May match empty string
6149    Options: dupnames
6150    No first char
6151    No need char
6152    
6153  /^(?P<A>a)(?P<A>b)/IJ  /^(?P<A>a)(?P<A>b)/IJ
6154  Capturing subpattern count = 2  Capturing subpattern count = 2
# Line 6320  Need char = 'X' Line 6359  Need char = 'X'
6359   1: X   1: X
6360    
6361  /(?:(?(2y)a|b)(X))+/I  /(?:(?(2y)a|b)(X))+/I
6362  Failed: reference to non-existent subpattern at offset 9  Failed: malformed number or name after (?( at offset 7
6363    
6364  /(?:(?(ZA)a|b)(?P<ZZ>X))+/I  /(?:(?(ZA)a|b)(?P<ZZ>X))+/I
6365  Failed: reference to non-existent subpattern at offset 9  Failed: reference to non-existent subpattern at offset 9
# Line 6392  No options Line 6431  No options
6431  No first char  No first char
6432  Need char = ','  Need char = ','
6433  Subject length lower bound = 1  Subject length lower bound = 1
6434  Starting byte set: \x09 \x0a \x0c \x0d \x20 ,  Starting chars: \x09 \x0a \x0b \x0c \x0d \x20 ,
6435      \x0b,\x0b      \x0b,\x0b
6436   0: ,   0: \x0b,\x0b
6437      \x0c,\x0d      \x0c,\x0d
6438   0: \x0c,\x0d   0: \x0c,\x0d
6439    
# Line 6503  No match Line 6542  No match
6542  No match  No match
6543    
6544  /^abc/Im<bad>  /^abc/Im<bad>
6545  Unknown newline type at: <bad>  Unknown modifier at: <bad>
6546    
6547    
6548  /abc/I  /abc/I
# Line 6512  No options Line 6551  No options
6551  First char = 'a'  First char = 'a'
6552  Need char = 'c'  Need char = 'c'
6553      xyz\rabc\<bad>      xyz\rabc\<bad>
6554  Unknown newline type at: <bad>  Unknown escape sequence at: <bad>
6555      abc      abc
6556   0: abc   0: abc
6557    
6558  /.*/I<lf>  /.*/I<lf>
6559  Capturing subpattern count = 0  Capturing subpattern count = 0
6560    May match empty string
6561  Options:  Options:
6562  Forced newline sequence: LF  Forced newline sequence: LF
6563  First char at start or follows newline  First char at start or follows newline
# Line 6559  Need char = 'f' Line 6599  Need char = 'f'
6599    
6600  +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I  +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I
6601  Capturing subpattern count = 1  Capturing subpattern count = 1
6602    May match empty string
6603  No options  No options
6604  No first char  No first char
6605  No need char  No need char
# Line 6697  No options Line 6738  No options
6738  No first char  No first char
6739  No need char  No need char
6740  Subject length lower bound = 1  Subject length lower bound = 1
6741  Starting byte set: C a b c d  Starting chars: C a b c d
6742    
6743  /()[ab]xyz/IS  /()[ab]xyz/IS
6744  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 6705  No options Line 6746  No options
6746  No first char  No first char
6747  Need char = 'z'  Need char = 'z'
6748  Subject length lower bound = 4  Subject length lower bound = 4
6749  Starting byte set: a b  Starting chars: a b
6750    
6751  /(|)[ab]xyz/IS  /(|)[ab]xyz/IS
6752  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 6713  No options Line 6754  No options
6754  No first char  No first char
6755  Need char = 'z'  Need char = 'z'
6756  Subject length lower bound = 4  Subject length lower bound = 4
6757  Starting byte set: a b  Starting chars: a b
6758    
6759  /(|c)[ab]xyz/IS  /(|c)[ab]xyz/IS
6760  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 6721  No options Line 6762  No options
6762  No first char  No first char
6763  Need char = 'z'  Need char = 'z'
6764  Subject length lower bound = 4  Subject length lower bound = 4
6765  Starting byte set: a b c  Starting chars: a b c
6766    
6767  /(|c?)[ab]xyz/IS  /(|c?)[ab]xyz/IS
6768  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 6729  No options Line 6770  No options
6770  No first char  No first char
6771  Need char = 'z'  Need char = 'z'
6772  Subject length lower bound = 4  Subject length lower bound = 4
6773  Starting byte set: a b c  Starting chars: a b c
6774    
6775  /(d?|c?)[ab]xyz/IS  /(d?|c?)[ab]xyz/IS
6776  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 6737  No options Line 6778  No options
6778  No first char  No first char
6779  Need char = 'z'  Need char = 'z'
6780  Subject length lower bound = 4  Subject length lower bound = 4
6781  Starting byte set: a b c d  Starting chars: a b c d
6782    
6783  /(d?|c)[ab]xyz/IS  /(d?|c)[ab]xyz/IS
6784  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 6745  No options Line 6786  No options
6786  No first char  No first char
6787  Need char = 'z'  Need char = 'z'
6788  Subject length lower bound = 4  Subject length lower bound = 4
6789  Starting byte set: a b c d  Starting chars: a b c d
6790    
6791  /^a*b\d/DZ  /^a*b\d/DZ
6792  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 6838  No options Line 6879  No options
6879  No first char  No first char
6880  No need char  No need char
6881  Subject length lower bound = 1  Subject length lower bound = 1
6882  Starting byte set: a b c d  Starting chars: a b c d
6883    
6884  /(a+|b*)[cd]/IS  /(a+|b*)[cd]/IS
6885  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 6846  No options Line 6887  No options
6887  No first char  No first char
6888  No need char  No need char
6889  Subject length lower bound = 1  Subject length lower bound = 1
6890  Starting byte set: a b c d  Starting chars: a b c d
6891    
6892  /(a*|b+)[cd]/IS  /(a*|b+)[cd]/IS
6893  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 6854  No options Line 6895  No options
6895  No first char  No first char
6896  No need char  No need char
6897  Subject length lower bound = 1  Subject length lower bound = 1
6898  Starting byte set: a b c d  Starting chars: a b c d
6899    
6900  /(a+|b+)[cd]/IS  /(a+|b+)[cd]/IS
6901  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 6862  No options Line 6903  No options
6903  No first char  No first char
6904  No need char  No need char
6905  Subject length lower bound = 2  Subject length lower bound = 2
6906  Starting byte set: a b  Starting chars: a b
6907    
6908  /((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((  /((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
6909   ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((   ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
# Line 7482  Matched, but too many substrings Line 7523  Matched, but too many substrings
7523  /a*[^a]/BZ  /a*[^a]/BZ
7524  ------------------------------------------------------------------  ------------------------------------------------------------------
7525          Bra          Bra
7526          a*          a*+
7527          [^a]          [^a]
7528          Ket          Ket
7529          End          End
# Line 7624  No match Line 7665  No match
7665  ------------------------------------------------------------------  ------------------------------------------------------------------
7666          Bra          Bra
7667          ^          ^
7668          [a-z]+          [a-z]++
7669          Ket          Ket
7670          End          End
7671  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 7665  No match Line 7706  No match
7706          ^          ^
7707          CBra 1          CBra 1
7708          Cond          Cond
7709        2 Cond nref        2 Cond ref
7710          y          y
7711          Ket          Ket
7712          [()]          [()]
# Line 7725  Named capturing subpatterns: Line 7766  Named capturing subpatterns:
7766    one     1    one     1
7767    three   3    three   3
7768    two     2    two     2
7769    May match empty string
7770  Options: anchored caseless  Options: anchored caseless
7771  No first char  No first char
7772  No need char  No need char
# Line 7824  Failed: reference to non-existent subpat Line 7866  Failed: reference to non-existent subpat
7866   1: abcabc1Xabc2XabcX   1: abcabc1Xabc2XabcX
7867   2: abcabc1Xabc2XabcX   2: abcabc1Xabc2XabcX
7868    
7869  /(?<A> (?'B' abc (?(R) (?(R&1)1) (?(R&B)2) X  |  (?1)  (?2)   (?R) ))) /x  /(?<A> (?'B' abc (?(R) (?(R&C)1) (?(R&B)2) X  |  (?1)  (?2)   (?R) ))) /x
7870  Failed: reference to non-existent subpattern at offset 29  Failed: reference to non-existent subpattern at offset 29
7871    
 /(?<1> (?'B' abc (?(R) (?(R&1)1) (?(R&B)2) X  |  (?1)  (?2)   (?R) ))) /x  
     abcabc1Xabc2XabcXabcabc  
  0: abcabc1Xabc2XabcX  
  1: abcabc1Xabc2XabcX  
  2: abcabc1Xabc2XabcX  
   
7872  /^(?(DEFINE) abc | xyz ) /x  /^(?(DEFINE) abc | xyz ) /x
7873  Failed: DEFINE group contains more than one branch at offset 22  Failed: DEFINE group contains more than one branch at offset 22
7874    
# Line 8056  Failed: a numbered reference must not be Line 8092  Failed: a numbered reference must not be
8092  /^(a)\g{3/  /^(a)\g{3/
8093  Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 8  Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 8
8094    
8095  /^(a)\g{4a}/  /^(a)\g{aa}/
8096  Failed: reference to non-existent subpattern at offset 9  Failed: reference to non-existent subpattern at offset 9
8097    
8098  /^a.b/<lf>  /^a.b/<lf>
# Line 8561  No match Line 8597  No match
8597          \d          \d
8598          \v++          \v++
8599          \w          \w
8600          \v+          \v++
8601          \S          \S
8602          \v++          \v++
8603          \V          \V
# Line 8659  No match Line 8695  No match
8695   +6 ^      ^    (*FAIL)   +6 ^      ^    (*FAIL)
8696   +6 ^     ^     (*FAIL)   +6 ^     ^     (*FAIL)
8697   +6 ^    ^      (*FAIL)   +6 ^    ^      (*FAIL)
  +4 ^  ^        c+  
  +2 ^ ^         b?  
  +4 ^ ^         c+  
  +2 ^^          b?  
  +4 ^^          c+  
8698   +0  ^          a+   +0  ^          a+
8699   +2  ^ ^        b?   +2  ^ ^        b?
8700   +4  ^  ^       c+   +4  ^  ^       c+
8701   +6  ^     ^    (*FAIL)   +6  ^     ^    (*FAIL)
8702   +6  ^    ^     (*FAIL)   +6  ^    ^     (*FAIL)
8703   +6  ^   ^      (*FAIL)   +6  ^   ^      (*FAIL)
  +4  ^ ^        c+  
  +2  ^^         b?  
  +4  ^^         c+  
8704   +0   ^         a+   +0   ^         a+
8705   +2   ^^        b?   +2   ^^        b?
8706   +4   ^ ^       c+   +4   ^ ^       c+
8707   +6   ^    ^    (*FAIL)   +6   ^    ^    (*FAIL)
8708   +6   ^   ^     (*FAIL)   +6   ^   ^     (*FAIL)
8709   +6   ^  ^      (*FAIL)   +6   ^  ^      (*FAIL)
  +4   ^^        c+  
8710  No match  No match
8711    
8712  /a+b?(*PRUNE)c+(*FAIL)/C  /a+b?(*PRUNE)c+(*FAIL)/C
# Line 8803  No match Line 8830  No match
8830   1: \x0a   1: \x0a
8831    
8832  /a(*CR)b/  /a(*CR)b/
8833  Failed: (*VERB) not recognized at offset 5  Failed: (*VERB) not recognized or malformed at offset 5
8834    
8835  /(*CR)a.b/  /(*CR)a.b/
8836      a\nb      a\nb
# Line 9248  No match Line 9275  No match
9275      ab      ab
9276  No match  No match
9277    
9278  /a(?!)+b/  /a(?!)b/BZ
9279  Failed: nothing to repeat at offset 5  ------------------------------------------------------------------
9280            Bra
9281            a
9282            *FAIL
9283            b
9284            Ket
9285            End
9286    ------------------------------------------------------------------
9287    
9288    /(?!)?a/BZ
9289    ------------------------------------------------------------------
9290            Bra
9291            Brazero
9292            Assert not
9293            Ket
9294            a
9295            Ket
9296            End
9297    ------------------------------------------------------------------
9298        ab
9299     0: a
9300    
9301  /a(*FAIL)+b/  /a(*FAIL)+b/
9302  Failed: nothing to repeat at offset 8  Failed: nothing to repeat at offset 8
# Line 9260  No options Line 9307  No options
9307  No first char  No first char
9308  No need char  No need char
9309  Subject length lower bound = 1  Subject length lower bound = 1
9310  Starting byte set: x y z  Starting chars: x y z
9311    
9312  /(?(?=.*b)b|^)/CI  /(?(?=.*b)b|^)/CI
9313  Capturing subpattern count = 0  Capturing subpattern count = 0
9314    May match empty string
9315  Options:  Options:
9316  No first char  No first char
9317  No need char  No need char
# Line 9276  No need char Line 9324  No need char
9324   +7 ^ ^     b   +7 ^ ^     b
9325   +7 ^^      b   +7 ^^      b
9326   +7 ^       b   +7 ^       b
9327    +11 ^       ^
9328  +12 ^       )  +12 ^       )
9329  +13 ^  +13 ^
9330   0:   0:
# Line 9367  No match Line 9416  No match
9416  No match  No match
9417    
9418  /(*NO_START_OPT)xyz/C  /(*NO_START_OPT)xyz/C
9419    abcxyz    abcxyz
9420  --->abcxyz  --->abcxyz
9421  +15 ^          x  +15 ^          x
9422  +15  ^         x  +15  ^         x
# Line 9377  No match Line 9426  No match
9426  +17    ^ ^     z  +17    ^ ^     z
9427  +18    ^  ^  +18    ^  ^
9428   0: xyz   0: xyz
9429    
9430    /(*NO_AUTO_POSSESS)a+b/BZ
9431    ------------------------------------------------------------------
9432            Bra
9433            a+
9434            b
9435            Ket
9436            End
9437    ------------------------------------------------------------------
9438    
9439  /xyz/CY  /xyz/CY
9440    abcxyz    abcxyz
# Line 9406  No match Line 9464  No match
9464   +3 ^ ^      (?(?=[a])[^"])   +3 ^ ^      (?(?=[a])[^"])
9465   +5 ^ ^      (?=[a])   +5 ^ ^      (?=[a])
9466   +8 ^ ^      [a]   +8 ^ ^      [a]
9467    +17 ^ ^      |
9468  +21 ^ ^      "  +21 ^ ^      "
9469  +18 ^ ^      b  +18 ^ ^      b
9470  +19 ^  ^     )  +19 ^  ^     )
9471   +3 ^  ^     (?(?=[a])[^"])   +3 ^  ^     (?(?=[a])[^"])
9472   +5 ^  ^     (?=[a])   +5 ^  ^     (?=[a])
9473   +8 ^  ^     [a]   +8 ^  ^     [a]
9474    +17 ^  ^     |
9475  +21 ^  ^     "  +21 ^  ^     "
9476  +22 ^   ^    $  +22 ^   ^    $
9477  +23 ^   ^  +23 ^   ^
# Line 9719  Partial match: abc12 Line 9779  Partial match: abc12
9779      xyzabc123pqr      xyzabc123pqr
9780   0: 123   0: 123
9781      xyzabc12\P      xyzabc12\P
9782  Partial match: abc12  Partial match at offset 6: abc12
9783      xyzabc12\P\P      xyzabc12\P\P
9784  Partial match: abc12  Partial match at offset 6: abc12
9785    
9786  /\babc\b/  /\babc\b/
9787      +++abc+++      +++abc+++
9788   0: abc   0: abc
9789      +++ab\P      +++ab\P
9790  Partial match: +ab  Partial match at offset 3: +ab
9791      +++ab\P\P      +++ab\P\P
9792  Partial match: +ab  Partial match at offset 3: +ab
9793    
9794  /(?&word)(?&element)(?(DEFINE)(?<element><[^m][^>]>[^<])(?<word>\w*+))/BZ  /(?&word)(?&element)(?(DEFINE)(?<element><[^m][^>]>[^<])(?<word>\w*+))/BZ
9795  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 10036  No options Line 10096  No options
10096  No first char  No first char
10097  No need char  No need char
10098  Subject length lower bound = 2  Subject length lower bound = 2
10099  Starting byte set: a b  Starting chars: a b
10100    
10101  /(a|bc)\1{2,3}/SI  /(a|bc)\1{2,3}/SI
10102  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 10045  No options Line 10105  No options
10105  No first char  No first char
10106  No need char  No need char
10107  Subject length lower bound = 3  Subject length lower bound = 3
10108  Starting byte set: a b  Starting chars: a b
10109    
10110  /(a|bc)(?1)/SI  /(a|bc)(?1)/SI
10111  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 10053  No options Line 10113  No options
10113  No first char  No first char
10114  No need char  No need char
10115  Subject length lower bound = 2  Subject length lower bound = 2
10116  Starting byte set: a b  Starting chars: a b
10117    
10118  /(a|b\1)(a|b\1)/SI  /(a|b\1)(a|b\1)/SI
10119  Capturing subpattern count = 2  Capturing subpattern count = 2
# Line 10062  No options Line 10122  No options
10122  No first char  No first char
10123  No need char  No need char
10124  Subject length lower bound = 2  Subject length lower bound = 2
10125  Starting byte set: a b  Starting chars: a b
10126    
10127  /(a|b\1){2}/SI  /(a|b\1){2}/SI
10128  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 10071  No options Line 10131  No options
10131  No first char  No first char
10132  No need char  No need char
10133  Subject length lower bound = 2  Subject length lower bound = 2
10134  Starting byte set: a b  Starting chars: a b
10135    
10136  /(a|bbbb\1)(a|bbbb\1)/SI  /(a|bbbb\1)(a|bbbb\1)/SI
10137  Capturing subpattern count = 2  Capturing subpattern count = 2
# Line 10080  No options Line 10140  No options
10140  No first char  No first char
10141  No need char  No need char
10142  Subject length lower bound = 2  Subject length lower bound = 2
10143  Starting byte set: a b  Starting chars: a b
10144    
10145  /(a|bbbb\1){2}/SI  /(a|bbbb\1){2}/SI
10146  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 10089  No options Line 10149  No options
10149  No first char  No first char
10150  No need char  No need char
10151  Subject length lower bound = 2  Subject length lower bound = 2
10152  Starting byte set: a b  Starting chars: a b
10153    
10154  /^From +([^ ]+) +[a-zA-Z][a-zA-Z][a-zA-Z] +[a-zA-Z][a-zA-Z][a-zA-Z] +[0-9]?[0-9] +[0-9][0-9]:[0-9][0-9]/SI  /^From +([^ ]+) +[a-zA-Z][a-zA-Z][a-zA-Z] +[a-zA-Z][a-zA-Z][a-zA-Z] +[0-9]?[0-9] +[0-9][0-9]:[0-9][0-9]/SI
10155  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 10097  Options: anchored Line 10157  Options: anchored
10157  No first char  No first char
10158  Need char = ':'  Need char = ':'
10159  Subject length lower bound = 22  Subject length lower bound = 22
10160  No set of starting bytes  No starting char list
10161    
10162  /<tr([\w\W\s\d][^<>]{0,})><TD([\w\W\s\d][^<>]{0,})>([\d]{0,}\.)(.*)((<BR>([\w\W\s\d][^<>]{0,})|[\s]{0,}))<\/a><\/TD><TD([\w\W\s\d][^<>]{0,})>([\w\W\s\d][^<>]{0,})<\/TD><TD([\w\W\s\d][^<>]{0,})>([\w\W\s\d][^<>]{0,})<\/TD><\/TR>/isIS  /<tr([\w\W\s\d][^<>]{0,})><TD([\w\W\s\d][^<>]{0,})>([\d]{0,}\.)(.*)((<BR>([\w\W\s\d][^<>]{0,})|[\s]{0,}))<\/a><\/TD><TD([\w\W\s\d][^<>]{0,})>([\w\W\s\d][^<>]{0,})<\/TD><TD([\w\W\s\d][^<>]{0,})>([\w\W\s\d][^<>]{0,})<\/TD><\/TR>/isIS
10163  Capturing subpattern count = 11  Capturing subpattern count = 11
# Line 10105  Options: caseless dotall Line 10165  Options: caseless dotall
10165  First char = '<'  First char = '<'
10166  Need char = '>'  Need char = '>'
10167  Subject length lower bound = 47  Subject length lower bound = 47
10168  No set of starting bytes  No starting char list
10169    
10170  "(?>.*/)foo"SI  "(?>.*/)foo"SI
10171  Capturing subpattern count = 0  Capturing subpattern count = 0
10172  No options  No options
10173  First char at start or follows newline  No first char
10174  Need char = 'o'  Need char = 'o'
10175  Subject length lower bound = 4  Subject length lower bound = 4
10176  No set of starting bytes  No starting char list
10177    
10178  /(?(?=[^a-z]+[a-z])  \d{2}-[a-z]{3}-\d{2}  |  \d{2}-\d{2}-\d{2} ) /xSI  /(?(?=[^a-z]+[a-z])  \d{2}-[a-z]{3}-\d{2}  |  \d{2}-\d{2}-\d{2} ) /xSI
10179  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 10121  Options: extended Line 10181  Options: extended
10181  No first char  No first char
10182  Need char = '-'  Need char = '-'
10183  Subject length lower bound = 8  Subject length lower bound = 8
10184  No set of starting bytes  No starting char list
10185    
10186  /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))/iSI  /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))/iSI
10187  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 10129  Options: caseless Line 10189  Options: caseless
10189  No first char  No first char
10190  No need char  No need char
10191  Subject length lower bound = 1  Subject length lower bound = 1
10192  Starting byte set: A B C a b c  Starting chars: A B C a b c
10193    
10194  /(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/SI  /(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/SI
10195  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 10137  No options Line 10197  No options
10197  No first char  No first char
10198  Need char = 'b'  Need char = 'b'
10199  Subject length lower bound = 41  Subject length lower bound = 41
10200  Starting byte set: c d  Starting chars: c d
10201    
10202  /<a[\s]+href[\s]*=[\s]*          # find <a href=  /<a[\s]+href[\s]*=[\s]*          # find <a href=
10203   ([\"\'])?                       # find single or double quote   ([\"\'])?                       # find single or double quote
# Line 10150  Options: caseless extended dotall Line 10210  Options: caseless extended dotall
10210  First char = '<'  First char = '<'
10211  Need char = '='  Need char = '='
10212  Subject length lower bound = 9  Subject length lower bound = 9
10213  No set of starting bytes  No starting char list
10214    
10215  /^(?!:)                       # colon disallowed at start  /^(?!:)                       # colon disallowed at start
10216    (?:                         # start of item    (?:                         # start of item
# Line 10166  Options: anchored caseless extended Line 10226  Options: anchored caseless extended
10226  No first char  No first char
10227  Need char = ':'  Need char = ':'
10228  Subject length lower bound = 2  Subject length lower bound = 2
10229  No set of starting bytes  No starting char list
10230    
10231  /(?|(?<a>A)|(?<a>B))/I  /(?|(?<a>A)|(?<a>B))/I
10232  Capturing subpattern count = 1  Capturing subpattern count = 1
10233  Named capturing subpatterns:  Named capturing subpatterns:
10234    a   1    a   1
   a   1  
10235  No options  No options
10236  No first char  No first char
10237  No need char  No need char
# Line 10245  No match Line 10304  No match
10304          Ket          Ket
10305          Ket          Ket
10306          Cond          Cond
10307        4 Cond nref          Cond ref <D>2
10308          X          X
10309          Alt          Alt
10310          Y          Y
# Line 10291  No match Line 10350  No match
10350          CBra 4          CBra 4
10351          d          d
10352          Cond          Cond
10353          Cond nrecurse 1          Cond recurse <A>2
10354          $          $
10355          Alt          Alt
10356          Recurse          Recurse
# Line 10353  Partial match: abca Line 10412  Partial match: abca
10412      xxxxabcde\P\P      xxxxabcde\P\P
10413  Partial match: abcde  Partial match: abcde
10414    
10415  /-- This is not in the Perl >= 5.10 test because Perl seems currently to be  /-- This is not in the Perl-compatible test because Perl seems currently to be
10416      broken and not behaving as specified in that it *does* bumpalong after      broken and not behaving as specified in that it *does* bumpalong after
10417      hitting (*COMMIT). --/      hitting (*COMMIT). --/
10418    
# Line 10391  Options: Line 10450  Options:
10450  No first char  No first char
10451  Need char = 'a'  Need char = 'a'
10452  Subject length lower bound = 1  Subject length lower bound = 1
10453  No set of starting bytes  No starting char list
10454      cat      cat
10455   0: a   0: a
10456   1:   1:
# Line 10405  No options Line 10464  No options
10464  No first char  No first char
10465  Need char = 'a'  Need char = 'a'
10466  Subject length lower bound = 3  Subject length lower bound = 3
10467  No set of starting bytes  No starting char list
10468      cat      cat
10469  No match  No match
10470    
# Line 10417  No options Line 10476  No options
10476  First char = 'i'  First char = 'i'
10477  No need char  No need char
10478  Subject length lower bound = 1  Subject length lower bound = 1
10479  No set of starting bytes  No starting char list
10480      i      i
10481   0: i   0: i
10482    
# Line 10427  No options Line 10486  No options
10486  No first char  No first char
10487  Need char = 'i'  Need char = 'i'
10488  Subject length lower bound = 1  Subject length lower bound = 1
10489  Starting byte set: i  Starting chars: i
10490      ia      ia
10491   0: ia   0: ia
10492   1:   1:
# Line 10549  No match Line 10608  No match
10608          End          End
10609  ------------------------------------------------------------------  ------------------------------------------------------------------
10610    
10611  / -- The first four of these are not in the Perl >= 5.10 test because Perl  / -- This one is here because Perl gives the match as "b" rather than "ab". I
      documents that the use of \K in assertions is "not well defined". The  
      last is here because Perl gives the match as "b" rather than "ab". I  
10612       believe this to be a Perl bug. --/       believe this to be a Perl bug. --/
10613    
 /(?=a\Kb)ab/  
     ab  
  0: b  
   
 /(?!a\Kb)ac/  
     ac  
  0: ac  
   
 /^abc(?<=b\Kc)d/  
     abcd  
  0: cd  
   
 /^abc(?<!b\Kq)d/  
     abcd  
  0: abcd  
   
10614  /(?>a\Kb)z|(ab)/  /(?>a\Kb)z|(ab)/
10615      ab      ab
10616   0: ab   0: ab
10617   1: ab   1: ab
10618    
 /----------------------/  
   
10619  /(?P<L1>(?P<L2>0|)|(?P>L2)(?P>L1))/  /(?P<L1>(?P<L2>0|)|(?P>L2)(?P>L1))/
10620  Failed: recursive call could loop indefinitely at offset 31  Failed: recursive call could loop indefinitely at offset 31
10621    
# Line 10596  Failed: an argument is not allowed for ( Line 10635  Failed: an argument is not allowed for (
10635      ACABX      ACABX
10636  No match  No match
10637    
10638  /--- These should be different, but in Perl 5.11 are not, which I think  /--- These should be different, but in Perl they are not, which I think
10639       is a bug in Perl. ---/       is a bug in Perl. ---/
10640    
10641  /A(*THEN)B|A(*THEN)C/K  /A(*THEN)B|A(*THEN)C/K
# Line 10607  No match Line 10646  No match
10646      AC      AC
10647  No match  No match
10648    
 /--- This should fail; the SKIP advances by one, but when we get to AC, the  
      PRUNE kills it. Perl behaves differently. ---/  
   
 /A(*PRUNE:A)A+(*SKIP:A)(B|Z) | AC/xK  
     AAAC  
 No match, mark = A  
   
10649  /--- Mark names can be duplicated. Perl doesn't give a mark for this one,  /--- Mark names can be duplicated. Perl doesn't give a mark for this one,
10650  though PCRE does. ---/  though PCRE does. ---/
10651    
# Line 10647  No match Line 10679  No match
10679      abcccd      abcccd
10680  No match  No match
10681    
10682  /--- Perl 5.11 gets some of these wrong ---/  /--- Perl gets some of these wrong ---/
10683    
10684  /(?>.(*ACCEPT))*?5/  /(?>.(*ACCEPT))*?5/
10685      abcde      abcde
# Line 10755  No match Line 10787  No match
10787  /\s*\R/BZ  /\s*\R/BZ
10788  ------------------------------------------------------------------  ------------------------------------------------------------------
10789          Bra          Bra
10790          \s*+          \s*
10791          \R          \R
10792          Ket          Ket
10793          End          End
10794  ------------------------------------------------------------------  ------------------------------------------------------------------
10795        \x20\x0a
10796     0:  \x0a
10797        \x20\x0d
10798     0:  \x0d
10799        \x20\x0d\x0a
10800     0:  \x0d\x0a
10801    
10802  /-- Perl treats this one differently, not failing the second string. I believe  /\S*\R/BZ
10803      that is a bug in Perl. --/  ------------------------------------------------------------------
10804            Bra
10805            \S*+
10806            \R
10807            Ket
10808            End
10809    ------------------------------------------------------------------
10810        a\x0a
10811     0: a\x0a
10812    
10813  /^((abc|abcx)(*THEN)y|abcd)/  /X\h*\R/BZ
10814      abcd  ------------------------------------------------------------------
10815   0: abcd          Bra
10816   1: abcd          X
10817      *** Failers          \h*+
10818  No match          \R
10819      abcxy          Ket
10820            End
10821    ------------------------------------------------------------------
10822        X\x20\x0a
10823     0: X \x0a
10824    
10825    /X\H*\R/BZ
10826    ------------------------------------------------------------------
10827            Bra
10828            X
10829            \H*
10830            \R
10831            Ket
10832            End
10833    ------------------------------------------------------------------
10834        X\x0d\x0a
10835     0: X\x0d\x0a
10836    
10837    /X\H+\R/BZ
10838    ------------------------------------------------------------------
10839            Bra
10840            X
10841            \H+
10842            \R
10843            Ket
10844            End
10845    ------------------------------------------------------------------
10846        X\x0d\x0a
10847     0: X\x0d\x0a
10848    
10849    /X\H++\R/BZ
10850    ------------------------------------------------------------------
10851            Bra
10852            X
10853            \H++
10854            \R
10855            Ket
10856            End
10857    ------------------------------------------------------------------
10858        X\x0d\x0a
10859  No match  No match
10860    
10861  /(?<=abc)def/  /(?<=abc)def/
10862      abc\P\P      abc\P\P
10863  Partial match: abc  Partial match at offset 3: abc
10864    
10865  /abc$/  /abc$/
10866      abc      abc
# Line 10995  No options Line 11080  No options
11080  First char = 'a'  First char = 'a'
11081  Need char = '4'  Need char = '4'
11082  Subject length lower bound = 5  Subject length lower bound = 5
11083  No set of starting bytes  No starting char list
11084    
11085  /([abc])++1234/SI  /([abc])++1234/SI
11086  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 11003  No options Line 11088  No options
11088  No first char  No first char
11089  Need char = '4'  Need char = '4'
11090  Subject length lower bound = 5  Subject length lower bound = 5
11091  Starting byte set: a b c  Starting chars: a b c
11092    
11093  /(?<=(abc)+)X/  /(?<=(abc)+)X/
11094  Failed: lookbehind assertion is not fixed length at offset 10  Failed: lookbehind assertion is not fixed length at offset 10
# Line 11022  No need char Line 11107  No need char
11107    
11108  /(^ab|^)+/I  /(^ab|^)+/I
11109  Capturing subpattern count = 1  Capturing subpattern count = 1
11110    May match empty string
11111  Options: anchored  Options: anchored
11112  No first char  No first char
11113  No need char  No need char
11114    
11115  /(^ab|^)++/I  /(^ab|^)++/I
11116  Capturing subpattern count = 1  Capturing subpattern count = 1
11117    May match empty string
11118  Options: anchored  Options: anchored
11119  No first char  No first char
11120  No need char  No need char
# Line 11046  No need char Line 11133  No need char
11133    
11134  /(?:^ab|^)+/I  /(?:^ab|^)+/I
11135  Capturing subpattern count = 0  Capturing subpattern count = 0
11136    May match empty string
11137  Options: anchored  Options: anchored
11138  No first char  No first char
11139  No need char  No need char
11140    
11141  /(?:^ab|^)++/I  /(?:^ab|^)++/I
11142  Capturing subpattern count = 0  Capturing subpattern count = 0
11143    May match empty string
11144  Options: anchored  Options: anchored
11145  No first char  No first char
11146  No need char  No need char
# Line 11070  Need char = 'b' Line 11159  Need char = 'b'
11159    
11160  /(.*ab|.*)+/I  /(.*ab|.*)+/I
11161  Capturing subpattern count = 1  Capturing subpattern count = 1
11162    May match empty string
11163  No options  No options
11164  First char at start or follows newline  First char at start or follows newline
11165  No need char  No need char
11166    
11167  /(.*ab|.*)++/I  /(.*ab|.*)++/I
11168  Capturing subpattern count = 1  Capturing subpattern count = 1
11169    May match empty string
11170  No options  No options
11171  First char at start or follows newline  First char at start or follows newline
11172  No need char  No need char
# Line 11094  Need char = 'b' Line 11185  Need char = 'b'
11185    
11186  /(?:.*ab|.*)+/I  /(?:.*ab|.*)+/I
11187  Capturing subpattern count = 0  Capturing subpattern count = 0
11188    May match empty string
11189  No options  No options
11190  First char at start or follows newline  First char at start or follows newline
11191  No need char  No need char
11192    
11193  /(?:.*ab|.*)++/I  /(?:.*ab|.*)++/I
11194  Capturing subpattern count = 0  Capturing subpattern count = 0
11195    May match empty string
11196  No options  No options
11197  First char at start or follows newline  First char at start or follows newline
11198  No need char  No need char
# Line 11254  No match Line 11347  No match
11347    
11348  /(a)b|ac/++SS  /(a)b|ac/++SS
11349      ac\O3      ac\O3
 Matched, but too many substrings  
11350   0: ac   0: ac
11351   0+   0+
11352    
# Line 11277  No options Line 11369  No options
11369  No first char  No first char
11370  No need char  No need char
11371  Subject length lower bound = 1  Subject length lower bound = 1
11372  No set of starting bytes  No starting char list
11373    
11374  /(a(?2)|b)(b(?1)|a)(?:(?1)|(?2))/SI  /(a(?2)|b)(b(?1)|a)(?:(?1)|(?2))/SI
11375  Capturing subpattern count = 2  Capturing subpattern count = 2
# Line 11285  No options Line 11377  No options
11377  No first char  No first char
11378  No need char  No need char
11379  Subject length lower bound = 3  Subject length lower bound = 3
11380  Starting byte set: a b  Starting chars: a b
11381    
11382  /(a(?2)|b)(b(?1)|a)(?1)(?2)/SI  /(a(?2)|b)(b(?1)|a)(?1)(?2)/SI
11383  Capturing subpattern count = 2  Capturing subpattern count = 2
# Line 11293  No options Line 11385  No options
11385  No first char  No first char
11386  No need char  No need char
11387  Subject length lower bound = 4  Subject length lower bound = 4
11388  Starting byte set: a b  Starting chars: a b
11389    
11390  /(abc)(?1)/SI  /(abc)(?1)/SI
11391  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 11301  No options Line 11393  No options
11393  First char = 'a'  First char = 'a'
11394  Need char = 'c'  Need char = 'c'
11395  Subject length lower bound = 6  Subject length lower bound = 6
11396  No set of starting bytes  No starting char list
11397    
11398  /^(?>a)++/  /^(?>a)++/
11399      aa\M      aa\M
# Line 11506  Matched, but too many substrings Line 11598  Matched, but too many substrings
11598          Assert not          Assert not
11599          a          a
11600          Ket          Ket
11601          \w+          \w++
11602          Ket          Ket
11603          End          End
11604  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 11614  No match Line 11706  No match
11706    
11707  /\btype\b\W*?\btext\b\W*?\bjavascript\b/IS  /\btype\b\W*?\btext\b\W*?\bjavascript\b/IS
11708  Capturing subpattern count = 0  Capturing subpattern count = 0
11709    Max lookbehind = 1
11710  No options  No options
11711  First char = 't'  First char = 't'
11712  Need char = 't'  Need char = 't'
 Max lookbehind = 1  
11713  Subject length lower bound = 18  Subject length lower bound = 18
11714  No set of starting bytes  No starting char list
11715    
11716  /\btype\b\W*?\btext\b\W*?\bjavascript\b|\burl\b\W*?\bshell:|<input\b.*?\btype\b\W*?\bimage\b|\bonkeyup\b\W*?\=/IS  /\btype\b\W*?\btext\b\W*?\bjavascript\b|\burl\b\W*?\bshell:|<input\b.*?\btype\b\W*?\bimage\b|\bonkeyup\b\W*?\=/IS
11717  Capturing subpattern count = 0  Capturing subpattern count = 0
11718    Max lookbehind = 1
11719  No options  No options
11720  No first char  No first char
11721  No need char  No need char
 Max lookbehind = 1  
11722  Subject length lower bound = 8  Subject length lower bound = 8
11723  Starting byte set: < o t u  Starting chars: < o t u
11724    
11725  /a(*SKIP)c|b(*ACCEPT)|/+SI  /a(*SKIP)c|b(*ACCEPT)|/+S!I
11726  Capturing subpattern count = 0  Capturing subpattern count = 0
11727    May match empty string
11728  No options  No options
11729  No first char  No first char
11730  No need char  No need char
11731  Study returned NULL  Subject length lower bound = -1
11732    No starting char list
11733      a      a
11734   0:   0:
11735   0+   0+
# Line 11646  No options Line 11740  No options
11740  No first char  No first char
11741  No need char  No need char
11742  Subject length lower bound = -1  Subject length lower bound = -1
11743  Starting byte set: a b x  Starting chars: a b x
11744      ax      ax
11745   0: x   0: x
11746    
# Line 11696  Minimum match() limit = 86 Line 11790  Minimum match() limit = 86
11790  Minimum match() recursion limit = 45  Minimum match() recursion limit = 45
11791   0: abbbbbbbbbbbbbbbbbbbbba   0: abbbbbbbbbbbbbbbbbbbbba
11792    
11793  /-- These tests are in agreement with development Perl 5.015, which has fixed  /^(?>a+)(?>(z+))\w/BZ
11794      some things, but they don't all work with 5.012, so they aren't in the  ------------------------------------------------------------------
11795      Perl-compatible tests. Those after the first come from Perl's own test          Bra
11796      files. --/          ^
11797            Once_NC
11798  /^((yes|no)(*THEN)(*F))?/          a++
11799    yes          Ket
11800  No match          Once
11801            CBra 1
11802  /(A (.*)   C? (*THEN)  | A D) (*FAIL)/x          z++
11803  AbcdCBefgBhiBqz          Ket
11804            Ket
11805            \w
11806            Ket
11807            End
11808    ------------------------------------------------------------------
11809        aaaazzzzb
11810     0: aaaazzzzb
11811     1: zzzz
11812        ** Failers
11813  No match  No match
11814        aazz
 /(A (.*)   C? (*THEN)  | A D) z/x  
 AbcdCBefgBhiBqz  
 No match  
   
 /(A (.*)   C? (*THEN)  | A D) \s* (*FAIL)/x  
 AbcdCBefgBhiBqz  
 No match  
   
 /(A (.*)   C? (*THEN)  | A D) \s* z/x  
 AbcdCBefgBhiBqz  
 No match  
   
 /(A (.*)   (?:C|) (*THEN)  | A D) (*FAIL)/x  
 AbcdCBefgBhiBqz  
 No match  
   
 /(A (.*)   (?:C|) (*THEN)  | A D) z/x  
 AbcdCBefgBhiBqz  
 No match  
   
 /(A (.*)   C{0,6} (*THEN)  | A D) (*FAIL)/x  
 AbcdCBefgBhiBqz  
 No match  
   
 /(A (.*)   C{0,6} (*THEN)  | A D) z/x  
 AbcdCBefgBhiBqz  
 No match  
   
 /(A (.*)   (CE){0,6} (*THEN)  | A D) (*FAIL)/x  
 AbcdCEBefgBhiBqz  
 No match  
   
 /(A (.*)   (CE){0,6} (*THEN)  | A D) z/x  
 AbcdCEBefgBhiBqz  
 No match  
   
 /(A (.*)   (CE*){0,6} (*THEN)  | A D) (*FAIL)/x  
 AbcdCBefgBhiBqz  
 No match  
   
 /(A (.*)   (CE*){0,6} (*THEN)  | A D) z/x  
 AbcdCBefgBhiBqz  
 No match  
   
 /-----------------------------------------------/  
   
 /^(?>a+)(?>(z+))\w/BZ  
 ------------------------------------------------------------------  
         Bra  
         ^  
         Once_NC  
         a+  
         Ket  
         Once  
         CBra 1  
         z+  
         Ket  
         Ket  
         \w  
         Ket  
         End  
 ------------------------------------------------------------------  
     aaaazzzzb  
  0: aaaazzzzb  
  1: zzzz  
     ** Failers  
 No match  
     aazz  
11815  No match  No match
11816    
11817  /(.)(\1|a(?2))/  /(.)(\1|a(?2))/
# Line 11823  No match Line 11858  No match
11858    
11859  /^(?>a+)(?>b+)(?>c+)(?>d+)(?>e+)/  /^(?>a+)(?>b+)(?>c+)(?>d+)(?>e+)/
11860       \Maabbccddee       \Maabbccddee
11861  Minimum match() limit = 12  Minimum match() limit = 7
11862  Minimum match() recursion limit = 3  Minimum match() recursion limit = 2
11863   0: aabbccddee   0: aabbccddee
11864    
11865  /^(?>(a+))(?>(b+))(?>(c+))(?>(d+))(?>(e+))/  /^(?>(a+))(?>(b+))(?>(c+))(?>(d+))(?>(e+))/
11866       \Maabbccddee       \Maabbccddee
11867  Minimum match() limit = 22  Minimum match() limit = 17
11868  Minimum match() recursion limit = 21  Minimum match() recursion limit = 16
11869   0: aabbccddee   0: aabbccddee
11870   1: aa   1: aa
11871   2: bb   2: bb
# Line 11840  Minimum match() recursion limit = 21 Line 11875  Minimum match() recursion limit = 21
11875    
11876  /^(?>(a+))(?>b+)(?>(c+))(?>d+)(?>(e+))/  /^(?>(a+))(?>b+)(?>(c+))(?>d+)(?>(e+))/
11877       \Maabbccddee       \Maabbccddee
11878  Minimum match() limit = 18  Minimum match() limit = 13
11879  Minimum match() recursion limit = 13  Minimum match() recursion limit = 10
11880   0: aabbccddee   0: aabbccddee
11881   1: aa   1: aa
11882   2: cc   2: cc
# Line 11932  No match Line 11967  No match
11967  Failed: \N is not supported in a class at offset 3  Failed: \N is not supported in a class at offset 3
11968    
11969  /a[B-\Nc]/  /a[B-\Nc]/
11970  Failed: \N is not supported in a class at offset 5  Failed: invalid range in character class at offset 5
11971    
11972    /a[B\Nc]/
11973    Failed: \N is not supported in a class at offset 4
11974    
11975  /(a)(?2){0,1999}?(b)/  /(a)(?2){0,1999}?(b)/
11976    
# Line 12271  Partial match: \x0d\x0d Line 12309  Partial match: \x0d\x0d
12309      \r\r\r\P\P      \r\r\r\P\P
12310   0: \x0d\x0d   0: \x0d\x0d
12311    
12312  /-- This one is here because Perl does not match: it seems to allow the COMMIT  "AB(C(D))(E(F))?(?(?=\2)(?=\4))"
12313  to escape from the assertion. --/      ABCDGHI\O03
12314    Matched, but too many substrings
12315     0: ABCD
12316    
12317    /-- These are all run as real matches in test 1; here we are just checking the
12318    settings of the anchored and startline bits. --/
12319    
12320    /(?>.*?a)(?<=ba)/I
12321    Capturing subpattern count = 0
12322    Max lookbehind = 2
12323    No options
12324    No first char
12325    Need char = 'a'
12326    
12327  /(?=a(*COMMIT)b|ac)ac|ac/  /(?:.*?a)(?<=ba)/I
12328      ac  Capturing subpattern count = 0
12329    Max lookbehind = 2
12330    No options
12331    First char at start or follows newline
12332    Need char = 'a'
12333    
12334    /.*?a(*PRUNE)b/I
12335    Capturing subpattern count = 0
12336    No options
12337    No first char
12338    Need char = 'b'
12339    
12340    /.*?a(*PRUNE)b/sI
12341    Capturing subpattern count = 0
12342    Options: dotall
12343    No first char
12344    Need char = 'b'
12345    
12346    /^a(*PRUNE)b/sI
12347    Capturing subpattern count = 0
12348    Options: anchored dotall
12349    No first char
12350    No need char
12351    
12352    /.*?a(*SKIP)b/I
12353    Capturing subpattern count = 0
12354    No options
12355    No first char
12356    Need char = 'b'
12357    
12358    /(?>.*?a)b/sI
12359    Capturing subpattern count = 0
12360    Options: dotall
12361    No first char
12362    Need char = 'b'
12363    
12364    /(?>.*?a)b/I
12365    Capturing subpattern count = 0
12366    No options
12367    No first char
12368    Need char = 'b'
12369    
12370    /(?>^a)b/sI
12371    Capturing subpattern count = 0
12372    Options: anchored dotall
12373    No first char
12374    No need char
12375    
12376    /(?>.*?)(?<=(abcd)|(wxyz))/I
12377    Capturing subpattern count = 2
12378    Max lookbehind = 4
12379    May match empty string
12380    No options
12381    No first char
12382    No need char
12383    
12384    /(?>.*)(?<=(abcd)|(wxyz))/I
12385    Capturing subpattern count = 2
12386    Max lookbehind = 4
12387    May match empty string
12388    No options
12389    No first char
12390    No need char
12391    
12392    "(?>.*)foo"I
12393    Capturing subpattern count = 0
12394    No options
12395    No first char
12396    Need char = 'o'
12397    
12398    "(?>.*?)foo"I
12399    Capturing subpattern count = 0
12400    No options
12401    No first char
12402    Need char = 'o'
12403    
12404    /(?>^abc)/mI
12405    Capturing subpattern count = 0
12406    Options: multiline
12407    First char at start or follows newline
12408    Need char = 'c'
12409    
12410    /(?>.*abc)/mI
12411    Capturing subpattern count = 0
12412    Options: multiline
12413    No first char
12414    Need char = 'c'
12415    
12416    /(?:.*abc)/mI
12417    Capturing subpattern count = 0
12418    Options: multiline
12419    First char at start or follows newline
12420    Need char = 'c'
12421    
12422    /-- Check PCRE_STUDY_EXTRA_NEEDED --/
12423    
12424    /.?/S-I
12425    Capturing subpattern count = 0
12426    May match empty string
12427    No options
12428    No first char
12429    No need char
12430    Study returned NULL
12431    
12432    /.?/S!I
12433    Capturing subpattern count = 0
12434    May match empty string
12435    No options
12436    No first char
12437    No need char
12438    Subject length lower bound = -1
12439    No starting char list
12440    
12441    /(?:(a)+(?C1)bb|aa(?C2)b)/
12442        aab\C+
12443    Callout 1: last capture = 1
12444     0: <unset>
12445     1: a
12446    --->aab
12447        ^ ^     b
12448    Callout 1: last capture = 1
12449     0: <unset>
12450     1: a
12451    --->aab
12452        ^^      b
12453    Callout 2: last capture = -1
12454     0: <unset>
12455    --->aab
12456        ^ ^     b
12457     0: aab
12458    
12459    /(?:(a)++(?C1)bb|aa(?C2)b)/
12460        aab\C+
12461    Callout 1: last capture = 1
12462     0: <unset>
12463     1: a
12464    --->aab
12465        ^ ^     b
12466    Callout 2: last capture = -1
12467     0: <unset>
12468    --->aab
12469        ^ ^     b
12470     0: aab
12471    
12472    /(?:(?>(a))(?C1)bb|aa(?C2)b)/
12473        aab\C+
12474    Callout 1: last capture = 1
12475     0: <unset>
12476     1: a
12477    --->aab
12478        ^^      b
12479    Callout 2: last capture = -1
12480     0: <unset>
12481    --->aab
12482        ^ ^     b
12483     0: aab
12484    
12485    /(?:(?1)(?C1)x|ab(?C2))((a)){0}/
12486        aab\C+
12487    Callout 1: last capture = -1
12488     0: <unset>
12489    --->aab
12490        ^^      x
12491    Callout 1: last capture = -1
12492     0: <unset>
12493    --->aab
12494         ^^     x
12495    Callout 2: last capture = -1
12496     0: <unset>
12497    --->aab
12498         ^ ^    )
12499     0: ab
12500    
12501    /(?1)(?C1)((a)(?C2)){0}/
12502        aab\C+
12503    Callout 2: last capture = 2
12504     0: <unset>
12505     1: <unset>
12506     2: a
12507    --->aab
12508        ^^      )
12509    Callout 1: last capture = -1
12510     0: <unset>
12511    --->aab
12512        ^^      ((a)(?C2)){0}
12513     0: a
12514    
12515    /(?:(a)+(?C1)bb|aa(?C2)b)++/
12516        aab\C+
12517    Callout 1: last capture = 1
12518     0: <unset>
12519     1: a
12520    --->aab
12521        ^ ^     b
12522    Callout 1: last capture = 1
12523     0: <unset>
12524     1: a
12525    --->aab
12526        ^^      b
12527    Callout 2: last capture = -1
12528     0: <unset>
12529    --->aab
12530        ^ ^     b
12531     0: aab
12532        aab\C+\O2
12533    Callout 1: last capture = 1
12534     0: <unset>
12535    --->aab
12536        ^ ^     b
12537    Callout 1: last capture = 1
12538     0: <unset>
12539    --->aab
12540        ^^      b
12541    Callout 2: last capture = -1
12542     0: <unset>
12543    --->aab
12544        ^ ^     b
12545     0: aab
12546    
12547    /(ab)x|ab/
12548        ab\O3
12549     0: ab
12550        ab\O2
12551     0: ab
12552    
12553    /(ab)/
12554        ab\O3
12555    Matched, but too many substrings
12556     0: ab
12557        ab\O2
12558    Matched, but too many substrings
12559     0: ab
12560    
12561    /(?<=123)(*MARK:xx)abc/K
12562        xxxx123a\P\P
12563    Partial match at offset 7, mark=xx: 123a
12564        xxxx123a\P
12565    Partial match at offset 7, mark=xx: 123a
12566    
12567    /123\Kabc/
12568        xxxx123a\P\P
12569    Partial match: 123a
12570        xxxx123a\P
12571    Partial match: 123a
12572    
12573    /^(?(?=a)aa|bb)/C
12574        bb
12575    --->bb
12576     +0 ^      ^
12577     +1 ^      (?(?=a)aa|bb)
12578     +3 ^      (?=a)
12579     +6 ^      a
12580    +11 ^      b
12581    +12 ^^     b
12582    +13 ^ ^    )
12583    +14 ^ ^
12584     0: bb
12585    
12586    /(?C1)^(?C2)(?(?C99)(?=(?C3)a(?C4))(?C5)a(?C6)a(?C7)|(?C8)b(?C9)b(?C10))(?C11)/
12587        bb
12588    --->bb
12589      1 ^      ^
12590      2 ^      (?(?C99)(?=(?C3)a(?C4))(?C5)a(?C6)a(?C7)|(?C8)b(?C9)b(?C10))
12591     99 ^      (?=(?C3)a(?C4))
12592      3 ^      a
12593      8 ^      b
12594      9 ^^     b
12595     10 ^ ^    )
12596     11 ^ ^
12597     0: bb
12598    
12599    /-- Perl seems to have a bug with this one --/
12600    
12601    /aaaaa(*COMMIT)(*PRUNE)b|a+c/
12602        aaaaaac
12603     0: aaaac
12604    
12605    /-- Here are some that Perl treats differently because of the way it handles
12606    backtracking verbs. --/
12607    
12608     /(?!a(*COMMIT)b)ac|ad/
12609         ac
12610   0: ac   0: ac
12611         ad
12612     0: ad
12613    
12614    /^(?!a(*THEN)b|ac)../
12615         ac
12616    No match
12617         ad
12618     0: ad
12619    
12620    /^(?=a(*THEN)b|ac)/
12621        ac
12622     0:
12623    
12624    /\A.*?(?:a|b(*THEN)c)/
12625        ba
12626     0: ba
12627    
12628    /\A.*?(?:a|b(*THEN)c)++/
12629        ba
12630     0: ba
12631    
12632    /\A.*?(?:a|b(*THEN)c|d)/
12633        ba
12634     0: ba
12635    
12636    /(?:(a(*MARK:X)a+(*SKIP:X)b)){0}(?:(?1)|aac)/
12637        aac
12638     0: aac
12639    
12640    /\A.*?(a|b(*THEN)c)/
12641        ba
12642     0: ba
12643     1: a
12644    
12645    /^(A(*THEN)B|A(*THEN)D)/
12646        AD
12647     0: AD
12648     1: AD
12649    
12650    /(?!b(*THEN)a)bn|bnn/
12651        bnn
12652     0: bn
12653    
12654    /(?(?=b(*SKIP)a)bn|bnn)/
12655        bnn
12656    No match
12657    
12658    /(?=b(*THEN)a|)bn|bnn/
12659        bnn
12660     0: bn
12661    
12662    /-------------------------/
12663    
12664    /(*LIMIT_MATCH=12bc)abc/
12665    Failed: (*VERB) not recognized or malformed at offset 7
12666    
12667    /(*LIMIT_MATCH=4294967290)abc/
12668    Failed: (*VERB) not recognized or malformed at offset 7
12669    
12670    /(*LIMIT_RECURSION=4294967280)abc/I
12671    Capturing subpattern count = 0
12672    Recursion limit = 4294967280
12673    No options
12674    First char = 'a'
12675    Need char = 'c'
12676    
12677    /(a+)*zz/
12678        aaaaaaaaaaaaaz
12679    No match
12680        aaaaaaaaaaaaaz\q3000
12681    Error -8 (match limit exceeded)
12682    
12683    /(a+)*zz/S-
12684        aaaaaaaaaaaaaz\Q10
12685    Error -21 (recursion limit exceeded)
12686    
12687    /(*LIMIT_MATCH=3000)(a+)*zz/I
12688    Capturing subpattern count = 1
12689    Match limit = 3000
12690    No options
12691    No first char
12692    Need char = 'z'
12693        aaaaaaaaaaaaaz
12694    Error -8 (match limit exceeded)
12695        aaaaaaaaaaaaaz\q60000
12696    Error -8 (match limit exceeded)
12697    
12698    /(*LIMIT_MATCH=60000)(*LIMIT_MATCH=3000)(a+)*zz/I
12699    Capturing subpattern count = 1
12700    Match limit = 3000
12701    No options
12702    No first char
12703    Need char = 'z'
12704        aaaaaaaaaaaaaz
12705    Error -8 (match limit exceeded)
12706    
12707    /(*LIMIT_MATCH=60000)(a+)*zz/I
12708    Capturing subpattern count = 1
12709    Match limit = 60000
12710    No options
12711    No first char
12712    Need char = 'z'
12713        aaaaaaaaaaaaaz
12714    No match
12715        aaaaaaaaaaaaaz\q3000
12716    Error -8 (match limit exceeded)
12717    
12718    /(*LIMIT_RECURSION=10)(a+)*zz/IS-
12719    Capturing subpattern count = 1
12720    Recursion limit = 10
12721    No options
12722    No first char
12723    Need char = 'z'
12724    Subject length lower bound = 2
12725    Starting chars: a z
12726        aaaaaaaaaaaaaz
12727    Error -21 (recursion limit exceeded)
12728        aaaaaaaaaaaaaz\Q1000
12729    Error -21 (recursion limit exceeded)
12730    
12731    /(*LIMIT_RECURSION=10)(*LIMIT_RECURSION=1000)(a+)*zz/IS-
12732    Capturing subpattern count = 1
12733    Recursion limit = 10
12734    No options
12735    No first char
12736    Need char = 'z'
12737    Subject length lower bound = 2
12738    Starting chars: a z
12739        aaaaaaaaaaaaaz
12740    Error -21 (recursion limit exceeded)
12741    
12742    /(*LIMIT_RECURSION=1000)(a+)*zz/IS-
12743    Capturing subpattern count = 1
12744    Recursion limit = 1000
12745    No options
12746    No first char
12747    Need char = 'z'
12748    Subject length lower bound = 2
12749    Starting chars: a z
12750        aaaaaaaaaaaaaz
12751    No match
12752        aaaaaaaaaaaaaz\Q10
12753    Error -21 (recursion limit exceeded)
12754    
12755    /-- This test causes a segfault with Perl 5.18.0 --/
12756    
12757    /^(?=(a)){0}b(?1)/
12758        backgammon
12759     0: ba
12760    
12761    /(?|(?<n>f)|(?<n>b))/JI
12762    Capturing subpattern count = 1
12763    Named capturing subpatterns:
12764      n   1
12765    Options: dupnames
12766    No first char
12767    No need char
12768    
12769    /(?<a>abc)(?<a>z)\k<a>()/JDZS
12770    ------------------------------------------------------------------
12771            Bra
12772            CBra 1
12773            abc
12774            Ket
12775            CBra 2
12776            z
12777            Ket
12778            \k<a>2
12779            CBra 3
12780            Ket
12781            Ket
12782            End
12783    ------------------------------------------------------------------
12784    Capturing subpattern count = 3
12785    Max back reference = 2
12786    Named capturing subpatterns:
12787      a   1
12788      a   2
12789    Options: dupnames
12790    First char = 'a'
12791    Need char = 'z'
12792    Subject length lower bound = 5
12793    No starting char list
12794    
12795    /a*[bcd]/BZ
12796    ------------------------------------------------------------------
12797            Bra
12798            a*+
12799            [b-d]
12800            Ket
12801            End
12802    ------------------------------------------------------------------
12803    
12804    /[bcd]*a/BZ
12805    ------------------------------------------------------------------
12806            Bra
12807            [b-d]*+
12808            a
12809            Ket
12810            End
12811    ------------------------------------------------------------------
12812    
12813    /-- A complete set of tests for auto-possessification of character types --/
12814    
12815    /\D+\D \D+\d \D+\S \D+\s \D+\W \D+\w \D+. \D+\C \D+\R \D+\H \D+\h \D+\V \D+\v \D+\Z \D+\z \D+$/BZx
12816    ------------------------------------------------------------------
12817            Bra
12818            \D+
12819            \D
12820            \D++
12821            \d
12822            \D+
12823            \S
12824            \D+
12825            \s
12826            \D+
12827            \W
12828            \D+
12829            \w
12830            \D+
12831            Any
12832            \D+
12833            AllAny
12834            \D+
12835            \R
12836            \D+
12837            \H
12838            \D+
12839            \h
12840            \D+
12841            \V
12842            \D+
12843            \v
12844            \D+
12845            \Z
12846            \D++
12847            \z
12848            \D+
12849            $
12850            Ket
12851            End
12852    ------------------------------------------------------------------
12853    
12854    /\d+\D \d+\d \d+\S \d+\s \d+\W \d+\w \d+. \d+\C \d+\R \d+\H \d+\h \d+\V \d+\v \d+\Z \d+\z \d+$/BZx
12855    ------------------------------------------------------------------
12856            Bra
12857            \d++
12858            \D
12859            \d+
12860            \d
12861            \d+
12862            \S
12863            \d++
12864            \s
12865            \d++
12866            \W
12867            \d+
12868            \w
12869            \d+
12870            Any
12871            \d+
12872            AllAny
12873            \d++
12874            \R
12875            \d+
12876            \H
12877            \d++
12878            \h
12879            \d+
12880            \V
12881            \d++
12882            \v
12883            \d++
12884            \Z
12885            \d++
12886            \z
12887            \d++
12888            $
12889            Ket
12890            End
12891    ------------------------------------------------------------------
12892    
12893    /\S+\D \S+\d \S+\S \S+\s \S+\W \S+\w \S+. \S+\C \S+\R \S+\H \S+\h \S+\V \S+\v \S+\Z \S+\z \S+$/BZx
12894    ------------------------------------------------------------------
12895            Bra
12896            \S+
12897            \D
12898            \S+
12899            \d
12900            \S+
12901            \S
12902            \S++
12903            \s
12904            \S+
12905            \W
12906            \S+
12907            \w
12908            \S+
12909            Any
12910            \S+
12911            AllAny
12912            \S++
12913            \R
12914            \S+
12915            \H
12916            \S++
12917            \h
12918            \S+
12919            \V
12920            \S++
12921            \v
12922            \S++
12923            \Z
12924            \S++
12925            \z
12926            \S++
12927            $
12928            Ket
12929            End
12930    ------------------------------------------------------------------
12931    
12932    /\s+\D \s+\d \s+\S \s+\s \s+\W \s+\w \s+. \s+\C \s+\R \s+\H \s+\h \s+\V \s+\v \s+\Z \s+\z \s+$/BZx
12933    ------------------------------------------------------------------
12934            Bra
12935            \s+
12936            \D
12937            \s++
12938            \d
12939            \s++
12940            \S
12941            \s+
12942            \s
12943            \s+
12944            \W
12945            \s++
12946            \w
12947            \s+
12948            Any
12949            \s+
12950            AllAny
12951            \s+
12952            \R
12953            \s+
12954            \H
12955            \s+
12956            \h
12957            \s+
12958            \V
12959            \s+
12960            \v
12961            \s+
12962            \Z
12963            \s++
12964            \z
12965            \s+
12966            $
12967            Ket
12968            End
12969    ------------------------------------------------------------------
12970    
12971    /\W+\D \W+\d \W+\S \W+\s \W+\W \W+\w \W+. \W+\C \W+\R \W+\H \W+\h \W+\V \W+\v \W+\Z \W+\z \W+$/BZx
12972    ------------------------------------------------------------------
12973            Bra
12974            \W+
12975            \D
12976            \W++
12977            \d
12978            \W+
12979            \S
12980            \W+
12981            \s
12982            \W+
12983            \W
12984            \W++
12985            \w
12986            \W+
12987            Any
12988            \W+
12989            AllAny
12990            \W+
12991            \R
12992            \W+
12993            \H
12994            \W+
12995            \h
12996            \W+
12997            \V
12998            \W+
12999            \v
13000            \W+
13001            \Z
13002            \W++
13003            \z
13004            \W+
13005            $
13006            Ket
13007            End
13008    ------------------------------------------------------------------
13009    
13010    /\w+\D \w+\d \w+\S \w+\s \w+\W \w+\w \w+. \w+\C \w+\R \w+\H \w+\h \w+\V \w+\v \w+\Z \w+\z \w+$/BZx
13011    ------------------------------------------------------------------
13012            Bra
13013            \w+
13014            \D
13015            \w+
13016            \d
13017            \w+
13018            \S
13019            \w++
13020            \s
13021            \w++
13022            \W
13023            \w+
13024            \w
13025            \w+
13026            Any
13027            \w+
13028            AllAny
13029            \w++
13030            \R
13031            \w+
13032            \H
13033            \w++
13034            \h
13035            \w+
13036            \V
13037            \w++
13038            \v
13039            \w++
13040            \Z
13041            \w++
13042            \z
13043            \w++
13044            $
13045            Ket
13046            End
13047    ------------------------------------------------------------------
13048    
13049    /\C+\D \C+\d \C+\S \C+\s \C+\W \C+\w \C+. \C+\C \C+\R \C+\H \C+\h \C+\V \C+\v \C+\Z \C+\z \C+$/BZx
13050    ------------------------------------------------------------------
13051            Bra
13052            AllAny+
13053            \D
13054            AllAny+
13055            \d
13056            AllAny+
13057            \S
13058            AllAny+
13059            \s
13060            AllAny+
13061            \W
13062            AllAny+
13063            \w
13064            AllAny+
13065            Any
13066            AllAny+
13067            AllAny
13068            AllAny+
13069            \R
13070            AllAny+
13071            \H
13072            AllAny+
13073            \h
13074            AllAny+
13075            \V
13076            AllAny+
13077            \v
13078            AllAny+
13079            \Z
13080            AllAny++
13081            \z
13082            AllAny+
13083            $
13084            Ket
13085            End
13086    ------------------------------------------------------------------
13087    
13088    /\R+\D \R+\d \R+\S \R+\s \R+\W \R+\w \R+. \R+\C \R+\R \R+\H \R+\h \R+\V \R+\v \R+\Z \R+\z \R+$/BZx
13089    ------------------------------------------------------------------
13090            Bra
13091            \R+
13092            \D
13093            \R++
13094            \d
13095            \R+
13096            \S
13097            \R++
13098            \s
13099            \R+
13100            \W
13101            \R++
13102            \w
13103            \R++
13104            Any
13105            \R+
13106            AllAny
13107            \R+
13108            \R
13109            \R+
13110            \H
13111            \R++
13112            \h
13113            \R+
13114            \V
13115            \R+
13116            \v
13117            \R+
13118            \Z
13119            \R++
13120            \z
13121            \R+
13122            $
13123            Ket
13124            End
13125    ------------------------------------------------------------------
13126    
13127    /\H+\D \H+\d \H+\S \H+\s \H+\W \H+\w \H+. \H+\C \H+\R \H+\H \H+\h \H+\V \H+\v \H+\Z \H+\z \H+$/BZx
13128    ------------------------------------------------------------------
13129            Bra
13130            \H+
13131            \D
13132            \H+
13133            \d
13134            \H+
13135            \S
13136            \H+
13137            \s
13138            \H+
13139            \W
13140            \H+
13141            \w
13142            \H+
13143            Any
13144            \H+
13145            AllAny
13146            \H+
13147            \R
13148            \H+
13149            \H
13150            \H++
13151            \h
13152            \H+
13153            \V
13154            \H+
13155            \v
13156            \H+
13157            \Z
13158            \H++
13159            \z
13160            \H+
13161            $
13162            Ket
13163            End
13164    ------------------------------------------------------------------
13165    
13166    /\h+\D \h+\d \h+\S \h+\s \h+\W \h+\w \h+. \h+\C \h+\R \h+\H \h+\h \h+\V \h+\v \h+\Z \h+\z \h+$/BZx
13167    ------------------------------------------------------------------
13168            Bra
13169            \h+
13170            \D
13171            \h++
13172            \d
13173            \h++
13174            \S
13175            \h+
13176            \s
13177            \h+
13178            \W
13179            \h++
13180            \w
13181            \h+
13182            Any
13183            \h+
13184            AllAny
13185            \h++
13186            \R
13187            \h++
13188            \H
13189            \h+
13190            \h
13191            \h+
13192            \V
13193            \h++
13194            \v
13195            \h+
13196            \Z
13197            \h++
13198            \z
13199            \h+
13200            $
13201            Ket
13202            End
13203    ------------------------------------------------------------------
13204    
13205    /\V+\D \V+\d \V+\S \V+\s \V+\W \V+\w \V+. \V+\C \V+\R \V+\H \V+\h \V+\V \V+\v \V+\Z \V+\z \V+$/BZx
13206    ------------------------------------------------------------------
13207            Bra
13208            \V+
13209            \D
13210            \V+
13211            \d
13212            \V+
13213            \S
13214            \V+
13215            \s
13216            \V+
13217            \W
13218            \V+
13219            \w
13220            \V+
13221            Any
13222            \V+
13223            AllAny
13224            \V++
13225            \R
13226            \V+
13227            \H
13228            \V+
13229            \h
13230            \V+
13231            \V
13232            \V++
13233            \v
13234            \V+
13235            \Z
13236            \V++
13237            \z
13238            \V+
13239            $
13240            Ket
13241            End
13242    ------------------------------------------------------------------
13243    
13244    /\v+\D \v+\d \v+\S \v+\s \v+\W \v+\w \v+. \v+\C \v+\R \v+\H \v+\h \v+\V \v+\v \v+\Z \v+\z \v+$/BZx
13245    ------------------------------------------------------------------
13246            Bra
13247            \v+
13248            \D
13249            \v++
13250            \d
13251            \v++
13252            \S
13253            \v+
13254            \s
13255            \v+
13256            \W
13257            \v++
13258            \w
13259            \v+
13260            Any
13261            \v+
13262            AllAny
13263            \v+
13264            \R
13265            \v+
13266            \H
13267            \v++
13268            \h
13269            \v++
13270            \V
13271            \v+
13272            \v
13273            \v+
13274            \Z
13275            \v++
13276            \z
13277            \v+
13278            $
13279            Ket
13280            End
13281    ------------------------------------------------------------------
13282    
13283    / a+\D  a+\d  a+\S  a+\s  a+\W  a+\w  a+.  a+\C  a+\R  a+\H  a+\h  a+\V  a+\v  a+\Z  a+\z  a+$/BZx
13284    ------------------------------------------------------------------
13285            Bra
13286            a+
13287            \D
13288            a++
13289            \d
13290            a+
13291            \S
13292            a++
13293            \s
13294            a++
13295            \W
13296            a+
13297            \w
13298            a+
13299            Any
13300            a+
13301            AllAny
13302            a++
13303            \R
13304            a+
13305            \H
13306            a++
13307            \h
13308            a+
13309            \V
13310            a++
13311            \v
13312            a++
13313            \Z
13314            a++
13315            \z
13316            a++
13317            $
13318            Ket
13319            End
13320    ------------------------------------------------------------------
13321    
13322    /\n+\D \n+\d \n+\S \n+\s \n+\W \n+\w \n+. \n+\C \n+\R \n+\H \n+\h \n+\V \n+\v \n+\Z \n+\z \n+$/BZx
13323    ------------------------------------------------------------------
13324            Bra
13325            \x0a+
13326            \D
13327            \x0a++
13328            \d
13329            \x0a++
13330            \S
13331            \x0a+
13332            \s
13333            \x0a+
13334            \W
13335            \x0a++
13336            \w
13337            \x0a+
13338            Any
13339            \x0a+
13340            AllAny
13341            \x0a+
13342            \R
13343            \x0a+
13344            \H
13345            \x0a++
13346            \h
13347            \x0a++
13348            \V
13349            \x0a+
13350            \v
13351            \x0a+
13352            \Z
13353            \x0a++
13354            \z
13355            \x0a+
13356            $
13357            Ket
13358            End
13359    ------------------------------------------------------------------
13360    
13361    / .+\D  .+\d  .+\S  .+\s  .+\W  .+\w  .+.  .+\C  .+\R  .+\H  .+\h  .+\V  .+\v  .+\Z  .+\z  .+$/BZx
13362    ------------------------------------------------------------------
13363            Bra
13364            Any+
13365            \D
13366            Any+
13367            \d
13368            Any+
13369            \S
13370            Any+
13371            \s
13372            Any+
13373            \W
13374            Any+
13375            \w
13376            Any+
13377            Any
13378            Any+
13379            AllAny
13380            Any++
13381            \R
13382            Any+
13383            \H
13384            Any+
13385            \h
13386            Any+
13387            \V
13388            Any+
13389            \v
13390            Any+
13391            \Z
13392            Any++
13393            \z
13394            Any+
13395            $
13396            Ket
13397            End
13398    ------------------------------------------------------------------
13399    
13400    / .+\D  .+\d  .+\S  .+\s  .+\W  .+\w  .+.  .+\C  .+\R  .+\H  .+\h  .+\V  .+\v  .+\Z  .+\z  .+$/BZxs
13401    ------------------------------------------------------------------
13402            Bra
13403            AllAny+
13404            \D
13405            AllAny+
13406            \d
13407            AllAny+
13408            \S
13409            AllAny+
13410            \s
13411            AllAny+
13412            \W
13413            AllAny+
13414            \w
13415            AllAny+
13416            AllAny
13417            AllAny+
13418            AllAny
13419            AllAny+
13420            \R
13421            AllAny+
13422            \H
13423            AllAny+
13424            \h
13425            AllAny+
13426            \V
13427            AllAny+
13428            \v
13429            AllAny+
13430            \Z
13431            AllAny++
13432            \z
13433            AllAny+
13434            $
13435            Ket
13436            End
13437    ------------------------------------------------------------------
13438    
13439    /\D+$  \d+$  \S+$  \s+$  \W+$  \w+$  \C+$  \R+$  \H+$  \h+$  \V+$  \v+$   a+$  \n+$   .+$  .+$/BZxm
13440    ------------------------------------------------------------------
13441            Bra
13442            \D+
13443         /m $
13444            \d++
13445         /m $
13446            \S++
13447         /m $
13448            \s+
13449         /m $
13450            \W+
13451         /m $
13452            \w++
13453         /m $
13454            AllAny+
13455         /m $
13456            \R+
13457         /m $
13458            \H+
13459         /m $
13460            \h+
13461         /m $
13462            \V+
13463         /m $
13464            \v+
13465         /m $
13466            a+
13467         /m $
13468            \x0a+
13469         /m $
13470            Any+
13471         /m $
13472            Any+
13473         /m $
13474            Ket
13475            End
13476    ------------------------------------------------------------------
13477    
13478    /(?=a+)a(a+)++a/BZ
13479    ------------------------------------------------------------------
13480            Bra
13481            Assert
13482            a++
13483            Ket
13484            a
13485            CBraPos 1
13486            a++
13487            KetRpos
13488            a
13489            Ket
13490            End
13491    ------------------------------------------------------------------
13492    
13493    /a+(bb|cc)a+(?:bb|cc)a+(?>bb|cc)a+(?:bb|cc)+a+(aa)a+(?:bb|aa)/BZ
13494    ------------------------------------------------------------------
13495            Bra
13496            a++
13497            CBra 1
13498            bb
13499            Alt
13500            cc
13501            Ket
13502            a++
13503            Bra
13504            bb
13505            Alt
13506            cc
13507            Ket
13508            a++
13509            Once_NC
13510            bb
13511            Alt
13512            cc
13513            Ket
13514            a++
13515            Bra
13516            bb
13517            Alt
13518            cc
13519            KetRmax
13520            a+
13521            CBra 2
13522            aa
13523            Ket
13524            a+
13525            Bra
13526            bb
13527            Alt
13528            aa
13529            Ket
13530            Ket
13531            End
13532    ------------------------------------------------------------------
13533    
13534    /a+(bb|cc)?#a+(?:bb|cc)??#a+(?:bb|cc)?+#a+(?:bb|cc)*#a+(bb|cc)?a#a+(?:aa)?/BZ
13535    ------------------------------------------------------------------
13536            Bra
13537            a++
13538            Brazero
13539            CBra 1
13540            bb
13541            Alt
13542            cc
13543            Ket
13544            #
13545            a++
13546            Braminzero
13547            Bra
13548            bb
13549            Alt
13550            cc
13551            Ket
13552            #
13553            a++
13554            Once
13555            Brazero
13556            Bra
13557            bb
13558            Alt
13559            cc
13560            Ket
13561            Ket
13562            #
13563            a++
13564            Brazero
13565            Bra
13566            bb
13567            Alt
13568            cc
13569            KetRmax
13570            #
13571            a+
13572            Brazero
13573            CBra 2
13574            bb
13575            Alt
13576            cc
13577            Ket
13578            a#
13579            a+
13580            Brazero
13581            Bra
13582            aa
13583            Ket
13584            Ket
13585            End
13586    ------------------------------------------------------------------
13587    
13588    /a+(?:bb)?a#a+(?:|||)#a+(?:|b)a#a+(?:|||)?a/BZ
13589    ------------------------------------------------------------------
13590            Bra
13591            a+
13592            Brazero
13593            Bra
13594            bb
13595            Ket
13596            a#
13597            a++
13598            Bra
13599            Alt
13600            Alt
13601            Alt
13602            Ket
13603            #
13604            a+
13605            Bra
13606            Alt
13607            b
13608            Ket
13609            a#
13610            a+
13611            Brazero
13612            Bra
13613            Alt
13614            Alt
13615            Alt
13616            Ket
13617            a
13618            Ket
13619            End
13620    ------------------------------------------------------------------
13621    
13622    /[ab]*/BZ
13623    ------------------------------------------------------------------
13624            Bra
13625            [ab]*+
13626            Ket
13627            End
13628    ------------------------------------------------------------------
13629        aaaa
13630     0: aaaa
13631    
13632    /[ab]*?/BZ
13633    ------------------------------------------------------------------
13634            Bra
13635            [ab]*?
13636            Ket
13637            End
13638    ------------------------------------------------------------------
13639        aaaa
13640     0:
13641    
13642    /[ab]?/BZ
13643    ------------------------------------------------------------------
13644            Bra
13645            [ab]?+
13646            Ket
13647            End
13648    ------------------------------------------------------------------
13649        aaaa
13650     0: a
13651    
13652    /[ab]??/BZ
13653    ------------------------------------------------------------------
13654            Bra
13655            [ab]??
13656            Ket
13657            End
13658    ------------------------------------------------------------------
13659        aaaa
13660     0:
13661    
13662    /[ab]+/BZ
13663    ------------------------------------------------------------------
13664            Bra
13665            [ab]++
13666            Ket
13667            End
13668    ------------------------------------------------------------------
13669        aaaa
13670     0: aaaa
13671    
13672    /[ab]+?/BZ
13673    ------------------------------------------------------------------
13674            Bra
13675            [ab]+?
13676            Ket
13677            End
13678    ------------------------------------------------------------------
13679        aaaa
13680     0: a
13681    
13682    /[ab]{2,3}/BZ
13683    ------------------------------------------------------------------
13684            Bra
13685            [ab]{2,3}+
13686            Ket
13687            End
13688    ------------------------------------------------------------------
13689        aaaa
13690     0: aaa
13691    
13692    /[ab]{2,3}?/BZ
13693    ------------------------------------------------------------------
13694            Bra
13695            [ab]{2,3}?
13696            Ket
13697            End
13698    ------------------------------------------------------------------
13699        aaaa
13700     0: aa
13701    
13702    /[ab]{2,}/BZ
13703    ------------------------------------------------------------------
13704            Bra
13705            [ab]{2,}+
13706            Ket
13707            End
13708    ------------------------------------------------------------------
13709        aaaa
13710     0: aaaa
13711    
13712    /[ab]{2,}?/BZ
13713    ------------------------------------------------------------------
13714            Bra
13715            [ab]{2,}?
13716            Ket
13717            End
13718    ------------------------------------------------------------------
13719        aaaa
13720     0: aa
13721    
13722    /\d+\s{0,5}=\s*\S?=\w{0,4}\W*/BZ
13723    ------------------------------------------------------------------
13724            Bra
13725            \d++
13726            \s{0,5}+
13727            =
13728            \s*+
13729            \S?
13730            =
13731            \w{0,4}+
13732            \W*+
13733            Ket
13734            End
13735    ------------------------------------------------------------------
13736    
13737    /[a-d]{5,12}[e-z0-9]*#[^a-z]+[b-y]*a[2-7]?[^0-9a-z]+/BZ
13738    ------------------------------------------------------------------
13739            Bra
13740            [a-d]{5,12}+
13741            [0-9e-z]*+
13742            #
13743            [\x00-`{-\xff] (neg)++
13744            [b-y]*+
13745            a
13746            [2-7]?+
13747            [\x00-/:-`{-\xff] (neg)++
13748            Ket
13749            End
13750    ------------------------------------------------------------------
13751    
13752    /[a-z]*\s#[ \t]?\S#[a-c]*\S#[C-G]+?\d#[4-8]*\D#[4-9,]*\D#[!$]{0,5}\w#[M-Xf-l]+\W#[a-c,]?\W/BZ
13753    ------------------------------------------------------------------
13754            Bra
13755            [a-z]*+
13756            \s
13757            #
13758            [\x09 ]?+
13759            \S
13760            #
13761            [a-c]*
13762            \S
13763            #
13764            [C-G]++
13765            \d
13766            #
13767            [4-8]*+
13768            \D
13769            #
13770            [,4-9]*
13771            \D
13772            #
13773            [!$]{0,5}+
13774            \w
13775            #
13776            [M-Xf-l]++
13777            \W
13778            #
13779            [,a-c]?
13780            \W
13781            Ket
13782            End
13783    ------------------------------------------------------------------
13784    
13785    /a+(aa|bb)*c#a*(bb|cc)*a#a?(bb|cc)*d#[a-f]*(g|hh)*f/BZ
13786    ------------------------------------------------------------------
13787            Bra
13788            a+
13789            Brazero
13790            CBra 1
13791            aa
13792            Alt
13793            bb
13794            KetRmax
13795            c#
13796            a*
13797            Brazero
13798            CBra 2
13799            bb
13800            Alt
13801            cc
13802            KetRmax
13803            a#
13804            a?+
13805            Brazero
13806            CBra 3
13807            bb
13808            Alt
13809            cc
13810            KetRmax
13811            d#
13812            [a-f]*
13813            Brazero
13814            CBra 4
13815            g
13816            Alt
13817            hh
13818            KetRmax
13819            f
13820            Ket
13821            End
13822    ------------------------------------------------------------------
13823    
13824    /[a-f]*(g|hh|i)*i#[a-x]{4,}(y{0,6})*y#[a-k]+(ll|mm)+n/BZ
13825    ------------------------------------------------------------------
13826            Bra
13827            [a-f]*+
13828            Brazero
13829            CBra 1
13830            g
13831            Alt
13832            hh
13833            Alt
13834            i
13835            KetRmax
13836            i#
13837            [a-x]{4,}
13838            Brazero
13839            SCBra 2
13840            y{0,6}
13841            KetRmax
13842            y#
13843            [a-k]++
13844            CBra 3
13845            ll
13846            Alt
13847            mm
13848            KetRmax
13849            n
13850            Ket
13851            End
13852    ------------------------------------------------------------------
13853    
13854    /[a-f]*(?>gg|hh)+#[a-f]*(?>gg|hh)?#[a-f]*(?>gg|hh)*a#[a-f]*(?>gg|hh)*h/BZ
13855    ------------------------------------------------------------------
13856            Bra
13857            [a-f]*+
13858            Once_NC
13859            gg
13860            Alt
13861            hh
13862            KetRmax
13863            #
13864            [a-f]*+
13865            Brazero
13866            Once_NC
13867            gg
13868            Alt
13869            hh
13870            Ket
13871            #
13872            [a-f]*
13873            Brazero
13874            Once_NC
13875            gg
13876            Alt
13877            hh
13878            KetRmax
13879            a#
13880            [a-f]*+
13881            Brazero
13882            Once_NC
13883            gg
13884            Alt
13885            hh
13886            KetRmax
13887            h
13888            Ket
13889            End
13890    ------------------------------------------------------------------
13891    
13892    /[a-c]*d/DZS
13893    ------------------------------------------------------------------
13894            Bra
13895            [a-c]*+
13896            d
13897            Ket
13898            End
13899    ------------------------------------------------------------------
13900    Capturing subpattern count = 0
13901    No options
13902    No first char
13903    Need char = 'd'
13904    Subject length lower bound = 1
13905    Starting chars: a b c d
13906    
13907    /[a-c]+d/DZS
13908    ------------------------------------------------------------------
13909            Bra
13910            [a-c]++
13911            d
13912            Ket
13913            End
13914    ------------------------------------------------------------------
13915    Capturing subpattern count = 0
13916    No options
13917    No first char
13918    Need char = 'd'
13919    Subject length lower bound = 2
13920    Starting chars: a b c
13921    
13922    /[a-c]?d/DZS
13923    ------------------------------------------------------------------
13924            Bra
13925            [a-c]?+
13926            d
13927            Ket
13928            End
13929    ------------------------------------------------------------------
13930    Capturing subpattern count = 0
13931    No options
13932    No first char
13933    Need char = 'd'
13934    Subject length lower bound = 1
13935    Starting chars: a b c d
13936    
13937    /[a-c]{4,6}d/DZS
13938    ------------------------------------------------------------------
13939            Bra
13940            [a-c]{4,6}+
13941            d
13942            Ket
13943            End
13944    ------------------------------------------------------------------
13945    Capturing subpattern count = 0
13946    No options
13947    No first char
13948    Need char = 'd'
13949    Subject length lower bound = 5
13950    Starting chars: a b c
13951    
13952    /[a-c]{0,6}d/DZS
13953    ------------------------------------------------------------------
13954            Bra
13955            [a-c]{0,6}+
13956            d
13957            Ket