/[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 81 by nigel, Sat Feb 24 21:40:59 2007 UTC revision 91 by nigel, Sat Feb 24 21:41:34 2007 UTC
# Line 1  Line 1 
 PCRE version 6.2 01-Aug-2005  
   
1  /(a)b|/  /(a)b|/
2  Capturing subpattern count = 1  Capturing subpattern count = 1
3  No options  No options
# Line 117  Failed: unrecognized character after (? Line 115  Failed: unrecognized character after (?
115  Capturing subpattern count = 0  Capturing subpattern count = 0
116  Partial matching not supported  Partial matching not supported
117  No options  No options
118  First char at start or follows \n  First char at start or follows newline
119  Need char = 'b'  Need char = 'b'
120    
121  /.*?b/  /.*?b/
122  Capturing subpattern count = 0  Capturing subpattern count = 0
123  Partial matching not supported  Partial matching not supported
124  No options  No options
125  First char at start or follows \n  First char at start or follows newline
126  Need char = 'b'  Need char = 'b'
127    
128  /cat|dog|elephant/  /cat|dog|elephant/
# Line 328  No need char Line 326  No need char
326  Capturing subpattern count = 3  Capturing subpattern count = 3
327  Partial matching not supported  Partial matching not supported
328  No options  No options
329  First char at start or follows \n  First char at start or follows newline
330  No need char  No need char
331      defabc      defabc
332   0: defabc   0: defabc
# Line 519  No need char Line 517  No need char
517  /(^b|(?i)^d)/  /(^b|(?i)^d)/
518  Capturing subpattern count = 1  Capturing subpattern count = 1
519  Options: anchored  Options: anchored
 Case state changes  
520  No first char  No first char
521  No need char  No need char
522    
# Line 554  Starting byte set: b c x y Line 551  Starting byte set: b c x y
551  /(^a|^b)/m  /(^a|^b)/m
552  Capturing subpattern count = 1  Capturing subpattern count = 1
553  Options: multiline  Options: multiline
554  First char at start or follows \n  First char at start or follows newline
555  No need char  No need char
556    
557  /(?i)(^a|^b)/m  /(?i)(^a|^b)/m
558  Capturing subpattern count = 1  Capturing subpattern count = 1
559  Options: caseless multiline  Options: caseless multiline
560  First char at start or follows \n  First char at start or follows newline
561  No need char  No need char
562    
563  /(a)(?(1)a|b|c)/  /(a)(?(1)a|b|c)/
# Line 570  Failed: conditional group contains more Line 567  Failed: conditional group contains more
567  Failed: conditional group contains more than two branches at offset 12  Failed: conditional group contains more than two branches at offset 12
568    
569  /(?(1a)/  /(?(1a)/
570  Failed: malformed number after (?( at offset 4  Failed: reference to non-existent subpattern at offset 6
571    
572  /(?(?i))/  /(?(?i))/
573  Failed: assertion expected after (?( at offset 3  Failed: assertion expected after (?( at offset 3
574    
575  /(?(abc))/  /(?(abc))/
576  Failed: assertion expected after (?( at offset 3  Failed: reference to non-existent subpattern at offset 7
577    
578  /(?(?<ab))/  /(?(?<ab))/
579  Failed: unrecognized character after (?< at offset 5  Failed: unrecognized character after (?< at offset 5
# Line 594  Capturing subpattern count = 1 Line 591  Capturing subpattern count = 1
591  Max back reference = 1  Max back reference = 1
592  Partial matching not supported  Partial matching not supported
593  No options  No options
 Case state changes  
594  First char = 'b' (caseless)  First char = 'b' (caseless)
595  Need char = 'h' (caseless)  Need char = 'h' (caseless)
596    
# Line 611  Need char = 'h' (caseless) Line 607  Need char = 'h' (caseless)
607  ------------------------------------------------------------------  ------------------------------------------------------------------
608  Capturing subpattern count = 1  Capturing subpattern count = 1
609  No options  No options
 Case state changes  
610  First char = 'b' (caseless)  First char = 'b' (caseless)
611  No need char  No need char
612  Study returned NULL  Study returned NULL
# Line 620  Study returned NULL Line 615  Study returned NULL
615  Capturing subpattern count = 1  Capturing subpattern count = 1
616  Partial matching not supported  Partial matching not supported
617  No options  No options
 Case state changes  
618  No first char  No first char
619  No need char  No need char
620  Starting byte set: C a b c d  Starting byte set: C a b c d
# Line 666  No need char Line 660  No need char
660  /^abc/m  /^abc/m
661  Capturing subpattern count = 0  Capturing subpattern count = 0
662  Options: multiline  Options: multiline
663  First char at start or follows \n  First char at start or follows newline
664  Need char = 'c'  Need char = 'c'
665    
666  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/
# Line 723  No match Line 717  No match
717  /^(?<=foo\n)bar/m  /^(?<=foo\n)bar/m
718  Capturing subpattern count = 0  Capturing subpattern count = 0
719  Options: multiline  Options: multiline
720  First char at start or follows \n  First char at start or follows newline
721  Need char = 'r'  Need char = 'r'
722      foo\nbarbar      foo\nbarbar
723   0: bar   0: bar
# Line 739  No match Line 733  No match
733  /(?>^abc)/m  /(?>^abc)/m
734  Capturing subpattern count = 0  Capturing subpattern count = 0
735  Options: multiline  Options: multiline
736  First char at start or follows \n  First char at start or follows newline
737  Need char = 'c'  Need char = 'c'
738      abc      abc
739   0: abc   0: abc
# Line 784  No match Line 778  No match
778  /(?<=ab(?i)x|y|z)/  /(?<=ab(?i)x|y|z)/
779  Capturing subpattern count = 0  Capturing subpattern count = 0
780  No options  No options
 Case state changes  
781  No first char  No first char
782  No need char  No need char
783    
# Line 792  No need char Line 785  No need char
785  Capturing subpattern count = 2  Capturing subpattern count = 2
786  Partial matching not supported  Partial matching not supported
787  No options  No options
788  First char at start or follows \n  First char at start or follows newline
789  No need char  No need char
790      alphabetabcd      alphabetabcd
791   0: alphabetabcd   0: alphabetabcd
# Line 805  No need char Line 798  No need char
798  /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/  /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/
799  Capturing subpattern count = 0  Capturing subpattern count = 0
800  No options  No options
 Case state changes  
801  First char = 'Z'  First char = 'Z'
802  Need char = 'Z'  Need char = 'Z'
803      abxyZZ      abxyZZ
# Line 968  Failed: unrecognized character after (? Line 960  Failed: unrecognized character after (?
960  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? at offset 3
961    
962  /(?(1?)a|b)/  /(?(1?)a|b)/
963  Failed: malformed number after (?( at offset 4  Failed: malformed number or name after (?( at offset 4
964    
965  /(?(1)a|b|c)/  /(?(1)a|b|c)/
966  Failed: conditional group contains more than two branches at offset 10  Failed: conditional group contains more than two branches at offset 10
# Line 1023  No need char Line 1015  No need char
1015      abcdefghijklmnopqrstuvwxyz\C1      abcdefghijklmnopqrstuvwxyz\C1
1016   0: abcdefghijklmnopqrst   0: abcdefghijklmnopqrst
1017   1: abcdefghijklmnopqrst   1: abcdefghijklmnopqrst
1018  copy substring 1 failed -6   1C abcdefghijklmnopqrst (20)
1019      abcdefghijklmnopqrstuvwxyz\G1      abcdefghijklmnopqrstuvwxyz\G1
1020   0: abcdefghijklmnopqrst   0: abcdefghijklmnopqrst
1021   1: abcdefghijklmnopqrst   1: abcdefghijklmnopqrst
# Line 1056  No need char Line 1048  No need char
1048      abcdefghijklmnopqrstuvwxyz\C1\G1\L      abcdefghijklmnopqrstuvwxyz\C1\G1\L
1049   0: abcdefghijklmnop   0: abcdefghijklmnop
1050   1: abcdefghijklmnop   1: abcdefghijklmnop
1051  copy substring 1 failed -6   1C abcdefghijklmnop (16)
1052   1G abcdefghijklmnop (16)   1G abcdefghijklmnop (16)
1053   0L abcdefghijklmnop   0L abcdefghijklmnop
1054   1L abcdefghijklmnop   1L abcdefghijklmnop
# Line 1130  Need char = 'd' Line 1122  Need char = 'd'
1122  Capturing subpattern count = 0  Capturing subpattern count = 0
1123  Partial matching not supported  Partial matching not supported
1124  No options  No options
1125  First char at start or follows \n  First char at start or follows newline
1126  Need char = 'X'  Need char = 'X'
1127    
1128  /.*X/Ds  /.*X/Ds
# Line 1163  Need char = 'X' Line 1155  Need char = 'X'
1155  Capturing subpattern count = 1  Capturing subpattern count = 1
1156  Partial matching not supported  Partial matching not supported
1157  No options  No options
1158  First char at start or follows \n  First char at start or follows newline
1159  No need char  No need char
1160    
1161  /(.*X|^B)/Ds  /(.*X|^B)/Ds
# Line 1223  No need char Line 1215  No need char
1215  Capturing subpattern count = 0  Capturing subpattern count = 0
1216  Partial matching not supported  Partial matching not supported
1217  No options  No options
1218  First char at start or follows \n  First char at start or follows newline
1219  No need char  No need char
1220    
1221  /\Biss\B/+  /\Biss\B/+
# Line 1308  No need char Line 1300  No need char
1300  Capturing subpattern count = 0  Capturing subpattern count = 0
1301  Partial matching not supported  Partial matching not supported
1302  No options  No options
1303  First char at start or follows \n  First char at start or follows newline
1304  Need char = 's'  Need char = 's'
1305      abciss\nxyzisspqr      abciss\nxyzisspqr
1306   0: abciss   0: abciss
# Line 1367  No need char Line 1359  No need char
1359  /^ab\n/mg+  /^ab\n/mg+
1360  Capturing subpattern count = 0  Capturing subpattern count = 0
1361  Options: multiline  Options: multiline
1362  First char at start or follows \n  First char at start or follows newline
1363  Need char = 10  Need char = 10
1364      ab\nab\ncd      ab\nab\ncd
1365   0: ab\x0a   0: ab\x0a
# Line 1945  Options: anchored Line 1937  Options: anchored
1937  No first char  No first char
1938  No need char  No need char
1939    
1940    /[_[:alpha:]]/IS
1941    Capturing subpattern count = 0
1942    No options
1943    No first char
1944    No need char
1945    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
1946      _ 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
1947    
1948  /^[[:ascii:]]/D  /^[[:ascii:]]/D
1949  ------------------------------------------------------------------  ------------------------------------------------------------------
1950    0  37 Bra 0    0  37 Bra 0
# Line 1984  Options: anchored Line 1984  Options: anchored
1984  No first char  No first char
1985  No need char  No need char
1986    
1987    /^[[:^blank:]]/D
1988    ------------------------------------------------------------------
1989      0  37 Bra 0
1990      3     ^
1991      4     [\x00-\x08\x0a-\x1f!-\xff]
1992     37  37 Ket
1993     40     End
1994    ------------------------------------------------------------------
1995    Capturing subpattern count = 0
1996    Options: anchored
1997    No first char
1998    No need char
1999    
2000    /[\n\x0b\x0c\x0d[:blank:]]/IS
2001    Capturing subpattern count = 0
2002    No options
2003    No first char
2004    No need char
2005    Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20
2006    
2007  /^[[:cntrl:]]/D  /^[[:cntrl:]]/D
2008  ------------------------------------------------------------------  ------------------------------------------------------------------
2009    0  37 Bra 0    0  37 Bra 0
# Line 2197  No need char Line 2217  No need char
2217  /((?-i)[[:lower:]])[[:lower:]]/i  /((?-i)[[:lower:]])[[:lower:]]/i
2218  Capturing subpattern count = 1  Capturing subpattern count = 1
2219  Options: caseless  Options: caseless
 Case state changes  
2220  No first char  No first char
2221  No need char  No need char
2222      ab      ab
# Line 2214  No match Line 2233  No match
2233      AB      AB
2234  No match  No match
2235    
2236  /[\200-\410]/  /[\200-\110]/
2237  Failed: range out of order in character class at offset 9  Failed: range out of order in character class at offset 9
2238    
2239  /^(?(0)f|b)oo/  /^(?(0)f|b)oo/
2240  Failed: invalid condition (?(0) at offset 5  Failed: invalid condition (?(0) at offset 6
2241    
2242  /This one's here because of the large output vector needed/  /This one's here because of the large output vector needed/
2243  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 2735  No need char Line 2754  No need char
2754  ------------------------------------------------------------------  ------------------------------------------------------------------
2755  Capturing subpattern count = 0  Capturing subpattern count = 0
2756  No options  No options
 Case state changes  
2757  First char = 'a'  First char = 'a'
2758  Need char = 'b' (caseless)  Need char = 'b' (caseless)
2759      ab      ab
# Line 2761  No match Line 2779  No match
2779  ------------------------------------------------------------------  ------------------------------------------------------------------
2780  Capturing subpattern count = 1  Capturing subpattern count = 1
2781  No options  No options
 Case state changes  
2782  First char = 'a'  First char = 'a'
2783  Need char = 'b' (caseless)  Need char = 'b' (caseless)
2784      ab      ab
# Line 3344  No need char Line 3361  No need char
3361  Capturing subpattern count = 1  Capturing subpattern count = 1
3362  Partial matching not supported  Partial matching not supported
3363  No options  No options
3364  First char at start or follows \n  First char at start or follows newline
3365  No need char  No need char
3366    
3367  /(.*)\d+\1/Is  /(.*)\d+\1/Is
# Line 3367  Capturing subpattern count = 2 Line 3384  Capturing subpattern count = 2
3384  Max back reference = 2  Max back reference = 2
3385  Partial matching not supported  Partial matching not supported
3386  No options  No options
3387  First char at start or follows \n  First char at start or follows newline
3388  Need char = 'z'  Need char = 'z'
3389    
3390  /((.*))\d+\1/I  /((.*))\d+\1/I
# Line 3404  Need char = 'z' (caseless) Line 3421  Need char = 'z' (caseless)
3421  /(?=abc)(?i).xyz/I  /(?=abc)(?i).xyz/I
3422  Capturing subpattern count = 0  Capturing subpattern count = 0
3423  No options  No options
 Case state changes  
3424  First char = 'a'  First char = 'a'
3425  Need char = 'z' (caseless)  Need char = 'z' (caseless)
3426    
# Line 3527  Need char = 'b' Line 3543  Need char = 'b'
3543  /^a/mI  /^a/mI
3544  Capturing subpattern count = 0  Capturing subpattern count = 0
3545  Options: multiline  Options: multiline
3546  First char at start or follows \n  First char at start or follows newline
3547  Need char = 'a'  Need char = 'a'
3548    abcde    abcde
3549   0: a   0: a
# Line 3554  Starting byte set: A B a b Line 3570  Starting byte set: A B a b
3570  /[ab](?i)cd/IS  /[ab](?i)cd/IS
3571  Capturing subpattern count = 0  Capturing subpattern count = 0
3572  No options  No options
 Case state changes  
3573  No first char  No first char
3574  Need char = 'd' (caseless)  Need char = 'd' (caseless)
3575  Starting byte set: a b  Starting byte set: a b
# Line 3995  Need char = '<' Line 4010  Need char = '<'
4010    
4011  /(a(?1)b)/D  /(a(?1)b)/D
4012  ------------------------------------------------------------------  ------------------------------------------------------------------
4013    0  16 Bra 0    0  22 Bra 0
4014    3  10 Bra 1    3  16 Bra 1
4015    6     a    6     a
4016    8   3 Recurse    8   6 Once
4017   11     b   11   3 Recurse
4018   13  10 Ket   14   6 Ket
4019   16  16 Ket   17     b
4020   19     End   19  16 Ket
4021     22  22 Ket
4022     25     End
4023  ------------------------------------------------------------------  ------------------------------------------------------------------
4024  Capturing subpattern count = 1  Capturing subpattern count = 1
4025  No options  No options
# Line 4014  Need char = 'b' Line 4031  Need char = 'b'
4031    0  22 Bra 0    0  22 Bra 0
4032    3  16 Bra 1    3  16 Bra 1
4033    6     a    6     a
4034    8   6 Bra 0    8   6 Once
4035   11   3 Recurse   11   3 Recurse
4036   14   6 KetRmax   14   6 KetRmax
4037   17     b   17     b
# Line 4246  Need char = 'a' Line 4263  Need char = 'a'
4263    
4264  /(?P<a>a)...(?P=a)bbb(?P>a)d/D  /(?P<a>a)...(?P=a)bbb(?P>a)d/D
4265  ------------------------------------------------------------------  ------------------------------------------------------------------
4266    0  28 Bra 0    0  34 Bra 0
4267    3   5 Bra 1    3   5 Bra 1
4268    6     a    6     a
4269    8   5 Ket    8   5 Ket
# Line 4255  Need char = 'a' Line 4272  Need char = 'a'
4272   13     Any   13     Any
4273   14     \1   14     \1
4274   17     bbb   17     bbb
4275   23   3 Recurse   23   6 Once
4276   26     d   26   3 Recurse
4277   28  28 Ket   29   6 Ket
4278   31     End   32     d
4279     34  34 Ket
4280     37     End
4281  ------------------------------------------------------------------  ------------------------------------------------------------------
4282  Capturing subpattern count = 1  Capturing subpattern count = 1
4283  Max back reference = 1  Max back reference = 1
# Line 4418  No need char Line 4437  No need char
4437   24     End   24     End
4438  ------------------------------------------------------------------  ------------------------------------------------------------------
4439  Capturing subpattern count = 0  Capturing subpattern count = 0
4440  Options:  Options: no_auto_capture
4441  First char = 'a'  First char = 'a'
4442  Need char = 'c'  Need char = 'c'
4443    abc    abc
# Line 4439  Need char = 'c' Line 4458  Need char = 'c'
4458  Capturing subpattern count = 1  Capturing subpattern count = 1
4459  Named capturing subpatterns:  Named capturing subpatterns:
4460    one   1    one   1
4461  Options:  Options: no_auto_capture
4462  First char = 'a'  First char = 'a'
4463  Need char = 'c'  Need char = 'c'
4464    abc    abc
# Line 4461  Need char = 'c' Line 4480  Need char = 'c'
4480  Capturing subpattern count = 1  Capturing subpattern count = 1
4481  Named capturing subpatterns:  Named capturing subpatterns:
4482    named   1    named   1
4483  Options:  Options: no_auto_capture
4484  First char = 'a'  First char = 'a'
4485  Need char = 'c'  Need char = 'c'
4486    
# Line 4472  No options Line 4491  No options
4491  No first char  No first char
4492  Need char = 'z'  Need char = 'z'
4493    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzbbbbbb\M    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzbbbbbb\M
4494  Minimum match limit = 8  Minimum match() limit = 8
4495    Minimum match() recursion limit = 6
4496   0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazz   0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazz
4497   1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa   1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
4498    aaaaaaaaaaaaaz\M    aaaaaaaaaaaaaz\M
4499  Minimum match limit = 32768  Minimum match() limit = 32768
4500    Minimum match() recursion limit = 42
4501  No match  No match
4502    
4503  /(aaa(?C1)bbb|ab)/  /(aaa(?C1)bbb|ab)/
# Line 4523  Need char = 'h' Line 4544  Need char = 'h'
4544   1: cd   1: cd
4545   2: gh   2: gh
4546   1C cd (2)   1C cd (2)
4547   2G gh (2)    G gh (2) two
4548      abcdefgh\Cone\Ctwo      abcdefgh\Cone\Ctwo
4549   0: abcdefgh   0: abcdefgh
4550   1: cd   1: cd
4551   2: gh   2: gh
4552   1C cd (2)    C cd (2) one
4553   2C gh (2)    C gh (2) two
4554      abcdefgh\Cthree      abcdefgh\Cthree
4555  no parentheses with name "three"  no parentheses with name "three"
4556   0: abcdefgh   0: abcdefgh
4557   1: cd   1: cd
4558   2: gh   2: gh
4559    copy substring three failed -7
4560    
4561  /(?P<Tes>)(?P<Test>)/D  /(?P<Tes>)(?P<Test>)/D
4562  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 4584  Need char = 'a' Line 4606  Need char = 'a'
4606   0: zzaa   0: zzaa
4607   1: zz   1: zz
4608   2: aa   2: aa
4609   1C zz (2)    C zz (2) Z
4610      zzaa\CA      zzaa\CA
4611   0: zzaa   0: zzaa
4612   1: zz   1: zz
4613   2: aa   2: aa
4614   2C aa (2)    C aa (2) A
4615    
4616  /(?P<x>eks)(?P<x>eccs)/  /(?P<x>eks)(?P<x>eccs)/
4617  Failed: two named groups have the same name at offset 16  Failed: two named subpatterns have the same name at offset 16
4618    
4619  /(?P<abc>abc(?P<def>def)(?P<abc>xyz))/  /(?P<abc>abc(?P<def>def)(?P<abc>xyz))/
4620  Failed: two named groups have the same name at offset 31  Failed: two named subpatterns have the same name at offset 31
4621    
4622  "\[((?P<elem>\d+)(,(?P>elem))*)\]"  "\[((?P<elem>\d+)(,(?P>elem))*)\]"
4623  Capturing subpattern count = 3  Capturing subpattern count = 3
# Line 4633  Need char = ']' Line 4655  Need char = ']'
4655    
4656  /(a(b(?2)c))?/D  /(a(b(?2)c))?/D
4657  ------------------------------------------------------------------  ------------------------------------------------------------------
4658    0  25 Bra 0    0  31 Bra 0
4659    3     Brazero    3     Brazero
4660    4  18 Bra 1    4  24 Bra 1
4661    7     a    7     a
4662    9  10 Bra 2    9  16 Bra 2
4663   12     b   12     b
4664   14   9 Recurse   14   6 Once
4665   17     c   17   9 Recurse
4666   19  10 Ket   20   6 Ket
4667   22  18 Ket   23     c
4668   25  25 Ket   25  16 Ket
4669   28     End   28  24 Ket
4670     31  31 Ket
4671     34     End
4672  ------------------------------------------------------------------  ------------------------------------------------------------------
4673  Capturing subpattern count = 2  Capturing subpattern count = 2
4674  No options  No options
# Line 4653  No need char Line 4677  No need char
4677    
4678  /(a(b(?2)c))*/D  /(a(b(?2)c))*/D
4679  ------------------------------------------------------------------  ------------------------------------------------------------------
4680    0  25 Bra 0    0  31 Bra 0
4681    3     Brazero    3     Brazero
4682    4  18 Bra 1    4  24 Bra 1
4683    7     a    7     a
4684    9  10 Bra 2    9  16 Bra 2
4685   12     b   12     b
4686   14   9 Recurse   14   6 Once
4687   17     c   17   9 Recurse
4688   19  10 Ket   20   6 Ket
4689   22  18 KetRmax   23     c
4690   25  25 Ket   25  16 Ket
4691   28     End   28  24 KetRmax
4692     31  31 Ket
4693     34     End
4694  ------------------------------------------------------------------  ------------------------------------------------------------------
4695  Capturing subpattern count = 2  Capturing subpattern count = 2
4696  No options  No options
# Line 4673  No need char Line 4699  No need char
4699    
4700  /(a(b(?2)c)){0,2}/D  /(a(b(?2)c)){0,2}/D
4701  ------------------------------------------------------------------  ------------------------------------------------------------------
4702    0  53 Bra 0    0  65 Bra 0
4703    3     Brazero    3     Brazero
4704    4  46 Bra 0    4  58 Bra 0
4705    7  18 Bra 1    7  24 Bra 1
4706   10     a   10     a
4707   12  10 Bra 2   12  16 Bra 2
4708   15     b   15     b
4709   17  12 Recurse   17   6 Once
4710   20     c   20  12 Recurse
4711   22  10 Ket   23   6 Ket
4712   25  18 Ket   26     c
4713   28     Brazero   28  16 Ket
4714   29  18 Bra 1   31  24 Ket
4715   32     a   34     Brazero
4716   34  10 Bra 2   35  24 Bra 1
4717   37     b   38     a
4718   39  12 Recurse   40  16 Bra 2
4719   42     c   43     b
4720   44  10 Ket   45   6 Once
4721   47  18 Ket   48  12 Recurse
4722   50  46 Ket   51   6 Ket
4723   53  53 Ket   54     c
4724   56     End   56  16 Ket
4725     59  24 Ket
4726     62  58 Ket
4727     65  65 Ket
4728     68     End
4729  ------------------------------------------------------------------  ------------------------------------------------------------------
4730  Capturing subpattern count = 2  Capturing subpattern count = 2
4731  No options  No options
# Line 5729  Failed: number too big in {} quantifier Line 5759  Failed: number too big in {} quantifier
5759  Capturing subpattern count = 1  Capturing subpattern count = 1
5760  Max back reference = 1  Max back reference = 1
5761  No options  No options
 Case state changes  
5762  First char = 'a' (caseless)  First char = 'a' (caseless)
5763  Need char = 'B'  Need char = 'B'
5764      abcdefghijklAkB      abcdefghijklAkB
# Line 5939  Matched, but too many substrings Line 5968  Matched, but too many substrings
5968  13: a  13: a
5969  14: a  14: a
5970    
5971    /[^()]*(?:\((?R)\)[^()]*)*/
5972    Capturing subpattern count = 0
5973    Partial matching not supported
5974    No options
5975    No first char
5976    No need char
5977        (this(and)that
5978     0:
5979        (this(and)that)
5980     0: (this(and)that)
5981        (this(and)that)stuff
5982     0: (this(and)that)stuff
5983    
5984    /[^()]*(?:\((?>(?R))\)[^()]*)*/
5985    Capturing subpattern count = 0
5986    Partial matching not supported
5987    No options
5988    No first char
5989    No need char
5990        (this(and)that
5991     0:
5992        (this(and)that)
5993     0: (this(and)that)
5994    
5995    /[^()]*(?:\((?R)\))*[^()]*/
5996    Capturing subpattern count = 0
5997    Partial matching not supported
5998    No options
5999    No first char
6000    No need char
6001        (this(and)that
6002     0:
6003        (this(and)that)
6004     0: (this(and)that)
6005    
6006    /(?:\((?R)\))*[^()]*/
6007    Capturing subpattern count = 0
6008    Partial matching not supported
6009    No options
6010    No first char
6011    No need char
6012        (this(and)that
6013     0:
6014        (this(and)that)
6015     0:
6016        ((this))
6017     0: ((this))
6018    
6019    /(?:\((?R)\))|[^()]*/
6020    Capturing subpattern count = 0
6021    Partial matching not supported
6022    No options
6023    No first char
6024    No need char
6025        (this(and)that
6026     0:
6027        (this(and)that)
6028     0:
6029        (this)
6030     0: (this)
6031        ((this))
6032     0: ((this))
6033    
6034    /a(b)c/PN
6035        abc
6036    Matched with REG_NOSUB
6037    
6038    /a(?P<name>b)c/PN
6039        abc
6040    Matched with REG_NOSUB
6041    
6042    /\x{100}/
6043    Failed: character value in \x{...} sequence is too large at offset 6
6044    
6045    /\x{0000ff}/
6046    Capturing subpattern count = 0
6047    No options
6048    First char = 255
6049    No need char
6050    
6051    /^((?P<A>a1)|(?P<A>a2)b)/
6052    Failed: two named subpatterns have the same name at offset 18
6053    
6054    /^((?P<A>a1)|(?P<A>a2)b)/J
6055    Capturing subpattern count = 3
6056    Named capturing subpatterns:
6057      A   2
6058      A   3
6059    Options: anchored dupnames
6060    No first char
6061    No need char
6062        a1b\CA
6063     0: a1
6064     1: a1
6065     2: a1
6066      C a1 (2) A
6067        a2b\CA
6068     0: a2b
6069     1: a2b
6070     2: <unset>
6071     3: a2
6072      C a2 (2) A
6073        ** Failers
6074    No match
6075        a1b\CZ\CA
6076    no parentheses with name "Z"
6077     0: a1
6078     1: a1
6079     2: a1
6080    copy substring Z failed -7
6081      C a1 (2) A
6082    
6083    /^(?P<A>a)(?P<A>b)/J
6084    Capturing subpattern count = 2
6085    Named capturing subpatterns:
6086      A   1
6087      A   2
6088    Options: anchored dupnames
6089    No first char
6090    No need char
6091        ab\CA
6092     0: ab
6093     1: a
6094     2: b
6095      C a (1) A
6096    
6097    /^(?P<A>a)(?P<A>b)|cd/J
6098    Capturing subpattern count = 2
6099    Named capturing subpatterns:
6100      A   1
6101      A   2
6102    Options: dupnames
6103    No first char
6104    No need char
6105        ab\CA
6106     0: ab
6107     1: a
6108     2: b
6109      C a (1) A
6110        cd\CA
6111     0: cd
6112    copy substring A failed -7
6113    
6114    /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/J
6115    Capturing subpattern count = 4
6116    Named capturing subpatterns:
6117      A   1
6118      A   2
6119      A   3
6120      A   4
6121    Options: dupnames
6122    No first char
6123    No need char
6124        cdefgh\CA
6125     0: cdefgh
6126     1: <unset>
6127     2: <unset>
6128     3: ef
6129     4: gh
6130      C ef (2) A
6131    
6132    /^((?P<A>a1)|(?P<A>a2)b)/J
6133    Capturing subpattern count = 3
6134    Named capturing subpatterns:
6135      A   2
6136      A   3
6137    Options: anchored dupnames
6138    No first char
6139    No need char
6140        a1b\GA
6141     0: a1
6142     1: a1
6143     2: a1
6144      G a1 (2) A
6145        a2b\GA
6146     0: a2b
6147     1: a2b
6148     2: <unset>
6149     3: a2
6150      G a2 (2) A
6151        ** Failers
6152    No match
6153        a1b\GZ\GA
6154    no parentheses with name "Z"
6155     0: a1
6156     1: a1
6157     2: a1
6158    copy substring Z failed -7
6159      G a1 (2) A
6160    
6161    /^(?P<A>a)(?P<A>b)/J
6162    Capturing subpattern count = 2
6163    Named capturing subpatterns:
6164      A   1
6165      A   2
6166    Options: anchored dupnames
6167    No first char
6168    No need char
6169        ab\GA
6170     0: ab
6171     1: a
6172     2: b
6173      G a (1) A
6174    
6175    /^(?P<A>a)(?P<A>b)|cd/J
6176    Capturing subpattern count = 2
6177    Named capturing subpatterns:
6178      A   1
6179      A   2
6180    Options: dupnames
6181    No first char
6182    No need char
6183        ab\GA
6184     0: ab
6185     1: a
6186     2: b
6187      G a (1) A
6188        cd\GA
6189     0: cd
6190    copy substring A failed -7
6191    
6192    /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/J
6193    Capturing subpattern count = 4
6194    Named capturing subpatterns:
6195      A   1
6196      A   2
6197      A   3
6198      A   4
6199    Options: dupnames
6200    No first char
6201    No need char
6202        cdefgh\GA
6203     0: cdefgh
6204     1: <unset>
6205     2: <unset>
6206     3: ef
6207     4: gh
6208      G ef (2) A
6209    
6210    /(?J)^((?P<A>a1)|(?P<A>a2)b)/
6211    Capturing subpattern count = 3
6212    Named capturing subpatterns:
6213      A   2
6214      A   3
6215    Options: anchored dupnames
6216    No first char
6217    No need char
6218        a1b\CA
6219     0: a1
6220     1: a1
6221     2: a1
6222      C a1 (2) A
6223        a2b\CA
6224     0: a2b
6225     1: a2b
6226     2: <unset>
6227     3: a2
6228      C a2 (2) A
6229    
6230    /^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<A>d)/
6231    Failed: two named subpatterns have the same name at offset 38
6232    
6233    / In this next test, J is not set at the outer level; consequently it isn't
6234    set in the pattern's options; consequently pcre_get_named_substring() produces
6235    a random value. /x
6236    Capturing subpattern count = 1
6237    Options: extended
6238    First char = 'I'
6239    Need char = 'e'
6240    
6241    /^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<C>d)/
6242    Capturing subpattern count = 4
6243    Named capturing subpatterns:
6244      A   1
6245      B   2
6246      B   3
6247      C   4
6248    Options: anchored
6249    No first char
6250    No need char
6251        a bc d\CA\CB\CC
6252     0: a bc d
6253     1: a
6254     2: b
6255     3: c
6256     4: d
6257      C a (1) A
6258      C b (1) B
6259      C d (1) C
6260    
6261    /^(?P<A>a)?(?(A)a|b)/
6262    Capturing subpattern count = 1
6263    Named capturing subpatterns:
6264      A   1
6265    Options: anchored
6266    No first char
6267    No need char
6268        aabc
6269     0: aa
6270     1: a
6271        bc
6272     0: b
6273        ** Failers
6274    No match
6275        abc
6276    No match
6277    
6278    /(?:(?(ZZ)a|b)(?P<ZZ>X))+/
6279    Capturing subpattern count = 1
6280    Named capturing subpatterns:
6281      ZZ   1
6282    No options
6283    No first char
6284    Need char = 'X'
6285        bXaX
6286     0: bXaX
6287     1: X
6288    
6289    /(?:(?(2y)a|b)(X))+/
6290    Failed: reference to non-existent subpattern at offset 9
6291    
6292    /(?:(?(ZA)a|b)(?P<ZZ>X))+/
6293    Failed: reference to non-existent subpattern at offset 9
6294    
6295    /(?:(?(ZZ)a|b)(?(ZZ)a|b)(?P<ZZ>X))+/
6296    Capturing subpattern count = 1
6297    Named capturing subpatterns:
6298      ZZ   1
6299    No options
6300    No first char
6301    Need char = 'X'
6302        bbXaaX
6303     0: bbXaaX
6304     1: X
6305    
6306    /(?:(?(ZZ)a|\(b\))\\(?P<ZZ>X))+/
6307    Capturing subpattern count = 1
6308    Named capturing subpatterns:
6309      ZZ   1
6310    No options
6311    No first char
6312    Need char = 'X'
6313        (b)\\Xa\\X
6314     0: (b)\Xa\X
6315     1: X
6316    
6317    /(?P<ABC/
6318    Failed: syntax error after (?P at offset 7
6319    
6320    /(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/
6321    Capturing subpattern count = 1
6322    Max back reference = 1
6323    Named capturing subpatterns:
6324      A   1
6325    No options
6326    No first char
6327    No need char
6328        bXXaYYaY
6329     0: bXXaYYaY
6330     1: Y
6331        bXYaXXaX
6332     0: bX
6333     1: X
6334    
6335    /()()()()()()()()()(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/
6336    Capturing subpattern count = 10
6337    Max back reference = 10
6338    Named capturing subpatterns:
6339      A  10
6340    No options
6341    No first char
6342    No need char
6343        bXXaYYaY
6344     0: bXXaYYaY
6345     1:
6346     2:
6347     3:
6348     4:
6349     5:
6350     6:
6351     7:
6352     8:
6353     9:
6354    10: Y
6355    
6356    /\777/
6357    Failed: octal value is greater than \377 (not in UTF-8 mode) at offset 3
6358    
6359    /\s*,\s*/S
6360    Capturing subpattern count = 0
6361    Partial matching not supported
6362    No options
6363    No first char
6364    Need char = ','
6365    Starting byte set: \x09 \x0a \x0c \x0d \x20 ,
6366        \x0b,\x0b
6367     0: ,
6368        \x0c,\x0d
6369     0: \x0c,\x0d
6370    
6371    /^abc/m
6372    Capturing subpattern count = 0
6373    Options: multiline
6374    First char at start or follows newline
6375    Need char = 'c'
6376        xyz\nabc
6377     0: abc
6378        xyz\nabc\<lf>
6379     0: abc
6380        xyz\r\nabc\<lf>
6381     0: abc
6382        xyz\rabc\<cr>
6383     0: abc
6384        xyz\r\nabc\<crlf>
6385     0: abc
6386        ** Failers
6387    No match
6388        xyz\nabc\<cr>
6389    No match
6390        xyz\r\nabc\<cr>
6391    No match
6392        xyz\nabc\<crlf>
6393    No match
6394        xyz\rabc\<crlf>
6395    No match
6396        xyz\rabc\<lf>
6397    No match
6398    
6399    /abc$/m
6400    Capturing subpattern count = 0
6401    Options: multiline
6402    First char = 'a'
6403    Need char = 'c'
6404        xyzabc
6405     0: abc
6406        xyzabc\n
6407     0: abc
6408        xyzabc\npqr
6409     0: abc
6410        xyzabc\r\<cr>
6411     0: abc
6412        xyzabc\rpqr\<cr>
6413     0: abc
6414        xyzabc\r\n\<crlf>
6415     0: abc
6416        xyzabc\r\npqr\<crlf>
6417     0: abc
6418        ** Failers
6419    No match
6420        xyzabc\r
6421    No match
6422        xyzabc\rpqr
6423    No match
6424        xyzabc\r\n
6425    No match
6426        xyzabc\r\npqr
6427    No match
6428    
6429    /^abc/m<cr>
6430    Capturing subpattern count = 0
6431    Options: multiline
6432    Forced newline sequence: CR
6433    First char at start or follows newline
6434    Need char = 'c'
6435        xyz\rabcdef
6436     0: abc
6437        xyz\nabcdef\<lf>
6438     0: abc
6439        ** Failers
6440    No match
6441        xyz\nabcdef
6442    No match
6443    
6444    /^abc/m<lf>
6445    Capturing subpattern count = 0
6446    Options: multiline
6447    Forced newline sequence: LF
6448    First char at start or follows newline
6449    Need char = 'c'
6450        xyz\nabcdef
6451     0: abc
6452        xyz\rabcdef\<cr>
6453     0: abc
6454        ** Failers
6455    No match
6456        xyz\rabcdef
6457    No match
6458    
6459    /^abc/m<crlf>
6460    Capturing subpattern count = 0
6461    Options: multiline
6462    Forced newline sequence: CRLF
6463    First char at start or follows newline
6464    Need char = 'c'
6465        xyz\r\nabcdef
6466     0: abc
6467        xyz\rabcdef\<cr>
6468     0: abc
6469        ** Failers
6470    No match
6471        xyz\rabcdef
6472    No match
6473    
6474    /^abc/m<bad>
6475    Unknown newline type at: <bad>
6476    
6477    
6478    /abc/
6479    Capturing subpattern count = 0
6480    No options
6481    First char = 'a'
6482    Need char = 'c'
6483        xyz\rabc\<bad>
6484    Unknown newline type at: <bad>
6485        abc
6486     0: abc
6487    
6488    /.*/
6489    Capturing subpattern count = 0
6490    Partial matching not supported
6491    No options
6492    First char at start or follows newline
6493    No need char
6494        abc\ndef
6495     0: abc
6496        abc\rdef
6497     0: abc\x0ddef
6498        abc\r\ndef
6499     0: abc\x0d
6500        \<cr>abc\ndef
6501     0: abc\x0adef
6502        \<cr>abc\rdef
6503     0: abc
6504        \<cr>abc\r\ndef
6505     0: abc
6506        \<crlf>abc\ndef
6507     0: abc\x0adef
6508        \<crlf>abc\rdef
6509     0: abc\x0ddef
6510        \<crlf>abc\r\ndef
6511     0: abc
6512    
6513    /\w+(.)(.)?def/s
6514    Capturing subpattern count = 2
6515    Partial matching not supported
6516    Options: dotall
6517    No first char
6518    Need char = 'f'
6519        abc\ndef
6520     0: abc\x0adef
6521     1: \x0a
6522        abc\rdef
6523     0: abc\x0ddef
6524     1: \x0d
6525        abc\r\ndef
6526     0: abc\x0d\x0adef
6527     1: \x0d
6528     2: \x0a
6529    
6530    +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+
6531    Capturing subpattern count = 1
6532    Partial matching not supported
6533    No options
6534    No first char
6535    No need char
6536       /* this is a C style comment */\M
6537    Minimum match() limit = 120
6538    Minimum match() recursion limit = 6
6539     0: /* this is a C style comment */
6540     1: /* this is a C style comment */
6541    
6542    /(?P<B>25[0-5]|2[0-4]\d|[01]?\d?\d)(?:\.(?P>B)){3}/
6543    Capturing subpattern count = 1
6544    Named capturing subpatterns:
6545      B   1
6546    No options
6547    No first char
6548    Need char = '.'
6549    
6550  / End of testinput2 /  / End of testinput2 /
6551  Capturing subpattern count = 0  Capturing subpattern count = 0
6552  No options  No options

Legend:
Removed from v.81  
changed lines
  Added in v.91

webmaster@exim.org
ViewVC Help
Powered by ViewVC 1.1.12