/[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 438 by ph10, Sun Sep 6 20:00:47 2009 UTC revision 937 by ph10, Sun Feb 26 15:58:56 2012 UTC
# Line 1  Line 1 
1    /-- This set of tests is not Perl-compatible. It checks on special features
2        of PCRE's API, error diagnostics, and the compiled code of some patterns.
3        It also checks the non-Perl syntax the PCRE supports (Python, .NET,
4        Oniguruma). Finally, there are some tests where PCRE and Perl differ,
5        either because PCRE can't be compatible, or there is a possible Perl
6        bug.
7    
8        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. --/
10    
11  /(a)b|/I  /(a)b|/I
12  Capturing subpattern count = 1  Capturing subpattern count = 1
13  No options  No options
# Line 92  Failed: missing terminating ] for charac Line 102  Failed: missing terminating ] for charac
102  /(?X)[\B]/  /(?X)[\B]/
103  Failed: invalid escape sequence in character class at offset 6  Failed: invalid escape sequence in character class at offset 6
104    
105    /(?X)[\R]/
106    Failed: invalid escape sequence in character class at offset 6
107    
108    /(?X)[\X]/
109    Failed: invalid escape sequence in character class at offset 6
110    
111    /[\B]/BZ
112    ------------------------------------------------------------------
113            Bra
114            B
115            Ket
116            End
117    ------------------------------------------------------------------
118    
119    /[\R]/BZ
120    ------------------------------------------------------------------
121            Bra
122            R
123            Ket
124            End
125    ------------------------------------------------------------------
126    
127    /[\X]/BZ
128    ------------------------------------------------------------------
129            Bra
130            X
131            Ket
132            End
133    ------------------------------------------------------------------
134    
135  /[z-a]/  /[z-a]/
136  Failed: range out of order in character class at offset 3  Failed: range out of order in character class at offset 3
137    
# Line 134  Capturing subpattern count = 0 Line 174  Capturing subpattern count = 0
174  No options  No options
175  No first char  No first char
176  No need char  No need char
177    Subject length lower bound = 3
178  Starting byte set: c d e  Starting byte set: c d e
179      this sentence eventually mentions a cat      this sentence eventually mentions a cat
180   0: cat   0: cat
# Line 145  Capturing subpattern count = 0 Line 186  Capturing subpattern count = 0
186  Options: caseless  Options: caseless
187  No first char  No first char
188  No need char  No need char
189    Subject length lower bound = 3
190  Starting byte set: C D E c d e  Starting byte set: C D E c d e
191      this sentence eventually mentions a CAT cat      this sentence eventually mentions a CAT cat
192   0: CAT   0: CAT
# Line 156  Capturing subpattern count = 0 Line 198  Capturing subpattern count = 0
198  No options  No options
199  No first char  No first char
200  No need char  No need char
201    Subject length lower bound = 1
202  Starting byte set: a b c d  Starting byte set: a b c d
203    
204  /(a|[^\dZ])/IS  /(a|[^\dZ])/IS
# Line 163  Capturing subpattern count = 1 Line 206  Capturing subpattern count = 1
206  No options  No options
207  No first char  No first char
208  No need char  No need char
209    Subject length lower bound = 1
210  Starting byte set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a  Starting byte set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a
211    \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
212    \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = >    \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = >
# Line 183  Capturing subpattern count = 1 Line 227  Capturing subpattern count = 1
227  No options  No options
228  No first char  No first char
229  No need char  No need char
230    Subject length lower bound = 1
231  Starting byte set: \x09 \x0a \x0c \x0d \x20 a b  Starting byte set: \x09 \x0a \x0c \x0d \x20 a b
232    
233  /(ab\2)/  /(ab\2)/
# Line 331  No need char Line 376  No need char
376   2: <unset>   2: <unset>
377   3: def   3: def
378    
 /abc/P  
     abc  
  0: abc  
     *** Failers  
 No match: POSIX code 17: match failed  
   
 /^abc|def/P  
     abcdef  
  0: abc  
     abcdef\B  
  0: def  
   
 /.*((abc)$|(def))/P  
     defabc  
  0: defabc  
  1: abc  
  2: abc  
     \Zdefabc  
  0: def  
  1: def  
  3: def  
   
 /the quick brown fox/P  
     the quick brown fox  
  0: the quick brown fox  
     *** Failers  
 No match: POSIX code 17: match failed  
     The Quick Brown Fox  
 No match: POSIX code 17: match failed  
   
 /the quick brown fox/Pi  
     the quick brown fox  
  0: the quick brown fox  
     The Quick Brown Fox  
  0: The Quick Brown Fox  
   
 /abc.def/P  
     *** Failers  
 No match: POSIX code 17: match failed  
     abc\ndef  
 No match: POSIX code 17: match failed  
   
 /abc$/P  
     abc  
  0: abc  
     abc\n  
  0: abc  
   
 /(abc)\2/P  
 Failed: POSIX code 15: bad back reference at offset 7  
   
 /(abc\1)/P  
     abc  
 No match: POSIX code 17: match failed  
   
379  /)/  /)/
380  Failed: unmatched parentheses at offset 0  Failed: unmatched parentheses at offset 0
381    
# Line 461  Capturing subpattern count = 0 Line 451  Capturing subpattern count = 0
451  No options  No options
452  First char = 'f'  First char = 'f'
453  Need char = 'o'  Need char = 'o'
454    Max lookbehind = 6
455      foo      foo
456   0: foo   0: foo
457      catfoo      catfoo
# Line 516  Capturing subpattern count = 0 Line 507  Capturing subpattern count = 0
507  No options  No options
508  No first char  No first char
509  No need char  No need char
510    Subject length lower bound = 1
511  Starting byte set: a b c d  Starting byte set: a b c d
512    
513  /(?i)[abcd]/IS  /(?i)[abcd]/IS
# Line 523  Capturing subpattern count = 0 Line 515  Capturing subpattern count = 0
515  Options: caseless  Options: caseless
516  No first char  No first char
517  No need char  No need char
518    Subject length lower bound = 1
519  Starting byte set: A B C D a b c d  Starting byte set: A B C D a b c d
520    
521  /(?m)[xy]|(b|c)/IS  /(?m)[xy]|(b|c)/IS
# Line 530  Capturing subpattern count = 1 Line 523  Capturing subpattern count = 1
523  Options: multiline  Options: multiline
524  No first char  No first char
525  No need char  No need char
526    Subject length lower bound = 1
527  Starting byte set: b c x y  Starting byte set: b c x y
528    
529  /(^a|^b)/Im  /(^a|^b)/Im
# Line 583  Need char = 'h' (caseless) Line 577  Need char = 'h' (caseless)
577  ------------------------------------------------------------------  ------------------------------------------------------------------
578          Bra          Bra
579          CBra 1          CBra 1
580       01 Opt       /i b
      NC b  
581          Ket          Ket
      00 Opt  
582          Ket          Ket
583          End          End
584  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 594  Capturing subpattern count = 1 Line 586  Capturing subpattern count = 1
586  No options  No options
587  First char = 'b' (caseless)  First char = 'b' (caseless)
588  No need char  No need char
589  Study returned NULL  Subject length lower bound = 1
590    No set of starting bytes
591    
592  /(a*b|(?i:c*(?-i)d))/IS  /(a*b|(?i:c*(?-i)d))/IS
593  Capturing subpattern count = 1  Capturing subpattern count = 1
594  No options  No options
595  No first char  No first char
596  No need char  No need char
597    Subject length lower bound = 1
598  Starting byte set: C a b c d  Starting byte set: C a b c d
599    
600  /a$/I  /a$/I
# Line 665  Capturing subpattern count = 0 Line 659  Capturing subpattern count = 0
659  No options  No options
660  No first char  No first char
661  No need char  No need char
662    Max lookbehind = 3
663    Subject length lower bound = 1
664  Starting byte set: a b  Starting byte set: a b
665    
666  /(?<!foo)(alpha|omega)/IS  /(?<!foo)(alpha|omega)/IS
# Line 672  Capturing subpattern count = 1 Line 668  Capturing subpattern count = 1
668  No options  No options
669  No first char  No first char
670  Need char = 'a'  Need char = 'a'
671    Max lookbehind = 3
672    Subject length lower bound = 5
673  Starting byte set: a o  Starting byte set: a o
674    
675  /(?!alphabet)[ab]/IS  /(?!alphabet)[ab]/IS
# Line 679  Capturing subpattern count = 0 Line 677  Capturing subpattern count = 0
677  No options  No options
678  No first char  No first char
679  No need char  No need char
680    Subject length lower bound = 1
681  Starting byte set: a b  Starting byte set: a b
682    
683  /(?<=foo\n)^bar/Im  /(?<=foo\n)^bar/Im
# Line 687  Contains explicit CR or LF match Line 686  Contains explicit CR or LF match
686  Options: multiline  Options: multiline
687  No first char  No first char
688  Need char = 'r'  Need char = 'r'
689    Max lookbehind = 4
690      foo\nbarbar      foo\nbarbar
691   0: bar   0: bar
692      ***Failers      ***Failers
# Line 704  Contains explicit CR or LF match Line 704  Contains explicit CR or LF match
704  Options: multiline  Options: multiline
705  First char at start or follows newline  First char at start or follows newline
706  Need char = 'r'  Need char = 'r'
707    Max lookbehind = 4
708      foo\nbarbar      foo\nbarbar
709   0: bar   0: bar
710      ***Failers      ***Failers
# Line 745  Capturing subpattern count = 0 Line 746  Capturing subpattern count = 0
746  No options  No options
747  First char = '-'  First char = '-'
748  Need char = 't'  Need char = 't'
749    Max lookbehind = 7
750      the bullock-cart      the bullock-cart
751   0: -cart   0: -cart
752      a donkey-cart race      a donkey-cart race
# Line 761  Capturing subpattern count = 0 Line 763  Capturing subpattern count = 0
763  No options  No options
764  No first char  No first char
765  No need char  No need char
766    Max lookbehind = 3
767    
768  /(?>.*)(?<=(abcd)|(xyz))/I  /(?>.*)(?<=(abcd)|(xyz))/I
769  Capturing subpattern count = 2  Capturing subpattern count = 2
770  No options  No options
771  First char at start or follows newline  First char at start or follows newline
772  No need char  No need char
773    Max lookbehind = 4
774      alphabetabcd      alphabetabcd
775   0: alphabetabcd   0: alphabetabcd
776   1: abcd   1: abcd
# Line 780  Capturing subpattern count = 0 Line 784  Capturing subpattern count = 0
784  No options  No options
785  First char = 'Z'  First char = 'Z'
786  Need char = 'Z'  Need char = 'Z'
787    Max lookbehind = 4
788      abxyZZ      abxyZZ
789   0: ZZ   0: ZZ
790      abXyZZ      abXyZZ
# Line 808  Capturing subpattern count = 1 Line 813  Capturing subpattern count = 1
813  No options  No options
814  First char = 'b'  First char = 'b'
815  Need char = 'r'  Need char = 'r'
816    Max lookbehind = 4
817      bar      bar
818   0: bar   0: bar
819      foobbar      foobbar
# Line 833  No match Line 839  No match
839      a      a
840  No match  No match
841    
842  /This one is here because I think Perl 5.005_02 gets the setting of $1 wrong/I  /This one is here because Perl behaves differently; see also the following/I
843  Capturing subpattern count = 0  Capturing subpattern count = 0
844  No options  No options
845  First char = 'T'  First char = 'T'
# Line 845  Max back reference = 1 Line 851  Max back reference = 1
851  Options: anchored  Options: anchored
852  No first char  No first char
853  No need char  No need char
854        aaaa
855    No match
856      aaaaaa      aaaaaa
857   0: aaaaaa  No match
858   1: aa  
859    /Perl does not fail these two for the final subjects. Neither did PCRE until/
860    /release 8.01. The problem is in backtracking into a subpattern that contains/
861    No match
862    /a recursive reference to itself. PCRE has now made these into atomic patterns./
863    No match
864    
865    /^(xa|=?\1a){2}$/
866        xa=xaa
867     0: xa=xaa
868     1: =xaa
869        ** Failers
870    No match
871        xa=xaaa
872    No match
873    
874    /^(xa|=?\1a)+$/
875        xa=xaa
876     0: xa=xaa
877     1: =xaa
878        ** Failers
879    No match
880        xa=xaaa
881    No match
882    
883  /These are syntax tests from Perl 5.005/I  /These are syntax tests from Perl 5.005/I
884  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 954  Failed: numbers out of order in {} quant Line 985  Failed: numbers out of order in {} quant
985  /abc/\  /abc/\
986  Failed: \ at end of pattern at offset 4  Failed: \ at end of pattern at offset 4
987    
 /abc/\P  
 Failed: POSIX code 9: bad escape sequence at offset 4  
   
