/[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 454 by ph10, Tue Sep 22 09:42:11 2009 UTC revision 602 by ph10, Wed May 25 08:29:03 2011 UTC
# Line 2  Line 2 
2      of PCRE's API, error diagnostics, and the compiled code of some patterns.      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,      It also checks the non-Perl syntax the PCRE supports (Python, .NET,
4      Oniguruma). Finally, there are some tests where PCRE and Perl differ,      Oniguruma). Finally, there are some tests where PCRE and Perl differ,
5      either because PCRE can't be compatible, or there is potential Perl      either because PCRE can't be compatible, or there is a possible Perl
6      bug. --/      bug. --/
7    
8  /-- Originally, the Perl 5.10 things were in here too, but now I have separated  /-- Originally, the Perl >= 5.10 things were in here too, but now I have
9      many (most?) of them out into test 11. However, there may still be some      separated many (most?) of them out into test 11. However, there may still
10      that were overlooked. --/      be some that were overlooked. --/
11    
12  /(a)b|/I  /(a)b|/I
13  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 103  Failed: missing terminating ] for charac Line 103  Failed: missing terminating ] for charac
103  /(?X)[\B]/  /(?X)[\B]/
104  Failed: invalid escape sequence in character class at offset 6  Failed: invalid escape sequence in character class at offset 6
105    
106    /(?X)[\R]/
107    Failed: invalid escape sequence in character class at offset 6
108    
109    /(?X)[\X]/
110    Failed: invalid escape sequence in character class at offset 6
111    
112    /[\B]/BZ
113    ------------------------------------------------------------------
114            Bra
115            B
116            Ket
117            End
118    ------------------------------------------------------------------
119    
120    /[\R]/BZ
121    ------------------------------------------------------------------
122            Bra
123            R
124            Ket
125            End
126    ------------------------------------------------------------------
127    
128    /[\X]/BZ
129    ------------------------------------------------------------------
130            Bra
131            X
132            Ket
133            End
134    ------------------------------------------------------------------
135    
136  /[z-a]/  /[z-a]/
137  Failed: range out of order in character class at offset 3  Failed: range out of order in character class at offset 3
138    
# Line 145  Capturing subpattern count = 0 Line 175  Capturing subpattern count = 0
175  No options  No options
176  No first char  No first char
177  No need char  No need char
178    Subject length lower bound = 3
179  Starting byte set: c d e  Starting byte set: c d e
180      this sentence eventually mentions a cat      this sentence eventually mentions a cat
181   0: cat   0: cat
# Line 156  Capturing subpattern count = 0 Line 187  Capturing subpattern count = 0
187  Options: caseless  Options: caseless
188  No first char  No first char
189  No need char  No need char
190    Subject length lower bound = 3
191  Starting byte set: C D E c d e  Starting byte set: C D E c d e
192      this sentence eventually mentions a CAT cat      this sentence eventually mentions a CAT cat
193   0: CAT   0: CAT
# Line 167  Capturing subpattern count = 0 Line 199  Capturing subpattern count = 0
199  No options  No options
200  No first char  No first char
201  No need char  No need char
202    Subject length lower bound = 1
203  Starting byte set: a b c d  Starting byte set: a b c d
204    
205  /(a|[^\dZ])/IS  /(a|[^\dZ])/IS
# Line 174  Capturing subpattern count = 1 Line 207  Capturing subpattern count = 1
207  No options  No options
208  No first char  No first char
209  No need char  No need char
210    Subject length lower bound = 1
211  Starting byte set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a  Starting byte set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a
212    \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19    \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19
213    \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = >    \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = >
# Line 194  Capturing subpattern count = 1 Line 228  Capturing subpattern count = 1
228  No options  No options
229  No first char  No first char
230  No need char  No need char
231    Subject length lower bound = 1
232  Starting byte set: \x09 \x0a \x0c \x0d \x20 a b  Starting byte set: \x09 \x0a \x0c \x0d \x20 a b
233    
234  /(ab\2)/  /(ab\2)/
# Line 527  Capturing subpattern count = 0 Line 562  Capturing subpattern count = 0
562  No options  No options
563  No first char  No first char
564  No need char  No need char
565    Subject length lower bound = 1
566  Starting byte set: a b c d  Starting byte set: a b c d
567    
568  /(?i)[abcd]/IS  /(?i)[abcd]/IS
# Line 534  Capturing subpattern count = 0 Line 570  Capturing subpattern count = 0
570  Options: caseless  Options: caseless
571  No first char  No first char
572  No need char  No need char
573    Subject length lower bound = 1
574  Starting byte set: A B C D a b c d  Starting byte set: A B C D a b c d
575    
576  /(?m)[xy]|(b|c)/IS  /(?m)[xy]|(b|c)/IS
# Line 541  Capturing subpattern count = 1 Line 578  Capturing subpattern count = 1
578  Options: multiline  Options: multiline
579  No first char  No first char
580  No need char  No need char
581    Subject length lower bound = 1
582  Starting byte set: b c x y  Starting byte set: b c x y
583    
584  /(^a|^b)/Im  /(^a|^b)/Im
# Line 594  Need char = 'h' (caseless) Line 632  Need char = 'h' (caseless)
632  ------------------------------------------------------------------  ------------------------------------------------------------------
633          Bra          Bra
634          CBra 1          CBra 1
635       01 Opt       /i b
      NC b  
636          Ket          Ket
      00 Opt  
637          Ket          Ket
638          End          End
639  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 605  Capturing subpattern count = 1 Line 641  Capturing subpattern count = 1
641  No options  No options
642  First char = 'b' (caseless)  First char = 'b' (caseless)
643  No need char  No need char
644  Study returned NULL  Subject length lower bound = 1
645    No set of starting bytes
646    
647  /(a*b|(?i:c*(?-i)d))/IS  /(a*b|(?i:c*(?-i)d))/IS
648  Capturing subpattern count = 1  Capturing subpattern count = 1
649  No options  No options
650  No first char  No first char
651  No need char  No need char
652    Subject length lower bound = 1
653  Starting byte set: C a b c d  Starting byte set: C a b c d
654    
655  /a$/I  /a$/I
# Line 676  Capturing subpattern count = 0 Line 714  Capturing subpattern count = 0
714  No options  No options
715  No first char  No first char
716  No need char  No need char
717    Subject length lower bound = 1
718  Starting byte set: a b  Starting byte set: a b
719    
720  /(?<!foo)(alpha|omega)/IS  /(?<!foo)(alpha|omega)/IS
# Line 683  Capturing subpattern count = 1 Line 722  Capturing subpattern count = 1
722  No options  No options
723  No first char  No first char
724  Need char = 'a'  Need char = 'a'
725    Subject length lower bound = 5
726  Starting byte set: a o  Starting byte set: a o
727    
728  /(?!alphabet)[ab]/IS  /(?!alphabet)[ab]/IS
# Line 690  Capturing subpattern count = 0 Line 730  Capturing subpattern count = 0
730  No options  No options
731  No first char  No first char
732  No need char  No need char
733    Subject length lower bound = 1
734  Starting byte set: a b  Starting byte set: a b
735    
736  /(?<=foo\n)^bar/Im  /(?<=foo\n)^bar/Im
# Line 844  No match Line 885  No match
885      a      a
886  No match  No match
887    
888  /This one is here because I think Perl 5.005_02 gets the setting of $1 wrong/I  /This one is here because Perl behaves differently; see also the following/I
889  Capturing subpattern count = 0  Capturing subpattern count = 0
890  No options  No options
891  First char = 'T'  First char = 'T'
# Line 856  Max back reference = 1 Line 897  Max back reference = 1
897  Options: anchored  Options: anchored
898  No first char  No first char
899  No need char  No need char
900        aaaa
901    No match
902      aaaaaa      aaaaaa
903   0: aaaaaa  No match
904   1: aa  
905    /Perl does not fail these two for the final subjects. Neither did PCRE until/
906    /release 8.01. The problem is in backtracking into a subpattern that contains/
907    No match
908    /a recursive reference to itself. PCRE has now made these into atomic patterns./
909    No match
910    
911    /^(xa|=?\1a){2}$/
912        xa=xaa
913     0: xa=xaa
914     1: =xaa
915        ** Failers
916    No match
917        xa=xaaa
918    No match
919    
920    /^(xa|=?\1a)+$/
921        xa=xaa
922     0: xa=xaa
923     1: =xaa
924        ** Failers
925    No match
926        xa=xaaa
927    No match
928    
929  /These are syntax tests from Perl 5.005/I  /These are syntax tests from Perl 5.005/I
930  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 1179  No need char Line 1245  No need char
1245  ------------------------------------------------------------------  ------------------------------------------------------------------
1246          Bra          Bra
1247          Bra          Bra
      04 Opt  
