/[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 1472 by ph10, Mon Apr 21 16:11:50 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 3157  Failed: PCRE does not support \L, \l, \N Line 3178  Failed: PCRE does not support \L, \l, \N
3178  /\U/I  /\U/I
3179  Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1  Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
3180    
3181    /a{1,3}b/U
3182        ab
3183     0: ab
3184    
3185  /[/I  /[/I
3186  Failed: missing terminating ] for character class at offset 1  Failed: missing terminating ] for character class at offset 1
3187    
# Line 3169  Failed: missing terminating ] for charac Line 3194  Failed: missing terminating ] for charac
3194  /[\s]/IDZ  /[\s]/IDZ
3195  ------------------------------------------------------------------  ------------------------------------------------------------------
3196          Bra          Bra
3197          [\x09\x0a\x0c\x0d ]          [\x09-\x0d ]
3198          Ket          Ket
3199          End          End
3200  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 3233  No match Line 3258  No match
3258          End          End
3259  ------------------------------------------------------------------  ------------------------------------------------------------------
3260  Capturing subpattern count = 0  Capturing subpattern count = 0
3261    Max lookbehind = 1
3262  No options  No options
3263  First char = '8'  First char = '8'
3264  Need char = 'X'  Need char = 'X'
 Max lookbehind = 1  
3265    
3266  |\$\<\.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
3267  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 3247  Max lookbehind = 1 Line 3272  Max lookbehind = 1
3272          End          End
3273  ------------------------------------------------------------------  ------------------------------------------------------------------
3274  Capturing subpattern count = 0  Capturing subpattern count = 0
3275    Max lookbehind = 1
3276  No options  No options
3277  First char = '$'  First char = '$'
3278  Need char = 'X'  Need char = 'X'
 Max lookbehind = 1  
3279    
3280  /(.*)\d+\1/I  /(.*)\d+\1/I
3281  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 3304  Need char = 'b' Line 3329  Need char = 'b'
3329    
3330  /(?=a).*/I  /(?=a).*/I
3331  Capturing subpattern count = 0  Capturing subpattern count = 0
3332    May match empty string
3333  No options  No options
3334  First char = 'a'  First char = 'a'
3335  No need char  No need char
# Line 3322  Need char = 'z' (caseless) Line 3348  Need char = 'z' (caseless)
3348    
3349  /(?=a)(?=b)/I  /(?=a)(?=b)/I
3350  Capturing subpattern count = 0  Capturing subpattern count = 0
3351    May match empty string
3352  No options  No options
3353  First char = 'a'  First char = 'a'
3354  No need char  No need char
# Line 3388  Need char = 'a' Line 3415  Need char = 'a'
3415    
3416  /(a)*/I  /(a)*/I
3417  Capturing subpattern count = 1  Capturing subpattern count = 1
3418    May match empty string
3419  No options  No options
3420  No first char  No first char
3421  No need char  No need char
# Line 3410  No options Line 3438  No options
3438  No first char  No first char
3439  No need char  No need char
3440  Subject length lower bound = 1  Subject length lower bound = 1
3441  Starting byte set: a b  Starting chars: a b
3442    
3443  /[^a]/I  /[^a]/I
3444  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 3430  No options Line 3458  No options
3458  No first char  No first char
3459  Need char = '6'  Need char = '6'
3460  Subject length lower bound = 4  Subject length lower bound = 4
3461  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
3462    
3463  /a^b/I  /a^b/I
3464  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 3464  Options: caseless Line 3492  Options: caseless
3492  No first char  No first char
3493  No need char  No need char
3494  Subject length lower bound = 1  Subject length lower bound = 1
3495  Starting byte set: A B a b  Starting chars: A B a b
3496    
3497  /[ab](?i)cd/IS  /[ab](?i)cd/IS
3498  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 3472  No options Line 3500  No options
3500  No first char  No first char
3501  Need char = 'd' (caseless)  Need char = 'd' (caseless)
3502  Subject length lower bound = 3  Subject length lower bound = 3
3503  Starting byte set: a b  Starting chars: a b
3504    
3505  /abc(?C)def/I  /abc(?C)def/I
3506  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 3513  No options Line 3541  No options
3541  No first char  No first char
3542  Need char = 'f'  Need char = 'f'
3543  Subject length lower bound = 7  Subject length lower bound = 7
3544  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
3545      1234abcdef      1234abcdef
3546  --->1234abcdef  --->1234abcdef
3547    1 ^              \d    1 ^              \d
# Line 3616  No match Line 3644  No match
3644    
3645  /(?C0)(abc(?C1))*/I  /(?C0)(abc(?C1))*/I
3646  Capturing subpattern count = 1  Capturing subpattern count = 1
3647    May match empty string
3648  No options  No options
3649  No first char  No first char
3650  No need char  No need char
# Line 3649  No need char Line 3678  No need char
3678    
3679  /(\d{3}(?C))*/I  /(\d{3}(?C))*/I
3680  Capturing subpattern count = 1  Capturing subpattern count = 1
3681    May match empty string
3682  No options  No options
3683  No first char  No first char
3684  No need char  No need char
# Line 3763  Callout 2: last capture = -1 Line 3793  Callout 2: last capture = -1
3793    
3794  /(?<=(abc)(?C))xyz/I  /(?<=(abc)(?C))xyz/I
3795  Capturing subpattern count = 1  Capturing subpattern count = 1
3796    Max lookbehind = 3
3797  No options  No options
3798  First char = 'x'  First char = 'x'
3799  Need char = 'z'  Need char = 'z'
 Max lookbehind = 3  
3800     abcxyz\C+     abcxyz\C+
3801  Callout 0: last capture = 1  Callout 0: last capture = 1
3802   0: <unset>   0: <unset>
# Line 3785  Need char = 'b' Line 3815  Need char = 'b'
3815  --->abbbbbccc  --->abbbbbccc
3816    1 ^        ^    1 ^        ^
3817  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  
3818  No match  No match
3819    
3820  /a(b+?)(c*?)(?C1)/I  /a(b+?)(c*?)(?C1)/I
# Line 3844  No options Line 3860  No options
3860  No first char  No first char
3861  No need char  No need char
3862  Subject length lower bound = 1  Subject length lower bound = 1
3863  Starting byte set: a b  Starting chars: a b
3864    
3865  /(?R)/I  /(?R)/I
3866  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 3911  Failed: recursive call could loop indefi
3911    
3912  /^([^()]|\((?1)*\))*$/I  /^([^()]|\((?1)*\))*$/I
3913  Capturing subpattern count = 1  Capturing subpattern count = 1
3914    May match empty string
3915  Options: anchored  Options: anchored
3916  No first char  No first char
3917  No need char  No need char
# Line 4174  Named capturing subpatterns: Line 4191  Named capturing subpatterns:
4191    one     1    one     1
4192    three   3    three   3
4193    two     2    two     2
4194    May match empty string
4195  Options: anchored caseless  Options: anchored caseless
4196  No first char  No first char
4197  No need char  No need char
# Line 4273  Need char = 'z' Line 4291  Need char = 'z'
4291    
4292  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is
4293  Capturing subpattern count = 31  Capturing subpattern count = 31
4294    May match empty string
4295  Options: anchored dotall  Options: anchored dotall
4296  No first char  No first char
4297  No need char  No need char
# Line 4280  No need char Line 4299  No need char
4299  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is
4300  Capturing subpattern count = 31  Capturing subpattern count = 31
4301  Max back reference = 31  Max back reference = 31
4302    May match empty string
4303  Options: dotall  Options: dotall
4304  No first char  No first char
4305  No need char  No need char
# Line 4287  No need char Line 4307  No need char
4307  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is
4308  Capturing subpattern count = 32  Capturing subpattern count = 32
4309  Max back reference = 32  Max back reference = 32
4310    May match empty string
4311  Options: dotall  Options: dotall
4312  No first char  No first char
4313  No need char  No need char
# Line 4363  Minimum match() recursion limit = 6 Line 4384  Minimum match() recursion limit = 6
4384   1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa   1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
4385    aaaaaaaaaaaaaz\M    aaaaaaaaaaaaaz\M
4386  Minimum match() limit = 32768  Minimum match() limit = 32768
4387  Minimum match() recursion limit = 42  Minimum match() recursion limit = 29
4388  No match  No match
4389    
4390  /(aaa(?C1)bbb|ab)/I  /(aaa(?C1)bbb|ab)/I
# Line 4438  Capturing subpattern count = 2 Line 4459  Capturing subpattern count = 2
4459  Named capturing subpatterns:  Named capturing subpatterns:
4460    Tes    1    Tes    1
4461    Test   2    Test   2
4462    May match empty string
4463  No options  No options
4464  No first char  No first char
4465  No need char  No need char
# Line 4456  Capturing subpattern count = 2 Line 4478  Capturing subpattern count = 2
4478  Named capturing subpatterns:  Named capturing subpatterns:
4479    Tes    2    Tes    2
4480    Test   1    Test   1
4481    May match empty string
4482  No options  No options
4483  No first char  No first char
4484  No need char  No need char
# Line 4533  Need char = ']' Line 4556  Need char = ']'
4556          End          End
4557  ------------------------------------------------------------------  ------------------------------------------------------------------
4558  Capturing subpattern count = 2  Capturing subpattern count = 2
4559    May match empty string
4560  No options  No options
4561  No first char  No first char
4562  No need char  No need char
# Line 4553  No need char Line 4577  No need char
4577          End          End
4578  ------------------------------------------------------------------  ------------------------------------------------------------------
4579  Capturing subpattern count = 2  Capturing subpattern count = 2
4580    May match empty string
4581  No options  No options
4582  No first char  No first char
4583  No need char  No need char
# Line 4584  No need char Line 4609  No need char
4609          End          End
4610  ------------------------------------------------------------------  ------------------------------------------------------------------
4611  Capturing subpattern count = 2  Capturing subpattern count = 2
4612    May match empty string
4613  No options  No options
4614  No first char  No first char
4615  No need char  No need char
# Line 4591  No need char Line 4617  No need char
4617  /[ab]{1}+/DZ  /[ab]{1}+/DZ
4618  ------------------------------------------------------------------  ------------------------------------------------------------------
4619          Bra          Bra
4620          Once          [ab]{1,1}+
         [ab]{1,1}  
         Ket  
4621          Ket          Ket
4622          End          End
4623  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 4617  Options: caseless Line 4641  Options: caseless
4641  No first char  No first char
4642  Need char = 'g' (caseless)  Need char = 'g' (caseless)
4643  Subject length lower bound = 8  Subject length lower bound = 8
4644  No set of starting bytes  No starting char list
4645       Baby Bjorn Active Carrier - With free SHIPPING!!       Baby Bjorn Active Carrier - With free SHIPPING!!
4646   0: Baby Bjorn Active Carrier - With free SHIPPING!!   0: Baby Bjorn Active Carrier - With free SHIPPING!!
4647   1: Baby Bjorn Active Carrier - With free SHIPPING!!   1: Baby Bjorn Active Carrier - With free SHIPPING!!
# Line 4636  No options Line 4660  No options
4660  No first char  No first char
4661  Need char = 'b'  Need char = 'b'
4662  Subject length lower bound = 1  Subject length lower bound = 1
4663  No set of starting bytes  No starting char list
4664    
4665  /(a|b)*.?c/ISDZ  /(a|b)*.?c/ISDZ
4666  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 4657  No options Line 4681  No options
4681  No first char  No first char
4682  Need char = 'c'  Need char = 'c'
4683  Subject length lower bound = 1  Subject length lower bound = 1
4684  No set of starting bytes  No starting char list
4685    
4686  /abc(?C255)de(?C)f/DZ  /abc(?C255)de(?C)f/DZ
4687  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 4730  Options: Line 4754  Options:
4754  No first char  No first char
4755  Need char = 'b'  Need char = 'b'
4756  Subject length lower bound = 1  Subject length lower bound = 1
4757  Starting byte set: a b  Starting chars: a b
4758    ab    ab
4759  --->ab  --->ab
4760   +0 ^      a*   +0 ^      a*
# Line 4873  Options: Line 4897  Options:
4897  No first char  No first char
4898  Need char = 'x'  Need char = 'x'
4899  Subject length lower bound = 4  Subject length lower bound = 4
4900  Starting byte set: a d  Starting chars: a d
4901    abcx    abcx
4902  --->abcx  --->abcx
4903   +0 ^        (abc|def)   +0 ^        (abc|def)
# Line 5107  Options: Line 5131  Options:
5131  No first char  No first char
5132  No need char  No need char
5133  Subject length lower bound = 2  Subject length lower bound = 2
5134  Starting byte set: a b x  Starting chars: a b x
5135      Note: that { does NOT introduce a quantifier      Note: that { does NOT introduce a quantifier
5136  --->Note: that { does NOT introduce a quantifier  --->Note: that { does NOT introduce a quantifier
5137   +0         ^                                        ([ab]{,4}c|xy)   +0         ^                                        ([ab]{,4}c|xy)
# Line 5305  No match Line 5329  No match
5329          Callout 255 0 21          Callout 255 0 21
5330          CBra 1          CBra 1
5331          Callout 255 1 9          Callout 255 1 9
5332          [ab]{1,4}          [ab]{1,4}+
5333          Callout 255 10 1          Callout 255 10 1
5334          c          c
5335          Callout 255 11 0          Callout 255 11 0
# Line 5318  No match Line 5342  No match
5342          Ket          Ket
5343          CBra 1          CBra 1
5344          Callout 255 1 9          Callout 255 1 9
5345          [ab]{1,4}          [ab]{1,4}+
5346          Callout 255 10 1          Callout 255 10 1
5347          c          c
5348          Callout 255 11 0          Callout 255 11 0
# Line 5331  No match Line 5355  No match
5355          Ket          Ket
5356          CBra 1          CBra 1
5357          Callout 255 1 9          Callout 255 1 9
5358          [ab]{1,4}          [ab]{1,4}+
5359          Callout 255 10 1          Callout 255 10 1
5360          c          c
5361          Callout 255 11 0          Callout 255 11 0
# Line 5344  No match Line 5368  No match
5368          Ket          Ket
5369          CBra 1          CBra 1
5370          Callout 255 1 9          Callout 255 1 9
5371          [ab]{1,4}          [ab]{1,4}+
5372          Callout 255 10 1          Callout 255 10 1
5373          c          c
5374          Callout 255 11 0          Callout 255 11 0
# Line 5358  No match Line 5382  No match
5382          Braminzero          Braminzero
5383          CBra 1          CBra 1
5384          Callout 255 1 9          Callout 255 1 9
5385          [ab]{1,4}          [ab]{1,4}+
5386          Callout 255 10 1          Callout 255 10 1
5387          c          c
5388          Callout 255 11 0          Callout 255 11 0
# Line 5411  Need char = '3' Line 5435  Need char = '3'
5435    
5436  /\b.*/I  /\b.*/I
5437  Capturing subpattern count = 0  Capturing subpattern count = 0
5438    Max lookbehind = 1
5439    May match empty string
5440  No options  No options
5441  No first char  No first char
5442  No need char  No need char
 Max lookbehind = 1  
5443    ab cd\>1    ab cd\>1
5444   0:  cd   0:  cd
5445    
5446  /\b.*/Is  /\b.*/Is
5447  Capturing subpattern count = 0  Capturing subpattern count = 0
5448    Max lookbehind = 1
5449    May match empty string
5450  Options: dotall  Options: dotall
5451  No first char  No first char
5452  No need char  No need char
 Max lookbehind = 1  
5453    ab cd\>1    ab cd\>1
5454   0:  cd   0:  cd
5455    
5456  /(?!.bcd).*/I  /(?!.bcd).*/I
5457  Capturing subpattern count = 0  Capturing subpattern count = 0
5458    May match empty string
5459  No options  No options
5460  No first char  No first char
5461  No need char  No need char
# Line 5584  No options Line 5611  No options
5611  First char = 'a'  First char = 'a'
5612  Need char = 'c'  Need char = 'c'
5613  Subject length lower bound = 3  Subject length lower bound = 3
5614  No set of starting bytes  No starting char list
5615  Compiled pattern written to testsavedregex  Compiled pattern written to testsavedregex
5616  Study data written to testsavedregex  Study data written to testsavedregex
5617  <testsavedregex  <testsavedregex
# Line 5619  No options Line 5646  No options
5646  First char = 'a'  First char = 'a'
5647  Need char = 'c'  Need char = 'c'
5648  Subject length lower bound = 3  Subject length lower bound = 3
5649  No set of starting bytes  No starting char list
5650  Compiled pattern written to testsavedregex  Compiled pattern written to testsavedregex
5651  Study data written to testsavedregex  Study data written to testsavedregex
5652  <testsavedregex  <testsavedregex
# Line 5654  No options Line 5681  No options
5681  No first char  No first char
5682  No need char  No need char
5683  Subject length lower bound = 1  Subject length lower bound = 1
5684  Starting byte set: a b  Starting chars: a b
5685  Compiled pattern written to testsavedregex  Compiled pattern written to testsavedregex
5686  Study data written to testsavedregex  Study data written to testsavedregex
5687  <testsavedregex  <testsavedregex
# Line 5693  No options Line 5720  No options
5720  No first char  No first char
5721  No need char  No need char
5722  Subject length lower bound = 1  Subject length lower bound = 1
5723  Starting byte set: a b  Starting chars: a b
5724  Compiled pattern written to testsavedregex  Compiled pattern written to testsavedregex
5725  Study data written to testsavedregex  Study data written to testsavedregex
5726  <testsavedregex  <testsavedregex
# Line 5794  No match Line 5821  No match
5821  No match  No match
5822    
5823  /a{11111111111111111111}/I  /a{11111111111111111111}/I
5824  Failed: number too big in {} quantifier at offset 22  Failed: number too big in {} quantifier at offset 8
5825    
5826  /(){64294967295}/I  /(){64294967295}/I
5827  Failed: number too big in {} quantifier at offset 14  Failed: number too big in {} quantifier at offset 9
5828    
5829  /(){2,4294967295}/I  /(){2,4294967295}/I
5830  Failed: number too big in {} quantifier at offset 15  Failed: number too big in {} quantifier at offset 11
5831    
5832  "(?i:a)(?i:b)(?i:c)(?i:d)(?i:e)(?i:f)(?i:g)(?i:h)(?i:i)(?i:j)(k)(?i:l)A\1B"I  "(?i:a)(?i:b)(?i:c)(?i:d)(?i:e)(?i:f)(?i:g)(?i:h)(?i:i)(?i:j)(k)(?i:l)A\1B"I
5833  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 6017  Matched, but too many substrings Line 6044  Matched, but too many substrings
6044    
6045  /[^()]*(?:\((?R)\)[^()]*)*/I  /[^()]*(?:\((?R)\)[^()]*)*/I
6046  Capturing subpattern count = 0  Capturing subpattern count = 0
6047    May match empty string
6048  No options  No options
6049  No first char  No first char
6050  No need char  No need char
# Line 6029  No need char Line 6057  No need char
6057    
6058  /[^()]*(?:\((?>(?R))\)[^()]*)*/I  /[^()]*(?:\((?>(?R))\)[^()]*)*/I
6059  Capturing subpattern count = 0  Capturing subpattern count = 0
6060    May match empty string
6061  No options  No options
6062  No first char  No first char
6063  No need char  No need char
# Line 6039  No need char Line 6068  No need char
6068    
6069  /[^()]*(?:\((?R)\))*[^()]*/I  /[^()]*(?:\((?R)\))*[^()]*/I
6070  Capturing subpattern count = 0  Capturing subpattern count = 0
6071    May match empty string
6072  No options  No options
6073  No first char  No first char
6074  No need char  No need char
# Line 6049  No need char Line 6079  No need char
6079    
6080  /(?:\((?R)\))*[^()]*/I  /(?:\((?R)\))*[^()]*/I
6081  Capturing subpattern count = 0  Capturing subpattern count = 0
6082    May match empty string
6083  No options  No options
6084  No first char  No first char
6085  No need char  No need char
# Line 6061  No need char Line 6092  No need char
6092    
6093  /(?:\((?R)\))|[^()]*/I  /(?:\((?R)\))|[^()]*/I
6094  Capturing subpattern count = 0  Capturing subpattern count = 0
6095    May match empty string
6096  No options  No options
6097  No first char  No first char
6098  No need char  No need char
# Line 6110  no parentheses with name "Z" Line 6142  no parentheses with name "Z"
6142   2: a1   2: a1
6143  copy substring Z failed -7  copy substring Z failed -7
6144    C a1 (2) A    C a1 (2) A
6145    
6146    /(?|(?<a>)(?<b>)(?<a>)|(?<a>)(?<b>)(?<a>))/IJ
6147    Capturing subpattern count = 3
6148    Named capturing subpatterns:
6149      a   1
6150      a   3
6151      b   2
6152    May match empty string
6153    Options: dupnames
6154    No first char
6155    No need char
6156    
6157  /^(?P<A>a)(?P<A>b)/IJ  /^(?P<A>a)(?P<A>b)/IJ
6158  Capturing subpattern count = 2  Capturing subpattern count = 2
# Line 6320  Need char = 'X' Line 6363  Need char = 'X'
6363   1: X   1: X
6364    
6365  /(?:(?(2y)a|b)(X))+/I  /(?:(?(2y)a|b)(X))+/I
6366  Failed: reference to non-existent subpattern at offset 9  Failed: malformed number or name after (?( at offset 7
6367    
6368  /(?:(?(ZA)a|b)(?P<ZZ>X))+/I  /(?:(?(ZA)a|b)(?P<ZZ>X))+/I
6369  Failed: reference to non-existent subpattern at offset 9  Failed: reference to non-existent subpattern at offset 9
# Line 6392  No options Line 6435  No options
6435  No first char  No first char
6436  Need char = ','  Need char = ','
6437  Subject length lower bound = 1  Subject length lower bound = 1
6438  Starting byte set: \x09 \x0a \x0c \x0d \x20 ,  Starting chars: \x09 \x0a \x0b \x0c \x0d \x20 ,
6439      \x0b,\x0b      \x0b,\x0b
6440   0: ,   0: \x0b,\x0b
6441      \x0c,\x0d      \x0c,\x0d
6442   0: \x0c,\x0d   0: \x0c,\x0d
6443    
# Line 6503  No match Line 6546  No match
6546  No match  No match
6547    
6548  /^abc/Im<bad>  /^abc/Im<bad>
6549  Unknown newline type at: <bad>  Unknown modifier at: <bad>
6550    
6551    
6552  /abc/I  /abc/I
# Line 6512  No options Line 6555  No options
6555  First char = 'a'  First char = 'a'
6556  Need char = 'c'  Need char = 'c'
6557      xyz\rabc\<bad>      xyz\rabc\<bad>
6558  Unknown newline type at: <bad>  Unknown escape sequence at: <bad>
6559      abc      abc
6560   0: abc   0: abc
6561    
6562  /.*/I<lf>  /.*/I<lf>
6563  Capturing subpattern count = 0  Capturing subpattern count = 0
6564    May match empty string
6565  Options:  Options:
6566  Forced newline sequence: LF  Forced newline sequence: LF
6567  First char at start or follows newline  First char at start or follows newline
# Line 6559  Need char = 'f' Line 6603  Need char = 'f'
6603    
6604  +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I  +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I
6605  Capturing subpattern count = 1  Capturing subpattern count = 1
6606    May match empty string
6607  No options  No options
6608  No first char  No first char
6609  No need char  No need char
# Line 6697  No options Line 6742  No options
6742  No first char  No first char
6743  No need char  No need char
6744  Subject length lower bound = 1  Subject length lower bound = 1
6745  Starting byte set: C a b c d  Starting chars: C a b c d
6746    
6747  /()[ab]xyz/IS  /()[ab]xyz/IS
6748  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 6705  No options Line 6750  No options
6750  No first char  No first char
6751  Need char = 'z'  Need char = 'z'
6752  Subject length lower bound = 4  Subject length lower bound = 4
6753  Starting byte set: a b  Starting chars: a b
6754    
6755  /(|)[ab]xyz/IS  /(|)[ab]xyz/IS
6756  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 6713  No options Line 6758  No options
6758  No first char  No first char
6759  Need char = 'z'  Need char = 'z'
6760  Subject length lower bound = 4  Subject length lower bound = 4
6761  Starting byte set: a b  Starting chars: a b
6762    
6763  /(|c)[ab]xyz/IS  /(|c)[ab]xyz/IS
6764  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 6721  No options Line 6766  No options
6766  No first char  No first char
6767  Need char = 'z'  Need char = 'z'
6768  Subject length lower bound = 4  Subject length lower bound = 4
6769  Starting byte set: a b c  Starting chars: a b c
6770    
6771  /(|c?)[ab]xyz/IS  /(|c?)[ab]xyz/IS
6772  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 6729  No options Line 6774  No options
6774  No first char  No first char
6775  Need char = 'z'  Need char = 'z'
6776  Subject length lower bound = 4  Subject length lower bound = 4
6777  Starting byte set: a b c  Starting chars: a b c
6778    
6779  /(d?|c?)[ab]xyz/IS  /(d?|c?)[ab]xyz/IS
6780  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 6737  No options Line 6782  No options
6782  No first char  No first char
6783  Need char = 'z'  Need char = 'z'
6784  Subject length lower bound = 4  Subject length lower bound = 4
6785  Starting byte set: a b c d  Starting chars: a b c d
6786    
6787  /(d?|c)[ab]xyz/IS  /(d?|c)[ab]xyz/IS
6788  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 6745  No options Line 6790  No options
6790  No first char  No first char
6791  Need char = 'z'  Need char = 'z'
6792  Subject length lower bound = 4  Subject length lower bound = 4
6793  Starting byte set: a b c d  Starting chars: a b c d
6794    
6795  /^a*b\d/DZ  /^a*b\d/DZ
6796  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 6838  No options Line 6883  No options
6883  No first char  No first char
6884  No need char  No need char
6885  Subject length lower bound = 1  Subject length lower bound = 1
6886  Starting byte set: a b c d  Starting chars: a b c d
6887    
6888  /(a+|b*)[cd]/IS  /(a+|b*)[cd]/IS
6889  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 6846  No options Line 6891  No options
6891  No first char  No first char
6892  No need char  No need char
6893  Subject length lower bound = 1  Subject length lower bound = 1
6894  Starting byte set: a b c d  Starting chars: a b c d
6895    
6896  /(a*|b+)[cd]/IS  /(a*|b+)[cd]/IS
6897  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 6854  No options Line 6899  No options
6899  No first char  No first char
6900  No need char  No need char
6901  Subject length lower bound = 1  Subject length lower bound = 1
6902  Starting byte set: a b c d  Starting chars: a b c d
6903    
6904  /(a+|b+)[cd]/IS  /(a+|b+)[cd]/IS
6905  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 6862  No options Line 6907  No options
6907  No first char  No first char
6908  No need char  No need char
6909  Subject length lower bound = 2  Subject length lower bound = 2
6910  Starting byte set: a b  Starting chars: a b
6911    
6912  /((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((  /((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
6913   ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((   ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
# Line 7482  Matched, but too many substrings Line 7527  Matched, but too many substrings
7527  /a*[^a]/BZ  /a*[^a]/BZ
7528  ------------------------------------------------------------------  ------------------------------------------------------------------
7529          Bra          Bra
7530          a*          a*+
7531          [^a]          [^a]
7532          Ket          Ket
7533          End          End
# Line 7624  No match Line 7669  No match
7669  ------------------------------------------------------------------  ------------------------------------------------------------------
7670          Bra          Bra
7671          ^          ^
7672          [a-z]+          [a-z]++
7673          Ket          Ket
7674          End          End
7675  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 7665  No match Line 7710  No match
7710          ^          ^
7711          CBra 1          CBra 1
7712          Cond          Cond
7713        2 Cond nref        2 Cond ref
7714          y          y
7715          Ket          Ket
7716          [()]          [()]
# Line 7725  Named capturing subpatterns: Line 7770  Named capturing subpatterns:
7770    one     1    one     1
7771    three   3    three   3
7772    two     2    two     2
7773    May match empty string
7774  Options: anchored caseless  Options: anchored caseless
7775  No first char  No first char
7776  No need char  No need char
# Line 7824  Failed: reference to non-existent subpat Line 7870  Failed: reference to non-existent subpat
7870   1: abcabc1Xabc2XabcX   1: abcabc1Xabc2XabcX
7871   2: abcabc1Xabc2XabcX   2: abcabc1Xabc2XabcX
7872    
7873  /(?<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
7874  Failed: reference to non-existent subpattern at offset 29  Failed: reference to non-existent subpattern at offset 29
7875    
 /(?<1> (?'B' abc (?(R) (?(R&1)1) (?(R&B)2) X  |  (?1)  (?2)   (?R) ))) /x  
     abcabc1Xabc2XabcXabcabc  
  0: abcabc1Xabc2XabcX  
  1: abcabc1Xabc2XabcX  
  2: abcabc1Xabc2XabcX  
   
7876  /^(?(DEFINE) abc | xyz ) /x  /^(?(DEFINE) abc | xyz ) /x
7877  Failed: DEFINE group contains more than one branch at offset 22  Failed: DEFINE group contains more than one branch at offset 22
7878    
# Line 8056  Failed: a numbered reference must not be Line 8096  Failed: a numbered reference must not be
8096  /^(a)\g{3/  /^(a)\g{3/
8097  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
8098    
8099  /^(a)\g{4a}/  /^(a)\g{aa}/
8100  Failed: reference to non-existent subpattern at offset 9  Failed: reference to non-existent subpattern at offset 9
8101    
8102  /^a.b/<lf>  /^a.b/<lf>
# Line 8561  No match Line 8601  No match
8601          \d          \d
8602          \v++          \v++
8603          \w          \w
8604          \v+          \v++
8605          \S          \S
8606          \v++          \v++
8607          \V          \V
# Line 8659  No match Line 8699  No match
8699   +6 ^      ^    (*FAIL)   +6 ^      ^    (*FAIL)
8700   +6 ^     ^     (*FAIL)   +6 ^     ^     (*FAIL)
8701   +6 ^    ^      (*FAIL)   +6 ^    ^      (*FAIL)
  +4 ^  ^        c+  
  +2 ^ ^         b?  
  +4 ^ ^         c+  
  +2 ^^          b?  
  +4 ^^          c+  
8702   +0  ^          a+   +0  ^          a+
8703   +2  ^ ^        b?   +2  ^ ^        b?
8704   +4  ^  ^       c+   +4  ^  ^       c+
8705   +6  ^     ^    (*FAIL)   +6  ^     ^    (*FAIL)
8706   +6  ^    ^     (*FAIL)   +6  ^    ^     (*FAIL)
8707   +6  ^   ^      (*FAIL)   +6  ^   ^      (*FAIL)
  +4  ^ ^        c+  
  +2  ^^         b?  
  +4  ^^         c+  
8708   +0   ^         a+   +0   ^         a+
8709   +2   ^^        b?   +2   ^^        b?
8710   +4   ^ ^       c+   +4   ^ ^       c+
8711   +6   ^    ^    (*FAIL)   +6   ^    ^    (*FAIL)
8712   +6   ^   ^     (*FAIL)   +6   ^   ^     (*FAIL)
8713   +6   ^  ^      (*FAIL)   +6   ^  ^      (*FAIL)
  +4   ^^        c+  
8714  No match  No match
8715    
8716  /a+b?(*PRUNE)c+(*FAIL)/C  /a+b?(*PRUNE)c+(*FAIL)/C
# Line 8803  No match Line 8834  No match
8834   1: \x0a   1: \x0a
8835    
8836  /a(*CR)b/  /a(*CR)b/
8837  Failed: (*VERB) not recognized at offset 5  Failed: (*VERB) not recognized or malformed at offset 5
8838    
8839  /(*CR)a.b/  /(*CR)a.b/
8840      a\nb      a\nb
# Line 9248  No match Line 9279  No match
9279      ab      ab
9280  No match  No match
9281    
9282  /a(?!)+b/  /a(?!)b/BZ
9283  Failed: nothing to repeat at offset 5  ------------------------------------------------------------------
9284            Bra
9285            a
9286            *FAIL
9287            b
9288            Ket
9289            End
9290    ------------------------------------------------------------------
9291    
9292    /(?!)?a/BZ
9293    ------------------------------------------------------------------
9294            Bra
9295            Brazero
9296            Assert not
9297            Ket
9298            a
9299            Ket
9300            End
9301    ------------------------------------------------------------------
9302        ab
9303     0: a
9304    
9305  /a(*FAIL)+b/  /a(*FAIL)+b/
9306  Failed: nothing to repeat at offset 8  Failed: nothing to repeat at offset 8
# Line 9260  No options Line 9311  No options
9311  No first char  No first char
9312  No need char  No need char
9313  Subject length lower bound = 1  Subject length lower bound = 1
9314  Starting byte set: x y z  Starting chars: x y z
9315    
9316  /(?(?=.*b)b|^)/CI  /(?(?=.*b)b|^)/CI
9317  Capturing subpattern count = 0  Capturing subpattern count = 0
9318    May match empty string
9319  Options:  Options:
9320  No first char  No first char
9321  No need char  No need char
# Line 9276  No need char Line 9328  No need char
9328   +7 ^ ^     b   +7 ^ ^     b
9329   +7 ^^      b   +7 ^^      b
9330   +7 ^       b   +7 ^       b
9331    +11 ^       ^
9332  +12 ^       )  +12 ^       )
9333  +13 ^  +13 ^
9334   0:   0:
# Line 9367  No match Line 9420  No match
9420  No match  No match
9421    
9422  /(*NO_START_OPT)xyz/C  /(*NO_START_OPT)xyz/C
9423    abcxyz    abcxyz
9424  --->abcxyz  --->abcxyz
9425  +15 ^          x  +15 ^          x
9426  +15  ^         x  +15  ^         x
# Line 9377  No match Line 9430  No match
9430  +17    ^ ^     z  +17    ^ ^     z
9431  +18    ^  ^  +18    ^  ^
9432   0: xyz   0: xyz
9433    
9434    /(*NO_AUTO_POSSESS)a+b/BZ
9435    ------------------------------------------------------------------
9436            Bra
9437            a+
9438            b
9439            Ket
9440            End
9441    ------------------------------------------------------------------
9442    
9443  /xyz/CY  /xyz/CY
9444    abcxyz    abcxyz
# Line 9406  No match Line 9468  No match
9468   +3 ^ ^      (?(?=[a])[^"])   +3 ^ ^      (?(?=[a])[^"])
9469   +5 ^ ^      (?=[a])   +5 ^ ^      (?=[a])
9470   +8 ^ ^      [a]   +8 ^ ^      [a]
9471    +17 ^ ^      |
9472  +21 ^ ^      "  +21 ^ ^      "
9473  +18 ^ ^      b  +18 ^ ^      b
9474  +19 ^  ^     )  +19 ^  ^     )
9475   +3 ^  ^     (?(?=[a])[^"])   +3 ^  ^     (?(?=[a])[^"])
9476   +5 ^  ^     (?=[a])   +5 ^  ^     (?=[a])
9477   +8 ^  ^     [a]   +8 ^  ^     [a]
9478    +17 ^  ^     |
9479  +21 ^  ^     "  +21 ^  ^     "
9480  +22 ^   ^    $  +22 ^   ^    $
9481  +23 ^   ^  +23 ^   ^
# Line 9719  Partial match: abc12 Line 9783  Partial match: abc12
9783      xyzabc123pqr      xyzabc123pqr
9784   0: 123   0: 123
9785      xyzabc12\P      xyzabc12\P
9786  Partial match: abc12  Partial match at offset 6: abc12
9787      xyzabc12\P\P      xyzabc12\P\P
9788  Partial match: abc12  Partial match at offset 6: abc12
9789    
9790  /\babc\b/  /\babc\b/
9791      +++abc+++      +++abc+++
9792   0: abc   0: abc
9793      +++ab\P      +++ab\P
9794  Partial match: +ab  Partial match at offset 3: +ab
9795      +++ab\P\P      +++ab\P\P
9796  Partial match: +ab  Partial match at offset 3: +ab
9797    
9798  /(?&word)(?&element)(?(DEFINE)(?<element><[^m][^>]>[^<])(?<word>\w*+))/BZ  /(?&word)(?&element)(?(DEFINE)(?<element><[^m][^>]>[^<])(?<word>\w*+))/BZ
9799  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 10036  No options Line 10100  No options
10100  No first char  No first char
10101  No need char  No need char
10102  Subject length lower bound = 2  Subject length lower bound = 2
10103  Starting byte set: a b  Starting chars: a b
10104    
10105  /(a|bc)\1{2,3}/SI  /(a|bc)\1{2,3}/SI
10106  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 10045  No options Line 10109  No options
10109  No first char  No first char
10110  No need char  No need char
10111  Subject length lower bound = 3  Subject length lower bound = 3
10112  Starting byte set: a b  Starting chars: a b
10113    
10114  /(a|bc)(?1)/SI  /(a|bc)(?1)/SI
10115  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 10053  No options Line 10117  No options
10117  No first char  No first char
10118  No need char  No need char
10119  Subject length lower bound = 2  Subject length lower bound = 2
10120  Starting byte set: a b  Starting chars: a b
10121    
10122  /(a|b\1)(a|b\1)/SI  /(a|b\1)(a|b\1)/SI
10123  Capturing subpattern count = 2  Capturing subpattern count = 2
# Line 10062  No options Line 10126  No options
10126  No first char  No first char
10127  No need char  No need char
10128  Subject length lower bound = 2  Subject length lower bound = 2
10129  Starting byte set: a b  Starting chars: a b
10130    
10131  /(a|b\1){2}/SI  /(a|b\1){2}/SI
10132  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 10071  No options Line 10135  No options
10135  No first char  No first char
10136  No need char  No need char
10137  Subject length lower bound = 2  Subject length lower bound = 2
10138  Starting byte set: a b  Starting chars: a b
10139    
10140  /(a|bbbb\1)(a|bbbb\1)/SI  /(a|bbbb\1)(a|bbbb\1)/SI
10141  Capturing subpattern count = 2  Capturing subpattern count = 2
# Line 10080  No options Line 10144  No options
10144  No first char  No first char
10145  No need char  No need char
10146  Subject length lower bound = 2  Subject length lower bound = 2
10147  Starting byte set: a b  Starting chars: a b
10148    
10149  /(a|bbbb\1){2}/SI  /(a|bbbb\1){2}/SI
10150  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 10089  No options Line 10153  No options
10153  No first char  No first char
10154  No need char  No need char
10155  Subject length lower bound = 2  Subject length lower bound = 2
10156  Starting byte set: a b  Starting chars: a b
10157    
10158  /^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
10159  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 10097  Options: anchored Line 10161  Options: anchored
10161  No first char  No first char
10162  Need char = ':'  Need char = ':'
10163  Subject length lower bound = 22  Subject length lower bound = 22
10164  No set of starting bytes  No starting char list
10165    
10166  /<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
10167  Capturing subpattern count = 11  Capturing subpattern count = 11
# Line 10105  Options: caseless dotall Line 10169  Options: caseless dotall
10169  First char = '<'  First char = '<'
10170  Need char = '>'  Need char = '>'
10171  Subject length lower bound = 47  Subject length lower bound = 47
10172  No set of starting bytes  No starting char list
10173    
10174  "(?>.*/)foo"SI  "(?>.*/)foo"SI
10175  Capturing subpattern count = 0  Capturing subpattern count = 0
10176  No options  No options
10177  First char at start or follows newline  No first char
10178  Need char = 'o'  Need char = 'o'
10179  Subject length lower bound = 4  Subject length lower bound = 4
10180  No set of starting bytes  No starting char list
10181    
10182  /(?(?=[^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
10183  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 10121  Options: extended Line 10185  Options: extended
10185  No first char  No first char
10186  Need char = '-'  Need char = '-'
10187  Subject length lower bound = 8  Subject length lower bound = 8
10188  No set of starting bytes  No starting char list
10189    
10190  /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))/iSI  /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))/iSI
10191  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 10129  Options: caseless Line 10193  Options: caseless
10193  No first char  No first char
10194  No need char  No need char
10195  Subject length lower bound = 1  Subject length lower bound = 1
10196  Starting byte set: A B C a b c  Starting chars: A B C a b c
10197    
10198  /(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/SI  /(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/SI
10199  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 10137  No options Line 10201  No options
10201  No first char  No first char
10202  Need char = 'b'  Need char = 'b'
10203  Subject length lower bound = 41  Subject length lower bound = 41
10204  Starting byte set: c d  Starting chars: c d
10205    
10206  /<a[\s]+href[\s]*=[\s]*          # find <a href=  /<a[\s]+href[\s]*=[\s]*          # find <a href=
10207   ([\"\'])?                       # find single or double quote   ([\"\'])?                       # find single or double quote
# Line 10150  Options: caseless extended dotall Line 10214  Options: caseless extended dotall
10214  First char = '<'  First char = '<'
10215  Need char = '='  Need char = '='
10216  Subject length lower bound = 9  Subject length lower bound = 9
10217  No set of starting bytes  No starting char list
10218    
10219  /^(?!:)                       # colon disallowed at start  /^(?!:)                       # colon disallowed at start
10220    (?:                         # start of item    (?:                         # start of item
# Line 10166  Options: anchored caseless extended Line 10230  Options: anchored caseless extended
10230  No first char  No first char
10231  Need char = ':'  Need char = ':'
10232  Subject length lower bound = 2  Subject length lower bound = 2
10233  No set of starting bytes  No starting char list
10234    
10235  /(?|(?<a>A)|(?<a>B))/I  /(?|(?<a>A)|(?<a>B))/I
10236  Capturing subpattern count = 1  Capturing subpattern count = 1
10237  Named capturing subpatterns:  Named capturing subpatterns:
10238    a   1    a   1
   a   1  
10239  No options  No options
10240  No first char  No first char
10241  No need char  No need char
# Line 10245  No match Line 10308  No match
10308          Ket          Ket
10309          Ket          Ket
10310          Cond          Cond
10311        4 Cond nref          Cond ref <D>2
10312          X          X
10313          Alt          Alt
10314          Y          Y
# Line 10291  No match Line 10354  No match
10354          CBra 4          CBra 4
10355          d          d
10356          Cond          Cond
10357          Cond nrecurse 1          Cond recurse <A>2
10358          $          $
10359          Alt          Alt
10360          Recurse          Recurse
# Line 10353  Partial match: abca Line 10416  Partial match: abca
10416      xxxxabcde\P\P      xxxxabcde\P\P
10417  Partial match: abcde  Partial match: abcde
10418    
10419  /-- 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
10420      broken and not behaving as specified in that it *does* bumpalong after      broken and not behaving as specified in that it *does* bumpalong after
10421      hitting (*COMMIT). --/      hitting (*COMMIT). --/
10422    
# Line 10391  Options: Line 10454  Options:
10454  No first char  No first char
10455  Need char = 'a'  Need char = 'a'
10456  Subject length lower bound = 1  Subject length lower bound = 1
10457  No set of starting bytes  No starting char list
10458      cat      cat
10459   0: a   0: a
10460   1:   1:
# Line 10405  No options Line 10468  No options
10468  No first char  No first char
10469  Need char = 'a'  Need char = 'a'
10470  Subject length lower bound = 3  Subject length lower bound = 3
10471  No set of starting bytes  No starting char list
10472      cat      cat
10473  No match  No match
10474    
# Line 10417  No options Line 10480  No options
10480  First char = 'i'  First char = 'i'
10481  No need char  No need char
10482  Subject length lower bound = 1  Subject length lower bound = 1
10483  No set of starting bytes  No starting char list
10484      i      i
10485   0: i   0: i
10486    
# Line 10427  No options Line 10490  No options
10490  No first char  No first char
10491  Need char = 'i'  Need char = 'i'
10492  Subject length lower bound = 1  Subject length lower bound = 1
10493  Starting byte set: i  Starting chars: i
10494      ia      ia
10495   0: ia   0: ia
10496   1:   1:
# Line 10549  No match Line 10612  No match
10612          End          End
10613  ------------------------------------------------------------------  ------------------------------------------------------------------
10614    
10615  / -- 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  
10616       believe this to be a Perl bug. --/       believe this to be a Perl bug. --/
10617    
 /(?=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  
   
10618  /(?>a\Kb)z|(ab)/  /(?>a\Kb)z|(ab)/
10619      ab      ab
10620   0: ab   0: ab
10621   1: ab   1: ab
10622    
 /----------------------/  
   
10623  /(?P<L1>(?P<L2>0|)|(?P>L2)(?P>L1))/  /(?P<L1>(?P<L2>0|)|(?P>L2)(?P>L1))/
10624  Failed: recursive call could loop indefinitely at offset 31  Failed: recursive call could loop indefinitely at offset 31
10625    
# Line 10596  Failed: an argument is not allowed for ( Line 10639  Failed: an argument is not allowed for (
10639      ACABX      ACABX
10640  No match  No match
10641    
10642  /--- 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
10643       is a bug in Perl. ---/       is a bug in Perl. ---/
10644    
10645  /A(*THEN)B|A(*THEN)C/K  /A(*THEN)B|A(*THEN)C/K
# Line 10607  No match Line 10650  No match
10650      AC      AC
10651  No match  No match
10652    
 /--- 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  
   
10653  /--- 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,
10654  though PCRE does. ---/  though PCRE does. ---/
10655    
# Line 10647  No match Line 10683  No match
10683      abcccd      abcccd
10684  No match  No match
10685    
10686  /--- Perl 5.11 gets some of these wrong ---/  /--- Perl gets some of these wrong ---/
10687    
10688  /(?>.(*ACCEPT))*?5/  /(?>.(*ACCEPT))*?5/
10689      abcde      abcde
# Line 10755  No match Line 10791  No match
10791  /\s*\R/BZ  /\s*\R/BZ
10792  ------------------------------------------------------------------  ------------------------------------------------------------------
10793          Bra          Bra
10794          \s*+          \s*
10795          \R          \R
10796          Ket          Ket
10797          End          End
10798  ------------------------------------------------------------------  ------------------------------------------------------------------
10799        \x20\x0a
10800     0:  \x0a
10801        \x20\x0d
10802     0:  \x0d
10803        \x20\x0d\x0a
10804     0:  \x0d\x0a
10805    
10806  /-- Perl treats this one differently, not failing the second string. I believe  /\S*\R/BZ
10807      that is a bug in Perl. --/  ------------------------------------------------------------------
10808            Bra
10809            \S*+
10810            \R
10811            Ket
10812            End
10813    ------------------------------------------------------------------
10814        a\x0a
10815     0: a\x0a
10816    
10817  /^((abc|abcx)(*THEN)y|abcd)/  /X\h*\R/BZ
10818      abcd  ------------------------------------------------------------------
10819   0: abcd          Bra
10820   1: abcd          X
10821      *** Failers          \h*+
10822  No match          \R
10823      abcxy          Ket
10824            End
10825    ------------------------------------------------------------------
10826        X\x20\x0a
10827     0: X \x0a
10828    
10829    /X\H*\R/BZ
10830    ------------------------------------------------------------------
10831            Bra
10832            X
10833            \H*
10834            \R
10835            Ket
10836            End
10837    ------------------------------------------------------------------
10838        X\x0d\x0a
10839     0: X\x0d\x0a
10840    
10841    /X\H+\R/BZ
10842    ------------------------------------------------------------------
10843            Bra
10844            X
10845            \H+
10846            \R
10847            Ket
10848            End
10849    ------------------------------------------------------------------
10850        X\x0d\x0a
10851     0: X\x0d\x0a
10852    
10853    /X\H++\R/BZ
10854    ------------------------------------------------------------------
10855            Bra
10856            X
10857            \H++
10858            \R
10859            Ket
10860            End
10861    ------------------------------------------------------------------
10862        X\x0d\x0a
10863  No match  No match
10864    
10865  /(?<=abc)def/  /(?<=abc)def/
10866      abc\P\P      abc\P\P
10867  Partial match: abc  Partial match at offset 3: abc
10868    
10869  /abc$/  /abc$/
10870      abc      abc
# Line 10995  No options Line 11084  No options
11084  First char = 'a'  First char = 'a'
11085  Need char = '4'  Need char = '4'
11086  Subject length lower bound = 5  Subject length lower bound = 5
11087  No set of starting bytes  No starting char list
11088    
11089  /([abc])++1234/SI  /([abc])++1234/SI
11090  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 11003  No options Line 11092  No options
11092  No first char  No first char
11093  Need char = '4'  Need char = '4'
11094  Subject length lower bound = 5  Subject length lower bound = 5
11095  Starting byte set: a b c  Starting chars: a b c
11096    
11097  /(?<=(abc)+)X/  /(?<=(abc)+)X/
11098  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 11111  No need char
11111    
11112  /(^ab|^)+/I  /(^ab|^)+/I
11113  Capturing subpattern count = 1  Capturing subpattern count = 1
11114    May match empty string
11115  Options: anchored  Options: anchored
11116  No first char  No first char
11117  No need char  No need char
11118    
11119  /(^ab|^)++/I  /(^ab|^)++/I
11120  Capturing subpattern count = 1  Capturing subpattern count = 1
11121    May match empty string
11122  Options: anchored  Options: anchored
11123  No first char  No first char
11124  No need char  No need char
# Line 11046  No need char Line 11137  No need char
11137    
11138  /(?:^ab|^)+/I  /(?:^ab|^)+/I
11139  Capturing subpattern count = 0  Capturing subpattern count = 0
11140    May match empty string
11141  Options: anchored  Options: anchored
11142  No first char  No first char
11143  No need char  No need char
11144    
11145  /(?:^ab|^)++/I  /(?:^ab|^)++/I
11146  Capturing subpattern count = 0  Capturing subpattern count = 0
11147    May match empty string
11148  Options: anchored  Options: anchored
11149  No first char  No first char
11150  No need char  No need char
# Line 11070  Need char = 'b' Line 11163  Need char = 'b'
11163    
11164  /(.*ab|.*)+/I  /(.*ab|.*)+/I
11165  Capturing subpattern count = 1  Capturing subpattern count = 1
11166    May match empty string
11167  No options  No options
11168  First char at start or follows newline  First char at start or follows newline
11169  No need char  No need char
11170    
11171  /(.*ab|.*)++/I  /(.*ab|.*)++/I
11172  Capturing subpattern count = 1  Capturing subpattern count = 1
11173    May match empty string
11174  No options  No options
11175  First char at start or follows newline  First char at start or follows newline
11176  No need char  No need char
# Line 11094  Need char = 'b' Line 11189  Need char = 'b'
11189    
11190  /(?:.*ab|.*)+/I  /(?:.*ab|.*)+/I
11191  Capturing subpattern count = 0  Capturing subpattern count = 0
11192    May match empty string
11193  No options  No options
11194  First char at start or follows newline  First char at start or follows newline
11195  No need char  No need char
11196    
11197  /(?:.*ab|.*)++/I  /(?:.*ab|.*)++/I
11198  Capturing subpattern count = 0  Capturing subpattern count = 0
11199    May match empty string
11200  No options  No options
11201  First char at start or follows newline  First char at start or follows newline
11202  No need char  No need char
# Line 11254  No match Line 11351  No match
11351    
11352  /(a)b|ac/++SS  /(a)b|ac/++SS
11353      ac\O3      ac\O3
 Matched, but too many substrings  
11354   0: ac   0: ac
11355   0+   0+
11356    
# Line 11277  No options Line 11373  No options
11373  No first char  No first char
11374  No need char  No need char
11375  Subject length lower bound = 1  Subject length lower bound = 1
11376  No set of starting bytes  No starting char list
11377    
11378  /(a(?2)|b)(b(?1)|a)(?:(?1)|(?2))/SI  /(a(?2)|b)(b(?1)|a)(?:(?1)|(?2))/SI
11379  Capturing subpattern count = 2  Capturing subpattern count = 2
# Line 11285  No options Line 11381  No options
11381  No first char  No first char
11382  No need char  No need char
11383  Subject length lower bound = 3  Subject length lower bound = 3
11384  Starting byte set: a b  Starting chars: a b
11385    
11386  /(a(?2)|b)(b(?1)|a)(?1)(?2)/SI  /(a(?2)|b)(b(?1)|a)(?1)(?2)/SI
11387  Capturing subpattern count = 2  Capturing subpattern count = 2
# Line 11293  No options Line 11389  No options
11389  No first char  No first char
11390  No need char  No need char
11391  Subject length lower bound = 4  Subject length lower bound = 4
11392  Starting byte set: a b  Starting chars: a b
11393    
11394  /(abc)(?1)/SI  /(abc)(?1)/SI
11395  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 11301  No options Line 11397  No options
11397  First char = 'a'  First char = 'a'
11398  Need char = 'c'  Need char = 'c'
11399  Subject length lower bound = 6  Subject length lower bound = 6
11400  No set of starting bytes  No starting char list
11401    
11402  /^(?>a)++/  /^(?>a)++/
11403      aa\M      aa\M
# Line 11506  Matched, but too many substrings Line 11602  Matched, but too many substrings
11602          Assert not          Assert not
11603          a          a
11604          Ket          Ket
11605          \w+          \w++
11606          Ket          Ket
11607          End          End
11608  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 11614  No match Line 11710  No match
11710    
11711  /\btype\b\W*?\btext\b\W*?\bjavascript\b/IS  /\btype\b\W*?\btext\b\W*?\bjavascript\b/IS
11712  Capturing subpattern count = 0  Capturing subpattern count = 0
11713    Max lookbehind = 1
11714  No options  No options
11715  First char = 't'  First char = 't'
11716  Need char = 't'  Need char = 't'
 Max lookbehind = 1  
11717  Subject length lower bound = 18  Subject length lower bound = 18
11718  No set of starting bytes  No starting char list
11719    
11720  /\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
11721  Capturing subpattern count = 0  Capturing subpattern count = 0
11722    Max lookbehind = 1
11723  No options  No options
11724  No first char  No first char
11725  No need char  No need char
 Max lookbehind = 1  
11726  Subject length lower bound = 8  Subject length lower bound = 8
11727  Starting byte set: < o t u  Starting chars: < o t u
11728    
11729  /a(*SKIP)c|b(*ACCEPT)|/+SI  /a(*SKIP)c|b(*ACCEPT)|/+S!I
11730  Capturing subpattern count = 0  Capturing subpattern count = 0
11731    May match empty string
11732  No options  No options
11733  No first char  No first char
11734  No need char  No need char
11735  Study returned NULL  Subject length lower bound = -1
11736    No starting char list
11737      a      a
11738   0:   0:
11739   0+   0+
# Line 11646  No options Line 11744  No options
11744  No first char  No first char
11745  No need char  No need char
11746  Subject length lower bound = -1  Subject length lower bound = -1
11747  Starting byte set: a b x  Starting chars: a b x
11748      ax      ax
11749   0: x   0: x
11750    
# Line 11696  Minimum match() limit = 86 Line 11794  Minimum match() limit = 86
11794  Minimum match() recursion limit = 45  Minimum match() recursion limit = 45
11795   0: abbbbbbbbbbbbbbbbbbbbba   0: abbbbbbbbbbbbbbbbbbbbba
11796    
11797  /-- These tests are in agreement with development Perl 5.015, which has fixed  /^(?>a+)(?>(z+))\w/BZ
11798      some things, but they don't all work with 5.012, so they aren't in the  ------------------------------------------------------------------
11799      Perl-compatible tests. Those after the first come from Perl's own test          Bra
11800      files. --/          ^
11801            Once_NC
11802  /^((yes|no)(*THEN)(*F))?/          a++
11803    yes          Ket
11804            Once
11805            CBra 1
11806            z++
11807            Ket
11808            Ket
11809            \w
11810            Ket
11811            End
11812    ------------------------------------------------------------------
11813        aaaazzzzb
11814     0: aaaazzzzb
11815     1: zzzz
11816        ** Failers
11817  No match  No match
11818        aazz
 /(A (.*)   C? (*THEN)  | A D) (*FAIL)/x  
 AbcdCBefgBhiBqz  
 No match  
   
 /(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  
11819  No match  No match
11820    
11821  /(.)(\1|a(?2))/  /(.)(\1|a(?2))/
# Line 11823  No match Line 11862  No match
11862    
11863  /^(?>a+)(?>b+)(?>c+)(?>d+)(?>e+)/  /^(?>a+)(?>b+)(?>c+)(?>d+)(?>e+)/
11864       \Maabbccddee       \Maabbccddee
11865  Minimum match() limit = 12  Minimum match() limit = 7
11866  Minimum match() recursion limit = 3  Minimum match() recursion limit = 2
11867   0: aabbccddee   0: aabbccddee
11868    
11869  /^(?>(a+))(?>(b+))(?>(c+))(?>(d+))(?>(e+))/  /^(?>(a+))(?>(b+))(?>(c+))(?>(d+))(?>(e+))/
11870       \Maabbccddee       \Maabbccddee
11871  Minimum match() limit = 22  Minimum match() limit = 17
11872  Minimum match() recursion limit = 21  Minimum match() recursion limit = 16
11873   0: aabbccddee   0: aabbccddee
11874   1: aa   1: aa
11875   2: bb   2: bb
# Line 11840  Minimum match() recursion limit = 21 Line 11879  Minimum match() recursion limit = 21
11879    
11880  /^(?>(a+))(?>b+)(?>(c+))(?>d+)(?>(e+))/  /^(?>(a+))(?>b+)(?>(c+))(?>d+)(?>(e+))/
11881       \Maabbccddee       \Maabbccddee
11882  Minimum match() limit = 18  Minimum match() limit = 13
11883  Minimum match() recursion limit = 13  Minimum match() recursion limit = 10
11884   0: aabbccddee   0: aabbccddee
11885   1: aa   1: aa
11886   2: cc   2: cc
# Line 11932  No match Line 11971  No match
11971  Failed: \N is not supported in a class at offset 3  Failed: \N is not supported in a class at offset 3
11972    
11973  /a[B-\Nc]/  /a[B-\Nc]/
11974  Failed: \N is not supported in a class at offset 5  Failed: invalid range in character class at offset 5
11975    
11976    /a[B\Nc]/
11977    Failed: \N is not supported in a class at offset 4
11978    
11979  /(a)(?2){0,1999}?(b)/  /(a)(?2){0,1999}?(b)/
11980    
# Line 12271  Partial match: \x0d\x0d Line 12313  Partial match: \x0d\x0d
12313      \r\r\r\P\P      \r\r\r\P\P
12314   0: \x0d\x0d   0: \x0d\x0d
12315    
12316  /-- This one is here because Perl does not match: it seems to allow the COMMIT  "AB(C(D))(E(F))?(?(?=\2)(?=\4))"
12317  to escape from the assertion. --/      ABCDGHI\O03
12318    Matched, but too many substrings
12319     0: ABCD
12320    
12321    /-- These are all run as real matches in test 1; here we are just checking the
12322    settings of the anchored and startline bits. --/
12323    
12324  /(?=a(*COMMIT)b|ac)ac|ac/  /(?>.*?a)(?<=ba)/I
12325      ac  Capturing subpattern count = 0
12326    Max lookbehind = 2
12327    No options
12328    No first char
12329    Need char = 'a'
12330    
12331    /(?:.*?a)(?<=ba)/I
12332    Capturing subpattern count = 0
12333    Max lookbehind = 2
12334    No options
12335    First char at start or follows newline
12336    Need char = 'a'
12337    
12338    /.*?a(*PRUNE)b/I
12339    Capturing subpattern count = 0
12340    No options
12341    No first char
12342    Need char = 'b'
12343    
12344    /.*?a(*PRUNE)b/sI
12345    Capturing subpattern count = 0
12346    Options: dotall
12347    No first char
12348    Need char = 'b'
12349    
12350    /^a(*PRUNE)b/sI
12351    Capturing subpattern count = 0
12352    Options: anchored dotall
12353    No first char
12354    No need char
12355    
12356    /.*?a(*SKIP)b/I
12357    Capturing subpattern count = 0
12358    No options
12359    No first char
12360    Need char = 'b'
12361    
12362    /(?>.*?a)b/sI
12363    Capturing subpattern count = 0
12364    Options: dotall
12365    No first char
12366    Need char = 'b'
12367    
12368    /(?>.*?a)b/I
12369    Capturing subpattern count = 0
12370    No options
12371    No first char
12372    Need char = 'b'
12373    
12374    /(?>^a)b/sI
12375    Capturing subpattern count = 0
12376    Options: anchored dotall
12377    No first char
12378    No need char
12379    
12380    /(?>.*?)(?<=(abcd)|(wxyz))/I
12381    Capturing subpattern count = 2
12382    Max lookbehind = 4
12383    May match empty string
12384    No options
12385    No first char
12386    No need char
12387    
12388    /(?>.*)(?<=(abcd)|(wxyz))/I
12389    Capturing subpattern count = 2
12390    Max lookbehind = 4
12391    May match empty string
12392    No options
12393    No first char
12394    No need char
12395    
12396    "(?>.*)foo"I
12397    Capturing subpattern count = 0
12398    No options
12399    No first char
12400    Need char = 'o'
12401    
12402    "(?>.*?)foo"I
12403    Capturing subpattern count = 0
12404    No options
12405    No first char
12406    Need char = 'o'
12407    
12408    /(?>^abc)/mI
12409    Capturing subpattern count = 0
12410    Options: multiline
12411    First char at start or follows newline
12412    Need char = 'c'
12413    
12414    /(?>.*abc)/mI
12415    Capturing subpattern count = 0
12416    Options: multiline
12417    No first char
12418    Need char = 'c'
12419    
12420    /(?:.*abc)/mI
12421    Capturing subpattern count = 0
12422    Options: multiline
12423    First char at start or follows newline
12424    Need char = 'c'
12425    
12426    /-- Check PCRE_STUDY_EXTRA_NEEDED --/
12427    
12428    /.?/S-I
12429    Capturing subpattern count = 0
12430    May match empty string
12431    No options
12432    No first char
12433    No need char
12434    Study returned NULL
12435    
12436    /.?/S!I
12437    Capturing subpattern count = 0
12438    May match empty string
12439    No options
12440    No first char
12441    No need char
12442    Subject length lower bound = -1
12443    No starting char list
12444    
12445    /(?:(a)+(?C1)bb|aa(?C2)b)/
12446        aab\C+
12447    Callout 1: last capture = 1
12448     0: <unset>
12449     1: a
12450    --->aab
12451        ^ ^     b
12452    Callout 1: last capture = 1
12453     0: <unset>
12454     1: a
12455    --->aab
12456        ^^      b
12457    Callout 2: last capture = -1
12458     0: <unset>
12459    --->aab
12460        ^ ^     b
12461     0: aab
12462    
12463    /(?:(a)++(?C1)bb|aa(?C2)b)/
12464        aab\C+
12465    Callout 1: last capture = 1
12466     0: <unset>
12467     1: a
12468    --->aab
12469        ^ ^     b
12470    Callout 2: last capture = -1
12471     0: <unset>
12472    --->aab
12473        ^ ^     b
12474     0: aab
12475    
12476    /(?:(?>(a))(?C1)bb|aa(?C2)b)/
12477        aab\C+
12478    Callout 1: last capture = 1
12479     0: <unset>
12480     1: a
12481    --->aab
12482        ^^      b
12483    Callout 2: last capture = -1
12484     0: <unset>
12485    --->aab
12486        ^ ^     b
12487     0: aab
12488    
12489    /(?:(?1)(?C1)x|ab(?C2))((a)){0}/
12490        aab\C+
12491    Callout 1: last capture = -1
12492     0: <unset>
12493    --->aab
12494        ^^      x
12495    Callout 1: last capture = -1
12496     0: <unset>
12497    --->aab
12498         ^^     x
12499    Callout 2: last capture = -1
12500     0: <unset>
12501    --->aab
12502         ^ ^    )
12503     0: ab
12504    
12505    /(?1)(?C1)((a)(?C2)){0}/
12506        aab\C+
12507    Callout 2: last capture = 2
12508     0: <unset>
12509     1: <unset>
12510     2: a
12511    --->aab
12512        ^^      )
12513    Callout 1: last capture = -1
12514     0: <unset>
12515    --->aab
12516        ^^      ((a)(?C2)){0}
12517     0: a
12518    
12519    /(?:(a)+(?C1)bb|aa(?C2)b)++/
12520        aab\C+
12521    Callout 1: last capture = 1
12522     0: <unset>
12523     1: a
12524    --->aab
12525        ^ ^     b
12526    Callout 1: last capture = 1
12527     0: <unset>
12528     1: a
12529    --->aab
12530        ^^      b
12531    Callout 2: last capture = -1
12532     0: <unset>
12533    --->aab
12534        ^ ^     b
12535     0: aab
12536        aab\C+\O2
12537    Callout 1: last capture = 1
12538     0: <unset>
12539    --->aab
12540        ^ ^     b
12541    Callout 1: last capture = 1
12542     0: <unset>
12543    --->aab
12544        ^^      b
12545    Callout 2: last capture = -1
12546     0: <unset>
12547    --->aab
12548        ^ ^     b
12549     0: aab
12550    
12551    /(ab)x|ab/
12552        ab\O3
12553     0: ab
12554        ab\O2
12555     0: ab
12556    
12557    /(ab)/
12558        ab\O3
12559    Matched, but too many substrings
12560     0: ab
12561        ab\O2
12562    Matched, but too many substrings
12563     0: ab
12564    
12565    /(?<=123)(*MARK:xx)abc/K
12566        xxxx123a\P\P
12567    Partial match at offset 7, mark=xx: 123a
12568        xxxx123a\P
12569    Partial match at offset 7, mark=xx: 123a
12570    
12571    /123\Kabc/
12572        xxxx123a\P\P
12573    Partial match: 123a
12574        xxxx123a\P
12575    Partial match: 123a
12576    
12577    /^(?(?=a)aa|bb)/C
12578        bb
12579    --->bb
12580     +0 ^      ^
12581     +1 ^      (?(?=a)aa|bb)
12582     +3 ^      (?=a)
12583     +6 ^      a
12584    +11 ^      b
12585    +12 ^^     b
12586    +13 ^ ^    )
12587    +14 ^ ^
12588     0: bb
12589    
12590    /(?C1)^(?C2)(?(?C99)(?=(?C3)a(?C4))(?C5)a(?C6)a(?C7)|(?C8)b(?C9)b(?C10))(?C11)/
12591        bb
12592    --->bb
12593      1 ^      ^
12594      2 ^      (?(?C99)(?=(?C3)a(?C4))(?C5)a(?C6)a(?C7)|(?C8)b(?C9)b(?C10))
12595     99 ^      (?=(?C3)a(?C4))
12596      3 ^      a
12597      8 ^      b
12598      9 ^^     b
12599     10 ^ ^    )
12600     11 ^ ^
12601     0: bb
12602    
12603    /-- Perl seems to have a bug with this one --/
12604    
12605    /aaaaa(*COMMIT)(*PRUNE)b|a+c/
12606        aaaaaac
12607     0: aaaac
12608    
12609    /-- Here are some that Perl treats differently because of the way it handles
12610    backtracking verbs. --/
12611    
12612     /(?!a(*COMMIT)b)ac|ad/
12613         ac
12614   0: ac   0: ac
12615         ad
12616     0: ad
12617    
12618    /^(?!a(*THEN)b|ac)../
12619         ac
12620    No match
12621         ad
12622     0: ad
12623    
12624    /^(?=a(*THEN)b|ac)/
12625        ac
12626     0:
12627    
12628    /\A.*?(?:a|b(*THEN)c)/
12629        ba
12630     0: ba
12631    
12632    /\A.*?(?:a|b(*THEN)c)++/
12633        ba
12634     0: ba
12635    
12636    /\A.*?(?:a|b(*THEN)c|d)/
12637        ba
12638     0: ba
12639    
12640    /(?:(a(*MARK:X)a+(*SKIP:X)b)){0}(?:(?1)|aac)/
12641        aac
12642     0: aac
12643    
12644    /\A.*?(a|b(*THEN)c)/
12645        ba
12646     0: ba
12647     1: a
12648    
12649    /^(A(*THEN)B|A(*THEN)D)/
12650        AD
12651     0: AD
12652     1: AD
12653    
12654    /(?!b(*THEN)a)bn|bnn/
12655        bnn
12656     0: bn
12657    
12658    /(?(?=b(*SKIP)a)bn|bnn)/
12659        bnn
12660    No match
12661    
12662    /(?=b(*THEN)a|)bn|bnn/
12663        bnn
12664     0: bn
12665    
12666    /-------------------------/
12667    
12668    /(*LIMIT_MATCH=12bc)abc/
12669    Failed: (*VERB) not recognized or malformed at offset 7
12670    
12671    /(*LIMIT_MATCH=4294967290)abc/
12672    Failed: (*VERB) not recognized or malformed at offset 7
12673    
12674    /(*LIMIT_RECURSION=4294967280)abc/I
12675    Capturing subpattern count = 0
12676    Recursion limit = 4294967280
12677    No options
12678    First char = 'a'
12679    Need char = 'c'
12680    
12681    /(a+)*zz/
12682        aaaaaaaaaaaaaz
12683    No match
12684        aaaaaaaaaaaaaz\q3000
12685    Error -8 (match limit exceeded)
12686    
12687    /(a+)*zz/S-
12688        aaaaaaaaaaaaaz\Q10
12689    Error -21 (recursion limit exceeded)
12690    
12691    /(*LIMIT_MATCH=3000)(a+)*zz/I
12692    Capturing subpattern count = 1
12693    Match limit = 3000
12694    No options
12695    No first char
12696    Need char = 'z'
12697        aaaaaaaaaaaaaz
12698    Error -8 (match limit exceeded)
12699        aaaaaaaaaaaaaz\q60000
12700    Error -8 (match limit exceeded)
12701    
12702    /(*LIMIT_MATCH=60000)(*LIMIT_MATCH=3000)(a+)*zz/I
12703    Capturing subpattern count = 1
12704    Match limit = 3000
12705    No options
12706    No first char
12707    Need char = 'z'
12708        aaaaaaaaaaaaaz
12709    Error -8 (match limit exceeded)
12710    
12711    /(*LIMIT_MATCH=60000)(a+)*zz/I
12712    Capturing subpattern count = 1
12713    Match limit = 60000
12714    No options
12715    No first char
12716    Need char = 'z'
12717        aaaaaaaaaaaaaz
12718    No match
12719        aaaaaaaaaaaaaz\q3000
12720    Error -8 (match limit exceeded)
12721    
12722    /(*LIMIT_RECURSION=10)(a+)*zz/IS-
12723    Capturing subpattern count = 1
12724    Recursion limit = 10
12725    No options
12726    No first char
12727    Need char = 'z'
12728    Subject length lower bound = 2
12729    Starting chars: a z
12730        aaaaaaaaaaaaaz
12731    Error -21 (recursion limit exceeded)
12732        aaaaaaaaaaaaaz\Q1000
12733    Error -21 (recursion limit exceeded)
12734    
12735    /(*LIMIT_RECURSION=10)(*LIMIT_RECURSION=1000)(a+)*zz/IS-
12736    Capturing subpattern count = 1
12737    Recursion limit = 10
12738    No options
12739    No first char
12740    Need char = 'z'
12741    Subject length lower bound = 2
12742    Starting chars: a z
12743        aaaaaaaaaaaaaz
12744    Error -21 (recursion limit exceeded)
12745    
12746    /(*LIMIT_RECURSION=1000)(a+)*zz/IS-
12747    Capturing subpattern count = 1
12748    Recursion limit = 1000
12749    No options
12750    No first char
12751    Need char = 'z'
12752    Subject length lower bound = 2
12753    Starting chars: a z
12754        aaaaaaaaaaaaaz
12755    No match
12756        aaaaaaaaaaaaaz\Q10
12757    Error -21 (recursion limit exceeded)
12758    
12759    /-- This test causes a segfault with Perl 5.18.0 --/
12760    
12761    /^(?=(a)){0}b(?1)/
12762        backgammon
12763     0: ba
12764    
12765    /(?|(?<n>f)|(?<n>b))/JI
12766    Capturing subpattern count = 1
12767    Named capturing subpatterns:
12768      n   1
12769    Options: dupnames
12770    No first char
12771    No need char
12772    
12773    /(?<a>abc)(?<a>z)\k<a>()/JDZS
12774    ------------------------------------------------------------------
12775            Bra
12776            CBra 1
12777            abc
12778            Ket
12779            CBra 2
12780            z
12781            Ket
12782            \k<a>2
12783            CBra 3
12784            Ket
12785            Ket
12786            End
12787    ------------------------------------------------------------------
12788    Capturing subpattern count = 3
12789    Max back reference = 2
12790    Named capturing subpatterns:
12791      a   1
12792      a   2
12793    Options: dupnames
12794    First char = 'a'
12795    Need char = 'z'
12796    Subject length lower bound = 5
12797    No starting char list
12798    
12799    /a*[bcd]/BZ
12800    ------------------------------------------------------------------
12801            Bra
12802            a*+
12803            [b-d]
12804            Ket
12805            End
12806    ------------------------------------------------------------------
12807    
12808    /[bcd]*a/BZ
12809    ------------------------------------------------------------------
12810            Bra
12811            [b-d]*+
12812            a
12813            Ket
12814            End
12815    ------------------------------------------------------------------
12816    
12817    /-- A complete set of tests for auto-possessification of character types --/
12818    
12819    /\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
12820    ------------------------------------------------------------------
12821            Bra
12822            \D+
12823            \D
12824            \D++
12825            \d
12826            \D+
12827            \S
12828            \D+
12829            \s
12830            \D+
12831            \W
12832            \D+
12833            \w
12834            \D+
12835            Any
12836            \D+
12837            AllAny
12838            \D+
12839            \R
12840            \D+
12841            \H
12842            \D+
12843            \h
12844            \D+
12845            \V
12846            \D+
12847            \v
12848            \D+
12849            \Z
12850            \D++
12851            \z
12852            \D+
12853            $
12854            Ket
12855            End
12856    ------------------------------------------------------------------
12857    
12858    /\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
12859    ------------------------------------------------------------------
12860            Bra
12861            \d++
12862            \D
12863            \d+
12864            \d
12865            \d+
12866            \S
12867            \d++
12868            \s
12869            \d++
12870            \W
12871            \d+
12872            \w
12873            \d+
12874            Any
12875            \d+
12876            AllAny
12877            \d++
12878            \R
12879            \d+
12880            \H
12881            \d++
12882            \h
12883            \d+
12884            \V
12885            \d++
12886            \v
12887            \d++
12888            \Z
12889            \d++
12890            \z
12891            \d++
12892            $
12893            Ket
12894            End
12895    ------------------------------------------------------------------
12896    
12897    /\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
12898    ------------------------------------------------------------------
12899            Bra
12900            \S+
12901            \D
12902            \S+
12903            \d
12904            \S+
12905            \S
12906            \S++
12907            \s
12908            \S+
12909            \W
12910            \S+
12911            \w
12912            \S+
12913            Any
12914            \S+
12915            AllAny
12916            \S++
12917            \R
12918            \S+
12919            \H
12920            \S++
12921            \h
12922            \S+
12923            \V
12924            \S++
12925            \v
12926            \S++
12927            \Z
12928            \S++
12929            \z
12930            \S++
12931            $
12932            Ket
12933            End
12934    ------------------------------------------------------------------
12935    
12936    /\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
12937    ------------------------------------------------------------------
12938            Bra
12939            \s+
12940            \D
12941            \s++
12942            \d
12943            \s++
12944            \S
12945            \s+
12946            \s
12947            \s+
12948            \W
12949            \s++
12950            \w
12951            \s+
12952            Any
12953            \s+
12954            AllAny
12955            \s+
12956            \R
12957            \s+
12958            \H
12959            \s+
12960            \h
12961            \s+
12962            \V
12963            \s+
12964            \v
12965            \s+
12966            \Z
12967            \s++
12968            \z
12969            \s+
12970            $
12971            Ket
12972            End
12973    ------------------------------------------------------------------
12974    
12975    /\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
12976    ------------------------------------------------------------------
12977            Bra
12978            \W+
12979            \D
12980            \W++
12981            \d
12982            \W+
12983            \S
12984            \W+
12985            \s
12986            \W+
12987            \W
12988            \W++
12989            \w
12990            \W+
12991            Any
12992            \W+
12993            AllAny
12994            \W+
12995            \R
12996            \W+
12997            \H
12998            \W+
12999            \h
13000            \W+
13001            \V
13002            \W+
13003            \v
13004            \W+
13005            \Z
13006            \W++
13007            \z
13008            \W+
13009            $
13010            Ket
13011            End
13012    ------------------------------------------------------------------
13013    
13014    /\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
13015    ------------------------------------------------------------------
13016            Bra
13017            \w+
13018            \D
13019            \w+
13020            \d
13021            \w+
13022            \S
13023            \w++
13024            \s
13025            \w++
13026            \W
13027            \w+
13028            \w
13029            \w+
13030            Any
13031            \w+
13032            AllAny
13033            \w++
13034            \R
13035            \w+
13036            \H
13037            \w++
13038            \h
13039            \w+
13040            \V
13041            \w++
13042            \v
13043            \w++
13044            \Z
13045            \w++
13046            \z
13047            \w++
13048            $
13049            Ket
13050            End
13051    ------------------------------------------------------------------
13052    
13053    /\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
13054    ------------------------------------------------------------------
13055            Bra
13056            AllAny+
13057            \D
13058            AllAny+
13059            \d
13060            AllAny+
13061            \S
13062            AllAny+
13063            \s
13064            AllAny+
13065            \W
13066            AllAny+
13067            \w
13068            AllAny+
13069            Any
13070            AllAny+
13071            AllAny
13072            AllAny+
13073            \R
13074            AllAny+
13075            \H
13076            AllAny+
13077            \h
13078            AllAny+
13079            \V
13080            AllAny+
13081            \v
13082            AllAny+
13083            \Z
13084            AllAny++
13085            \z
13086            AllAny+
13087            $
13088            Ket
13089            End
13090    ------------------------------------------------------------------
13091    
13092    /\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
13093    ------------------------------------------------------------------
13094            Bra
13095            \R+
13096            \D
13097            \R++
13098            \d
13099            \R+
13100            \S
13101            \R++
13102            \s
13103            \R+
13104            \W
13105            \R++
13106            \w
13107            \R++
13108            Any
13109            \R+
13110            AllAny
13111            \R+
13112            \R
13113            \R+
13114            \H
13115            \R++
13116            \h
13117            \R+
13118            \V
13119            \R+
13120            \v
13121            \R+
13122            \Z
13123            \R++
13124            \z
13125            \R+
13126            $
13127            Ket
13128            End
13129    ------------------------------------------------------------------
13130    
13131    /\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
13132    ------------------------------------------------------------------
13133            Bra
13134            \H+
13135            \D
13136            \H+
13137            \d
13138            \H+
13139            \S
13140            \H+
13141            \s
13142            \H+
13143            \W
13144            \H+
13145            \w
13146            \H+
13147            Any
13148            \H+
13149            AllAny
13150            \H+
13151            \R
13152            \H+
13153            \H
13154            \H++
13155            \h
13156            \H+
13157            \V
13158            \H+
13159            \v
13160            \H+
13161            \Z
13162            \H++
13163            \z
13164            \H+
13165            $
13166            Ket
13167            End
13168    ------------------------------------------------------------------
13169    
13170    /\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
13171    ------------------------------------------------------------------
13172            Bra
13173            \h+
13174            \D
13175            \h++
13176            \d
13177            \h++
13178            \S
13179            \h+
13180            \s
13181            \h+
13182            \W
13183            \h++
13184            \w
13185            \h+
13186            Any
13187            \h+
13188            AllAny
13189            \h++
13190            \R
13191            \h++
13192            \H
13193            \h+
13194            \h
13195            \h+
13196            \V
13197            \h++
13198            \v
13199            \h+
13200            \Z
13201            \h++
13202            \z
13203            \h+
13204            $
13205            Ket
13206            End
13207    ------------------------------------------------------------------
13208    
13209    /\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
13210    ------------------------------------------------------------------
13211            Bra
13212            \V+
13213            \D
13214            \V+
13215            \d
13216            \V+
13217            \S
13218            \V+
13219            \s
13220            \V+
13221            \W
13222            \V+
13223            \w
13224            \V+
13225            Any
13226            \V+
13227            AllAny
13228            \V++
13229            \R
13230            \V+
13231            \H
13232            \V+
13233            \h
13234            \V+
13235            \V
13236            \V++
13237            \v
13238            \V+
13239            \Z
13240            \V++
13241            \z
13242            \V+
13243            $
13244            Ket
13245            End
13246    ------------------------------------------------------------------
13247    
13248    /\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
13249    ------------------------------------------------------------------
13250            Bra
13251            \v+
13252            \D
13253            \v++
13254            \d
13255            \v++
13256            \S
13257            \v+
13258            \s
13259            \v+
13260            \W
13261            \v++
13262            \w
13263            \v+
13264            Any
13265            \v+
13266            AllAny
13267            \v+
13268            \R
13269            \v+
13270            \H
13271            \v++
13272            \h
13273            \v++
13274            \V
13275            \v+
13276            \v
13277            \v+
13278            \Z
13279            \v++
13280            \z
13281            \v+
13282            $
13283            Ket
13284            End
13285    ------------------------------------------------------------------
13286    
13287    / 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
13288    ------------------------------------------------------------------
13289            Bra
13290            a+
13291            \D
13292            a++
13293            \d
13294            a+
13295            \S
13296            a++
13297            \s
13298            a++
13299            \W
13300            a+
13301            \w
13302            a+
13303            Any
13304            a+
13305            AllAny
13306            a++
13307            \R
13308            a+
13309            \H
13310            a++
13311            \h
13312            a+
13313            \V
13314            a++
13315            \v
13316            a++
13317            \Z
13318            a++
13319            \z
13320            a++
13321            $
13322            Ket
13323            End
13324    ------------------------------------------------------------------
13325    
13326    /\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
13327    ------------------------------------------------------------------
13328            Bra
13329            \x0a+
13330            \D
13331            \x0a++
13332            \d
13333            \x0a++
13334            \S
13335            \x0a+
13336            \s
13337            \x0a+
13338            \W
13339            \x0a++
13340            \w
13341            \x0a+
13342            Any
13343            \x0a+
13344            AllAny
13345            \x0a+
13346            \R
13347            \x0a+
13348            \H
13349            \x0a++
13350            \h
13351            \x0a++
13352            \V
13353            \x0a+
13354            \v
13355            \x0a+
13356            \Z
13357            \x0a++
13358            \z
13359            \x0a+
13360            $
13361            Ket
13362            End
13363    ------------------------------------------------------------------
13364    
13365    / .+\D  .+\d  .+\S  .+\s  .+\W  .+\w  .+.  .+\C  .+\R  .+\H  .+\h  .+\V  .+\v  .+\Z  .+\z  .+$/BZx
13366    ------------------------------------------------------------------
13367            Bra
13368            Any+
13369            \D
13370            Any+
13371            \d
13372            Any+
13373            \S
13374            Any+
13375            \s
13376            Any+
13377            \W
13378            Any+
13379            \w
13380            Any+
13381            Any
13382            Any+
13383            AllAny
13384            Any++
13385            \R
13386            Any+
13387            \H
13388            Any+
13389            \h
13390            Any+
13391            \V
13392            Any+
13393            \v
13394            Any+
13395            \Z
13396            Any++
13397            \z
13398            Any+
13399            $
13400            Ket
13401            End
13402    ------------------------------------------------------------------
13403    
13404    / .+\D  .+\d  .+\S  .+\s  .+\W  .+\w  .+.  .+\C  .+\R  .+\H  .+\h  .+\V  .+\v  .+\Z  .+\z  .+$/BZxs
13405    ------------------------------------------------------------------
13406            Bra
13407            AllAny+
13408            \D
13409            AllAny+
13410            \d
13411            AllAny+
13412            \S
13413            AllAny+
13414            \s
13415            AllAny+
13416            \W
13417            AllAny+
13418            \w
13419            AllAny+
13420            AllAny
13421            AllAny+
13422            AllAny
13423            AllAny+
13424            \R
13425            AllAny+
13426            \H
13427            AllAny+
13428            \h
13429            AllAny+
13430            \V
13431            AllAny+
13432            \v
13433            AllAny+
13434            \Z
13435            AllAny++
13436            \z
13437            AllAny+
13438            $
13439            Ket
13440            End
13441    ------------------------------------------------------------------
13442    
13443    /\D+$  \d+$  \S+$  \s+$  \W+$  \w+$  \C+$  \R+$  \H+$  \h+$  \V+$  \v+$   a+$  \n+$   .+$  .+$/BZxm
13444    ------------------------------------------------------------------
13445            Bra
13446            \D+
13447         /m $
13448            \d++
13449         /m $
13450            \S++
13451         /m $
13452            \s+
13453         /m $
13454            \W+
13455         /m $
13456            \w++
13457         /m $
13458            AllAny+
13459         /m $
13460            \R+
13461         /m $
13462            \H+
13463         /m $
13464            \h+
13465         /m $
13466            \V+
13467         /m $
13468            \v+
13469         /m $
13470            a+
13471         /m $
13472            \x0a+
13473         /m $
13474            Any+
13475         /m $
13476            Any+
13477         /m $
13478            Ket
13479            End
13480    ------------------------------------------------------------------
13481    
13482    /(?=a+)a(a+)++a/BZ
13483    ------------------------------------------------------------------
13484            Bra
13485            Assert
13486            a++
13487            Ket
13488            a
13489            CBraPos 1
13490            a++
13491            KetRpos
13492            a
13493            Ket
13494            End
13495    ------------------------------------------------------------------
13496    
13497    /a+(bb|cc)a+(?:bb|cc)a+(?>bb|cc)a+(?:bb|cc)+a+(aa)a+(?:bb|aa)/BZ
13498    ------------------------------------------------------------------
13499            Bra
13500            a++
13501            CBra 1
13502            bb
13503            Alt
13504            cc
13505            Ket
13506            a++
13507            Bra
13508            bb
13509            Alt
13510            cc
13511            Ket
13512            a++
13513            Once_NC
13514            bb
13515            Alt
13516            cc
13517            Ket
13518            a++
13519            Bra
13520            bb
13521            Alt
13522            cc
13523            KetRmax
13524            a+
13525            CBra 2
13526            aa
13527            Ket
13528            a+
13529            Bra
13530            bb
13531            Alt
13532            aa
13533            Ket
13534            Ket
13535            End
13536    ------------------------------------------------------------------
13537    
13538    /a+(bb|cc)?#a+(?:bb|cc)??#a+(?:bb|cc)?+#a+(?:bb|cc)*#a+(bb|cc)?a#a+(?:aa)?/BZ
13539    ------------------------------------------------------------------
13540            Bra
13541            a++
13542            Brazero
13543            CBra 1
13544            bb
13545            Alt
13546            cc
13547            Ket
13548            #
13549            a++
13550            Braminzero
13551            Bra
13552            bb
13553            Alt
13554            cc
13555            Ket
13556            #
13557            a++
13558            Once
13559            Brazero
13560            Bra
13561            bb
13562            Alt
13563            cc
13564            Ket
13565            Ket
13566            #
13567            a++
13568            Brazero
13569            Bra
13570            bb
13571            Alt
13572            cc
13573            KetRmax
13574            #
13575            a+
13576            Brazero
13577            CBra 2
13578            bb
13579            Alt
13580            cc
13581            Ket
13582            a#
13583            a+
13584            Brazero
13585            Bra
13586            aa
13587            Ket
13588            Ket
13589            End
13590    ------------------------------------------------------------------
13591    
13592    /a+(?:bb)?a#a+(?:|||)#a+(?:|b)a#a+(?:|||)?a/BZ
13593    ------------------------------------------------------------------
13594            Bra
13595            a+
13596            Brazero
13597            Bra
13598            bb
13599            Ket
13600            a#
13601            a++
13602            Bra
13603            Alt
13604            Alt
13605            Alt
13606            Ket
13607            #
13608            a+
13609            Bra
13610            Alt
13611            b
13612            Ket
13613            a#
13614            a+
13615            Brazero
13616            Bra
13617            Alt
13618            Alt
13619            Alt
13620            Ket
13621            a
13622            Ket
13623            End
13624    ------------------------------------------------------------------
13625    
13626    /[ab]*/BZ
13627    ------------------------------------------------------------------
13628            Bra
13629            [ab]*+
13630            Ket
13631            End
13632    ------------------------------------------------------------------
13633        aaaa
13634     0: aaaa
13635    
13636    /[ab]*?/BZ
13637    ------------------------------------------------------------------
13638            Bra
13639            [ab]*?
13640            Ket
13641            End
13642    ------------------------------------------------------------------
13643        aaaa
13644     0:
13645    
13646    /[ab]?/BZ
13647    ------------------------------------------------------------------
13648            Bra
13649            [ab]?+
13650            Ket
13651            End
13652    ------------------------------------------------------------------
13653        aaaa
13654     0: a
13655    
13656    /[ab]??/BZ
13657    ------------------------------------------------------------------
13658            Bra
13659            [ab]??
13660            Ket
13661            End
13662    ------------------------------------------------------------------
13663        aaaa
13664     0:
13665    
13666    /[ab]+/BZ
13667    ------------------------------------------------------------------
13668            Bra
13669            [ab]++
13670            Ket
13671            End
13672    ------------------------------------------------------------------
13673        aaaa
13674     0: aaaa
13675    
13676    /[ab]+?/BZ
13677    ------------------------------------------------------------------
13678            Bra
13679            [ab]+?
13680            Ket
13681            End
13682    ------------------------------------------------------------------
13683        aaaa
13684     0: a
13685    
13686    /[ab]{2,3}/BZ
13687    ------------------------------------------------------------------
13688            Bra
13689            [ab]{2,3}+
13690            Ket
13691            End
13692    ------------------------------------------------------------------
13693        aaaa
13694     0: aaa
13695    
13696    /[ab]{2,3}?/BZ
13697    ------------------------------------------------------------------
13698            Bra
13699            [ab]{2,3}?
13700            Ket
13701            End
13702    ------------------------------------------------------------------
13703        aaaa
13704     0: aa
13705    
13706    /[ab]{2,}/BZ
13707    ------------------------------------------------------------------
13708            Bra
13709            [ab]{2,}+
13710            Ket
13711            End
13712    ------------------------------------------------------------------
13713        aaaa
13714     0: aaaa
13715    
13716    /[ab]{2,}?/BZ
13717    ------------------------------------------------------------------
13718            Bra
13719            [ab]{2,}?
13720            Ket
13721            End
13722    ------------------------------------------------------------------
13723        aaaa
13724     0: aa
13725    
13726    /\d+\s{0,5}=\s*\S?=\w{0,4}\W*/BZ
13727    ------------------------------------------------------------------
13728            Bra
13729            \d++
13730            \s{0,5}+
13731            =
13732            \s*+
13733            \S?
13734            =
13735            \w{0,4}+
13736            \W*+
13737            Ket
13738            End
13739    ------------------------------------------------------------------
13740    
13741    /[a-d]{5,12}[e-z0-9]*#[^a-z]+[b-y]*a[2-7]?[^0-9a-z]+/BZ
13742    ------------------------------------------------------------------
13743            Bra
13744            [a-d]{5,12}+
13745            [0-9e-z]*+
13746            #
13747            [\x00-`{-\xff] (neg)++
13748            [b-y]*+
13749            a
13750            [2-7]?+
13751            [\x00-/:-`{-\xff] (neg)++
13752            Ket
13753            End
13754    ------------------------------------------------------------------
13755    
13756    /[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
13757    ------------------------------------------------------------------
13758            Bra
13759            [a-z]*+
13760            \s
13761            #
13762            [\x09 ]?+
13763            \S
13764            #
13765            [a-c]*
13766            \S
13767            #
13768            [C-G]++
13769            \d
13770            #
13771            [4-8]*+
13772            \D
13773            #
13774            [,4-9]*
13775            \D
13776            #
13777            [!$]{0,5}+
13778            \w
13779            #
13780            [M-Xf-l]++
13781            \W
13782            #
13783            [,a-c]?
13784            \W
13785            Ket
13786            End
13787    ------------------------------------------------------------------
13788    
13789    /a+(aa|bb)*c#a*(bb|cc)*a#a?(bb|cc)*d#[a-f]*(g|hh)*f/BZ
13790    ------------------------------------------------------------------
13791            Bra
13792            a+
13793            Brazero
13794            CBra 1
13795            aa
13796            Alt
13797            bb
13798            KetRmax
13799            c#
13800            a*
13801            Brazero
13802            CBra 2
13803            bb
13804            Alt
13805            cc
13806            KetRmax
13807            a#
13808            a?+
13809            Brazero
13810            CBra 3
13811            bb
13812            Alt
13813            cc
13814            KetRmax
13815            d#
13816            [a-f]*
13817            Brazero
13818            CBra 4
13819            g
13820            Alt
13821            hh
13822            KetRmax
13823            f
13824            Ket
13825            End
13826    ------------------------------------------------------------------
13827    
13828    /[a-f]*(g|hh|i)*i#[a-x]{4,}(y{0,6})*y#[a-k]+(ll|mm)+n/BZ
13829    ------------------------------------------------------------------
13830            Bra
13831            [a-f]*+
13832            Brazero
13833            CBra 1
13834            g
13835            Alt
13836            hh
13837            Alt
13838            i
13839            KetRmax
13840            i#
13841            [a-x]{4,}
13842            Brazero
13843            SCBra 2
13844            y{0,6}
13845            KetRmax
13846            y#
13847            [a-k]++
13848            CBra 3
13849            ll
13850            Alt
13851            mm
13852            KetRmax
13853            n
13854            Ket
13855            End
13856    ------------------------------------------------------------------
13857    
13858    /[a-f]*(?>gg|hh)+#[a-f]*(?>gg|hh)?#[a-f]*(?>gg|hh)*a#[a-f]*(?>gg|hh)*h/BZ
13859    ------------------------------------------------------------------
13860            Bra
13861            [a-f]*+
13862            Once_NC
13863            gg
13864            Alt
13865            hh
13866            KetRmax
13867            #
13868            [a-f]*+
13869            Brazero
13870            Once_NC
13871            gg
13872            Alt
13873            hh
13874            Ket
13875            #
13876            [a-f]*
13877            Brazero
13878            Once_NC
13879            gg
13880            Alt
13881            hh
13882            KetRmax
13883            a#
13884            [a-f]*+
13885            Brazero
13886            Once_NC
13887            gg
13888            Alt
13889            hh
13890            KetRmax
13891            h
13892            Ket
13893            End
13894    ------------------------------------------------------------------
13895    
13896    /[a-c]*d/DZS
13897    ------------------------------------------------------------------
13898            Bra
13899            [a-c]*+
13900            d
13901            Ket
13902            End
13903    ------------------------------------------------------------------
13904    Capturing subpattern count = 0
13905    No options
13906    No first char
13907    Need char = 'd'
13908    Subject length lower bound = 1
13909    Starting chars: a b c d
13910    
13911    /[a-c]+d/DZS
13912    ------------------------------------------------------------------
13913            Bra
13914            [a-c]++
13915            d
13916            Ket
13917            End
13918    ------------------------------------------------------------------
13919    Capturing subpattern count = 0
13920    No options
13921    No first char
13922    Need char = 'd'
13923    Subject length lower bound = 2
13924    Starting chars: a b c
13925    
13926    /[a-c]?d/DZS
13927    ------------------------------------------------------------------
13928            Bra
13929            [a-c]?+
13930            d
13931            Ket
13932