988  /abc/\i  /abc/\i
989  Failed: \ at end of pattern at offset 4  Failed: \ at end of pattern at offset 4
990    
# Line 1072  No first char Line 1100  No first char
1100  No need char  No need char
1101      abc\00def\L\C0      abc\00def\L\C0
1102   0: abc\x00def   0: abc\x00def
1103   0C abc (7)   0C abc\x00def (7)
1104   0L abc   0L abc
1105    
1106  /word ((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+  /word ((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
# Line 1168  No need char Line 1196  No need char
1196  ------------------------------------------------------------------  ------------------------------------------------------------------
1197          Bra          Bra
1198          Bra          Bra
      04 Opt  
1199          AllAny*          AllAny*
1200          X          X
1201          Alt          Alt
      04 Opt  
1202          ^          ^
1203          B          B
1204          Ket          Ket
      00 Opt  
1205          Ket          Ket
1206          End          End
1207  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 1190  Capturing subpattern count = 0 Line 1215  Capturing subpattern count = 0
1215  No options  No options
1216  First char = 'i'  First char = 'i'
1217  Need char = 's'  Need char = 's'
1218      Mississippi  Max lookbehind = 1
  0: iss  
  0+ issippi  
   
 /\Biss\B/I+P  
1219      Mississippi      Mississippi
1220   0: iss   0: iss
1221   0+ issippi   0+ issippi
# Line 1215  Capturing subpattern count = 0 Line 1236  Capturing subpattern count = 0
1236  No options  No options
1237  First char = 'i'  First char = 'i'
1238  Need char = 's'  Need char = 's'
1239    Max lookbehind = 1
1240      Mississippi      Mississippi
1241   0: iss   0: iss
1242   0+ issippi   0+ issippi
# Line 1224  Capturing subpattern count = 0 Line 1246  Capturing subpattern count = 0
1246  No options  No options
1247  First char = 'i'  First char = 'i'
1248  Need char = 's'  Need char = 's'
1249    Max lookbehind = 1
1250      Mississippi      Mississippi
1251   0: iss   0: iss
1252   0+ issippi   0+ issippi
# Line 1239  Capturing subpattern count = 0 Line 1262  Capturing subpattern count = 0
1262  No options  No options
1263  First char = 'i'  First char = 'i'
1264  Need char = 's'  Need char = 's'
1265    Max lookbehind = 1
1266      Mississippi      Mississippi
1267   0: iss   0: iss
1268   0+ issippi   0+ issippi
# Line 1250  Capturing subpattern count = 0 Line 1274  Capturing subpattern count = 0
1274  No options  No options
1275  First char = 'i'  First char = 'i'
1276  Need char = 's'  Need char = 's'
1277    Max lookbehind = 1
1278      Mississippi      Mississippi
1279   0: iss   0: iss
1280   0+ issippi   0+ issippi
# Line 1328  Capturing subpattern count = 0 Line 1353  Capturing subpattern count = 0
1353  Contains explicit CR or LF match  Contains explicit CR or LF match
1354  Options: multiline  Options: multiline
1355  First char at start or follows newline  First char at start or follows newline
1356  Need char = 10  Need char = \x0a
1357      ab\nab\ncd      ab\nab\ncd
1358   0: ab\x0a   0: ab\x0a
1359   0+ ab\x0acd   0+ ab\x0acd
# Line 1430  Capturing subpattern count = 0 Line 1455  Capturing subpattern count = 0
1455  No options  No options
1456  No first char  No first char
1457  No need char  No need char
1458    Max lookbehind = 3
1459    
1460  /abc(?!pqr)/I  /abc(?!pqr)/I
1461  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 1615  No need char Line 1641  No need char
1641      \Nabc      \Nabc
1642  No match  No match
1643    
 /a*(b+)(z)(z)/P  
     aaaabbbbzzzz  
  0: aaaabbbbzz  
  1: bbbb  
  2: z  
  3: z  
     aaaabbbbzzzz\O0  
     aaaabbbbzzzz\O1  
  0: aaaabbbbzz  
     aaaabbbbzzzz\O2  
  0: aaaabbbbzz  
  1: bbbb  
     aaaabbbbzzzz\O3  
  0: aaaabbbbzz  
  1: bbbb  
  2: z  
     aaaabbbbzzzz\O4  
  0: aaaabbbbzz  
  1: bbbb  
  2: z  
  3: z  
     aaaabbbbzzzz\O5  
  0: aaaabbbbzz  
  1: bbbb  
  2: z  
  3: z  
   
1644  /^.?abcd/IS  /^.?abcd/IS
1645  Capturing subpattern count = 0  Capturing subpattern count = 0
1646  Options: anchored  Options: anchored
1647  No first char  No first char
1648  Need char = 'd'  Need char = 'd'
1649  Study returned NULL  Subject length lower bound = 4
1650    No set of starting bytes
1651    
1652  /\(             # ( at start  /\(             # ( at start
1653    (?:           # Non-capturing bracket    (?:           # Non-capturing bracket
# Line 1805  Need char = ')' Line 1805  Need char = ')'
1805   0: (abcd(xyz<p>qrs)123)   0: (abcd(xyz<p>qrs)123)
1806   1: abcd(xyz<p>qrs)123   1: abcd(xyz<p>qrs)123
1807   2: 123   2: 123
  3: <unset>  
1808    
1809  /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix  /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix
1810  Capturing subpattern count = 3  Capturing subpattern count = 3
# Line 1880  Capturing subpattern count = 0 Line 1879  Capturing subpattern count = 0
1879  No options  No options
1880  No first char  No first char
1881  No need char  No need char
1882    Subject length lower bound = 1
1883  Starting byte set: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z  Starting byte set: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
1884    _ 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
1885    
# Line 1941  Contains explicit CR or LF match Line 1941  Contains explicit CR or LF match
1941  No options  No options
1942  No first char  No first char
1943  No need char  No need char
1944    Subject length lower bound = 1
1945  Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20  Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20
1946    
1947  /^[[:cntrl:]]/DZ  /^[[:cntrl:]]/DZ
# Line 2683  No need char Line 2684  No need char
2684  ------------------------------------------------------------------  ------------------------------------------------------------------
2685          Bra          Bra
2686          a          a
2687       01 Opt       /i b
      NC b  
2688          Ket          Ket
2689          End          End
2690  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2706  No match Line 2706  No match
2706          Bra          Bra
2707          CBra 1          CBra 1
2708          a          a
2709       01 Opt       /i b
      NC b  
2710          Ket          Ket
      00 Opt  
2711          Ket          Ket
2712          End          End
2713  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2731  No match Line 2729  No match
2729  /   (?i)abc/IxDZ  /   (?i)abc/IxDZ
2730  ------------------------------------------------------------------  ------------------------------------------------------------------
2731          Bra          Bra
2732       NC abc       /i abc
2733          Ket          Ket
2734          End          End
2735  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2744  Need char = 'c' (caseless) Line 2742  Need char = 'c' (caseless)
2742    (?i)abc/IxDZ    (?i)abc/IxDZ
2743  ------------------------------------------------------------------  ------------------------------------------------------------------
2744          Bra          Bra
2745       NC abc       /i abc
2746          Ket          Ket
2747          End          End
2748  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2917  No need char Line 2915  No need char
2915  /(x)*+/DZ  /(x)*+/DZ
2916  ------------------------------------------------------------------  ------------------------------------------------------------------
2917          Bra          Bra
2918          Once          Braposzero
2919          Brazero          CBraPos 1
         CBra 1  
2920          x          x
2921          KetRmax          KetRpos
         Ket  
2922          Ket          Ket
2923          End          End
2924  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 3147  Failed: POSIX collating elements are not Line 3143  Failed: POSIX collating elements are not
3143  Failed: POSIX named classes are supported only within a class at offset 0  Failed: POSIX named classes are supported only within a class at offset 0
3144    
3145  /\l/I  /\l/I
3146  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1  Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
3147    
3148  /\L/I  /\L/I
3149  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1  Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
3150    
3151  /\N{name}/I  /\N{name}/I
3152  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1  Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
3153    
3154  /\u/I  /\u/I
3155  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1  Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
3156    
3157  /\U/I  /\U/I
3158  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1  Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
3159    
3160  /[/I  /[/I
3161  Failed: missing terminating ] for character class at offset 1  Failed: missing terminating ] for character class at offset 1
# Line 3240  Capturing subpattern count = 0 Line 3236  Capturing subpattern count = 0
3236  No options  No options
3237  First char = '8'  First char = '8'
3238  Need char = 'X'  Need char = 'X'
3239    Max lookbehind = 1
3240    
3241  |\$\<\.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
3242  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 3253  Capturing subpattern count = 0 Line 3250  Capturing subpattern count = 0
3250  No options  No options
3251  First char = '$'  First char = '$'
3252  Need char = 'X'  Need char = 'X'
3253    Max lookbehind = 1
3254    
3255  /(.*)\d+\1/I  /(.*)\d+\1/I
3256  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 3411  Capturing subpattern count = 0 Line 3409  Capturing subpattern count = 0
3409  No options  No options
3410  No first char  No first char
3411  No need char  No need char
3412    Subject length lower bound = 1
3413  Starting byte set: a b  Starting byte set: a b
3414    
3415  /[^a]/I  /[^a]/I
# Line 3430  Capturing subpattern count = 0 Line 3429  Capturing subpattern count = 0
3429  No options  No options
3430  No first char  No first char
3431  Need char = '6'  Need char = '6'
3432    Subject length lower bound = 4
3433  Starting byte set: 0 1 2 3 4 5 6 7 8 9  Starting byte set: 0 1 2 3 4 5 6 7 8 9
3434    
3435  /a^b/I  /a^b/I
# Line 3463  Capturing subpattern count = 0 Line 3463  Capturing subpattern count = 0
3463  Options: caseless  Options: caseless
3464  No first char  No first char
3465  No need char  No need char
3466    Subject length lower bound = 1
3467  Starting byte set: A B a b  Starting byte set: A B a b
3468    
3469  /[ab](?i)cd/IS  /[ab](?i)cd/IS
# Line 3470  Capturing subpattern count = 0 Line 3471  Capturing subpattern count = 0
3471  No options  No options
3472  No first char  No first char
3473  Need char = 'd' (caseless)  Need char = 'd' (caseless)
3474    Subject length lower bound = 3
3475  Starting byte set: a b  Starting byte set: a b
3476    
3477  /abc(?C)def/I  /abc(?C)def/I
# Line 3505  Need char = 'f' Line 3507  Need char = 'f'
3507    1    ^    ^     f    1    ^    ^     f
3508   0: abcdef   0: abcdef
3509    
3510  /(?C1)\dabc(?C2)def/I  /(?C1)\dabc(?C2)def/IS
3511    Capturing subpattern count = 0
3512    No options
3513    No first char
3514    Need char = 'f'
3515    Subject length lower bound = 7
3516    Starting byte set: 0 1 2 3 4 5 6 7 8 9
3517        1234abcdef
3518    --->1234abcdef
3519      1 ^              \d
3520      1  ^             \d
3521      1   ^            \d
3522      1    ^           \d
3523      2    ^   ^       d
3524     0: 4abcdef
3525        *** Failers
3526    No match
3527        abcdef
3528    No match
3529    
3530    /(?C1)\dabc(?C2)def/ISS
3531  Capturing subpattern count = 0  Capturing subpattern count = 0
3532  No options  No options
3533  No first char  No first char
# Line 3744  Capturing subpattern count = 1 Line 3766  Capturing subpattern count = 1
3766  No options  No options
3767  First char = 'x'  First char = 'x'
3768  Need char = 'z'  Need char = 'z'
3769    Max lookbehind = 3
3770     abcxyz\C+     abcxyz\C+
3771  Callout 0: last capture = 1  Callout 0: last capture = 1
3772   0: <unset>   0: <unset>
# Line 3820  Capturing subpattern count = 0 Line 3843  Capturing subpattern count = 0
3843  No options  No options
3844  No first char  No first char
3845  No need char  No need char
3846    Subject length lower bound = 1
3847  Starting byte set: a b  Starting byte set: a b
3848    
3849  /(?R)/I  /(?R)/I
# Line 3908  Need char = '<' Line 3932  Need char = '<'
3932          Bra          Bra
3933          CBra 1          CBra 1
3934          a          a
         Once  
3935          Recurse          Recurse
         Ket  
3936          b          b
3937          Ket          Ket
3938          Ket          Ket
# Line 3939  No options Line 3961  No options
3961  First char = 'a'  First char = 'a'
3962  Need char = 'b'  Need char = 'b'
3963    
 /^\W*(?:((.)\W*(?1)\W*\2|)|((.)\W*(?3)\W*\4|\W*.\W*))\W*$/Ii  
 Capturing subpattern count = 4  
 Max back reference = 4  
 Options: anchored caseless  
 No first char  
 No need char  
     1221  
  0: 1221  
  1: 1221  
  2: 1  
     Satan, oscillate my metallic sonatas!  
  0: Satan, oscillate my metallic sonatas!  
  1: <unset>  
  2: <unset>  
  3: Satan, oscillate my metallic sonatas  
  4: S  
     A man, a plan, a canal: Panama!  
  0: A man, a plan, a canal: Panama!  
  1: <unset>  
  2: <unset>  
  3: A man, a plan, a canal: Panama  
  4: A  
     Able was I ere I saw Elba.  
  0: Able was I ere I saw Elba.  
  1: <unset>  
  2: <unset>  
  3: Able was I ere I saw Elba  
  4: A  
     *** Failers  
 No match  
     The quick brown fox  
 No match  
   
3964  /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I  /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I
3965  Capturing subpattern count = 2  Capturing subpattern count = 2
3966  Options: anchored  Options: anchored
# Line 4164  Need char = 'a' Line 4153  Need char = 'a'
4153          Any          Any
4154          \1          \1
4155          bbb          bbb
         Once  
4156          Recurse          Recurse
         Ket  
4157          d          d
4158          Ket          Ket
4159          End          End
# Line 4538  Need char = ']' Line 4525  Need char = ']'
4525          a          a
4526          CBra 2          CBra 2
4527          b          b
         Once  
4528          Recurse          Recurse
         Ket  
4529          c          c
4530          Ket          Ket
4531          Ket          Ket
# Line 4560  No need char Line 4545  No need char
4545          a          a
4546          CBra 2          CBra 2
4547          b          b
         Once  
4548          Recurse          Recurse
         Ket  
4549          c          c
4550          Ket          Ket
4551          KetRmax          KetRmax
# Line 4583  No need char Line 4566  No need char
4566          a          a
4567          CBra 2          CBra 2
4568          b          b
         Once  
4569          Recurse          Recurse
         Ket  
4570          c          c
4571          Ket          Ket
4572          Ket          Ket
# Line 4594  No need char Line 4575  No need char
4575          a          a
4576          CBra 2          CBra 2
4577          b          b
         Once  
4578          Recurse          Recurse
         Ket  
4579          c          c
4580          Ket          Ket
4581          Ket          Ket
# Line 4637  Capturing subpattern count = 3 Line 4616  Capturing subpattern count = 3
4616  Options: caseless  Options: caseless
4617  No first char  No first char
4618  Need char = 'g' (caseless)  Need char = 'g' (caseless)
4619  Study returned NULL  Subject length lower bound = 8
4620    No set of starting bytes
4621       Baby Bjorn Active Carrier - With free SHIPPING!!       Baby Bjorn Active Carrier - With free SHIPPING!!
4622   0: Baby Bjorn Active Carrier - With free SHIPPING!!   0: Baby Bjorn Active Carrier - With free SHIPPING!!
4623   1: Baby Bjorn Active Carrier - With free SHIPPING!!   1: Baby Bjorn Active Carrier - With free SHIPPING!!
# Line 4655  Capturing subpattern count = 0 Line 4635  Capturing subpattern count = 0
4635  No options  No options
4636  No first char  No first char
4637  Need char = 'b'  Need char = 'b'
4638  Study returned NULL  Subject length lower bound = 1
4639    No set of starting bytes
4640    
4641  /(a|b)*.?c/ISDZ  /(a|b)*.?c/ISDZ
4642  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 4675  Capturing subpattern count = 1 Line 4656  Capturing subpattern count = 1
4656  No options  No options
4657  No first char  No first char
4658  Need char = 'c'  Need char = 'c'
4659  Study returned NULL  Subject length lower bound = 1
4660    No set of starting bytes
4661    
4662  /abc(?C255)de(?C)f/DZ  /abc(?C255)de(?C)f/DZ
4663  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 4732  Need char = 'e' Line 4714  Need char = 'e'
4714   +4 ^   ^      e   +4 ^   ^      e
4715  No match  No match
4716    
4717  /a*b/ICDZ  /a*b/ICDZS
4718    ------------------------------------------------------------------
4719            Bra
4720            Callout 255 0 2
4721            a*+
4722            Callout 255 2 1
4723            b
4724            Callout 255 3 0
4725            Ket
4726            End
4727    ------------------------------------------------------------------
4728    Capturing subpattern count = 0
4729    Options:
4730    No first char
4731    Need char = 'b'
4732    Subject length lower bound = 1
4733    Starting byte set: a b
4734      ab
4735    --->ab
4736     +0 ^      a*
4737     +2 ^^     b
4738     +3 ^ ^
4739     0: ab
4740      aaaab
4741    --->aaaab
4742     +0 ^         a*
4743     +2 ^   ^     b
4744     +3 ^    ^
4745     0: aaaab
4746      aaaacb
4747    --->aaaacb
4748     +0 ^          a*
4749     +2 ^   ^      b
4750     +0  ^         a*
4751     +2  ^  ^      b
4752     +0   ^        a*
4753     +2   ^ ^      b
4754     +0    ^       a*
4755     +2    ^^      b
4756     +0      ^     a*
4757     +2      ^     b
4758     +3      ^^
4759     0: b
4760    
4761    /a*b/ICDZSS
4762  ------------------------------------------------------------------  ------------------------------------------------------------------
4763          Bra          Bra
4764          Callout 255 0 2          Callout 255 0 2
# Line 4815  Need char = 'b' Line 4841  Need char = 'b'
4841   +2    ^^      b   +2    ^^      b
4842  No match  No match
4843    
4844  /(abc|def)x/ICDZ  /(abc|def)x/ICDZS
4845  ------------------------------------------------------------------  ------------------------------------------------------------------
4846          Bra          Bra
4847          Callout 255 0 9          Callout 255 0 9
# Line 4846  Capturing subpattern count = 1 Line 4872  Capturing subpattern count = 1
4872  Options:  Options:
4873  No first char  No first char
4874  Need char = 'x'  Need char = 'x'
4875    Subject length lower bound = 4
4876    Starting byte set: a d
4877    abcx    abcx
4878  --->abcx  --->abcx
4879   +0 ^        (abc|def)   +0 ^        (abc|def)
# Line 4869  Need char = 'x' Line 4897  Need char = 'x'
4897  +10 ^   ^  +10 ^   ^
4898   0: defx   0: defx
4899   1: def   1: def
4900      ** Failers
4901    No match
4902    abcdefzx    abcdefzx
4903  --->abcdefzx  --->abcdefzx
4904   +0 ^            (abc|def)   +0 ^            (abc|def)
# Line 4878  Need char = 'x' Line 4908  Need char = 'x'
4908   +4 ^  ^         |   +4 ^  ^         |
4909   +9 ^  ^         x   +9 ^  ^         x
4910   +5 ^            d   +5 ^            d
  +0  ^           (abc|def)  
  +1  ^           a  
  +5  ^           d  
  +0   ^          (abc|def)  
  +1   ^          a  
  +5   ^          d  
4911   +0    ^         (abc|def)   +0    ^         (abc|def)
4912   +1    ^         a   +1    ^         a
4913   +5    ^         d   +5    ^         d
# Line 4891  Need char = 'x' Line 4915  Need char = 'x'
4915   +7    ^ ^       f   +7    ^ ^       f
4916   +8    ^  ^      )   +8    ^  ^      )
4917   +9    ^  ^      x   +9    ^  ^      x
  +0     ^        (abc|def)  
  +1     ^        a  
  +5     ^        d  
  +0      ^       (abc|def)  
  +1      ^       a  
  +5      ^       d  
  +0       ^      (abc|def)  
  +1       ^      a  
  +5       ^      d  
  +0        ^     (abc|def)  
  +1        ^     a  
  +5        ^     d  
4918  No match  No match
4919    
4920  /(ab|cd){3,4}/IC  /(abc|def)x/ICDZSS
4921    ------------------------------------------------------------------
4922            Bra
4923            Callout 255 0 9
4924            CBra 1
4925            Callout 255 1 1
4926            a
4927            Callout 255 2 1
4928            b
4929            Callout 255 3 1
4930            c
4931            Callout 255 4 0
4932            Alt
4933            Callout 255 5 1
4934            d
4935            Callout 255 6 1
4936            e
4937            Callout 255 7 1
4938            f
4939            Callout 255 8 0
4940            Ket
4941            Callout 255 9 1
4942            x
4943            Callout 255 10 0
4944            Ket
4945            End
4946    ------------------------------------------------------------------
4947  Capturing subpattern count = 1  Capturing subpattern count = 1
4948  Options:  Options:
4949  No first char  No first char
4950  No need char  Need char = 'x'
4951    ababab    abcx
4952  --->ababab  --->abcx
4953   +0 ^          (ab|cd){3,4}   +0 ^        (abc|def)
4954   +1 ^          a   +1 ^        a
4955   +2 ^^         b   +2 ^^       b
4956   +3 ^ ^        |   +3 ^ ^      c
4957   +1 ^ ^        a   +4 ^  ^     |
4958   +2 ^  ^       b   +9 ^  ^     x
4959   +3 ^   ^      |  +10 ^   ^
4960   +1 ^   ^      a   0: abcx
4961   +2 ^    ^     b   1: abc
4962      defx
4963    --->defx
4964     +0 ^        (abc|def)
4965     +1 ^        a
4966     +5 ^        d
4967     +6 ^^       e
4968     +7 ^ ^      f
4969     +8 ^  ^     )
4970     +9 ^  ^     x
4971    +10 ^   ^
4972     0: defx
4973     1: def
4974      ** Failers
4975    No match
4976      abcdefzx
4977    --->abcdefzx
4978     +0 ^            (abc|def)
4979     +1 ^            a
4980     +2 ^^           b
4981     +3 ^ ^          c
4982     +4 ^  ^         |
4983     +9 ^  ^         x
4984     +5 ^            d
4985     +0  ^           (abc|def)
4986     +1  ^           a
4987     +5  ^           d
4988     +0   ^          (abc|def)
4989     +1   ^          a
4990     +5   ^          d
4991     +0    ^         (abc|def)
4992     +1    ^         a
4993     +5    ^         d
4994     +6    ^^        e
4995     +7    ^ ^       f
4996     +8    ^  ^      )
4997     +9    ^  ^      x
4998     +0     ^        (abc|def)
4999     +1     ^        a
5000     +5     ^        d
5001     +0      ^       (abc|def)
5002     +1      ^       a
5003     +5      ^       d
5004     +0       ^      (abc|def)
5005     +1       ^      a
5006     +5       ^      d
5007     +0        ^     (abc|def)
5008     +1        ^     a
5009     +5        ^     d
5010    No match
5011    
5012    /(ab|cd){3,4}/IC
5013    Capturing subpattern count = 1
5014    Options:
5015    No first char
5016    No need char
5017      ababab
5018    --->ababab
5019     +0 ^          (ab|cd){3,4}
5020     +1 ^          a
5021     +2 ^^         b
5022     +3 ^ ^        |
5023     +1 ^ ^        a
5024     +2 ^  ^       b
5025     +3 ^   ^      |
5026     +1 ^   ^      a
5027     +2 ^    ^     b
5028   +3 ^     ^    |   +3 ^     ^    |
5029   +1 ^     ^    a   +1 ^     ^    a
5030   +4 ^     ^    c   +4 ^     ^    c
# Line 4969  No need char Line 5073  No need char
5073   0: abcdcdcd   0: abcdcdcd
5074   1: cd   1: cd
5075    
5076  /([ab]{,4}c|xy)/ICDZ  /([ab]{,4}c|xy)/ICDZS
5077    ------------------------------------------------------------------
5078            Bra
5079            Callout 255 0 14
5080            CBra 1
5081            Callout 255 1 4
5082            [ab]
5083            Callout 255 5 1
5084            {
5085            Callout 255 6 1
5086            ,
5087            Callout 255 7 1
5088            4
5089            Callout 255 8 1
5090            }
5091            Callout 255 9 1
5092            c
5093            Callout 255 10 0
5094            Alt
5095            Callout 255 11 1
5096            x
5097            Callout 255 12 1
5098            y
5099            Callout 255 13 0
5100            Ket
5101            Callout 255 14 0
5102            Ket
5103            End
5104    ------------------------------------------------------------------
5105    Capturing subpattern count = 1
5106    Options:
5107    No first char
5108    No need char
5109    Subject length lower bound = 2
5110    Starting byte set: a b x
5111        Note: that { does NOT introduce a quantifier
5112    --->Note: that { does NOT introduce a quantifier
5113     +0         ^                                        ([ab]{,4}c|xy)
5114     +1         ^                                        [ab]
5115     +5         ^^                                       {
5116    +11         ^                                        x
5117     +0                                 ^                ([ab]{,4}c|xy)
5118     +1                                 ^                [ab]
5119     +5                                 ^^               {
5120    +11                                 ^                x
5121     +0                                     ^            ([ab]{,4}c|xy)
5122     +1                                     ^            [ab]
5123     +5                                     ^^           {
5124    +11                                     ^            x
5125    No match
5126    
5127    /([ab]{,4}c|xy)/ICDZSS
5128  ------------------------------------------------------------------  ------------------------------------------------------------------
5129          Bra          Bra
5130          Callout 255 0 14          Callout 255 0 14
# Line 5259  Capturing subpattern count = 0 Line 5414  Capturing subpattern count = 0
5414  No options  No options
5415  No first char  No first char
5416  No need char  No need char
5417    Max lookbehind = 1
5418    ab cd\>1    ab cd\>1
5419   0:  cd   0:  cd
5420    
# Line 5267  Capturing subpattern count = 0 Line 5423  Capturing subpattern count = 0
5423  Options: dotall  Options: dotall
5424  No first char  No first char
5425  No need char  No need char
5426    Max lookbehind = 1
5427    ab cd\>1    ab cd\>1
5428   0:  cd   0:  cd
5429    
# Line 5421  No match Line 5578  No match
5578      123456\P      123456\P
5579  No match  No match
5580    
5581  /abc/I>testsavedregex  /abc/IS>testsavedregex
5582    Capturing subpattern count = 0
5583    No options
5584    First char = 'a'
5585    Need char = 'c'
5586    Subject length lower bound = 3
5587    No set of starting bytes
5588    Compiled pattern written to testsavedregex
5589    Study data written to testsavedregex
5590    <testsavedregex
5591    Compiled pattern loaded from testsavedregex
5592    Study data loaded from testsavedregex
5593        abc
5594     0: abc
5595        ** Failers
5596    No match
5597        bca
5598    No match
5599    
5600    /abc/ISS>testsavedregex
5601  Capturing subpattern count = 0  Capturing subpattern count = 0
5602  No options  No options
5603  First char = 'a'  First char = 'a'
5604  Need char = 'c'  Need char = 'c'
5605  Compiled regex written to testsavedregex  Compiled pattern written to testsavedregex
5606  <testsavedregex  <testsavedregex
5607  Compiled regex loaded from testsavedregex  Compiled pattern loaded from testsavedregex
5608  No study data  No study data
5609      abc      abc
5610   0: abc   0: abc
# Line 5437  No match Line 5613  No match
5613      bca      bca
5614  No match  No match
5615    
5616  /abc/IF>testsavedregex  /abc/IFS>testsavedregex
5617    Capturing subpattern count = 0
5618    No options
5619    First char = 'a'
5620    Need char = 'c'
5621    Subject length lower bound = 3
5622    No set of starting bytes
5623    Compiled pattern written to testsavedregex
5624    Study data written to testsavedregex
5625    <testsavedregex
5626    Compiled pattern (byte-inverted) loaded from testsavedregex
5627    Study data loaded from testsavedregex
5628        abc
5629     0: abc
5630        ** Failers
5631    No match
5632        bca
5633    No match
5634    
5635    /abc/IFSS>testsavedregex
5636  Capturing subpattern count = 0  Capturing subpattern count = 0
5637  No options  No options
5638  First char = 'a'  First char = 'a'
5639  Need char = 'c'  Need char = 'c'
5640  Compiled regex written to testsavedregex  Compiled pattern written to testsavedregex
5641  <testsavedregex  <testsavedregex
5642  Compiled regex (byte-inverted) loaded from testsavedregex  Compiled pattern (byte-inverted) loaded from testsavedregex
5643  No study data  No study data
5644      abc      abc
5645   0: abc   0: abc
# Line 5458  Capturing subpattern count = 1 Line 5653  Capturing subpattern count = 1
5653  No options  No options
5654  No first char  No first char
5655  No need char  No need char
5656    Subject length lower bound = 1
5657  Starting byte set: a b  Starting byte set: a b
5658  Compiled regex written to testsavedregex  Compiled pattern written to testsavedregex
5659  Study data written to testsavedregex  Study data written to testsavedregex
5660  <testsavedregex  <testsavedregex
5661  Compiled regex loaded from testsavedregex  Compiled pattern loaded from testsavedregex
5662  Study data loaded from testsavedregex  Study data loaded from testsavedregex
5663      abc      abc
5664   0: a   0: a
# Line 5473  Study data loaded from testsavedregex Line 5669  Study data loaded from testsavedregex
5669      def      def
5670  No match  No match
5671    
5672    /(a|b)/ISS>testsavedregex
5673    Capturing subpattern count = 1
5674    No options
5675    No first char
5676    No need char
5677    Compiled pattern written to testsavedregex
5678    <testsavedregex
5679    Compiled pattern loaded from testsavedregex
5680    No study data
5681        abc
5682     0: a
5683     1: a
5684        ** Failers
5685     0: a
5686     1: a
5687        def
5688    No match
5689    
5690  /(a|b)/ISF>testsavedregex  /(a|b)/ISF>testsavedregex
5691  Capturing subpattern count = 1  Capturing subpattern count = 1
5692  No options  No options
5693  No first char  No first char
5694  No need char  No need char
5695    Subject length lower bound = 1
5696  Starting byte set: a b  Starting byte set: a b
5697  Compiled regex written to testsavedregex  Compiled pattern written to testsavedregex
5698  Study data written to testsavedregex  Study data written to testsavedregex
5699  <testsavedregex  <testsavedregex
5700  Compiled regex (byte-inverted) loaded from testsavedregex  Compiled pattern (byte-inverted) loaded from testsavedregex
5701  Study data loaded from testsavedregex  Study data loaded from testsavedregex
5702      abc      abc
5703   0: a   0: a
# Line 5493  Study data loaded from testsavedregex Line 5708  Study data loaded from testsavedregex
5708      def      def
5709  No match  No match
5710    
5711    /(a|b)/ISSF>testsavedregex
5712    Capturing subpattern count = 1
5713    No options
5714    No first char
5715    No need char
5716    Compiled pattern written to testsavedregex
5717    <testsavedregex
5718    Compiled pattern (byte-inverted) loaded from testsavedregex
5719    No study data
5720        abc
5721     0: a
5722     1: a
5723        ** Failers
5724     0: a
5725     1: a
5726        def
5727    No match
5728    
5729  ~<(\w+)/?>(.)*</(\1)>~smgI  ~<(\w+)/?>(.)*</(\1)>~smgI
5730  Capturing subpattern count = 3  Capturing subpattern count = 3
5731  Max back reference = 1  Max back reference = 1
5732  Options: multiline dotall  Options: multiline dotall
5733  First char = '<'  First char = '<'
5734  Need char = '>'  Need char = '>'
5735      <!DOCTYPE seite SYSTEM "http://www.lco.lineas.de/xmlCms.dtd">\n<seite>\n<dokumenteninformation>\n<seitentitel>Partner der LCO</seitentitel>\n<sprache>de</sprache>\n<seitenbeschreibung>Partner der LINEAS Consulting\nGmbH</seitenbeschreibung>\n<schluesselworte>LINEAS Consulting GmbH Hamburg\nPartnerfirmen</schluesselworte>\n<revisit>30 days</revisit>\n<robots>index,follow</robots>\n<menueinformation>\n<aktiv>ja</aktiv>\n<menueposition>3</menueposition>\n<menuetext>Partner</menuetext>\n</menueinformation>\n<lastedited>\n<autor>LCO</autor>\n<firma>LINEAS Consulting</firma>\n<datum>15.10.2003</datum>\n</lastedited>\n</dokumenteninformation>\n<inhalt>\n\n<absatzueberschrift>Die Partnerfirmen der LINEAS Consulting\nGmbH</absatzueberschrift>\n\n<absatz><link ziel="http://www.ca.com/" zielfenster="_blank">\n<bild name="logo_ca.gif" rahmen="no"/></link> <link\nziel="http://www.ey.com/" zielfenster="_blank"><bild\nname="logo_euy.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><link ziel="http://www.cisco.de/" zielfenster="_blank">\n<bild name="logo_cisco.gif" rahmen="ja"/></link></absatz>\n\n<absatz><link ziel="http://www.atelion.de/"\nzielfenster="_blank"><bild\nname="logo_atelion.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><link ziel="http://www.line-information.de/"\nzielfenster="_blank">\n<bild name="logo_line_information.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><bild name="logo_aw.gif" rahmen="no"/></absatz>\n\n<absatz><link ziel="http://www.incognis.de/"\nzielfenster="_blank"><bild\nname="logo_incognis.gif" rahmen="no"/></link></absatz>\n\n<absatz><link ziel="http://www.addcraft.com/"\nzielfenster="_blank"><bild\nname="logo_addcraft.gif" rahmen="no"/></link></absatz>\n\n<absatz><link ziel="http://www.comendo.com/"\nzielfenster="_blank"><bild\nname="logo_comendo.gif" rahmen="no"/></link></absatz>\n\n</inhalt>\n</seite>      \J1024<!DOCTYPE seite SYSTEM "http://www.lco.lineas.de/xmlCms.dtd">\n<seite>\n<dokumenteninformation>\n<seitentitel>Partner der LCO</seitentitel>\n<sprache>de</sprache>\n<seitenbeschreibung>Partner der LINEAS Consulting\nGmbH</seitenbeschreibung>\n<schluesselworte>LINEAS Consulting GmbH Hamburg\nPartnerfirmen</schluesselworte>\n<revisit>30 days</revisit>\n<robots>index,follow</robots>\n<menueinformation>\n<aktiv>ja</aktiv>\n<menueposition>3</menueposition>\n<menuetext>Partner</menuetext>\n</menueinformation>\n<lastedited>\n<autor>LCO</autor>\n<firma>LINEAS Consulting</firma>\n<datum>15.10.2003</datum>\n</lastedited>\n</dokumenteninformation>\n<inhalt>\n\n<absatzueberschrift>Die Partnerfirmen der LINEAS Consulting\nGmbH</absatzueberschrift>\n\n<absatz><link ziel="http://www.ca.com/" zielfenster="_blank">\n<bild name="logo_ca.gif" rahmen="no"/></link> <link\nziel="http://www.ey.com/" zielfenster="_blank"><bild\nname="logo_euy.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><link ziel="http://www.cisco.de/" zielfenster="_blank">\n<bild name="logo_cisco.gif" rahmen="ja"/></link></absatz>\n\n<absatz><link ziel="http://www.atelion.de/"\nzielfenster="_blank"><bild\nname="logo_atelion.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><link ziel="http://www.line-information.de/"\nzielfenster="_blank">\n<bild name="logo_line_information.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><bild name="logo_aw.gif" rahmen="no"/></absatz>\n\n<absatz><link ziel="http://www.incognis.de/"\nzielfenster="_blank"><bild\nname="logo_incognis.gif" rahmen="no"/></link></absatz>\n\n<absatz><link ziel="http://www.addcraft.com/"\nzielfenster="_blank"><bild\nname="logo_addcraft.gif" rahmen="no"/></link></absatz>\n\n<absatz><link ziel="http://www.comendo.com/"\nzielfenster="_blank"><bild\nname="logo_comendo.gif" rahmen="no"/></link></absatz>\n\n</inhalt>\n</seite>
5736   0: <seite>\x0a<dokumenteninformation>\x0a<seitentitel>Partner der LCO</seitentitel>\x0a<sprache>de</sprache>\x0a<seitenbeschreibung>Partner der LINEAS Consulting\x0aGmbH</seitenbeschreibung>\x0a<schluesselworte>LINEAS Consulting GmbH Hamburg\x0aPartnerfirmen</schluesselworte>\x0a<revisit>30 days</revisit>\x0a<robots>index,follow</robots>\x0a<menueinformation>\x0a<aktiv>ja</aktiv>\x0a<menueposition>3</menueposition>\x0a<menuetext>Partner</menuetext>\x0a</menueinformation>\x0a<lastedited>\x0a<autor>LCO</autor>\x0a<firma>LINEAS Consulting</firma>\x0a<datum>15.10.2003</datum>\x0a</lastedited>\x0a</dokumenteninformation>\x0a<inhalt>\x0a\x0a<absatzueberschrift>Die Partnerfirmen der LINEAS Consulting\x0aGmbH</absatzueberschrift>\x0a\x0a<absatz><link ziel="http://www.ca.com/" zielfenster="_blank">\x0a<bild name="logo_ca.gif" rahmen="no"/></link> <link\x0aziel="http://www.ey.com/" zielfenster="_blank"><bild\x0aname="logo_euy.gif" rahmen="no"/></link>\x0a</absatz>\x0a\x0a<absatz><link ziel="http://www.cisco.de/" zielfenster="_blank">\x0a<bild name="logo_cisco.gif" rahmen="ja"/></link></absatz>\x0a\x0a<absatz><link ziel="http://www.atelion.de/"\x0azielfenster="_blank"><bild\x0aname="logo_atelion.gif" rahmen="no"/></link>\x0a</absatz>\x0a\x0a<absatz><link ziel="http://www.line-information.de/"\x0azielfenster="_blank">\x0a<bild name="logo_line_information.gif" rahmen="no"/></link>\x0a</absatz>\x0a\x0a<absatz><bild name="logo_aw.gif" rahmen="no"/></absatz>\x0a\x0a<absatz><link ziel="http://www.incognis.de/"\x0azielfenster="_blank"><bild\x0aname="logo_incognis.gif" rahmen="no"/></link></absatz>\x0a\x0a<absatz><link ziel="http://www.addcraft.com/"\x0azielfenster="_blank"><bild\x0aname="logo_addcraft.gif" rahmen="no"/></link></absatz>\x0a\x0a<absatz><link ziel="http://www.comendo.com/"\x0azielfenster="_blank"><bild\x0aname="logo_comendo.gif" rahmen="no"/></link></absatz>\x0a\x0a</inhalt>\x0a</seite>   0: <seite>\x0a<dokumenteninformation>\x0a<seitentitel>Partner der LCO</seitentitel>\x0a<sprache>de</sprache>\x0a<seitenbeschreibung>Partner der LINEAS Consulting\x0aGmbH</seitenbeschreibung>\x0a<schluesselworte>LINEAS Consulting GmbH Hamburg\x0aPartnerfirmen</schluesselworte>\x0a<revisit>30 days</revisit>\x0a<robots>index,follow</robots>\x0a<menueinformation>\x0a<aktiv>ja</aktiv>\x0a<menueposition>3</menueposition>\x0a<menuetext>Partner</menuetext>\x0a</menueinformation>\x0a<lastedited>\x0a<autor>LCO</autor>\x0a<firma>LINEAS Consulting</firma>\x0a<datum>15.10.2003</datum>\x0a</lastedited>\x0a</dokumenteninformation>\x0a<inhalt>\x0a\x0a<absatzueberschrift>Die Partnerfirmen der LINEAS Consulting\x0aGmbH</absatzueberschrift>\x0a\x0a<absatz><link ziel="http://www.ca.com/" zielfenster="_blank">\x0a<bild name="logo_ca.gif" rahmen="no"/></link> <link\x0aziel="http://www.ey.com/" zielfenster="_blank"><bild\x0aname="logo_euy.gif" rahmen="no"/></link>\x0a</absatz>\x0a\x0a<absatz><link ziel="http://www.cisco.de/" zielfenster="_blank">\x0a<bild name="logo_cisco.gif" rahmen="ja"/></link></absatz>\x0a\x0a<absatz><link ziel="http://www.atelion.de/"\x0azielfenster="_blank"><bild\x0aname="logo_atelion.gif" rahmen="no"/></link>\x0a</absatz>\x0a\x0a<absatz><link ziel="http://www.line-information.de/"\x0azielfenster="_blank">\x0a<bild name="logo_line_information.gif" rahmen="no"/></link>\x0a</absatz>\x0a\x0a<absatz><bild name="logo_aw.gif" rahmen="no"/></absatz>\x0a\x0a<absatz><link ziel="http://www.incognis.de/"\x0azielfenster="_blank"><bild\x0aname="logo_incognis.gif" rahmen="no"/></link></absatz>\x0a\x0a<absatz><link ziel="http://www.addcraft.com/"\x0azielfenster="_blank"><bild\x0aname="logo_addcraft.gif" rahmen="no"/></link></absatz>\x0a\x0a<absatz><link ziel="http://www.comendo.com/"\x0azielfenster="_blank"><bild\x0aname="logo_comendo.gif" rahmen="no"/></link></absatz>\x0a\x0a</inhalt>\x0a</seite>
5737   1: seite   1: seite
5738   2: \x0a   2: \x0a
# Line 5548  No match Line 5781  No match
5781      line one\nthis is a line\nbreak in the second line      line one\nthis is a line\nbreak in the second line
5782  No match  No match
5783    
 /ab.cd/P  
     ab-cd  
  0: ab-cd  
     ab=cd  
  0: ab=cd  
     ** Failers  
 No match: POSIX code 17: match failed  
     ab\ncd  
 No match: POSIX code 17: match failed  
   
 /ab.cd/Ps  
     ab-cd  
  0: ab-cd  
     ab=cd  
  0: ab=cd  
     ab\ncd  
  0: ab\x0acd  
   
5784  /(?i)(?-i)AbCd/I  /(?i)(?-i)AbCd/I
5785  Capturing subpattern count = 0  Capturing subpattern count = 0
5786  No options  No options
# Line 5858  No need char Line 6073  No need char
6073      ((this))      ((this))
6074   0: ((this))   0: ((this))
6075    
 /a(b)c/PN  
     abc  
 Matched with REG_NOSUB  
   
 /a(?P<name>b)c/PN  
     abc  
 Matched with REG_NOSUB  
   
 /\x{100}/I  
 Failed: character value in \x{...} sequence is too large at offset 6  
   
6076  /\x{0000ff}/I  /\x{0000ff}/I
6077  Capturing subpattern count = 0  Capturing subpattern count = 0
6078  No options  No options
6079  First char = 255  First char = \xff
6080  No need char  No need char
6081    
6082  /^((?P<A>a1)|(?P<A>a2)b)/I  /^((?P<A>a1)|(?P<A>a2)b)/I
# Line 5982  no parentheses with name "Z" Line 6186  no parentheses with name "Z"
6186   0: a1   0: a1
6187   1: a1   1: a1
6188   2: a1   2: a1
6189  copy substring Z failed -7  get substring Z failed -7
6190    G a1 (2) A    G a1 (2) A
6191    
6192  /^(?P<A>a)(?P<A>b)/IJ  /^(?P<A>a)(?P<A>b)/IJ
# Line 6014  No need char Line 6218  No need char
6218    G a (1) A    G a (1) A
6219      cd\GA      cd\GA
6220   0: cd   0: cd
6221  copy substring A failed -7  get substring A failed -7
6222    
6223  /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ  /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ
6224  Capturing subpattern count = 4  Capturing subpattern count = 4
# Line 6182  No need char Line 6386  No need char
6386   9:   9:
6387  10: Y  10: Y
6388    
 /\777/I  
 Failed: octal value is greater than \377 (not in UTF-8 mode) at offset 3  
   
6389  /\s*,\s*/IS  /\s*,\s*/IS
6390  Capturing subpattern count = 0  Capturing subpattern count = 0
6391  No options  No options
6392  No first char  No first char
6393  Need char = ','  Need char = ','
6394    Subject length lower bound = 1
6395  Starting byte set: \x09 \x0a \x0c \x0d \x20 ,  Starting byte set: \x09 \x0a \x0c \x0d \x20 ,
6396      \x0b,\x0b      \x0b,\x0b
6397   0: ,   0: ,
# Line 6494  Capturing subpattern count = 1 Line 6696  Capturing subpattern count = 1
6696  No options  No options
6697  No first char  No first char
6698  No need char  No need char
6699    Subject length lower bound = 1
6700  Starting byte set: C a b c d  Starting byte set: C a b c d
6701    
6702  /()[ab]xyz/IS  /()[ab]xyz/IS
# Line 6501  Capturing subpattern count = 1 Line 6704  Capturing subpattern count = 1
6704  No options  No options
6705  No first char  No first char
6706  Need char = 'z'  Need char = 'z'
6707    Subject length lower bound = 4
6708  Starting byte set: a b  Starting byte set: a b
6709    
6710  /(|)[ab]xyz/IS  /(|)[ab]xyz/IS
# Line 6508  Capturing subpattern count = 1 Line 6712  Capturing subpattern count = 1
6712  No options  No options
6713  No first char  No first char
6714  Need char = 'z'  Need char = 'z'
6715    Subject length lower bound = 4
6716  Starting byte set: a b  Starting byte set: a b
6717    
6718  /(|c)[ab]xyz/IS  /(|c)[ab]xyz/IS
# Line 6515  Capturing subpattern count = 1 Line 6720  Capturing subpattern count = 1
6720  No options  No options
6721  No first char  No first char
6722  Need char = 'z'  Need char = 'z'
6723    Subject length lower bound = 4
6724  Starting byte set: a b c  Starting byte set: a b c
6725    
6726  /(|c?)[ab]xyz/IS  /(|c?)[ab]xyz/IS
# Line 6522  Capturing subpattern count = 1 Line 6728  Capturing subpattern count = 1
6728  No options  No options
6729  No first char  No first char
6730  Need char = 'z'  Need char = 'z'
6731    Subject length lower bound = 4
6732  Starting byte set: a b c  Starting byte set: a b c
6733    
6734  /(d?|c?)[ab]xyz/IS  /(d?|c?)[ab]xyz/IS
# Line 6529  Capturing subpattern count = 1 Line 6736  Capturing subpattern count = 1
6736  No options  No options
6737  No first char  No first char
6738  Need char = 'z'  Need char = 'z'
6739    Subject length lower bound = 4
6740  Starting byte set: a b c d  Starting byte set: a b c d
6741    
6742  /(d?|c)[ab]xyz/IS  /(d?|c)[ab]xyz/IS
# Line 6536  Capturing subpattern count = 1 Line 6744  Capturing subpattern count = 1
6744  No options  No options
6745  No first char  No first char
6746  Need char = 'z'  Need char = 'z'
6747    Subject length lower bound = 4
6748  Starting byte set: a b c d  Starting byte set: a b c d
6749    
6750  /^a*b\d/DZ  /^a*b\d/DZ
# Line 6608  No match Line 6817  No match
6817  ------------------------------------------------------------------  ------------------------------------------------------------------
6818          Bra          Bra
6819          ^          ^
6820          a*       /i a*
6821       NC A       /i A
6822          \d          \d
6823          Ket          Ket
6824          End          End
# Line 6628  Capturing subpattern count = 1 Line 6837  Capturing subpattern count = 1
6837  No options  No options
6838  No first char  No first char
6839  No need char  No need char
6840    Subject length lower bound = 1
6841  Starting byte set: a b c d  Starting byte set: a b c d
6842    
6843  /(a+|b*)[cd]/IS  /(a+|b*)[cd]/IS
# Line 6635  Capturing subpattern count = 1 Line 6845  Capturing subpattern count = 1
6845  No options  No options
6846  No first char  No first char
6847  No need char  No need char
6848    Subject length lower bound = 1
6849  Starting byte set: a b c d  Starting byte set: a b c d
6850    
6851  /(a*|b+)[cd]/IS  /(a*|b+)[cd]/IS
# Line 6642  Capturing subpattern count = 1 Line 6853  Capturing subpattern count = 1
6853  No options  No options
6854  No first char  No first char
6855  No need char  No need char
6856    Subject length lower bound = 1
6857  Starting byte set: a b c d  Starting byte set: a b c d
6858    
6859  /(a+|b+)[cd]/IS  /(a+|b+)[cd]/IS
# Line 6649  Capturing subpattern count = 1 Line 6861  Capturing subpattern count = 1
6861  No options  No options
6862  No first char  No first char
6863  No need char  No need char
6864    Subject length lower bound = 2
6865  Starting byte set: a b  Starting byte set: a b
6866    
6867  /((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((  /((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
# Line 7233  Matched, but too many substrings Line 7446  Matched, but too many substrings
7446  /[^a]+a/BZi  /[^a]+a/BZi
7447  ------------------------------------------------------------------  ------------------------------------------------------------------
7448          Bra          Bra
7449          [^A]++       /i [^a]++
7450       NC a       /i a
7451          Ket          Ket
7452          End          End
7453  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 7242  Matched, but too many substrings Line 7455  Matched, but too many substrings
7455  /[^a]+A/BZi  /[^a]+A/BZi
7456  ------------------------------------------------------------------  ------------------------------------------------------------------
7457          Bra          Bra
7458          [^A]++       /i [^a]++
7459       NC A       /i A
7460          Ket          Ket
7461          End          End
7462  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 7438  No match Line 7651  No match
7651  ------------------------------------------------------------------  ------------------------------------------------------------------
7652          Bra          Bra
7653          ^          ^
         Once  
7654          Recurse          Recurse
         Ket  
7655          [()]          [()]
7656          CBra 1          CBra 1
7657          Ket          Ket
# Line 7454  No match Line 7665  No match
7665          ^          ^
7666          CBra 1          CBra 1
7667          Cond          Cond
7668        2 Cond ref        2 Cond nref
7669          y          y
7670          Ket          Ket
7671          [()]          [()]
# Line 7474  No match Line 7685  No match
7685  ------------------------------------------------------------------  ------------------------------------------------------------------
7686          Bra          Bra
7687          ^          ^
         Once  
7688          Recurse          Recurse
         Ket  
7689          ()          ()
7690          CBra 1          CBra 1
7691          Ket          Ket
# Line 7488  No match Line 7697  No match
7697  ------------------------------------------------------------------  ------------------------------------------------------------------
7698          Bra          Bra
7699          ^          ^
         Once  
7700          Recurse          Recurse
         Ket  
7701          [(\]a]          [(\]a]
7702          CBra 1          CBra 1
7703          Ket          Ket
# Line 7503  No match Line 7710  No match
7710  ------------------------------------------------------------------  ------------------------------------------------------------------
7711          Bra          Bra
7712          ^          ^
         Once  
7713          Recurse          Recurse
         Ket  
7714          CBra 1          CBra 1
7715          Ket          Ket
7716          Ket          Ket
# Line 7572  Need char = ':' Line 7777  Need char = ':'
7777   0: abcd:   0: abcd:
7778   1: abcd   1: abcd
7779    
 /(?'abc'\w+):\k<abc>{2}/  
     a:aaxyz  
  0: a:aa  
  1: a  
     ab:ababxyz  
  0: ab:abab  
  1: ab  
     ** Failers  
 No match  
     a:axyz  
 No match  
     ab:abxyz  
 No match  
   
7780  /(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J  /(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J
7781      adaa      adaa
7782   0: adaa   0: adaa
# Line 7612  No match Line 7803  No match
7803      bddd      bddd
7804  No match  No match
7805    
 /^(?<ab>a)? (?(<ab>)b|c) (?('ab')d|e)/x  
     abd  
  0: abd  
  1: a  
     ce  
  0: ce  
   
7806  /(?(<bc))/  /(?(<bc))/
7807  Failed: malformed number or name after (?( at offset 6  Failed: malformed number or name after (?( at offset 6
7808    
# Line 7649  Failed: reference to non-existent subpat Line 7833  Failed: reference to non-existent subpat
7833   1: abcabc1Xabc2XabcX   1: abcabc1Xabc2XabcX
7834   2: abcabc1Xabc2XabcX   2: abcabc1Xabc2XabcX
7835    
 /^(?(DEFINE) (?<A> a) (?<B> b) )  (?&A) (?&B) /x  
     abcd  
  0: ab  
  1: <unset>  
  2: <unset>  
   
 /(?<NAME>(?&NAME_PAT))\s+(?<ADDR>(?&ADDRESS_PAT))  
   (?(DEFINE)  
   (?<NAME_PAT>[a-z]+)  
   (?<ADDRESS_PAT>\d+)  
   )/x  
     metcalfe 33  
  0: metcalfe 33  
  1: metcalfe  
  2: 33  
  3: <unset>  
  4: <unset>  
   
7836  /^(?(DEFINE) abc | xyz ) /x  /^(?(DEFINE) abc | xyz ) /x
7837  Failed: DEFINE group contains more than one branch at offset 22  Failed: DEFINE group contains more than one branch at offset 22
7838    
# Line 7676  Options: extended Line 7842  Options: extended
7842  First char = 'x'  First char = 'x'
7843  Need char = 'z'  Need char = 'z'
7844    
 /(?(DEFINE) abc){3} xyz/x  
 Failed: repeating a DEFINE group is not allowed at offset 17  
   
7845  /(a|)*\d/  /(a|)*\d/
7846    \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa    \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
7847  No match  No match
# Line 7844  Need char = 'P' Line 8007  Need char = 'P'
8007   0: PXP   0: PXP
8008   1: P   1: P
8009    
 /(?(DEFINE)(?<byte>2[0-4]\d|25[0-5]|1\d\d|[1-9]?\d))\b(?&byte)(\.(?&byte)){3}/  
     1.2.3.4  
  0: 1.2.3.4  
  1: <unset>  
  2: .4  
     131.111.10.206  
  0: 131.111.10.206  
  1: <unset>  
  2: .206  
     10.0.0.0  
  0: 10.0.0.0  
  1: <unset>  
  2: .0  
     ** Failers  
 No match  
     10.6  
 No match  
     455.3.4.5  
 No match  
   
 /\b(?&byte)(\.(?&byte)){3}(?(DEFINE)(?<byte>2[0-4]\d|25[0-5]|1\d\d|[1-9]?\d))/  
     1.2.3.4  
  0: 1.2.3.4  
  1: .4  
  2: <unset>  
     131.111.10.206  
  0: 131.111.10.206  
  1: .206  
  2: <unset>  
     10.0.0.0  
  0: 10.0.0.0  
  1: .0  
  2: <unset>  
     ** Failers  
 No match  
     10.6  
 No match  
     455.3.4.5  
 No match  
   
8010  /(?:a(?&abc)b)*(?<abc>x)/  /(?:a(?&abc)b)*(?<abc>x)/
8011      123axbaxbaxbx456      123axbaxbaxbx456
8012   0: axbaxbaxbx   0: axbaxbaxbx
# Line 7921  No match Line 8044  No match
8044     DEFabcABCXYZ     DEFabcABCXYZ
8045  No match  No match
8046    
 /^(a(b))\1\g1\g{1}\g-1\g{-1}\g{-02}Z/  
     ababababbbabZXXXX  
  0: ababababbbabZ  
  1: ab  
  2: b  
   
8047  /^(a)\g-2/  /^(a)\g-2/
8048  Failed: reference to non-existent subpattern at offset 7  Failed: reference to non-existent subpattern at offset 7
8049    
# Line 8042  No match Line 8159  No match
8159          Alt          Alt
8160          c          c
8161          Ket          Ket
         Once  
8162          Recurse          Recurse
8163          Ket          Ket
         Ket  
8164          End          End
8165  ------------------------------------------------------------------  ------------------------------------------------------------------
8166      abc      abc
# Line 8056  No match Line 8171  No match
8171  ------------------------------------------------------------------  ------------------------------------------------------------------
8172          Bra          Bra
8173          xy          xy
         Once  
8174          Recurse          Recurse
         Ket  
8175          CBra 1          CBra 1
8176          abc          abc
8177          Ket          Ket
# Line 8182  Failed: reference to non-existent subpat Line 8295  Failed: reference to non-existent subpat
8295   0: Y!   0: Y!
8296   1: !   1: !
8297    
 /(foo)\Kbar/  
     foobar  
  0: bar  
  1: foo  
   
 /(foo)(\Kbar|baz)/  
     foobar  
  0: bar  
  1: foo  
  2: bar  
     foobaz  
  0: foobaz  
  1: foo  
  2: baz  
   
 /(foo\Kbar)baz/  
     foobarbaz  
  0: barbaz  
  1: foobar  
   
8298  /(?<A>tom|bon)-\k{A}/  /(?<A>tom|bon)-\k{A}/
8299      tom-tom      tom-tom
8300   0: tom-tom   0: tom-tom
# Line 8214  No match Line 8307  No match
8307      tom-bon      tom-bon
8308  No match  No match
8309    
 /(?<A>tom|bon)-\g{A}/  
     tom-tom  
  0: tom-tom  
  1: tom  
     bon-bon  
  0: bon-bon  
  1: bon  
   
8310  /\g{A/  /\g{A/
8311  Failed: syntax error in subpattern name (missing terminator) at offset 4  Failed: syntax error in subpattern name (missing terminator) at offset 4
8312    
# Line 8316  Failed: syntax error in subpattern name Line 8401  Failed: syntax error in subpattern name
8401   3: <unset>   3: <unset>
8402   4: x   4: x
8403    
 /(?|(abc)|(xyz))\1/  
     abcabc  
  0: abcabc  
  1: abc  
     xyzxyz  
  0: xyzxyz  
  1: xyz  
     ** Failers  
 No match  
     abcxyz  
 No match  
     xyzabc  
 No match  
   
 /(?|(abc)|(xyz))(?1)/  
     abcabc  
  0: abcabc  
  1: abc  
     xyzabc  
  0: xyzabc  
  1: xyz  
     ** Failers  
 No match  
     xyzxyz  
 No match  
   
 /\H\h\V\v/  
     X X\x0a  
  0: X X\x0a  
     X\x09X\x0b  
  0: X\x09X\x0b  
     ** Failers  
 No match  
     \xa0 X\x0a  
 No match  
   
 /\H*\h+\V?\v{3,4}/  
     \x09\x20\xa0X\x0a\x0b\x0c\x0d\x0a  
  0: \x09 \xa0X\x0a\x0b\x0c\x0d  
     \x09\x20\xa0\x0a\x0b\x0c\x0d\x0a  
  0: \x09 \xa0\x0a\x0b\x0c\x0d  
     \x09\x20\xa0\x0a\x0b\x0c  
  0: \x09 \xa0\x0a\x0b\x0c  
     ** Failers  
 No match  
     \x09\x20\xa0\x0a\x0b  
 No match  
   
 /\H{3,4}/  
     XY  ABCDE  
  0: ABCD  
     XY  PQR ST  
  0: PQR  
   
 /.\h{3,4}./  
     XY  AB    PQRS  
  0: B    P  
   
 /\h*X\h?\H+Y\H?Z/  
     >XNNNYZ  
  0: XNNNYZ  
     >  X NYQZ  
  0:   X NYQZ  
     ** Failers  
 No match  
     >XYZ  
 No match  
     >  X NY Z  
 No match  
   
 /\v*X\v?Y\v+Z\V*\x0a\V+\x0b\V{2,3}\x0c/  
     >XY\x0aZ\x0aA\x0bNN\x0c  
  0: XY\x0aZ\x0aA\x0bNN\x0c  
     >\x0a\x0dX\x0aY\x0a\x0bZZZ\x0aAAA\x0bNNN\x0c  
  0: \x0a\x0dX\x0aY\x0a\x0bZZZ\x0aAAA\x0bNNN\x0c  
   
 /[\h]/BZ  
 ------------------------------------------------------------------  
         Bra  
         [\x09 \xa0]  
         Ket  
         End  
 ------------------------------------------------------------------  
     >\x09<  
  0: \x09  
   
 /[\h]+/BZ  
 ------------------------------------------------------------------  
         Bra  
         [\x09 \xa0]+  
         Ket  
         End  
 ------------------------------------------------------------------  
     >\x09\x20\xa0<  
  0: \x09 \xa0  
   
 /[\v]/BZ  
 ------------------------------------------------------------------  
         Bra  
         [\x0a-\x0d\x85]  
         Ket  
         End  
 ------------------------------------------------------------------  
   
 /[\H]/BZ  
 ------------------------------------------------------------------  
         Bra  
         [\x00-\x08\x0a-\x1f!-\x9f\xa1-\xff]  
         Ket  
         End  
 ------------------------------------------------------------------  
   
 /[^\h]/BZ  
 ------------------------------------------------------------------  
         Bra  
         [\x00-\x08\x0a-\x1f!-\x9f\xa1-\xff] (neg)  
         Ket  
         End  
 ------------------------------------------------------------------  
   
 /[\V]/BZ  
 ------------------------------------------------------------------  
         Bra  
         [\x00-\x09\x0e-\x84\x86-\xff]  
         Ket  
         End  
 ------------------------------------------------------------------  
   
 /[\x0a\V]/BZ  
 ------------------------------------------------------------------  
         Bra  
         [\x00-\x0a\x0e-\x84\x86-\xff]  
         Ket  
         End  
 ------------------------------------------------------------------  
   
8404  /\H++X/BZ  /\H++X/BZ
8405  ------------------------------------------------------------------  ------------------------------------------------------------------
8406          Bra          Bra
# Line 8643  No match Line 8592  No match
8592  ------------------------------------------------------------------  ------------------------------------------------------------------
8593    
8594  /\( (?: [^()]* | (?R) )* \)/x  /\( (?: [^()]* | (?R) )* \)/x
8595  (0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(00)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)  \J1024(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(00)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)
8596   0: (0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(00)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)   0: (0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(00)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)
8597    
8598  /[\E]AAA/  /[\E]AAA/
# Line 8688  Failed: missing terminating ] for charac Line 8637  Failed: missing terminating ] for charac
8637          End          End
8638  ------------------------------------------------------------------  ------------------------------------------------------------------
8639    
 /^a+(*FAIL)/  
     aaaaaa  
 No match  
   
 /a+b?c+(*FAIL)/  
     aaabccc  
 No match  
   
 /a+b?(*PRUNE)c+(*FAIL)/  
     aaabccc  
 No match  
   
 /a+b?(*COMMIT)c+(*FAIL)/  
     aaabccc  
 No match  
   
 /a+b?(*SKIP)c+(*FAIL)/  
     aaabcccaaabccc  
 No match  
   
 /^(?:aaa(*THEN)\w{6}|bbb(*THEN)\w{5}|ccc(*THEN)\w{4}|\w{3})/  
     aaaxxxxxx  
  0: aaaxxxxxx  
     aaa++++++  
  0: aaa  
     bbbxxxxx  
  0: bbbxxxxx  
     bbb+++++  
  0: bbb  
     cccxxxx  
  0: cccxxxx  
     ccc++++  
  0: ccc  
     dddddddd  
  0: ddd  
   
 /^(aaa(*THEN)\w{6}|bbb(*THEN)\w{5}|ccc(*THEN)\w{4}|\w{3})/  
     aaaxxxxxx  
  0: aaaxxxxxx  
  1: aaaxxxxxx  
     aaa++++++  
  0: aaa  
  1: aaa  
     bbbxxxxx  
  0: bbbxxxxx  
  1: bbbxxxxx  
     bbb+++++  
  0: bbb  
  1: bbb  
     cccxxxx  
  0: cccxxxx  
  1: cccxxxx  
     ccc++++  
  0: ccc  
  1: ccc  
     dddddddd  
  0: ddd  
  1: ddd  
   
 /a+b?(*THEN)c+(*FAIL)/  
     aaabccc  
 No match  
   
 /(A (A|B(*ACCEPT)|C) D)(E)/x  
     ABX  
  0: AB  
     AADE  
  0: AADE  
  1: AAD  
  2: A  
  3: E  
     ACDE  
  0: ACDE  
  1: ACD  
  2: C  
  3: E  
     ** Failers  
 No match  
     AD  
 No match  
   
8640  /^a+(*FAIL)/C  /^a+(*FAIL)/C
8641      aaaaaa      aaaaaa
8642  --->aaaaaa  --->aaaaaa
# Line 8897  No match Line 8765  No match
8765  +13   ^  ^      (*FAIL)  +13   ^  ^      (*FAIL)
8766  No match  No match
8767    
 /a(*PRUNE:XXX)b/  
 Failed: (*VERB) with an argument is not supported at offset 8  
   
8768  /a(*MARK)b/  /a(*MARK)b/
8769  Failed: (*VERB) not recognized at offset 7  Failed: (*MARK) must have an argument at offset 7
8770    
8771  /(?i:A{1,}\6666666666)/  /(?i:A{1,}\6666666666)/
8772  Failed: number is too big at offset 19  Failed: number is too big at offset 19
# Line 8909  Failed: number is too big at offset 19 Line 8774  Failed: number is too big at offset 19
8774  /\g6666666666/  /\g6666666666/
8775  Failed: number is too big at offset 11  Failed: number is too big at offset 11
8776    
8777  /[\g6666666666]/  /[\g6666666666]/BZ
8778  Failed: number is too big at offset 12  ------------------------------------------------------------------
8779            Bra
8780            [6g]
8781            Ket
8782            End
8783    ------------------------------------------------------------------
8784    
8785  /(?1)\c[/  /(?1)\c[/
8786  Failed: reference to non-existent subpattern at offset 3  Failed: reference to non-existent subpattern at offset 3
# Line 8990  No match Line 8860  No match
8860  No match  No match
8861      a\x85b      a\x85b
8862  No match  No match
8863    
8864    /(*ANY).*/g
8865        abc\r\ndef
8866     0: abc
8867     0:
8868     0: def
8869     0:
8870    
8871    /(*ANYCRLF).*/g
8872        abc\r\ndef
8873     0: abc
8874     0:
8875     0: def
8876     0:
8877    
8878    /(*CRLF).*/g
8879        abc\r\ndef
8880     0: abc
8881     0:
8882     0: def
8883     0:
8884    
8885  /a\Rb/I<bsr_anycrlf>  /a\Rb/I<bsr_anycrlf>
8886  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 9195  Failed: subpattern name expected at offs Line 9086  Failed: subpattern name expected at offs
9086  /\k{}/  /\k{}/
9087  Failed: subpattern name expected at offset 3  Failed: subpattern name expected at offset 3
9088    
9089    /\k/
9090    Failed: \k is not followed by a braced, angle-bracketed, or quoted name at offset 2
9091    
9092    /\kabc/
9093    Failed: \k is not followed by a braced, angle-bracketed, or quoted name at offset 5
9094    
9095  /(?P=)/  /(?P=)/
9096  Failed: subpattern name expected at offset 4  Failed: subpattern name expected at offset 4
9097    
# Line 9240  Failed: unknown POSIX class name at offs Line 9137  Failed: unknown POSIX class name at offs
9137  /[[:a\dz:]]/  /[[:a\dz:]]/
9138  Failed: unknown POSIX class name at offset 3  Failed: unknown POSIX class name at offset 3
9139    
9140  /^(?<name>a|b\g<name>c)/  /(^(a|b\g<-1'c))/
9141      aaaa  Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 15
  0: a  
  1: a  
     bacxxx  
  0: bac  
  1: bac  
     bbaccxxx  
  0: bbacc  
  1: bbacc  
     bbbacccxx  
  0: bbbaccc  
  1: bbbaccc  
9142    
9143  /^(?<name>a|b\g'name'c)/  /^(?+1)(?<a>x|y){0}z/
9144      aaaa      xzxx
9145   0: a   0: xz
9146   1: a      yzyy
9147      bacxxx   0: yz
9148   0: bac      ** Failers
9149   1: bac  No match
9150      bbaccxxx      xxz
9151   0: bbacc  No match
  1: bbacc  
     bbbacccxx  
  0: bbbaccc  
  1: bbbaccc  
9152    
9153  /^(a|b\g<1>c)/  /(\3)(\1)(a)/
9154      aaaa      cat
9155   0: a  No match
  1: a  
     bacxxx  
  0: bac  
  1: bac  
     bbaccxxx  
  0: bbacc  
  1: bbacc  
     bbbacccxx  
  0: bbbaccc  
  1: bbbaccc  
9156    
9157  /^(a|b\g'1'c)/  /(\3)(\1)(a)/<JS>
9158      aaaa      cat
9159   0: a   0: a
9160   1: a   1:
9161      bacxxx   2:
9162   0: bac   3: a
9163   1: bac  
9164      bbaccxxx  /TA]/
9165   0: bbacc      The ACTA] comes
9166   1: bbacc   0: TA]
     bbbacccxx  
  0: bbbaccc  
  1: bbbaccc  
9167    
9168  /^(a|b\g'-1'c)/  /TA]/<JS>
9169      aaaa  Failed: ] is an invalid data character in JavaScript compatibility mode at offset 2
  0: a  
  1: a  
     bacxxx  
  0: bac  
  1: bac  
     bbaccxxx  
  0: bbacc  
  1: bbacc  
     bbbacccxx  
  0: bbbaccc  
  1: bbbaccc  
9170    
9171  /(^(a|b\g<-1>c))/  /(?2)[]a()b](abc)/
9172      aaaa  Failed: reference to non-existent subpattern at offset 3
  0: a  
  1: a  
  2: a  
     bacxxx  
  0: bac  
  1: bac  
  2: bac  
     bbaccxxx  
  0: bbacc  
  1: bbacc  
  2: bbacc  
     bbbacccxx  
  0: bbbaccc  
  1: bbbaccc  
  2: bbbaccc  
9173    
9174  /(^(a|b\g<-1'c))/  /(?2)[^]a()b](abc)/
9175  Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 15  Failed: reference to non-existent subpattern at offset 3
9176    
9177  /(^(a|b\g{-1}))/  /(?1)[]a()b](abc)/
9178      bacxxx      abcbabc
9179  No match   0: abcbabc
9180     1: abc
9181  /(?-i:\g<name>)(?i:(?<name>a))/      ** Failers
9182      XaaX  No match
9183   0: aa      abcXabc
  1: a  
     XAAX  
  0: AA  
  1: A  
   
 /(?i:\g<name>)(?-i:(?<name>a))/  
     XaaX  
  0: aa  
  1: a  
     ** Failers  
 No match  
     XAAX  
 No match  
   
 /(?-i:\g<+1>)(?i:(a))/  
     XaaX  
  0: aa  
  1: a  
     XAAX  
  0: AA  
  1: A  
   
 /(?=(?<regex>(?#simplesyntax)\$(?<name>[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)(?:\[(?<index>[a-zA-Z0-9_\x{7f}-\x{ff}]+|\$\g<name>)\]|->\g<name>(\(.*?\))?)?|(?#simple syntax withbraces)\$\{(?:\g<name>(?<indices>\[(?:\g<index>|'(?:\\.|[^'\\])*'|"(?:\g<regex>|\\.|[^"\\])*")\])?|\g<complex>|\$\{\g<complex>\})\}|(?#complexsyntax)\{(?<complex>\$(?<segment>\g<name>(\g<indices>*|\(.*?\))?)(?:->\g<segment>)*|\$\g<complex>|\$\{\g<complex>\})\}))\{/  
   
 /(?<n>a|b|c)\g<n>*/  
    abc  
  0: abc  
  1: a  
    accccbbb  
  0: accccbbb  
  1: a  
   
 /^(?+1)(?<a>x|y){0}z/  
     xzxx  
  0: xz  
  1: <unset>  
     yzyy  
  0: yz  
  1: <unset>  
     ** Failers  
 No match  
     xxz  
 No match  
   
 /(\3)(\1)(a)/  
     cat  
 No match  
   
 /(\3)(\1)(a)/<JS>  
     cat  
  0: a  
  1:  
  2:  
  3: a  
   
 /TA]/  
     The ACTA] comes  
  0: TA]  
   
 /TA]/<JS>  
 Failed: ] is an invalid data character in JavaScript compatibility mode at offset 2  
   
 /(?2)[]a()b](abc)/  
 Failed: reference to non-existent subpattern at offset 3  
   
 /(?2)[^]a()b](abc)/  
 Failed: reference to non-existent subpattern at offset 3  
   
 /(?1)[]a()b](abc)/  
     abcbabc  
  0: abcbabc  
  1: abc  
     ** Failers  
 No match  
     abcXabc  
9184  No match  No match
9185    
9186  /(?1)[^]a()b](abc)/  /(?1)[^]a()b](abc)/
# Line 9491  Capturing subpattern count = 1 Line 9259  Capturing subpattern count = 1
9259  No options  No options
9260  No first char  No first char
9261  No need char  No need char
9262    Subject length lower bound = 1
9263  Starting byte set: x y z  Starting byte set: x y z
9264    
9265  /(?(?=.*b)b|^)/CI  /(?(?=.*b)b|^)/CI
# Line 9544  No options Line 9313  No options
9313  First char at start or follows newline  First char at start or follows newline
9314  No need char  No need char
9315    
 /a?|b?/P  
     abc  
  0: a  
     ** Failers  
  0:  
     ddd\N  
 No match: POSIX code 17: match failed  
   
9316  /xyz/C  /xyz/C
9317    xyz    xyz
9318  --->xyz  --->xyz
# Line 9604  No match Line 9365  No match
9365   +0        ^     x   +0        ^     x
9366   +0         ^    x   +0         ^    x
9367  No match  No match
9368    
9369    /(*NO_START_OPT)xyz/C
9370      abcxyz
9371    --->abcxyz
9372    +15 ^          x
9373    +15  ^         x
9374    +15   ^        x
9375    +15    ^       x
9376    +16    ^^      y
9377    +17    ^ ^     z
9378    +18    ^  ^
9379     0: xyz
9380    
9381    /xyz/CY
9382      abcxyz
9383    --->abcxyz
9384     +0 ^          x
9385     +0  ^         x
9386     +0   ^        x
9387     +0    ^       x
9388     +1    ^^      y
9389     +2    ^ ^     z
9390     +3    ^  ^
9391     0: xyz
9392    
9393  /^"((?(?=[a])[^"])|b)*"$/C  /^"((?(?=[a])[^"])|b)*"$/C
9394      "ab"      "ab"
# Line 9638  No match Line 9423  No match
9423   0: "ab"   0: "ab"
9424   1:   1:
9425    
 /^X(?5)(a)(?|(b)|(q))(c)(d)(Y)/  
     XYabcdY  
  0: XYabcdY  
  1: a  
  2: b  
  3: c  
  4: d  
  5: Y  
   
9426  /^X(?5)(a)(?|(b)|(q))(c)(d)Y/  /^X(?5)(a)(?|(b)|(q))(c)(d)Y/
9427  Failed: reference to non-existent subpattern at offset 5  Failed: reference to non-existent subpattern at offset 5
9428    
# Line 9659  Failed: reference to non-existent subpat Line 9435  Failed: reference to non-existent subpat
9435   4: d   4: d
9436   5: Y   5: Y
9437    
 /^X(?7)(a)(?|(b)|(q)(r)(s))(c)(d)(Y)/  
     XYabcdY  
  0: XYabcdY  
  1: a  
  2: b  
  3: <unset>  
  4: <unset>  
  5: c  
  6: d  
  7: Y  
   
 /^X(?7)(a)(?|(b|(r)(s))|(q))(c)(d)(Y)/  
     XYabcdY  
  0: XYabcdY  
  1: a  
  2: b  
  3: <unset>  
  4: <unset>  
  5: c  
  6: d  
  7: Y  
   
 /^X(?7)(a)(?|(b|(?|(r)|(t))(s))|(q))(c)(d)(Y)/  
     XYabcdY  
  0: XYabcdY  
  1: a  
  2: b  
  3: <unset>  
  4: <unset>  
  5: c  
  6: d  
  7: Y  
   
9438  /Xa{2,4}b/  /Xa{2,4}b/
9439      X\P      X\P
9440  Partial match: X  Partial match: X
# Line 9964  Partial match: the cat Line 9707  Partial match: the cat
9707     abc\P\P     abc\P\P
9708   0: abc   0: abc
9709    
 /\w+A/P  
    CDAAAAB  
  0: CDAAAA  
   
 /\w+A/PU  
    CDAAAAB  
  0: CDA  
   
9710  /abc\K123/  /abc\K123/
9711      xyzabc123pqr      xyzabc123pqr
9712   0: 123   0: 123
# Line 9999  Partial match: +ab Line 9734  Partial match: +ab
9734  /(?&word)(?&element)(?(DEFINE)(?<element><[^m][^>]>[^<])(?<word>\w*+))/BZ  /(?&word)(?&element)(?(DEFINE)(?<element><[^m][^>]>[^<])(?<word>\w*+))/BZ
9735  ------------------------------------------------------------------  ------------------------------------------------------------------
9736          Bra          Bra
         Once  
9737          Recurse          Recurse
         Ket  
         Once  
9738          Recurse          Recurse
         Ket  
9739          Cond          Cond
9740          Cond def          Cond def
9741          CBra 1          CBra 1
# Line 10025  Partial match: +ab Line 9756  Partial match: +ab
9756  /(?&word)(?&element)(?(DEFINE)(?<element><[^\d][^>]>[^<])(?<word>\w*+))/BZ  /(?&word)(?&element)(?(DEFINE)(?<element><[^\d][^>]>[^<])(?<word>\w*+))/BZ
9757  ------------------------------------------------------------------  ------------------------------------------------------------------
9758          Bra          Bra
         Once  
9759          Recurse          Recurse
         Ket  
         Once  
9760          Recurse          Recurse
         Ket  
9761          Cond          Cond
9762          Cond def          Cond def
9763          CBra 1          CBra 1
# Line 10048  Partial match: +ab Line 9775  Partial match: +ab
9775          End          End
9776  ------------------------------------------------------------------  ------------------------------------------------------------------
9777    
9778  / End of testinput2 /  /(ab)(x(y)z(cd(*ACCEPT)))pq/BZ
9779    ------------------------------------------------------------------
9780            Bra
9781            CBra 1
9782            ab
9783            Ket
9784            CBra 2
9785            x
9786            CBra 3
9787            y
9788            Ket
9789            z
9790            CBra 4
9791            cd
9792            Close 4
9793            Close 2
9794            *ACCEPT
9795            Ket
9796            Ket
9797            pq
9798            Ket
9799            End
9800    ------------------------------------------------------------------
9801    
9802    /abc\K/+
9803        abcdef
9804     0:
9805     0+ def
9806        abcdef\N\N
9807     0:
9808     0+ def
9809        xyzabcdef\N\N
9810     0:
9811     0+ def
9812        ** Failers
9813    No match
9814        abcdef\N
9815    No match
9816        xyzabcdef\N
9817    No match
9818    
9819    /^(?:(?=abc)|abc\K)/+
9820        abcdef
9821     0:
9822     0+ abcdef
9823        abcdef\N\N
9824     0:
9825     0+ def
9826        ** Failers
9827    No match
9828        abcdef\N
9829    No match
9830    
9831    /a?b?/+
9832        xyz
9833     0:
9834     0+ xyz
9835        xyzabc
9836     0:
9837     0+ xyzabc
9838        xyzabc\N
9839     0: ab
9840     0+ c
9841        xyzabc\N\N
9842     0:
9843     0+ yzabc
9844        xyz\N\N
9845     0:
9846     0+ yz
9847        ** Failers
9848     0:
9849     0+ ** Failers
9850        xyz\N
9851    No match
9852    
9853    /^a?b?/+
9854        xyz
9855     0:
9856     0+ xyz
9857        xyzabc
9858     0:
9859     0+ xyzabc
9860        ** Failers
9861     0:
9862     0+ ** Failers
9863        xyzabc\N
9864    No match
9865        xyzabc\N\N
9866    No match
9867        xyz\N\N
9868    No match
9869        xyz\N
9870    No match
9871    
9872    /^(?<name>a|b\g<name>c)/
9873        aaaa
9874     0: a
9875     1: a
9876        bacxxx
9877     0: bac
9878     1: bac
9879        bbaccxxx
9880     0: bbacc
9881     1: bbacc
9882        bbbacccxx
9883     0: bbbaccc
9884     1: bbbaccc
9885    
9886    /^(?<name>a|b\g'name'c)/
9887        aaaa
9888     0: a
9889     1: a
9890        bacxxx
9891     0: bac
9892     1: bac
9893        bbaccxxx
9894     0: bbacc
9895     1: bbacc
9896        bbbacccxx
9897     0: bbbaccc
9898     1: bbbaccc
9899    
9900    /^(a|b\g<1>c)/
9901        aaaa
9902     0: a
9903     1: a
9904        bacxxx
9905     0: bac
9906     1: bac
9907        bbaccxxx
9908     0: bbacc
9909     1: bbacc
9910        bbbacccxx
9911     0: bbbaccc
9912     1: bbbaccc
9913    
9914    /^(a|b\g'1'c)/
9915        aaaa
9916     0: a
9917     1: a
9918        bacxxx
9919     0: bac
9920     1: bac
9921        bbaccxxx
9922     0: bbacc
9923     1: bbacc
9924        bbbacccxx
9925     0: bbbaccc
9926     1: bbbaccc
9927    
9928    /^(a|b\g'-1'c)/
9929        aaaa
9930     0: a
9931     1: a
9932        bacxxx
9933     0: bac
9934     1: bac
9935        bbaccxxx
9936     0: bbacc
9937     1: bbacc
9938        bbbacccxx
9939     0: bbbaccc
9940     1: bbbaccc
9941    
9942    /(^(a|b\g<-1>c))/
9943        aaaa
9944     0: a
9945     1: a
9946     2: a
9947        bacxxx
9948     0: bac
9949     1: bac
9950     2: bac
9951        bbaccxxx
9952     0: bbacc
9953     1: bbacc
9954     2: bbacc
9955        bbbacccxx
9956     0: bbbaccc
9957     1: bbbaccc
9958     2: bbbaccc
9959    
9960    /(?-i:\g<name>)(?i:(?<name>a))/
9961        XaaX
9962     0: aa
9963     1: a
9964        XAAX
9965     0: AA
9966     1: A
9967    
9968    /(?i:\g<name>)(?-i:(?<name>a))/
9969        XaaX
9970     0: aa
9971     1: a
9972        ** Failers
9973    No match
9974        XAAX
9975    No match
9976    
9977    /(?-i:\g<+1>)(?i:(a))/
9978        XaaX
9979     0: aa
9980     1: a
9981        XAAX
9982     0: AA
9983     1: A
9984    
9985    /(?=(?<regex>(?#simplesyntax)\$(?<name>[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)(?:\[(?<index>[a-zA-Z0-9_\x{7f}-\x{ff}]+|\$\g<name>)\]|->\g<name>(\(.*?\))?)?|(?#simple syntax withbraces)\$\{(?:\g<name>(?<indices>\[(?:\g<index>|'(?:\\.|[^'\\])*'|"(?:\g<regex>|\\.|[^"\\])*")\])?|\g<complex>|\$\{\g<complex>\})\}|(?#complexsyntax)\{(?<complex>\$(?<segment>\g<name>(\g<indices>*|\(.*?\))?)(?:->\g<segment>)*|\$\g<complex>|\$\{\g<complex>\})\}))\{/
9986    
9987    /(?<n>a|b|c)\g<n>*/
9988       abc
9989     0: abc
9990     1: a
9991       accccbbb
9992     0: accccbbb
9993     1: a
9994    
9995    /^X(?7)(a)(?|(b)|(q)(r)(s))(c)(d)(Y)/
9996        XYabcdY
9997     0: XYabcdY
9998     1: a
9999     2: b
10000     3: <unset>
10001     4: <unset>
10002     5: c
10003     6: d
10004     7: Y
10005    
10006    /(?<=b(?1)|zzz)(a)/
10007        xbaax
10008     0: a
10009     1: a
10010        xzzzax
10011     0: a
10012     1: a
10013    
10014    /(a)(?<=b\1)/
10015    Failed: lookbehind assertion is not fixed length at offset 10
10016    
10017    /(a)(?<=b+(?1))/
10018    Failed: lookbehind assertion is not fixed length at offset 13
10019    
10020    /(a+)(?<=b(?1))/
10021    Failed: lookbehind assertion is not fixed length at offset 14
10022    
10023    /(a(?<=b(?1)))/
10024    Failed: lookbehind assertion is not fixed length at offset 13
10025    
10026    /(?<=b(?1))xyz/
10027    Failed: reference to non-existent subpattern at offset 8
10028    
10029    /(?<=b(?1))xyz(b+)pqrstuvew/
10030    Failed: lookbehind assertion is not fixed length at offset 26
10031    
10032    /(a|bc)\1/SI
10033    Capturing subpattern count = 1
10034    Max back reference = 1
10035    No options
10036    No first char
10037    No need char
10038    Subject length lower bound = 2
10039    Starting byte set: a b
10040    
10041    /(a|bc)\1{2,3}/SI
10042    Capturing subpattern count = 1
10043    Max back reference = 1
10044    No options
10045    No first char
10046    No need char
10047    Subject length lower bound = 3
10048    Starting byte set: a b
10049    
10050    /(a|bc)(?1)/SI
10051    Capturing subpattern count = 1
10052    No options
10053    No first char
10054    No need char
10055    Subject length lower bound = 2
10056    Starting byte set: a b
10057    
10058    /(a|b\1)(a|b\1)/SI
10059    Capturing subpattern count = 2
10060    Max back reference = 1
10061    No options
10062    No first char
10063    No need char
10064    Subject length lower bound = 2
10065    Starting byte set: a b
10066    
10067    /(a|b\1){2}/SI
10068    Capturing subpattern count = 1
10069    Max back reference = 1
10070    No options
10071    No first char
10072    No need char
10073    Subject length lower bound = 2
10074    Starting byte set: a b
10075    
10076    /(a|bbbb\1)(a|bbbb\1)/SI
10077    Capturing subpattern count = 2
10078    Max back reference = 1
10079    No options
10080    No first char
10081    No need char
10082    Subject length lower bound = 2
10083    Starting byte set: a b
10084    
10085    /(a|bbbb\1){2}/SI
10086    Capturing subpattern count = 1
10087    Max back reference = 1
10088    No options
10089    No first char
10090    No need char
10091    Subject length lower bound = 2
10092    Starting byte set: a b
10093    
10094    /^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
10095    Capturing subpattern count = 1
10096    Options: anchored
10097    No first char
10098    Need char = ':'
10099    Subject length lower bound = 22
10100    No set of starting bytes
10101    
10102    /<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
10103    Capturing subpattern count = 11
10104    Options: caseless dotall
10105    First char = '<'
10106    Need char = '>'
10107    Subject length lower bound = 47
10108    No set of starting bytes
10109    
10110    "(?>.*/)foo"SI
10111    Capturing subpattern count = 0
10112    No options
10113    First char at start or follows newline
10114    Need char = 'o'
10115    Subject length lower bound = 4
10116    No set of starting bytes
10117    
10118    /(?(?=[^a-z]+[a-z])  \d{2}-[a-z]{3}-\d{2}  |  \d{2}-\d{2}-\d{2} ) /xSI
10119    Capturing subpattern count = 0
10120    Options: extended
10121    No first char
10122    Need char = '-'
10123    Subject length lower bound = 8
10124    No set of starting bytes
10125    
10126    /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))/iSI
10127    Capturing subpattern count = 1
10128    Options: caseless
10129    No first char
10130    No need char
10131    Subject length lower bound = 1
10132    Starting byte set: A B C a b c
10133    
10134    /(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/SI
10135    Capturing subpattern count = 0
10136    No options
10137    No first char
10138    Need char = 'b'
10139    Subject length lower bound = 41
10140    Starting byte set: c d
10141    
10142    /<a[\s]+href[\s]*=[\s]*          # find <a href=
10143     ([\"\'])?                       # find single or double quote
10144     (?(1) (.*?)\1 | ([^\s]+))       # if quote found, match up to next matching
10145                                     # quote, otherwise match up to next space
10146    /isxSI
10147    Capturing subpattern count = 3
10148    Max back reference = 1
10149    Options: caseless extended dotall
10150    First char = '<'
10151    Need char = '='
10152    Subject length lower bound = 9
10153    No set of starting bytes
10154    
10155    /^(?!:)                       # colon disallowed at start
10156      (?:                         # start of item
10157        (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
10158        (?(1)0 | () ) )           # if null previously matched, fail; else null
10159        :                         # followed by colon
10160      ){1,7}                      # end item; 1-7 of them required
10161      [0-9a-f]{1,4} $             # final hex number at end of string
10162      (?(1)|.)                    # check that there was an empty component
10163      /xiIS
10164    Capturing subpattern count = 1
10165    Options: anchored caseless extended
10166    No first char
10167    Need char = ':'
10168    Subject length lower bound = 2
10169    No set of starting bytes
10170    
10171    /(?|(?<a>A)|(?<a>B))/I
10172    Capturing subpattern count = 1
10173    Named capturing subpatterns:
10174      a   1
10175      a   1
10176    No options
10177    No first char
10178    No need char
10179        AB\Ca
10180     0: A
10181     1: A
10182      C A (1) a
10183        BA\Ca
10184     0: B
10185     1: B
10186      C B (1) a
10187    
10188    /(?|(?<a>A)|(?<b>B))/
10189    Failed: different names for subpatterns of the same number are not allowed at offset 15
10190    
10191    /(?:a(?<quote> (?<apostrophe>')|(?<realquote>")) |
10192        b(?<quote> (?<apostrophe>')|(?<realquote>")) )
10193        (?('quote')[a-z]+|[0-9]+)/JIx
10194    Capturing subpattern count = 6
10195    Named capturing subpatterns:
10196      apostrophe   2
10197      apostrophe   5
10198      quote        1
10199      quote        4
10200      realquote    3
10201      realquote    6
10202    Options: extended dupnames
10203    No first char
10204    No need char
10205        a"aaaaa
10206     0: a"aaaaa
10207     1: "
10208     2: <unset>
10209     3: "
10210        b"aaaaa
10211     0: b"aaaaa
10212     1: <unset>
10213     2: <unset>
10214     3: <unset>
10215     4: "
10216     5: <unset>
10217     6: "
10218        ** Failers
10219    No match
10220        b"11111
10221    No match
10222        a"11111
10223    No match
10224    
10225    /^(?|(a)(b)(c)(?<D>d)|(?<D>e)) (?('D')X|Y)/JDZx
10226    ------------------------------------------------------------------
10227            Bra
10228            ^
10229            Bra
10230            CBra 1
10231            a
10232            Ket
10233            CBra 2
10234            b
10235            Ket
10236            CBra 3
10237            c
10238            Ket
10239            CBra 4
10240            d
10241            Ket
10242            Alt
10243            CBra 1
10244            e
10245            Ket
10246            Ket
10247            Cond
10248          4 Cond nref
10249            X
10250            Alt
10251            Y
10252            Ket
10253            Ket
10254            End
10255    ------------------------------------------------------------------
10256    Capturing subpattern count = 4
10257    Named capturing subpatterns:
10258      D   4
10259      D   1
10260    Options: anchored extended dupnames
10261    No first char
10262    No need char
10263        abcdX
10264     0: abcdX
10265     1: a
10266     2: b
10267     3: c
10268     4: d
10269        eX
10270     0: eX
10271     1: e
10272        ** Failers
10273    No match
10274        abcdY
10275    No match
10276        ey
10277    No match
10278    
10279    /(?<A>a) (b)(c)  (?<A>d  (?(R&A)$ | (?4)) )/JDZx
10280    ------------------------------------------------------------------
10281            Bra
10282            CBra 1
10283            a
10284            Ket
10285            CBra 2
10286            b
10287            Ket
10288            CBra 3
10289            c
10290            Ket
10291            CBra 4
10292            d
10293            Cond
10294            Cond nrecurse 1
10295            $
10296            Alt
10297            Recurse
10298            Ket
10299            Ket
10300            Ket
10301            End
10302    ------------------------------------------------------------------
10303    Capturing subpattern count = 4
10304    Named capturing subpatterns:
10305      A   1
10306      A   4
10307    Options: extended dupnames
10308    First char = 'a'
10309    Need char = 'd'
10310        abcdd
10311     0: abcdd
10312     1: a
10313     2: b
10314     3: c
10315     4: dd
10316        ** Failers
10317    No match
10318        abcdde
10319    No match
10320    
10321    /abcd*/
10322        xxxxabcd\P
10323     0: abcd
10324        xxxxabcd\P\P
10325    Partial match: abcd
10326    
10327    /abcd*/i
10328        xxxxabcd\P
10329     0: abcd
10330        xxxxabcd\P\P
10331    Partial match: abcd
10332        XXXXABCD\P
10333     0: ABCD
10334        XXXXABCD\P\P
10335    Partial match: ABCD
10336    
10337    /abc\d*/
10338        xxxxabc1\P
10339     0: abc1
10340        xxxxabc1\P\P
10341    Partial match: abc1
10342    
10343    /(a)bc\1*/
10344        xxxxabca\P
10345     0: abca
10346     1: a
10347        xxxxabca\P\P
10348    Partial match: abca
10349    
10350    /abc[de]*/
10351        xxxxabcde\P
10352     0: abcde
10353        xxxxabcde\P\P
10354    Partial match: abcde
10355    
10356    /-- This is not in the Perl >= 5.10 test because Perl seems currently to be
10357        broken and not behaving as specified in that it *does* bumpalong after
10358        hitting (*COMMIT). --/
10359    
10360    /(?1)(A(*COMMIT)|B)D/
10361        ABD
10362     0: ABD
10363     1: B
10364        XABD
10365     0: ABD
10366     1: B
10367        BAD
10368     0: BAD
10369     1: A
10370        ABXABD
10371     0: ABD
10372     1: B
10373        ** Failers
10374    No match
10375        ABX
10376    No match
10377        BAXBAD
10378    No match
10379    
10380    /(\3)(\1)(a)/<JS>
10381        cat
10382     0: a
10383     1:
10384     2:
10385     3: a
10386    
10387    /(\3)(\1)(a)/SI<JS>
10388    Capturing subpattern count = 3
10389    Max back reference = 3
10390    Options:
10391    No first char
10392    Need char = 'a'
10393    Subject length lower bound = 1
10394    No set of starting bytes
10395        cat
10396     0: a
10397     1:
10398     2:
10399     3: a
10400    
10401    /(\3)(\1)(a)/SI
10402    Capturing subpattern count = 3
10403    Max back reference = 3
10404    No options
10405    No first char
10406    Need char = 'a'
10407    Subject length lower bound = 3
10408    No set of starting bytes
10409        cat
10410    No match
10411    
10412    /i(?(DEFINE)(?<s>a))/SI
10413    Capturing subpattern count = 1
10414    Named capturing subpatterns:
10415      s   1
10416    No options
10417    First char = 'i'
10418    No need char
10419    Subject length lower bound = 1
10420    No set of starting bytes
10421        i
10422     0: i
10423    
10424    /()i(?(1)a)/SI
10425    Capturing subpattern count = 1
10426    No options
10427    No first char
10428    Need char = 'i'
10429    Subject length lower bound = 1
10430    Starting byte set: i
10431        ia
10432     0: ia
10433     1:
10434    
10435    /(?i)a(?-i)b|c/BZ
10436    ------------------------------------------------------------------
10437            Bra
10438         /i a
10439            b
10440            Alt
10441            c
10442            Ket
10443            End
10444    ------------------------------------------------------------------
10445        XabX
10446     0: ab
10447        XAbX
10448     0: Ab
10449        CcC
10450     0: c
10451        ** Failers
10452    No match
10453        XABX
10454    No match
10455    
10456    /(?i)a(?s)b|c/BZ
10457    ------------------------------------------------------------------
10458            Bra
10459         /i ab
10460            Alt
10461         /i c
10462            Ket
10463            End
10464    ------------------------------------------------------------------
10465    
10466    /(?i)a(?s-i)b|c/BZ
10467    ------------------------------------------------------------------
10468            Bra
10469         /i a
10470            b
10471            Alt
10472            c
10473            Ket
10474            End
10475    ------------------------------------------------------------------
10476    
10477    /^(ab(c\1)d|x){2}$/BZ
10478    ------------------------------------------------------------------
10479            Bra
10480            ^
10481            Once
10482            CBra 1
10483            ab
10484            CBra 2
10485            c
10486            \1
10487            Ket
10488            d
10489            Alt
10490            x
10491            Ket
10492            Ket
10493            Once
10494            CBra 1
10495            ab
10496            CBra 2
10497            c
10498            \1
10499            Ket
10500            d
10501            Alt
10502            x
10503            Ket
10504            Ket
10505            $
10506            Ket
10507            End
10508    ------------------------------------------------------------------
10509        xabcxd
10510     0: xabcxd
10511     1: abcxd
10512     2: cx
10513    
10514    /^(?&t)*+(?(DEFINE)(?<t>.))$/BZ
10515    ------------------------------------------------------------------
10516            Bra
10517            ^
10518            Braposzero
10519            SBraPos
10520            Recurse
10521            KetRpos
10522            Cond
10523            Cond def
10524            CBra 1
10525            Any
10526            Ket
10527            Ket
10528            $
10529            Ket
10530            End
10531    ------------------------------------------------------------------
10532    
10533    /^(?&t)*(?(DEFINE)(?<t>.))$/BZ
10534    ------------------------------------------------------------------
10535            Bra
10536            ^
10537            Brazero
10538            Once
10539            Recurse
10540            KetRmax
10541            Cond
10542            Cond def
10543            CBra 1
10544            Any
10545            Ket
10546            Ket
10547            $
10548            Ket
10549            End
10550    ------------------------------------------------------------------
10551    
10552    / -- The first four of these are not in the Perl >= 5.10 test because Perl
10553         documents that the use of \K in assertions is "not well defined". The
10554         last is here because Perl gives the match as "b" rather than "ab". I
10555         believe this to be a Perl bug. --/
10556    
10557    /(?=a\Kb)ab/
10558        ab
10559     0: b
10560    
10561    /(?!a\Kb)ac/
10562        ac
10563     0: ac
10564    
10565    /^abc(?<=b\Kc)d/
10566        abcd
10567     0: cd
10568    
10569    /^abc(?<!b\Kq)d/
10570        abcd
10571     0: abcd
10572    
10573    /(?>a\Kb)z|(ab)/
10574        ab
10575     0: ab
10576     1: ab
10577    
10578    /----------------------/
10579    
10580    /(?P<L1>(?P<L2>0|)|(?P>L2)(?P>L1))/
10581    Failed: recursive call could loop indefinitely at offset 31
10582    
10583    /abc(*MARK:)pqr/
10584    Failed: (*MARK) must have an argument at offset 10
10585    
10586    /abc(*:)pqr/
10587    Failed: (*MARK) must have an argument at offset 6
10588    
10589    /abc(*FAIL:123)xyz/
10590    Failed: an argument is not allowed for (*ACCEPT), (*FAIL), or (*COMMIT) at offset 13
10591    
10592    /--- This should, and does, fail. In Perl, it does not, which I think is a
10593         bug because replacing the B in the pattern by (B|D) does make it fail. ---/
10594    
10595    /A(*COMMIT)B/+K
10596        ACABX
10597    No match
10598    
10599    /--- These should be different, but in Perl 5.11 are not, which I think
10600         is a bug in Perl. ---/
10601    
10602    /A(*THEN)B|A(*THEN)C/K
10603        AC
10604     0: AC
10605    
10606    /A(*PRUNE)B|A(*PRUNE)C/K
10607        AC
10608    No match
10609    
10610    /--- This should fail; the SKIP advances by one, but when we get to AC, the
10611         PRUNE kills it. Perl behaves differently. ---/
10612    
10613    /A(*PRUNE:A)A+(*SKIP:A)(B|Z) | AC/xK
10614        AAAC
10615    No match, mark = A
10616    
10617    /--- Mark names can be duplicated. Perl doesn't give a mark for this one,
10618    though PCRE does. ---/
10619    
10620    /^A(*:A)B|^X(*:A)Y/K
10621        ** Failers
10622    No match
10623        XAQQ
10624    No match, mark = A
10625    
10626    /--- COMMIT at the start of a pattern should be the same as an anchor. Perl
10627    optimizations defeat this. So does the PCRE optimization unless we disable it
10628    with \Y. ---/
10629    
10630    /(*COMMIT)ABC/
10631        ABCDEFG
10632     0: ABC
10633        ** Failers
10634    No match
10635        DEFGABC\Y
10636    No match
10637    
10638    /^(ab (c+(*THEN)cd) | xyz)/x
10639        abcccd
10640    No match
10641    
10642    /^(ab (c+(*PRUNE)cd) | xyz)/x
10643        abcccd
10644    No match
10645    
10646    /^(ab (c+(*FAIL)cd) | xyz)/x
10647        abcccd
10648    No match
10649    
10650    /--- Perl 5.11 gets some of these wrong ---/
10651    
10652    /(?>.(*ACCEPT))*?5/
10653        abcde
10654     0: a
10655    
10656    /(.(*ACCEPT))*?5/
10657        abcde
10658     0: a
10659     1: a
10660    
10661    /(.(*ACCEPT))5/
10662        abcde
10663     0: a
10664     1: a
10665    
10666    /(.(*ACCEPT))*5/
10667        abcde
10668     0: a
10669     1: a
10670    
10671    /A\NB./BZ
10672    ------------------------------------------------------------------
10673            Bra
10674            A
10675            Any
10676            B
10677            Any
10678            Ket
10679            End
10680    ------------------------------------------------------------------
10681        ACBD
10682     0: ACBD
10683        *** Failers
10684    No match
10685        A\nB
10686    No match
10687        ACB\n
10688    No match
10689    
10690    /A\NB./sBZ
10691    ------------------------------------------------------------------
10692            Bra
10693            A
10694            Any
10695            B
10696            AllAny
10697            Ket
10698            End
10699    ------------------------------------------------------------------
10700        ACBD
10701     0: ACBD
10702        ACB\n
10703     0: ACB\x0a
10704        *** Failers
10705    No match
10706        A\nB
10707    No match
10708    
10709    /A\NB/<crlf>
10710        A\nB
10711     0: A\x0aB
10712        A\rB
10713     0: A\x0dB
10714        ** Failers
10715    No match
10716        A\r\nB
10717    No match
10718    
10719    /\R+b/BZ
10720    ------------------------------------------------------------------
10721            Bra
10722            \R++
10723            b
10724            Ket
10725            End
10726    ------------------------------------------------------------------
10727    
10728    /\R+\n/BZ
10729    ------------------------------------------------------------------
10730            Bra
10731            \R+
10732            \x0a
10733            Ket
10734            End
10735    ------------------------------------------------------------------
10736    
10737    /\R+\d/BZ
10738    ------------------------------------------------------------------
10739            Bra
10740            \R++
10741            \d
10742            Ket
10743            End
10744    ------------------------------------------------------------------
10745    
10746    /\d*\R/BZ
10747    ------------------------------------------------------------------
10748            Bra
10749            \d*+
10750            \R
10751            Ket
10752            End
10753    ------------------------------------------------------------------
10754    
10755    /\s*\R/BZ
10756    ------------------------------------------------------------------
10757            Bra
10758            \s*+
10759            \R
10760            Ket
10761            End
10762    ------------------------------------------------------------------
10763    
10764    /-- Perl treats this one differently, not failing the second string. I believe
10765        that is a bug in Perl. --/
10766    
10767    /^((abc|abcx)(*THEN)y|abcd)/
10768        abcd
10769     0: abcd
10770     1: abcd
10771        *** Failers
10772    No match
10773        abcxy
10774    No match
10775    
10776    /(?<=abc)def/
10777        abc\P\P
10778    Partial match: abc
10779    
10780    /abc$/
10781        abc
10782     0: abc
10783        abc\P
10784     0: abc
10785        abc\P\P
10786    Partial match: abc
10787    
10788    /abc$/m
10789        abc
10790     0: abc
10791        abc\n
10792     0: abc
10793        abc\P\P
10794    Partial match: abc
10795        abc\n\P\P
10796     0: abc
10797        abc\P
10798     0: abc
10799        abc\n\P
10800     0: abc
10801    
10802    /abc\z/
10803        abc
10804     0: abc
10805        abc\P
10806     0: abc
10807        abc\P\P
10808    Partial match: abc
10809    
10810    /abc\Z/
10811        abc
10812     0: abc
10813        abc\P
10814     0: abc
10815        abc\P\P
10816    Partial match: abc
10817    
10818    /abc\b/
10819        abc
10820     0: abc
10821        abc\P
10822     0: abc
10823        abc\P\P
10824    Partial match: abc
10825    
10826    /abc\B/
10827        abc
10828    No match
10829        abc\P
10830    Partial match: abc
10831        abc\P\P
10832    Partial match: abc
10833    
10834    /.+/
10835        abc\>0
10836     0: abc
10837        abc\>1
10838     0: bc
10839        abc\>2
10840     0: c
10841        abc\>3
10842    No match
10843        abc\>4
10844    Error -24 (bad offset value)
10845        abc\>-4
10846    Error -24 (bad offset value)
10847    
10848    /^\cģ/
10849    Failed: \c must be followed by an ASCII character at offset 3
10850    
10851    /(?P<abn>(?P=abn)xxx)/BZ
10852    ------------------------------------------------------------------
10853            Bra
10854            Once
10855            CBra 1
10856            \1
10857            xxx
10858            Ket
10859            Ket
10860            Ket
10861            End
10862    ------------------------------------------------------------------
10863    
10864    /(a\1z)/BZ
10865    ------------------------------------------------------------------
10866            Bra
10867            Once
10868            CBra 1
10869            a
10870            \1
10871            z
10872            Ket
10873            Ket
10874            Ket
10875            End
10876    ------------------------------------------------------------------
10877    
10878    /(?P<abn>(?P=abn)(?<badstufxxx)/BZ
10879    Failed: syntax error in subpattern name (missing terminator) at offset 29
10880    
10881    /(?P<abn>(?P=axn)xxx)/BZ
10882    Failed: reference to non-existent subpattern at offset 15
10883    
10884    /(?P<abn>(?P=axn)xxx)(?<axn>yy)/BZ
10885    ------------------------------------------------------------------
10886            Bra
10887            CBra 1
10888            \2
10889            xxx
10890            Ket
10891            CBra 2
10892            yy
10893            Ket
10894            Ket
10895            End
10896    ------------------------------------------------------------------
10897    
10898    /-- These tests are here because Perl gets the first one wrong. --/
10899    
10900    /(\R*)(.)/s
10901        \r\n
10902     0: \x0d
10903     1:
10904     2: \x0d
10905        \r\r\n\n\r
10906     0: \x0d\x0d\x0a\x0a\x0d
10907     1: \x0d\x0d\x0a\x0a
10908     2: \x0d
10909        \r\r\n\n\r\n
10910     0: \x0d\x0d\x0a\x0a\x0d
10911     1: \x0d\x0d\x0a\x0a
10912     2: \x0d
10913    
10914    /(\R)*(.)/s
10915        \r\n
10916     0: \x0d
10917     1: <unset>
10918     2: \x0d
10919        \r\r\n\n\r
10920     0: \x0d\x0d\x0a\x0a\x0d
10921     1: \x0a
10922     2: \x0d
10923        \r\r\n\n\r\n
10924     0: \x0d\x0d\x0a\x0a\x0d
10925     1: \x0a
10926     2: \x0d
10927    
10928    /((?>\r\n|\n|\x0b|\f|\r|\x85)*)(.)/s
10929        \r\n
10930     0: \x0d
10931     1:
10932     2: \x0d
10933        \r\r\n\n\r
10934     0: \x0d\x0d\x0a\x0a\x0d
10935     1: \x0d\x0d\x0a\x0a
10936     2: \x0d
10937        \r\r\n\n\r\n
10938     0: \x0d\x0d\x0a\x0a\x0d
10939     1: \x0d\x0d\x0a\x0a
10940     2: \x0d
10941    
10942    /-- --/
10943    
10944    /^abc$/BZ
10945    ------------------------------------------------------------------
10946            Bra
10947            ^
10948            abc
10949            $
10950            Ket
10951            End
10952    ------------------------------------------------------------------
10953    
10954    /^abc$/BZm
10955    ------------------------------------------------------------------
10956            Bra
10957         /m ^
10958            abc
10959         /m $
10960            Ket
10961            End
10962    ------------------------------------------------------------------
10963    
10964    /^(a)*+(\w)/S
10965        aaaaX
10966     0: aaaaX
10967     1: a
10968     2: X
10969        ** Failers
10970    No match
10971        aaaa
10972    No match
10973    
10974    /^(?:a)*+(\w)/S
10975        aaaaX
10976     0: aaaaX
10977     1: X
10978        ** Failers
10979    No match
10980        aaaa
10981    No match
10982    
10983    /(a)++1234/SDZ
10984    ------------------------------------------------------------------
10985            Bra
10986            CBraPos 1
10987            a
10988            KetRpos
10989            1234
10990            Ket
10991            End
10992    ------------------------------------------------------------------
10993    Capturing subpattern count = 1
10994    No options
10995    First char = 'a'
10996    Need char = '4'
10997    Subject length lower bound = 5
10998    No set of starting bytes
10999    
11000    /([abc])++1234/SI
11001    Capturing subpattern count = 1
11002    No options
11003    No first char
11004    Need char = '4'
11005    Subject length lower bound = 5
11006    Starting byte set: a b c
11007    
11008    /(?<=(abc)+)X/
11009    Failed: lookbehind assertion is not fixed length at offset 10
11010    
11011    /(^ab)/I
11012    Capturing subpattern count = 1
11013    Options: anchored
11014    No first char
11015    No need char
11016    
11017    /(^ab)++/I
11018    Capturing subpattern count = 1
11019    Options: anchored
11020    No first char
11021    No need char
11022    
11023    /(^ab|^)+/I
11024    Capturing subpattern count = 1
11025    Options: anchored
11026    No first char
11027    No need char
11028    
11029    /(^ab|^)++/I
11030    Capturing subpattern count = 1
11031    Options: anchored
11032    No first char
11033    No need char
11034    
11035    /(?:^ab)/I
11036    Capturing subpattern count = 0
11037    Options: anchored
11038    No first char
11039    No need char
11040    
11041    /(?:^ab)++/I
11042    Capturing subpattern count = 0
11043    Options: anchored
11044    No first char
11045    No need char
11046    
11047    /(?:^ab|^)+/I
11048    Capturing subpattern count = 0
11049    Options: anchored
11050    No first char
11051    No need char
11052    
11053    /(?:^ab|^)++/I
11054    Capturing subpattern count = 0
11055    Options: anchored
11056    No first char
11057    No need char
11058    
11059    /(.*ab)/I
11060    Capturing subpattern count = 1
11061    No options
11062    First char at start or follows newline
11063    Need char = 'b'
11064    
11065    /(.*ab)++/I
11066    Capturing subpattern count = 1
11067    No options
11068    First char at start or follows newline
11069    Need char = 'b'
11070    
11071    /(.*ab|.*)+/I
11072    Capturing subpattern count = 1
11073    No options
11074    First char at start or follows newline
11075    No need char
11076    
11077    /(.*ab|.*)++/I
11078    Capturing subpattern count = 1
11079    No options
11080    First char at start or follows newline
11081    No need char
11082    
11083    /(?:.*ab)/I
11084    Capturing subpattern count = 0
11085    No options
11086    First char at start or follows newline
11087    Need char = 'b'
11088    
11089    /(?:.*ab)++/I
11090    Capturing subpattern count = 0
11091    No options
11092    First char at start or follows newline
11093    Need char = 'b'
11094    
11095    /(?:.*ab|.*)+/I
11096    Capturing subpattern count = 0
11097    No options
11098    First char at start or follows newline
11099    No need char
11100    
11101    /(?:.*ab|.*)++/I
11102    Capturing subpattern count = 0
11103    No options
11104    First char at start or follows newline
11105    No need char
11106    
11107    /(?=a)[bcd]/I
11108    Capturing subpattern count = 0
11109    No options
11110    First char = 'a'
11111    No need char
11112    
11113    /((?=a))[bcd]/I
11114    Capturing subpattern count = 1
11115    No options
11116    First char = 'a'
11117    No need char
11118    
11119    /((?=a))+[bcd]/I
11120    Capturing subpattern count = 1
11121    No options
11122    First char = 'a'
11123    No need char
11124    
11125    /((?=a))++[bcd]/I
11126    Capturing subpattern count = 1
11127    No options
11128    First char = 'a'
11129    No need char
11130    
11131    /(?=a+)[bcd]/iI
11132    Capturing subpattern count = 0
11133    Options: caseless
11134    First char = 'a' (caseless)
11135    No need char
11136    
11137    /(?=a+?)[bcd]/iI
11138    Capturing subpattern count = 0
11139    Options: caseless
11140    First char = 'a' (caseless)
11141    No need char
11142    
11143    /(?=a++)[bcd]/iI
11144    Capturing subpattern count = 0
11145    Options: caseless
11146    First char = 'a' (caseless)
11147    No need char
11148    
11149    /(?=a{3})[bcd]/iI
11150    Capturing subpattern count = 0
11151    Options: caseless
11152    First char = 'a' (caseless)
11153    Need char = 'a' (caseless)
11154    
11155    /(abc)\1+/S
11156    
11157    /-- Perl doesn't get these right IMO (the 3rd is PCRE-specific) --/
11158    
11159    /(?1)(?:(b(*ACCEPT))){0}/
11160        b
11161     0: b
11162    
11163    /(?1)(?:(b(*ACCEPT))){0}c/
11164        bc
11165     0: bc
11166        ** Failers
11167    No match
11168        b
11169    No match
11170    
11171    /(?1)(?:((*ACCEPT))){0}c/
11172        c
11173     0: c
11174        c\N
11175     0: c
11176    
11177    /^.*?(?(?=a)a|b(*THEN)c)/
11178        ba
11179    No match
11180    
11181    /^.*?(?(?=a)a|bc)/
11182        ba
11183     0: ba
11184    
11185    /^.*?(?(?=a)a(*THEN)b|c)/
11186        ac
11187    No match
11188    
11189    /^.*?(?(?=a)a(*THEN)b)c/
11190        ac
11191    No match
11192    
11193    /^.*?(a(*THEN)b)c/
11194        aabc
11195    No match
11196    
11197    /^.*? (?1) c (?(DEFINE)(a(*THEN)b))/x
11198        aabc
11199     0: aabc
11200    
11201    /^.*?(a(*THEN)b|z)c/
11202        aabc
11203     0: aabc
11204     1: ab
11205    
11206    /^.*?(z|a(*THEN)b)c/
11207        aabc
11208     0: aabc
11209     1: ab
11210    
11211    /-- --/
11212    
11213    /-- These studied versions are here because they are not Perl-compatible; the
11214        studying means the mark is not seen. --/
11215    
11216    /(*MARK:A)(*SKIP:B)(C|X)/KS
11217        C
11218     0: C
11219     1: C
11220    MK: A
11221        D
11222    No match, mark = A
11223    
11224    /(*:A)A+(*SKIP:A)(B|Z)/KS
11225        AAAC
11226    No match, mark = A
11227    
11228    /-- --/
11229    
11230    "(?=a*(*ACCEPT)b)c"
11231        c
11232     0: c
11233        c\N
11234     0: c
11235    
11236    /(?1)c(?(DEFINE)((*ACCEPT)b))/
11237        c
11238     0: c
11239        c\N
11240     0: c
11241    
11242    /(?>(*ACCEPT)b)c/
11243        c
11244     0:
11245        c\N
11246    No match
11247    
11248    /(?:(?>(a)))+a%/++
11249        %aa%
11250     0: aa%
11251     0+
11252     1: a
11253     1+ a%
11254    
11255    /(a)b|ac/++SS
11256        ac\O3
11257    Matched, but too many substrings
11258     0: ac
11259     0+
11260    
11261    /(a)(b)x|abc/++
11262         abc\O6
11263     0: abc
11264     0+
11265    
11266    /(a)bc|(a)(b)\2/
11267        \O3abc
11268    Matched, but too many substrings
11269     0: abc
11270        \O4abc
11271    Matched, but too many substrings
11272     0: abc
11273    
11274    /(?(DEFINE)(a(?2)|b)(b(?1)|a))(?:(?1)|(?2))/SI
11275    Capturing subpattern count = 2
11276    No options
11277    No first char
11278    No need char
11279    Subject length lower bound = 1
11280    No set of starting bytes
11281    
11282    /(a(?2)|b)(b(?1)|a)(?:(?1)|(?2))/SI
11283    Capturing subpattern count = 2
11284    No options
11285    No first char
11286    No need char
11287