1248          AllAny*          AllAny*
1249          X          X
1250          Alt          Alt
      04 Opt  
1251          ^          ^
1252          B          B
1253          Ket          Ket
      00 Opt  
1254          Ket          Ket
1255          End          End
1256  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 1658  Capturing subpattern count = 0 Line 1721  Capturing subpattern count = 0
1721  Options: anchored  Options: anchored
1722  No first char  No first char
1723  Need char = 'd'  Need char = 'd'
1724  Study returned NULL  Subject length lower bound = 4
1725    No set of starting bytes
1726    
1727  /\(             # ( at start  /\(             # ( at start
1728    (?:           # Non-capturing bracket    (?:           # Non-capturing bracket
# Line 1890  Capturing subpattern count = 0 Line 1954  Capturing subpattern count = 0
1954  No options  No options
1955  No first char  No first char
1956  No need char  No need char
1957    Subject length lower bound = 1
1958  Starting byte set: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z  Starting byte set: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
1959    _ a b c d e f g h i j k l m n o p q r s t u v w x y z    _ a b c d e f g h i j k l m n o p q r s t u v w x y z
1960    
# Line 1951  Contains explicit CR or LF match Line 2016  Contains explicit CR or LF match
2016  No options  No options
2017  No first char  No first char
2018  No need char  No need char
2019    Subject length lower bound = 1
2020  Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20  Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20
2021    
2022  /^[[:cntrl:]]/DZ  /^[[:cntrl:]]/DZ
# Line 2693  No need char Line 2759  No need char
2759  ------------------------------------------------------------------  ------------------------------------------------------------------
2760          Bra          Bra
2761          a          a
2762       01 Opt       /i b
      NC b  
2763          Ket          Ket
2764          End          End
2765  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2716  No match Line 2781  No match
2781          Bra          Bra
2782          CBra 1          CBra 1
2783          a          a
2784       01 Opt       /i b
      NC b  
2785          Ket          Ket
      00 Opt  
2786          Ket          Ket
2787          End          End
2788  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2741  No match Line 2804  No match
2804  /   (?i)abc/IxDZ  /   (?i)abc/IxDZ
2805  ------------------------------------------------------------------  ------------------------------------------------------------------
2806          Bra          Bra
2807       NC abc       /i abc
2808          Ket          Ket
2809          End          End
2810  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2754  Need char = 'c' (caseless) Line 2817  Need char = 'c' (caseless)
2817    (?i)abc/IxDZ    (?i)abc/IxDZ
2818  ------------------------------------------------------------------  ------------------------------------------------------------------
2819          Bra          Bra
2820       NC abc       /i abc
2821          Ket          Ket
2822          End          End
2823  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 3157  Failed: POSIX collating elements are not Line 3220  Failed: POSIX collating elements are not
3220  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
3221    
3222  /\l/I  /\l/I
3223  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
3224    
3225  /\L/I  /\L/I
3226  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
3227    
3228  /\N{name}/I  /\N{name}/I
3229  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
3230    
3231  /\u/I  /\u/I
3232  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
3233    
3234  /\U/I  /\U/I
3235  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
3236    
3237  /[/I  /[/I
3238  Failed: missing terminating ] for character class at offset 1  Failed: missing terminating ] for character class at offset 1
# Line 3421  Capturing subpattern count = 0 Line 3484  Capturing subpattern count = 0
3484  No options  No options
3485  No first char  No first char
3486  No need char  No need char
3487    Subject length lower bound = 1
3488  Starting byte set: a b  Starting byte set: a b
3489    
3490  /[^a]/I  /[^a]/I
# Line 3440  Capturing subpattern count = 0 Line 3504  Capturing subpattern count = 0
3504  No options  No options
3505  No first char  No first char
3506  Need char = '6'  Need char = '6'
3507    Subject length lower bound = 4
3508  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
3509    
3510  /a^b/I  /a^b/I
# Line 3473  Capturing subpattern count = 0 Line 3538  Capturing subpattern count = 0
3538  Options: caseless  Options: caseless
3539  No first char  No first char
3540  No need char  No need char
3541    Subject length lower bound = 1
3542  Starting byte set: A B a b  Starting byte set: A B a b
3543    
3544  /[ab](?i)cd/IS  /[ab](?i)cd/IS
# Line 3480  Capturing subpattern count = 0 Line 3546  Capturing subpattern count = 0
3546  No options  No options
3547  No first char  No first char
3548  Need char = 'd' (caseless)  Need char = 'd' (caseless)
3549    Subject length lower bound = 3
3550  Starting byte set: a b  Starting byte set: a b
3551    
3552  /abc(?C)def/I  /abc(?C)def/I
# Line 3830  Capturing subpattern count = 0 Line 3897  Capturing subpattern count = 0
3897  No options  No options
3898  No first char  No first char
3899  No need char  No need char
3900    Subject length lower bound = 1
3901  Starting byte set: a b  Starting byte set: a b
3902    
3903  /(?R)/I  /(?R)/I
# Line 4614  Capturing subpattern count = 3 Line 4682  Capturing subpattern count = 3
4682  Options: caseless  Options: caseless
4683  No first char  No first char
4684  Need char = 'g' (caseless)  Need char = 'g' (caseless)
4685  Study returned NULL  Subject length lower bound = 8
4686    No set of starting bytes
4687       Baby Bjorn Active Carrier - With free SHIPPING!!       Baby Bjorn Active Carrier - With free SHIPPING!!
4688   0: Baby Bjorn Active Carrier - With free SHIPPING!!   0: Baby Bjorn Active Carrier - With free SHIPPING!!
4689   1: Baby Bjorn Active Carrier - With free SHIPPING!!   1: Baby Bjorn Active Carrier - With free SHIPPING!!
# Line 4632  Capturing subpattern count = 0 Line 4701  Capturing subpattern count = 0
4701  No options  No options
4702  No first char  No first char
4703  Need char = 'b'  Need char = 'b'
4704  Study returned NULL  Subject length lower bound = 1
4705    No set of starting bytes
4706    
4707  /(a|b)*.?c/ISDZ  /(a|b)*.?c/ISDZ
4708  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 4652  Capturing subpattern count = 1 Line 4722  Capturing subpattern count = 1
4722  No options  No options
4723  No first char  No first char
4724  Need char = 'c'  Need char = 'c'
4725  Study returned NULL  Subject length lower bound = 1
4726    No set of starting bytes
4727    
4728  /abc(?C255)de(?C)f/DZ  /abc(?C255)de(?C)f/DZ
4729  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 5435  Capturing subpattern count = 1 Line 5506  Capturing subpattern count = 1
5506  No options  No options
5507  No first char  No first char
5508  No need char  No need char
5509    Subject length lower bound = 1
5510  Starting byte set: a b  Starting byte set: a b
5511  Compiled regex written to testsavedregex  Compiled regex written to testsavedregex
5512  Study data written to testsavedregex  Study data written to testsavedregex
# Line 5455  Capturing subpattern count = 1 Line 5527  Capturing subpattern count = 1
5527  No options  No options
5528  No first char  No first char
5529  No need char  No need char
5530    Subject length lower bound = 1
5531  Starting byte set: a b  Starting byte set: a b
5532  Compiled regex written to testsavedregex  Compiled regex written to testsavedregex
5533  Study data written to testsavedregex  Study data written to testsavedregex
# Line 6167  Capturing subpattern count = 0 Line 6240  Capturing subpattern count = 0
6240  No options  No options
6241  No first char  No first char
6242  Need char = ','  Need char = ','
6243    Subject length lower bound = 1
6244  Starting byte set: \x09 \x0a \x0c \x0d \x20 ,  Starting byte set: \x09 \x0a \x0c \x0d \x20 ,
6245      \x0b,\x0b      \x0b,\x0b
6246   0: ,   0: ,
# Line 6471  Capturing subpattern count = 1 Line 6545  Capturing subpattern count = 1
6545  No options  No options
6546  No first char  No first char
6547  No need char  No need char
6548    Subject length lower bound = 1
6549  Starting byte set: C a b c d  Starting byte set: C a b c d
6550    
6551  /()[ab]xyz/IS  /()[ab]xyz/IS
# Line 6478  Capturing subpattern count = 1 Line 6553  Capturing subpattern count = 1
6553  No options  No options
6554  No first char  No first char
6555  Need char = 'z'  Need char = 'z'
6556    Subject length lower bound = 4
6557  Starting byte set: a b  Starting byte set: a b
6558    
6559  /(|)[ab]xyz/IS  /(|)[ab]xyz/IS
# Line 6485  Capturing subpattern count = 1 Line 6561  Capturing subpattern count = 1
6561  No options  No options
6562  No first char  No first char
6563  Need char = 'z'  Need char = 'z'
6564    Subject length lower bound = 4
6565  Starting byte set: a b  Starting byte set: a b
6566    
6567  /(|c)[ab]xyz/IS  /(|c)[ab]xyz/IS
# Line 6492  Capturing subpattern count = 1 Line 6569  Capturing subpattern count = 1
6569  No options  No options
6570  No first char  No first char
6571  Need char = 'z'  Need char = 'z'
6572    Subject length lower bound = 4
6573  Starting byte set: a b c  Starting byte set: a b c
6574    
6575  /(|c?)[ab]xyz/IS  /(|c?)[ab]xyz/IS
# Line 6499  Capturing subpattern count = 1 Line 6577  Capturing subpattern count = 1
6577  No options  No options
6578  No first char  No first char
6579  Need char = 'z'  Need char = 'z'
6580    Subject length lower bound = 4
6581  Starting byte set: a b c  Starting byte set: a b c
6582    
6583  /(d?|c?)[ab]xyz/IS  /(d?|c?)[ab]xyz/IS
# Line 6506  Capturing subpattern count = 1 Line 6585  Capturing subpattern count = 1
6585  No options  No options
6586  No first char  No first char
6587  Need char = 'z'  Need char = 'z'
6588    Subject length lower bound = 4
6589  Starting byte set: a b c d  Starting byte set: a b c d
6590    
6591  /(d?|c)[ab]xyz/IS  /(d?|c)[ab]xyz/IS
# Line 6513  Capturing subpattern count = 1 Line 6593  Capturing subpattern count = 1
6593  No options  No options
6594  No first char  No first char
6595  Need char = 'z'  Need char = 'z'
6596    Subject length lower bound = 4
6597  Starting byte set: a b c d  Starting byte set: a b c d
6598    
6599  /^a*b\d/DZ  /^a*b\d/DZ
# Line 6585  No match Line 6666  No match
6666  ------------------------------------------------------------------  ------------------------------------------------------------------
6667          Bra          Bra
6668          ^          ^
6669          a*       /i a*
6670       NC A       /i A
6671          \d          \d
6672          Ket          Ket
6673          End          End
# Line 6605  Capturing subpattern count = 1 Line 6686  Capturing subpattern count = 1
6686  No options  No options
6687  No first char  No first char
6688  No need char  No need char
6689    Subject length lower bound = 1
6690  Starting byte set: a b c d  Starting byte set: a b c d
6691    
6692  /(a+|b*)[cd]/IS  /(a+|b*)[cd]/IS
# Line 6612  Capturing subpattern count = 1 Line 6694  Capturing subpattern count = 1
6694  No options  No options
6695  No first char  No first char
6696  No need char  No need char
6697    Subject length lower bound = 1
6698  Starting byte set: a b c d  Starting byte set: a b c d
6699    
6700  /(a*|b+)[cd]/IS  /(a*|b+)[cd]/IS
# Line 6619  Capturing subpattern count = 1 Line 6702  Capturing subpattern count = 1
6702  No options  No options
6703  No first char  No first char
6704  No need char  No need char
6705    Subject length lower bound = 1
6706  Starting byte set: a b c d  Starting byte set: a b c d
6707    
6708  /(a+|b+)[cd]/IS  /(a+|b+)[cd]/IS
# Line 6626  Capturing subpattern count = 1 Line 6710  Capturing subpattern count = 1
6710  No options  No options
6711  No first char  No first char
6712  No need char  No need char
6713    Subject length lower bound = 2
6714  Starting byte set: a b  Starting byte set: a b
6715    
6716  /((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((  /((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
# Line 7210  Matched, but too many substrings Line 7295  Matched, but too many substrings
7295  /[^a]+a/BZi  /[^a]+a/BZi
7296  ------------------------------------------------------------------  ------------------------------------------------------------------
7297          Bra          Bra
7298          [^A]++       /i [^A]++
7299       NC a       /i a
7300          Ket          Ket
7301          End          End
7302  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 7219  Matched, but too many substrings Line 7304  Matched, but too many substrings
7304  /[^a]+A/BZi  /[^a]+A/BZi
7305  ------------------------------------------------------------------  ------------------------------------------------------------------
7306          Bra          Bra
7307          [^A]++       /i [^A]++
7308       NC A       /i A
7309          Ket          Ket
7310          End          End
7311  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 7431  No match Line 7516  No match
7516          ^          ^
7517          CBra 1          CBra 1
7518          Cond          Cond
7519        2 Cond ref        2 Cond nref
7520          y          y
7521          Ket          Ket
7522          [()]          [()]
# Line 8604  No match Line 8689  No match
8689  +13   ^  ^      (*FAIL)  +13   ^  ^      (*FAIL)
8690  No match  No match
8691    
 /a(*PRUNE:XXX)b/  
 Failed: (*VERB) with an argument is not supported at offset 8  
   
8692  /a(*MARK)b/  /a(*MARK)b/
8693  Failed: (*VERB) not recognized at offset 7  Failed: (*MARK) must have an argument at offset 7
8694    
8695  /(?i:A{1,}\6666666666)/  /(?i:A{1,}\6666666666)/
8696  Failed: number is too big at offset 19  Failed: number is too big at offset 19
# Line 8697  No match Line 8779  No match
8779  No match  No match
8780      a\x85b      a\x85b
8781  No match  No match
8782    
8783    /(*ANY).*/g
8784        abc\r\ndef
8785     0: abc
8786     0:
8787     0: def
8788     0:
8789    
8790    /(*ANYCRLF).*/g
8791        abc\r\ndef
8792     0: abc
8793     0:
8794     0: def
8795     0:
8796    
8797    /(*CRLF).*/g
8798        abc\r\ndef
8799     0: abc
8800     0:
8801     0: def
8802     0:
8803    
8804  /a\Rb/I<bsr_anycrlf>  /a\Rb/I<bsr_anycrlf>
8805  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 9069  Capturing subpattern count = 1 Line 9172  Capturing subpattern count = 1
9172  No options  No options
9173  No first char  No first char
9174  No need char  No need char
9175    Subject length lower bound = 1
9176  Starting byte set: x y z  Starting byte set: x y z
9177    
9178  /(?(?=.*b)b|^)/CI  /(?(?=.*b)b|^)/CI
# Line 9182  No match Line 9286  No match
9286   +0        ^     x   +0        ^     x
9287   +0         ^    x   +0         ^    x
9288  No match  No match
9289    
9290    /(*NO_START_OPT)xyz/C
9291      abcxyz
9292    --->abcxyz
9293    +15 ^          x
9294    +15  ^         x
9295    +15   ^        x
9296    +15    ^       x
9297    +16    ^^      y
9298    +17    ^ ^     z
9299    +18    ^  ^
9300     0: xyz
9301    
9302    /xyz/CY
9303      abcxyz
9304    --->abcxyz
9305     +0 ^          x
9306     +0  ^         x
9307     +0   ^        x
9308     +0    ^       x
9309     +1    ^^      y
9310     +2    ^ ^     z
9311     +3    ^  ^
9312     0: xyz
9313    
9314  /^"((?(?=[a])[^"])|b)*"$/C  /^"((?(?=[a])[^"])|b)*"$/C
9315      "ab"      "ab"
# Line 9838  Failed: reference to non-existent subpat Line 9966  Failed: reference to non-existent subpat
9966  /(?<=b(?1))xyz(b+)pqrstuvew/  /(?<=b(?1))xyz(b+)pqrstuvew/
9967  Failed: lookbehind assertion is not fixed length at offset 26  Failed: lookbehind assertion is not fixed length at offset 26
9968    
9969    /(a|bc)\1/SI
9970    Capturing subpattern count = 1
9971    Max back reference = 1
9972    No options
9973    No first char
9974    No need char
9975    Subject length lower bound = 2
9976    Starting byte set: a b
9977    
9978    /(a|bc)\1{2,3}/SI
9979    Capturing subpattern count = 1
9980    Max back reference = 1
9981    No options
9982    No first char
9983    No need char
9984    Subject length lower bound = 3
9985    Starting byte set: a b
9986    
9987    /(a|bc)(?1)/SI
9988    Capturing subpattern count = 1
9989    No options
9990    No first char
9991    No need char
9992    Subject length lower bound = 2
9993    Starting byte set: a b
9994    
9995    /(a|b\1)(a|b\1)/SI
9996    Capturing subpattern count = 2
9997    Max back reference = 1
9998    No options
9999    No first char
10000    No need char
10001    Subject length lower bound = 2
10002    Starting byte set: a b
10003    
10004    /(a|b\1){2}/SI
10005    Capturing subpattern count = 1
10006    Max back reference = 1
10007    No options
10008    No first char
10009    No need char
10010    Subject length lower bound = 2
10011    Starting byte set: a b
10012    
10013    /(a|bbbb\1)(a|bbbb\1)/SI
10014    Capturing subpattern count = 2
10015    Max back reference = 1
10016    No options
10017    No first char
10018    No need char
10019    Subject length lower bound = 2
10020    Starting byte set: a b
10021    
10022    /(a|bbbb\1){2}/SI
10023    Capturing subpattern count = 1
10024    Max back reference = 1
10025    No options
10026    No first char
10027    No need char
10028    Subject length lower bound = 2
10029    Starting byte set: a b
10030    
10031    /^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
10032    Capturing subpattern count = 1
10033    Options: anchored
10034    No first char
10035    Need char = ':'
10036    Subject length lower bound = 22
10037    No set of starting bytes
10038    
10039    /  (?: [\040\t] |  \(
10040    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
10041    \)  )*                          # optional leading comment
10042    (?:    (?:
10043    [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
10044    (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
10045    |
10046    " (?:                      # opening quote...
10047    [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
10048    |                     #    or
10049    \\ [^\x80-\xff]           #   Escaped something (something != CR)
10050    )* "  # closing quote
10051    )                    # initial word
10052    (?:  (?: [\040\t] |  \(
10053    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
10054    \)  )*  \.  (?: [\040\t] |  \(
10055    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
10056    \)  )*   (?:
10057    [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
10058    (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
10059    |
10060    " (?:                      # opening quote...
10061    [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
10062    |                     #    or
10063    \\ [^\x80-\xff]           #   Escaped something (something != CR)
10064    )* "  # closing quote
10065    )  )* # further okay, if led by a period
10066    (?: [\040\t] |  \(
10067    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
10068    \)  )*  @  (?: [\040\t] |  \(
10069    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
10070    \)  )*    (?:
10071    [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
10072    (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
10073    |   \[                         # [
10074    (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
10075    \]                        #           ]
10076    )                           # initial subdomain
10077    (?:                                  #
10078    (?: [\040\t] |  \(
10079    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
10080    \)  )*  \.                        # if led by a period...
10081    (?: [\040\t] |  \(
10082    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
10083    \)  )*   (?:
10084    [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
10085    (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
10086    |   \[                         # [
10087    (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
10088    \]                        #           ]
10089    )                     #   ...further okay
10090    )*
10091    # address
10092    |                     #  or
10093    (?:
10094    [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
10095    (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
10096    |
10097    " (?:                      # opening quote...
10098    [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
10099    |                     #    or
10100    \\ [^\x80-\xff]           #   Escaped something (something != CR)
10101    )* "  # closing quote
10102    )             # one word, optionally followed by....
10103    (?:
10104    [^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037]  |  # atom and space parts, or...
10105    \(
10106    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
10107    \)       |  # comments, or...
10108    
10109    " (?:                      # opening quote...
10110    [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
10111    |                     #    or
10112    \\ [^\x80-\xff]           #   Escaped something (something != CR)
10113    )* "  # closing quote
10114    # quoted strings
10115    )*
10116    <  (?: [\040\t] |  \(
10117    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
10118    \)  )*                     # leading <
10119    (?:  @  (?: [\040\t] |  \(
10120    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
10121    \)  )*    (?:
10122    [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
10123    (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
10124    |   \[                         # [
10125    (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
10126    \]                        #           ]
10127    )                           # initial subdomain
10128    (?:                                  #
10129    (?: [\040\t] |  \(
10130    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
10131    \)  )*  \.                        # if led by a period...
10132    (?: [\040\t] |  \(
10133    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
10134    \)  )*   (?:
10135    [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
10136    (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
10137    |   \[                         # [
10138    (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
10139    \]                        #           ]
10140    )                     #   ...further okay
10141    )*
10142    
10143    (?:  (?: [\040\t] |  \(
10144    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
10145    \)  )*  ,  (?: [\040\t] |  \(
10146    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
10147    \)  )*  @  (?: [\040\t] |  \(
10148    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
10149    \)  )*    (?:
10150    [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
10151    (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
10152    |   \[                         # [
10153    (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
10154    \]                        #           ]
10155    )                           # initial subdomain
10156    (?:                                  #
10157    (?: [\040\t] |  \(
10158    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
10159    \)  )*  \.                        # if led by a period...
10160    (?: [\040\t] |  \(
10161    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
10162    \)  )*   (?:
10163    [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
10164    (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
10165    |   \[                         # [
10166    (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
10167    \]                        #           ]
10168    )                     #   ...further okay
10169    )*
10170    )* # further okay, if led by comma
10171    :                                # closing colon
10172    (?: [\040\t] |  \(
10173    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
10174    \)  )*  )? #       optional route
10175    (?:
10176    [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
10177    (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
10178    |
10179    " (?:                      # opening quote...
10180    [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
10181    |                     #    or
10182    \\ [^\x80-\xff]           #   Escaped something (something != CR)
10183    )* "  # closing quote
10184    )                    # initial word
10185    (?:  (?: [\040\t] |  \(
10186    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
10187    \)  )*  \.  (?: [\040\t] |  \(
10188    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
10189    \)  )*   (?:
10190    [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
10191    (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
10192    |
10193    " (?:                      # opening quote...
10194    [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
10195    |                     #    or
10196    \\ [^\x80-\xff]           #   Escaped something (something != CR)
10197    )* "  # closing quote
10198    )  )* # further okay, if led by a period
10199    (?: [\040\t] |  \(
10200    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
10201    \)  )*  @  (?: [\040\t] |  \(
10202    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
10203    \)  )*    (?:
10204    [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
10205    (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
10206    |   \[                         # [
10207    (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
10208    \]                        #           ]
10209    )                           # initial subdomain
10210    (?:                                  #
10211    (?: [\040\t] |  \(
10212    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
10213    \)  )*  \.                        # if led by a period...
10214    (?: [\040\t] |  \(
10215    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
10216    \)  )*   (?:
10217    [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
10218    (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
10219    |   \[                         # [
10220    (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
10221    \]                        #           ]
10222    )                     #   ...further okay
10223    )*
10224    #       address spec
10225    (?: [\040\t] |  \(
10226    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
10227    \)  )*  > #                  trailing >
10228    # name and address
10229    )  (?: [\040\t] |  \(
10230    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
10231    \)  )*                       # optional trailing comment
10232    /xSI
10233    Capturing subpattern count = 0
10234    Contains explicit CR or LF match
10235    Options: extended
10236    No first char
10237    No need char
10238    Subject length lower bound = 3
10239    Starting byte set: \x09 \x20 ! " # $ % & ' ( * + - / 0 1 2 3 4 5 6 7 8
10240      9 = ? A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ^ _ ` a b c d e
10241      f g h i j k l m n o p q r s t u v w x y z { | } ~ \x7f
10242    
10243    /<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
10244    Capturing subpattern count = 11
10245    Options: caseless dotall
10246    First char = '<'
10247    Need char = '>'
10248    Subject length lower bound = 47
10249    No set of starting bytes
10250    
10251    "(?>.*/)foo"SI
10252    Capturing subpattern count = 0
10253    No options
10254    First char at start or follows newline
10255    Need char = 'o'
10256    Subject length lower bound = 4
10257    No set of starting bytes
10258    
10259    /(?(?=[^a-z]+[a-z])  \d{2}-[a-z]{3}-\d{2}  |  \d{2}-\d{2}-\d{2} ) /xSI
10260    Capturing subpattern count = 0
10261    Options: extended
10262    No first char
10263    Need char = '-'
10264    Subject length lower bound = 8
10265    No set of starting bytes
10266    
10267    /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))/iSI
10268    Capturing subpattern count = 1
10269    Options: caseless
10270    No first char
10271    No need char
10272    Subject length lower bound = 1
10273    Starting byte set: A B C a b c
10274    
10275    /(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/SI
10276    Capturing subpattern count = 0
10277    No options
10278    No first char
10279    Need char = 'b'
10280    Subject length lower bound = 41
10281    Starting byte set: c d
10282    
10283    /<a[\s]+href[\s]*=[\s]*          # find <a href=
10284     ([\"\'])?                       # find single or double quote
10285     (?(1) (.*?)\1 | ([^\s]+))       # if quote found, match up to next matching
10286                                     # quote, otherwise match up to next space
10287    /isxSI
10288    Capturing subpattern count = 3
10289    Max back reference = 1
10290    Options: caseless extended dotall
10291    First char = '<'
10292    Need char = '='
10293    Subject length lower bound = 9
10294    No set of starting bytes
10295    
10296    /^(?!:)                       # colon disallowed at start
10297      (?:                         # start of item
10298        (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
10299        (?(1)0 | () ) )           # if null previously matched, fail; else null
10300        :                         # followed by colon
10301      ){1,7}                      # end item; 1-7 of them required
10302      [0-9a-f]{1,4} $             # final hex number at end of string
10303      (?(1)|.)                    # check that there was an empty component
10304      /xiIS
10305    Capturing subpattern count = 1
10306    Options: anchored caseless extended
10307    No first char
10308    Need char = ':'
10309    Subject length lower bound = 2
10310    No set of starting bytes
10311    
10312    /(?|(?<a>A)|(?<a>B))/I
10313    Capturing subpattern count = 1
10314    Named capturing subpatterns:
10315      a   1
10316      a   1
10317    No options
10318    No first char
10319    No need char
10320        AB\Ca
10321     0: A
10322     1: A
10323      C A (1) a
10324        BA\Ca
10325     0: B
10326     1: B
10327      C B (1) a
10328    
10329    /(?|(?<a>A)|(?<b>B))/
10330    Failed: different names for subpatterns of the same number are not allowed at offset 15
10331    
10332    /(?:a(?<quote> (?<apostrophe>')|(?<realquote>")) |
10333        b(?<quote> (?<apostrophe>')|(?<realquote>")) )
10334        (?('quote')[a-z]+|[0-9]+)/JIx
10335    Capturing subpattern count = 6
10336    Named capturing subpatterns:
10337      apostrophe   2
10338      apostrophe   5
10339      quote        1
10340      quote        4
10341      realquote    3
10342      realquote    6
10343    Options: extended dupnames
10344    No first char
10345    No need char
10346        a"aaaaa
10347     0: a"aaaaa
10348     1: "
10349     2: <unset>
10350     3: "
10351        b"aaaaa
10352     0: b"aaaaa
10353     1: <unset>
10354     2: <unset>
10355     3: <unset>
10356     4: "
10357     5: <unset>
10358     6: "
10359        ** Failers
10360    No match
10361        b"11111
10362    No match
10363        a"11111
10364    No match
10365    
10366    /^(?|(a)(b)(c)(?<D>d)|(?<D>e)) (?('D')X|Y)/JDZx
10367    ------------------------------------------------------------------
10368            Bra
10369            ^
10370            Bra
10371            CBra 1
10372            a
10373            Ket
10374            CBra 2
10375            b
10376            Ket
10377            CBra 3
10378            c
10379            Ket
10380            CBra 4
10381            d
10382            Ket
10383            Alt
10384            CBra 1
10385            e
10386            Ket
10387            Ket
10388            Cond
10389          4 Cond nref
10390            X
10391            Alt
10392            Y
10393            Ket
10394            Ket
10395            End
10396    ------------------------------------------------------------------
10397    Capturing subpattern count = 4
10398    Named capturing subpatterns:
10399      D   4
10400      D   1
10401    Options: anchored extended dupnames
10402    No first char
10403    No need char
10404        abcdX
10405     0: abcdX
10406     1: a
10407     2: b
10408     3: c
10409     4: d
10410        eX
10411     0: eX
10412     1: e
10413        ** Failers
10414    No match
10415        abcdY
10416    No match
10417        ey
10418    No match
10419    
10420    /(?<A>a) (b)(c)  (?<A>d  (?(R&A)$ | (?4)) )/JDZx
10421    ------------------------------------------------------------------
10422            Bra
10423            CBra 1
10424            a
10425            Ket
10426            CBra 2
10427            b
10428            Ket
10429            CBra 3
10430            c
10431            Ket
10432            CBra 4
10433            d
10434            Cond
10435            Cond nrecurse 1
10436            $
10437            Alt
10438            Once
10439            Recurse
10440            Ket
10441            Ket
10442            Ket
10443            Ket
10444            End
10445    ------------------------------------------------------------------
10446    Capturing subpattern count = 4
10447    Named capturing subpatterns:
10448      A   1
10449      A   4
10450    Options: extended dupnames
10451    First char = 'a'
10452    Need char = 'd'
10453        abcdd
10454     0: abcdd
10455     1: a
10456     2: b
10457     3: c
10458     4: dd
10459        ** Failers
10460    No match
10461        abcdde
10462    No match
10463    
10464    /abcd*/
10465        xxxxabcd\P
10466     0: abcd
10467        xxxxabcd\P\P
10468    Partial match: abcd
10469    
10470    /abcd*/i
10471        xxxxabcd\P
10472     0: abcd
10473        xxxxabcd\P\P
10474    Partial match: abcd
10475        XXXXABCD\P
10476     0: ABCD
10477        XXXXABCD\P\P
10478    Partial match: ABCD
10479    
10480    /abc\d*/
10481        xxxxabc1\P
10482     0: abc1
10483        xxxxabc1\P\P
10484    Partial match: abc1
10485    
10486    /(a)bc\1*/
10487        xxxxabca\P
10488     0: abca
10489     1: a
10490        xxxxabca\P\P
10491    Partial match: abca
10492    
10493    /abc[de]*/
10494        xxxxabcde\P
10495     0: abcde
10496        xxxxabcde\P\P
10497    Partial match: abcde
10498    
10499    /-- This is not in the Perl >= 5.10 test because Perl seems currently to be
10500        broken and not behaving as specified in that it *does* bumpalong after
10501        hitting (*COMMIT). --/
10502    
10503    /(?1)(A(*COMMIT)|B)D/
10504        ABD
10505     0: ABD
10506     1: B
10507        XABD
10508     0: ABD
10509     1: B
10510        BAD
10511     0: BAD
10512     1: A
10513        ABXABD
10514     0: ABD
10515     1: B
10516        ** Failers
10517    No match
10518        ABX
10519    No match
10520        BAXBAD
10521    No match
10522    
10523    /(\3)(\1)(a)/<JS>
10524        cat
10525     0: a
10526     1:
10527     2:
10528     3: a
10529    
10530    /(\3)(\1)(a)/SI<JS>
10531    Capturing subpattern count = 3
10532    Max back reference = 3
10533    Options:
10534    No first char
10535    Need char = 'a'
10536    Subject length lower bound = 1
10537    No set of starting bytes
10538        cat
10539     0: a
10540     1:
10541     2:
10542     3: a
10543    
10544    /(\3)(\1)(a)/SI
10545    Capturing subpattern count = 3
10546    Max back reference = 3
10547    No options
10548    No first char
10549    Need char = 'a'
10550    Subject length lower bound = 3
10551    No set of starting bytes
10552        cat
10553    No match
10554    
10555    /i(?(DEFINE)(?<s>a))/SI
10556    Capturing subpattern count = 1
10557    Named capturing subpatterns:
10558      s   1
10559    No options
10560    First char = 'i'
10561    No need char
10562    Subject length lower bound = 1
10563    No set of starting bytes
10564        i
10565     0: i
10566    
10567    /()i(?(1)a)/SI
10568    Capturing subpattern count = 1
10569    No options
10570    No first char
10571    Need char = 'i'
10572    Subject length lower bound = 1
10573    Starting byte set: i
10574        ia
10575     0: ia
10576     1:
10577    
10578    /(?i)a(?-i)b|c/BZ
10579    ------------------------------------------------------------------
10580            Bra
10581         /i a
10582            b
10583            Alt
10584            c
10585            Ket
10586            End
10587    ------------------------------------------------------------------
10588        XabX
10589     0: ab
10590        XAbX
10591     0: Ab
10592        CcC
10593     0: c
10594        ** Failers
10595    No match
10596        XABX
10597    No match
10598    
10599    /(?i)a(?s)b|c/BZ
10600    ------------------------------------------------------------------
10601            Bra
10602         /i ab
10603            Alt
10604         /i c
10605            Ket
10606            End
10607    ------------------------------------------------------------------
10608    
10609    /(?i)a(?s-i)b|c/BZ
10610    ------------------------------------------------------------------
10611            Bra
10612         /i a
10613            b
10614            Alt
10615            c
10616            Ket
10617            End
10618    ------------------------------------------------------------------
10619    
10620    /^(ab(c\1)d|x){2}$/BZ
10621    ------------------------------------------------------------------
10622            Bra
10623            ^
10624            Once
10625            CBra 1
10626            ab
10627            CBra 2
10628            c
10629            \1
10630            Ket
10631            d
10632            Alt
10633            x
10634            Ket
10635            Ket
10636            Once
10637            CBra 1
10638            ab
10639            CBra 2
10640            c
10641            \1
10642            Ket
10643            d
10644            Alt
10645            x
10646            Ket
10647            Ket
10648            $
10649            Ket
10650            End
10651    ------------------------------------------------------------------
10652        xabcxd
10653     0: xabcxd
10654     1: abcxd
10655     2: cx
10656    
10657    /^(?&t)*+(?(DEFINE)(?<t>.))$/BZ
10658    ------------------------------------------------------------------
10659            Bra
10660            ^
10661            Once
10662            Brazero
10663            Once
10664            Recurse
10665            KetRmax
10666            Ket
10667            Cond
10668            Cond def
10669            CBra 1
10670            Any
10671            Ket
10672            Ket
10673            $
10674            Ket
10675            End
10676    ------------------------------------------------------------------
10677    
10678    /^(?&t)*(?(DEFINE)(?<t>.))$/BZ
10679    ------------------------------------------------------------------
10680            Bra
10681            ^
10682            Brazero
10683            Once
10684            Recurse
10685            KetRmax
10686            Cond
10687            Cond def
10688            CBra 1
10689            Any
10690            Ket
10691            Ket
10692            $
10693            Ket
10694            End
10695    ------------------------------------------------------------------
10696    
10697    / -- The first four of these are not in the Perl >= 5.10 test because Perl
10698         documents that the use of \K in assertions is "not well defined". The
10699         last is here because Perl gives the match as "b" rather than "ab". I
10700         believe this to be a Perl bug. --/
10701    
10702    /(?=a\Kb)ab/
10703        ab
10704     0: b
10705    
10706    /(?!a\Kb)ac/
10707        ac
10708     0: ac
10709    
10710    /^abc(?<=b\Kc)d/
10711        abcd
10712     0: cd
10713    
10714    /^abc(?<!b\Kq)d/
10715        abcd
10716     0: abcd
10717    
10718    /(?>a\Kb)z|(ab)/
10719        ab
10720     0: ab
10721     1: ab
10722    
10723    /----------------------/
10724    
10725    /(?P<L1>(?P<L2>0|)|(?P>L2)(?P>L1))/
10726    Failed: recursive call could loop indefinitely at offset 31
10727    
10728    /abc(*MARK:)pqr/
10729    Failed: (*MARK) must have an argument at offset 10
10730    
10731    /abc(*:)pqr/
10732    Failed: (*MARK) must have an argument at offset 6
10733    
10734    /abc(*FAIL:123)xyz/
10735    Failed: an argument is not allowed for (*ACCEPT), (*FAIL), or (*COMMIT) at offset 13
10736    
10737    /--- This should, and does, fail. In Perl, it does not, which I think is a
10738         bug because replacing the B in the pattern by (B|D) does make it fail. ---/
10739    
10740    /A(*COMMIT)B/+K
10741        ACABX
10742    No match
10743    
10744    /--- These should be different, but in Perl 5.11 are not, which I think
10745         is a bug in Perl. ---/
10746    
10747    /A(*THEN)B|A(*THEN)C/K
10748        AC
10749     0: AC
10750    
10751    /A(*PRUNE)B|A(*PRUNE)C/K
10752        AC
10753    No match
10754    
10755    /--- A whole lot of tests of verbs with arguments are here rather than in test
10756         11 because Perl doesn't seem to follow its specification entirely
10757         correctly. ---/
10758    
10759    /--- Perl 5.11 sets $REGERROR on the AC failure case here; PCRE does not. It is
10760         not clear how Perl defines "involved in the failure of the match". ---/
10761    
10762    /^(A(*THEN:A)B|C(*THEN:B)D)/K
10763        AB
10764     0: AB
10765     1: AB
10766        CD
10767     0: CD
10768     1: CD
10769        ** Failers
10770    No match
10771        AC
10772    No match
10773        CB
10774    No match, mark = B
10775    
10776    /--- Check the use of names for success and failure. PCRE doesn't show these
10777    names for success, though Perl does, contrary to its spec. ---/
10778    
10779    /^(A(*PRUNE:A)B|C(*PRUNE:B)D)/K
10780        AB
10781     0: AB
10782     1: AB
10783        CD
10784     0: CD
10785     1: CD
10786        ** Failers
10787    No match
10788        AC
10789    No match, mark = A
10790        CB
10791    No match, mark = B
10792    
10793    /--- An empty name does not pass back an empty string. It is the same as if no
10794    name were given. ---/
10795    
10796    /^(A(*PRUNE:)B|C(*PRUNE:B)D)/K
10797        AB
10798     0: AB
10799     1: AB
10800        CD
10801     0: CD
10802     1: CD
10803    
10804    /--- PRUNE goes to next bumpalong; COMMIT does not. ---/
10805    
10806    /A(*PRUNE:A)B/K
10807        ACAB
10808     0: AB
10809    
10810    /(*MARK:A)(*PRUNE:B)(C|X)/K
10811        C
10812     0: C
10813     1: C
10814    MK: A
10815        D
10816    No match, mark = B
10817    
10818    /(*MARK:A)(*THEN:B)(C|X)/K
10819        C
10820     0: C
10821     1: C
10822    MK: A
10823        D
10824    No match, mark = B
10825    
10826    /--- This should fail, as the skip causes a bump to offset 3 (the skip) ---/
10827    
10828    /A(*MARK:A)A+(*SKIP)(B|Z) | AC/xK
10829        AAAC
10830    No match
10831    
10832    /--- Same --/
10833    
10834    /A(*MARK:A)A+(*MARK:B)(*SKIP:B)(B|Z) | AC/xK
10835        AAAC
10836    No match
10837    
10838    /--- This should fail; the SKIP advances by one, but when we get to AC, the
10839         PRUNE kills it. ---/
10840    
10841    /A(*PRUNE:A)A+(*SKIP:A)(B|Z) | AC/xK
10842        AAAC
10843    No match
10844    
10845    /A(*:A)A+(*SKIP)(B|Z) | AC/xK
10846        AAAC
10847    No match
10848    
10849    /--- This should fail, as a null name is the same as no name ---/
10850    
10851    /A(*MARK:A)A+(*SKIP:)(B|Z) | AC/xK
10852        AAAC
10853    No match
10854    
10855    /--- This fails in PCRE, and I think that is in accordance with Perl's
10856         documentation, though in Perl it succeeds. ---/
10857    
10858    /A(*MARK:A)A+(*SKIP:B)(B|Z) | AAC/xK
10859        AAAC
10860    No match
10861    
10862    /--- Mark names can be duplicated ---/
10863    
10864    /A(*:A)B|X(*:A)Y/K
10865        AABC
10866     0: AB
10867    MK: A
10868        XXYZ
10869     0: XY
10870    MK: A
10871    
10872    /^A(*:A)B|^X(*:A)Y/K
10873        ** Failers
10874    No match
10875        XAQQ
10876    No match, mark = A
10877    
10878    /--- A check on what happens after hitting a mark and them bumping along to
10879    something that does not even start. Perl reports tags after the failures here,
10880    though it does not when the individual letters are made into something
10881    more complicated. ---/
10882    
10883    /A(*:A)B|XX(*:B)Y/K
10884        AABC
10885     0: AB
10886    MK: A
10887        XXYZ
10888     0: XXY
10889    MK: B
10890        ** Failers
10891    No match
10892        XAQQ
10893    No match
10894        XAQQXZZ
10895    No match
10896        AXQQQ
10897    No match
10898        AXXQQQ
10899    No match
10900    
10901    /--- COMMIT at the start of a pattern should be the same as an anchor. Perl
10902    optimizations defeat this. So does the PCRE optimization unless we disable it
10903    with \Y. ---/
10904    
10905    /(*COMMIT)ABC/
10906        ABCDEFG
10907     0: ABC
10908        ** Failers
10909    No match
10910        DEFGABC\Y
10911    No match
10912    
10913    /--- Repeat some tests with added studying. ---/
10914    
10915    /A(*COMMIT)B/+KS
10916        ACABX
10917    No match
10918    
10919    /A(*THEN)B|A(*THEN)C/KS
10920        AC
10921     0: AC
10922    
10923    /A(*PRUNE)B|A(*PRUNE)C/KS
10924        AC
10925    No match
10926    
10927    /^(A(*THEN:A)B|C(*THEN:B)D)/KS
10928        AB
10929     0: AB
10930     1: AB
10931        CD
10932     0: CD
10933     1: CD
10934        ** Failers
10935    No match
10936        AC
10937    No match
10938        CB
10939    No match, mark = B
10940    
10941    /^(A(*PRUNE:A)B|C(*PRUNE:B)D)/KS
10942        AB
10943     0: AB
10944     1: AB
10945        CD
10946     0: CD
10947     1: CD
10948        ** Failers
10949    No match
10950        AC
10951    No match, mark = A
10952        CB
10953    No match, mark = B
10954    
10955    /^(A(*PRUNE:)B|C(*PRUNE:B)D)/KS
10956        AB
10957     0: AB
10958     1: AB
10959        CD
10960     0: CD
10961     1: CD
10962    
10963    /A(*PRUNE:A)B/KS
10964        ACAB
10965     0: AB
10966    
10967    /(*MARK:A)(*PRUNE:B)(C|X)/KS
10968        C
10969     0: C
10970     1: C
10971    MK: A
10972        D
10973    No match
10974    
10975    /(*MARK:A)(*THEN:B)(C|X)/KS
10976        C
10977     0: C
10978     1: C
10979    MK: A
10980        D
10981    No match
10982    
10983    /A(*MARK:A)A+(*SKIP)(B|Z) | AC/xKS
10984        AAAC
10985    No match
10986    
10987    /A(*MARK:A)A+(*MARK:B)(*SKIP:B)(B|Z) | AC/xKS
10988        AAAC
10989    No match
10990    
10991    /A(*PRUNE:A)A+(*SKIP:A)(B|Z) | AC/xKS
10992        AAAC
10993    No match
10994    
10995    /A(*:A)A+(*SKIP)(B|Z) | AC/xKS
10996        AAAC
10997    No match
10998    
10999    /A(*MARK:A)A+(*SKIP:)(B|Z) | AC/xKS
11000        AAAC
11001    No match
11002    
11003    /A(*MARK:A)A+(*SKIP:B)(B|Z) | AAC/xKS
11004        AAAC
11005    No match
11006    
11007    /A(*:A)B|XX(*:B)Y/KS
11008        AABC
11009     0: AB
11010    MK: A
11011        XXYZ
11012     0: XXY
11013    MK: B
11014        ** Failers
11015    No match
11016        XAQQ
11017    No match
11018        XAQQXZZ
11019    No match
11020        AXQQQ
11021    No match
11022        AXXQQQ
11023    No match
11024    
11025    /(*COMMIT)ABC/
11026        ABCDEFG
11027     0: ABC
11028        ** Failers
11029    No match
11030        DEFGABC\Y
11031    No match
11032    
11033    /^(ab (c+(*THEN)cd) | xyz)/x
11034        abcccd
11035    No match
11036    
11037    /^(ab (c+(*PRUNE)cd) | xyz)/x
11038        abcccd
11039    No match
11040    
11041    /^(ab (c+(*FAIL)cd) | xyz)/x
11042        abcccd
11043    No match
11044    
11045    /--- Perl 5.11 gets some of these wrong ---/
11046    
11047    /(?>.(*ACCEPT))*?5/
11048        abcde
11049     0: a
11050    
11051    /(.(*ACCEPT))*?5/
11052        abcde
11053     0: a
11054     1: a
11055    
11056    /(.(*ACCEPT))5/
11057        abcde
11058     0: a
11059     1: a
11060    
11061    /(.(*ACCEPT))*5/
11062        abcde
11063     0: a
11064     1: a
11065    
11066    /A\NB./BZ
11067    ------------------------------------------------------------------
11068            Bra
11069            A
11070            Any
11071            B
11072            Any
11073            Ket
11074            End
11075    ------------------------------------------------------------------
11076        ACBD
11077     0: ACBD
11078        *** Failers
11079    No match
11080        A\nB
11081    No match
11082        ACB\n
11083    No match
11084    
11085    /A\NB./sBZ
11086    ------------------------------------------------------------------
11087            Bra
11088            A
11089            Any
11090            B
11091            AllAny
11092            Ket
11093            End
11094    ------------------------------------------------------------------
11095        ACBD
11096     0: ACBD
11097        ACB\n
11098     0: ACB\x0a
11099        *** Failers
11100    No match
11101        A\nB
11102    No match
11103    
11104    /A\NB/<crlf>
11105        A\nB
11106     0: A\x0aB
11107        A\rB
11108     0: A\x0dB
11109        ** Failers
11110    No match
11111        A\r\nB
11112    No match
11113    
11114    /\R+b/BZ
11115    ------------------------------------------------------------------
11116            Bra
11117            \R++
11118            b
11119            Ket
11120            End
11121    ------------------------------------------------------------------
11122    
11123    /\R+\n/BZ
11124    ------------------------------------------------------------------
11125            Bra
11126            \R+
11127            \x0a
11128            Ket
11129            End
11130    ------------------------------------------------------------------
11131    
11132    /\R+\d/BZ
11133    ------------------------------------------------------------------
11134            Bra
11135            \R++
11136            \d
11137            Ket
11138            End
11139    ------------------------------------------------------------------
11140    
11141    /\d*\R/BZ
11142    ------------------------------------------------------------------
11143            Bra
11144            \d*+
11145            \R
11146            Ket
11147            End
11148    ------------------------------------------------------------------
11149    
11150    /\s*\R/BZ
11151    ------------------------------------------------------------------
11152            Bra
11153            \s*+
11154            \R
11155            Ket
11156            End
11157    ------------------------------------------------------------------
11158    
11159    /-- Perl treats this one differently, not failing the second string. I believe
11160        that is a bug in Perl. --/
11161    
11162    /^((abc|abcx)(*THEN)y|abcd)/
11163        abcd
11164     0: abcd
11165     1: abcd
11166        *** Failers
11167    No match
11168        abcxy
11169    No match
11170    
11171    /(?<=abc)def/
11172        abc\P\P
11173    Partial match: abc
11174    
11175    /abc$/
11176        abc
11177     0: abc
11178        abc\P
11179     0: abc
11180        abc\P\P
11181    Partial match: abc
11182    
11183    /abc$/m
11184        abc
11185     0: abc
11186        abc\n
11187     0: abc
11188        abc\P\P
11189    Partial match: abc
11190        abc\n\P\P
11191     0: abc
11192        abc\P
11193     0: abc
11194        abc\n\P
11195     0: abc
11196    
11197    /abc\z/
11198        abc
11199     0: abc
11200        abc\P
11201     0: abc
11202        abc\P\P
11203    Partial match: abc
11204    
11205    /abc\Z/
11206        abc
11207     0: abc
11208        abc\P
11209     0: abc
11210        abc\P\P
11211    Partial match: abc
11212    
11213    /abc\b/
11214        abc
11215     0: abc
11216        abc\P
11217     0: abc
11218        abc\P\P
11219    Partial match: abc
11220    
11221    /abc\B/
11222        abc
11223    No match
11224        abc\P
11225    Partial match: abc
11226        abc\P\P
11227    Partial match: abc
11228    
11229    /.+/
11230        abc\>0
11231     0: abc
11232        abc\>1
11233     0: bc
11234        abc\>2
11235     0: c
11236        abc\>3
11237    No match
11238        abc\>4
11239    Error -24 (bad offset value)
11240        abc\>-4
11241    Error -24 (bad offset value)
11242    
11243    /^\cģ/
11244    Failed: \c must be followed by an ASCII character at offset 3
11245    
11246    /(?P<abn>(?P=abn)xxx)/BZ
11247    ------------------------------------------------------------------
11248            Bra
11249            Once
11250            CBra 1
11251            \1
11252            xxx
11253            Ket
11254            Ket
11255            Ket
11256            End
11257    ------------------------------------------------------------------
11258    
11259    /(a\1z)/BZ
11260    ------------------------------------------------------------------
11261            Bra
11262            Once
11263            CBra 1
11264            a
11265            \1
11266            z
11267            Ket
11268            Ket
11269            Ket
11270            End
11271    ------------------------------------------------------------------
11272    
11273    /(?P<abn>(?P=abn)(?<badstufxxx)/BZ
11274    Failed: syntax error in subpattern name (missing terminator) at offset 29
11275    
11276    /(?P<abn>(?P=axn)xxx)/BZ
11277    Failed: reference to non-existent subpattern at offset 15
11278    
11279    /(?P<abn>(?P=axn)xxx)(?<axn>yy)/BZ
11280    ------------------------------------------------------------------
11281            Bra
11282            CBra 1
11283            \2
11284            xxx
11285            Ket
11286            CBra 2
11287            yy
11288            Ket
11289            Ket
11290            End
11291    ------------------------------------------------------------------
11292    
11293    /-- These tests are here because Perl gets the first one wrong. --/
11294    
11295    /(\R*)(.)/s
11296        \r\n
11297     0: \x0d
11298     1:
11299     2: \x0d
11300        \r\r\n\n\r
11301     0: \x0d\x0d\x0a\x0a\x0d
11302     1: \x0d\x0d\x0a\x0a
11303     2: \x0d
11304        \r\r\n\n\r\n
11305     0: \x0d\x0d\x0a\x0a\x0d
11306     1: \x0d\x0d\x0a\x0a
11307     2: \x0d
11308    
11309    /(\R)*(.)/s
11310        \r\n
11311     0: \x0d
11312     1: <unset>
11313     2: \x0d
11314        \r\r\n\n\r
11315     0: \x0d\x0d\x0a\x0a\x0d
11316     1: \x0a
11317     2: \x0d
11318        \r\r\n\n\r\n
11319     0: \x0d\x0d\x0a\x0a\x0d
11320     1: \x0a
11321     2: \x0d
11322    
11323    /((?>\r\n|\n|\x0b|\f|\r|\x85)*)(.)/s
11324        \r\n
11325     0: \x0d
11326     1:
11327     2: \x0d
11328        \r\r\n\n\r
11329     0: \x0d\x0d\x0a\x0a\x0d
11330     1: \x0d\x0d\x0a\x0a
11331     2: \x0d
11332        \r\r\n\n\r\n
11333     0: \x0d\x0d\x0a\x0a\x0d
11334     1: \x0d\x0d\x0a\x0a
11335     2: \x0d
11336    
11337    /-- --/
11338    
11339    /^abc$/BZ
11340    ------------------------------------------------------------------
11341            Bra
11342            ^
11343            abc
11344            $
11345            Ket
11346            End
11347    ------------------------------------------------------------------
11348    
11349    /^abc$/BZm
11350    ------------------------------------------------------------------
11351            Bra
11352         /m ^
11353            abc
11354         /m $
11355            Ket
11356            End
11357    ------------------------------------------------------------------
11358    
11359  /-- End of testinput2 --/  /-- End of testinput2 --/

Legend:
Removed from v.454  
changed lines
  Added in v.602

  ViewVC Help
Powered by ViewVC 1.1.5