/[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 500 by ph10, Sat Mar 6 19:00:29 2010 UTC revision 771 by ph10, Tue Nov 29 15:34:12 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        NOTE: This is a non-UTF-8 set of tests. When UTF-8 is needed, use test
9        5, and if Unicode Property Support is needed, use test 13. --/
10    
11  /-- 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
12      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
13      that were overlooked. --/      be some that were overlooked. --/
14    
15  /(a)b|/I  /(a)b|/I
16  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 103  Failed: missing terminating ] for charac Line 106  Failed: missing terminating ] for charac
106  /(?X)[\B]/  /(?X)[\B]/
107  Failed: invalid escape sequence in character class at offset 6  Failed: invalid escape sequence in character class at offset 6
108    
109    /(?X)[\R]/
110    Failed: invalid escape sequence in character class at offset 6
111    
112    /(?X)[\X]/
113    Failed: invalid escape sequence in character class at offset 6
114    
115    /[\B]/BZ
116    ------------------------------------------------------------------
117            Bra
118            B
119            Ket
120            End
121    ------------------------------------------------------------------
122    
123    /[\R]/BZ
124    ------------------------------------------------------------------
125            Bra
126            R
127            Ket
128            End
129    ------------------------------------------------------------------
130    
131    /[\X]/BZ
132    ------------------------------------------------------------------
133            Bra
134            X
135            Ket
136            End
137    ------------------------------------------------------------------
138    
139  /[z-a]/  /[z-a]/
140  Failed: range out of order in character class at offset 3  Failed: range out of order in character class at offset 3
141    
# Line 602  Need char = 'h' (caseless) Line 635  Need char = 'h' (caseless)
635  ------------------------------------------------------------------  ------------------------------------------------------------------
636          Bra          Bra
637          CBra 1          CBra 1
638       01 Opt       /i b
      NC b  
639          Ket          Ket
      00 Opt  
640          Ket          Ket
641          End          End
642  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 1217  No need char Line 1248  No need char
1248  ------------------------------------------------------------------  ------------------------------------------------------------------
1249          Bra          Bra
1250          Bra          Bra
      04 Opt  
1251          AllAny*          AllAny*
1252          X          X
1253          Alt          Alt
      04 Opt  
1254          ^          ^
1255          B          B
1256          Ket          Ket
      00 Opt  
1257          Ket          Ket
1258          End          End
1259  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2734  No need char Line 2762  No need char
2762  ------------------------------------------------------------------  ------------------------------------------------------------------
2763          Bra          Bra
2764          a          a
2765       01 Opt       /i b
      NC b  
2766          Ket          Ket
2767          End          End
2768  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2757  No match Line 2784  No match
2784          Bra          Bra
2785          CBra 1          CBra 1
2786          a          a
2787       01 Opt       /i b
      NC b  
2788          Ket          Ket
      00 Opt  
2789          Ket          Ket
2790          End          End
2791  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2782  No match Line 2807  No match
2807  /   (?i)abc/IxDZ  /   (?i)abc/IxDZ
2808  ------------------------------------------------------------------  ------------------------------------------------------------------
2809          Bra          Bra
2810       NC abc       /i abc
2811          Ket          Ket
2812          End          End
2813  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2795  Need char = 'c' (caseless) Line 2820  Need char = 'c' (caseless)
2820    (?i)abc/IxDZ    (?i)abc/IxDZ
2821  ------------------------------------------------------------------  ------------------------------------------------------------------
2822          Bra          Bra
2823       NC abc       /i abc
2824          Ket          Ket
2825          End          End
2826  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2968  No need char Line 2993  No need char
2993  /(x)*+/DZ  /(x)*+/DZ
2994  ------------------------------------------------------------------  ------------------------------------------------------------------
2995          Bra          Bra
2996          Once          Braposzero
2997          Brazero          CBraPos 1
         CBra 1  
2998          x          x
2999          KetRmax          KetRpos
         Ket  
3000          Ket          Ket
3001          End          End
3002  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 3198  Failed: POSIX collating elements are not Line 3221  Failed: POSIX collating elements are not
3221  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
3222    
3223  /\l/I  /\l/I
3224  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
3225    
3226  /\L/I  /\L/I
3227  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
3228    
3229  /\N{name}/I  /\N{name}/I
3230  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
3231    
3232  /\u/I  /\u/I
3233  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
3234    
3235  /\U/I  /\U/I
3236  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
3237    
3238  /[/I  /[/I
3239  Failed: missing terminating ] for character class at offset 1  Failed: missing terminating ] for character class at offset 1
# Line 3560  Need char = 'f' Line 3583  Need char = 'f'
3583    1    ^    ^     f    1    ^    ^     f
3584   0: abcdef   0: abcdef
3585    
3586  /(?C1)\dabc(?C2)def/I  /(?C1)\dabc(?C2)def/IS
3587    Capturing subpattern count = 0
3588    No options
3589    No first char
3590    Need char = 'f'
3591    Subject length lower bound = 7
3592    Starting byte set: 0 1 2 3 4 5 6 7 8 9
3593        1234abcdef
3594    --->1234abcdef
3595      1 ^              \d
3596      1  ^             \d
3597      1   ^            \d
3598      1    ^           \d
3599      2    ^   ^       d
3600     0: 4abcdef
3601        *** Failers
3602    No match
3603        abcdef
3604    No match
3605    
3606    /(?C1)\dabc(?C2)def/ISS
3607  Capturing subpattern count = 0  Capturing subpattern count = 0
3608  No options  No options
3609  No first char  No first char
# Line 3964  Need char = '<' Line 4007  Need char = '<'
4007          Bra          Bra
4008          CBra 1          CBra 1
4009          a          a
         Once  
4010          Recurse          Recurse
         Ket  
4011          b          b
4012          Ket          Ket
4013          Ket          Ket
# Line 4187  Need char = 'a' Line 4228  Need char = 'a'
4228          Any          Any
4229          \1          \1
4230          bbb          bbb
         Once  
4231          Recurse          Recurse
         Ket  
4232          d          d
4233          Ket          Ket
4234          End          End
# Line 4561  Need char = ']' Line 4600  Need char = ']'
4600          a          a
4601          CBra 2          CBra 2
4602          b          b
         Once  
4603          Recurse          Recurse
         Ket  
4604          c          c
4605          Ket          Ket
4606          Ket          Ket
# Line 4583  No need char Line 4620  No need char
4620          a          a
4621          CBra 2          CBra 2
4622          b          b
         Once  
4623          Recurse          Recurse
         Ket  
4624          c          c
4625          Ket          Ket
4626          KetRmax          KetRmax
# Line 4606  No need char Line 4641  No need char
4641          a          a
4642          CBra 2          CBra 2
4643          b          b
         Once  
4644          Recurse          Recurse
         Ket  
4645          c          c
4646          Ket          Ket
4647          Ket          Ket
# Line 4617  No need char Line 4650  No need char
4650          a          a
4651          CBra 2          CBra 2
4652          b          b
         Once  
4653          Recurse          Recurse
         Ket  
4654          c          c
4655          Ket          Ket
4656          Ket          Ket
# Line 4758  Need char = 'e' Line 4789  Need char = 'e'
4789   +4 ^   ^      e   +4 ^   ^      e
4790  No match  No match
4791    
4792  /a*b/ICDZ  /a*b/ICDZS
4793    ------------------------------------------------------------------
4794            Bra
4795            Callout 255 0 2
4796            a*+
4797            Callout 255 2 1
4798            b
4799            Callout 255 3 0
4800            Ket
4801            End
4802    ------------------------------------------------------------------
4803    Capturing subpattern count = 0
4804    Options:
4805    No first char
4806    Need char = 'b'
4807    Subject length lower bound = 1
4808    Starting byte set: a b
4809      ab
4810    --->ab
4811     +0 ^      a*
4812     +2 ^^     b
4813     +3 ^ ^
4814     0: ab
4815      aaaab
4816    --->aaaab
4817     +0 ^         a*
4818     +2 ^   ^     b
4819     +3 ^    ^
4820     0: aaaab
4821      aaaacb
4822    --->aaaacb
4823     +0 ^          a*
4824     +2 ^   ^      b
4825     +0  ^         a*
4826     +2  ^  ^      b
4827     +0   ^        a*
4828     +2   ^ ^      b
4829     +0    ^       a*
4830     +2    ^^      b
4831     +0      ^     a*
4832     +2      ^     b
4833     +3      ^^
4834     0: b
4835    
4836    /a*b/ICDZSS
4837  ------------------------------------------------------------------  ------------------------------------------------------------------
4838          Bra          Bra
4839          Callout 255 0 2          Callout 255 0 2
# Line 4841  Need char = 'b' Line 4916  Need char = 'b'
4916   +2    ^^      b   +2    ^^      b
4917  No match  No match
4918    
4919  /(abc|def)x/ICDZ  /(abc|def)x/ICDZS
4920    ------------------------------------------------------------------
4921            Bra
4922            Callout 255 0 9
4923            CBra 1
4924            Callout 255 1 1
4925            a
4926            Callout 255 2 1
4927            b
4928            Callout 255 3 1
4929            c
4930            Callout 255 4 0
4931            Alt
4932            Callout 255 5 1
4933            d
4934            Callout 255 6 1
4935            e
4936            Callout 255 7 1
4937            f
4938            Callout 255 8 0
4939            Ket
4940            Callout 255 9 1
4941            x
4942            Callout 255 10 0
4943            Ket
4944            End
4945    ------------------------------------------------------------------
4946    Capturing subpattern count = 1
4947    Options:
4948    No first char
4949    Need char = 'x'
4950    Subject length lower bound = 4
4951    Starting byte set: a d
4952      abcx
4953    --->abcx
4954     +0 ^        (abc|def)
4955     +1 ^        a
4956     +2 ^^       b
4957     +3 ^ ^      c
4958     +4 ^  ^     |
4959     +9 ^  ^     x
4960    +10 ^   ^
4961     0: abcx
4962     1: abc
4963      defx
4964    --->defx
4965     +0 ^        (abc|def)
4966     +1 ^        a
4967     +5 ^        d
4968     +6 ^^       e
4969     +7 ^ ^      f
4970     +8 ^  ^     )
4971     +9 ^  ^     x
4972    +10 ^   ^
4973     0: defx
4974     1: def
4975      ** Failers
4976    No match
4977      abcdefzx
4978    --->abcdefzx
4979     +0 ^            (abc|def)
4980     +1 ^            a
4981     +2 ^^           b
4982     +3 ^ ^          c
4983     +4 ^  ^         |
4984     +9 ^  ^         x
4985     +5 ^            d
4986     +0    ^         (abc|def)
4987     +1    ^         a
4988     +5    ^         d
4989     +6    ^^        e
4990     +7    ^ ^       f
4991     +8    ^  ^      )
4992     +9    ^  ^      x
4993    No match
4994    
4995    /(abc|def)x/ICDZSS
4996  ------------------------------------------------------------------  ------------------------------------------------------------------
4997          Bra          Bra
4998          Callout 255 0 9          Callout 255 0 9
# Line 4895  Need char = 'x' Line 5046  Need char = 'x'
5046  +10 ^   ^  +10 ^   ^
5047   0: defx   0: defx
5048   1: def   1: def
5049      ** Failers
5050    No match
5051    abcdefzx    abcdefzx
5052  --->abcdefzx  --->abcdefzx
5053   +0 ^            (abc|def)   +0 ^            (abc|def)
# Line 4995  No need char Line 5148  No need char
5148   0: abcdcdcd   0: abcdcdcd
5149   1: cd   1: cd
5150    
5151  /([ab]{,4}c|xy)/ICDZ  /([ab]{,4}c|xy)/ICDZS
5152    ------------------------------------------------------------------
5153            Bra
5154            Callout 255 0 14
5155            CBra 1
5156            Callout 255 1 4
5157            [ab]
5158            Callout 255 5 1
5159            {
5160            Callout 255 6 1
5161            ,
5162            Callout 255 7 1
5163            4
5164            Callout 255 8 1
5165            }
5166            Callout 255 9 1
5167            c
5168            Callout 255 10 0
5169            Alt
5170            Callout 255 11 1
5171            x
5172            Callout 255 12 1
5173            y
5174            Callout 255 13 0
5175            Ket
5176            Callout 255 14 0
5177            Ket
5178            End
5179    ------------------------------------------------------------------
5180    Capturing subpattern count = 1
5181    Options:
5182    No first char
5183    No need char
5184    Subject length lower bound = 2
5185    Starting byte set: a b x
5186        Note: that { does NOT introduce a quantifier
5187    --->Note: that { does NOT introduce a quantifier
5188     +0         ^                                        ([ab]{,4}c|xy)
5189     +1         ^                                        [ab]
5190     +5         ^^                                       {
5191    +11         ^                                        x
5192     +0                                 ^                ([ab]{,4}c|xy)
5193     +1                                 ^                [ab]
5194     +5                                 ^^               {
5195    +11                                 ^                x
5196     +0                                     ^            ([ab]{,4}c|xy)
5197     +1                                     ^            [ab]
5198     +5                                     ^^           {
5199    +11                                     ^            x
5200    No match
5201    
5202    /([ab]{,4}c|xy)/ICDZSS
5203  ------------------------------------------------------------------  ------------------------------------------------------------------
5204          Bra          Bra
5205          Callout 255 0 14          Callout 255 0 14
# Line 5447  No match Line 5651  No match
5651      123456\P      123456\P
5652  No match  No match
5653    
5654  /abc/I>testsavedregex  /abc/IS>testsavedregex
5655  Capturing subpattern count = 0  Capturing subpattern count = 0
5656  No options  No options
5657  First char = 'a'  First char = 'a'
5658  Need char = 'c'  Need char = 'c'
5659  Compiled regex written to testsavedregex  Subject length lower bound = 3
5660    No set of starting bytes
5661    Compiled pattern written to testsavedregex
5662    Study data written to testsavedregex
5663  <testsavedregex  <testsavedregex
5664  Compiled regex loaded from testsavedregex  Compiled pattern loaded from testsavedregex
5665  No study data  Study data loaded from testsavedregex
5666      abc      abc
5667   0: abc   0: abc
5668      ** Failers      ** Failers
# Line 5463  No match Line 5670  No match
5670      bca      bca
5671  No match  No match
5672    
5673  /abc/IF>testsavedregex  /abc/ISS>testsavedregex
5674  Capturing subpattern count = 0  Capturing subpattern count = 0
5675  No options  No options
5676  First char = 'a'  First char = 'a'
5677  Need char = 'c'  Need char = 'c'
5678  Compiled regex written to testsavedregex  Compiled pattern written to testsavedregex
5679  <testsavedregex  <testsavedregex
5680  Compiled regex (byte-inverted) loaded from testsavedregex  Compiled pattern loaded from testsavedregex
5681  No study data  No study data
5682      abc      abc
5683   0: abc   0: abc
# Line 5479  No match Line 5686  No match
5686      bca      bca
5687  No match  No match
5688    
5689  /(a|b)/IS>testsavedregex  /abc/IFS>testsavedregex
5690  Capturing subpattern count = 1  Capturing subpattern count = 0
5691  No options  No options
5692  No first char  First char = 'a'
5693  No need char  Need char = 'c'
5694  Subject length lower bound = 1  Subject length lower bound = 3
5695  Starting byte set: a b  No set of starting bytes
5696  Compiled regex written to testsavedregex  Compiled pattern written to testsavedregex
5697  Study data written to testsavedregex  Study data written to testsavedregex
5698  <testsavedregex  <testsavedregex
5699  Compiled regex loaded from testsavedregex  Compiled pattern (byte-inverted) loaded from testsavedregex
5700  Study data loaded from testsavedregex  Study data loaded from testsavedregex
5701      abc      abc
5702   0: a   0: abc
  1: a  
5703      ** Failers      ** Failers
5704   0: a  No match
5705   1: a      bca
     def  
5706  No match  No match
5707    
5708  /(a|b)/ISF>testsavedregex  /abc/IFSS>testsavedregex
5709  Capturing subpattern count = 1  Capturing subpattern count = 0
5710  No options  No options
5711  No first char  First char = 'a'
5712    Need char = 'c'
5713    Compiled pattern written to testsavedregex
5714    <testsavedregex
5715    Compiled pattern (byte-inverted) loaded from testsavedregex
5716    No study data
5717        abc
5718     0: abc
5719        ** Failers
5720    No match
5721        bca
5722    No match
5723    
5724    /(a|b)/IS>testsavedregex
5725    Capturing subpattern count = 1
5726    No options
5727    No first char
5728    No need char
5729    Subject length lower bound = 1
5730    Starting byte set: a b
5731    Compiled pattern written to testsavedregex
5732    Study data written to testsavedregex
5733    <testsavedregex
5734    Compiled pattern loaded from testsavedregex
5735    Study data loaded from testsavedregex
5736        abc
5737     0: a
5738     1: a
5739        ** Failers
5740     0: a
5741     1: a
5742        def
5743    No match
5744    
5745    /(a|b)/ISS>testsavedregex
5746    Capturing subpattern count = 1
5747    No options
5748    No first char
5749    No need char
5750    Compiled pattern written to testsavedregex
5751    <testsavedregex
5752    Compiled pattern loaded from testsavedregex
5753    No study data
5754        abc
5755     0: a
5756     1: a
5757        ** Failers
5758     0: a
5759     1: a
5760        def
5761    No match
5762    
5763    /(a|b)/ISF>testsavedregex
5764    Capturing subpattern count = 1
5765    No options
5766    No first char
5767  No need char  No need char
5768  Subject length lower bound = 1  Subject length lower bound = 1
5769  Starting byte set: a b  Starting byte set: a b
5770  Compiled regex written to testsavedregex  Compiled pattern written to testsavedregex
5771  Study data written to testsavedregex  Study data written to testsavedregex
5772  <testsavedregex  <testsavedregex
5773  Compiled regex (byte-inverted) loaded from testsavedregex  Compiled pattern (byte-inverted) loaded from testsavedregex
5774  Study data loaded from testsavedregex  Study data loaded from testsavedregex
5775      abc      abc
5776   0: a   0: a
# Line 5521  Study data loaded from testsavedregex Line 5781  Study data loaded from testsavedregex
5781      def      def
5782  No match  No match
5783    
5784    /(a|b)/ISSF>testsavedregex
5785    Capturing subpattern count = 1
5786    No options
5787    No first char
5788    No need char
5789    Compiled pattern written to testsavedregex
5790    <testsavedregex
5791    Compiled pattern (byte-inverted) loaded from testsavedregex
5792    No study data
5793        abc
5794     0: a
5795     1: a
5796        ** Failers
5797     0: a
5798     1: a
5799        def
5800    No match
5801    
5802  ~<(\w+)/?>(.)*</(\1)>~smgI  ~<(\w+)/?>(.)*</(\1)>~smgI
5803  Capturing subpattern count = 3  Capturing subpattern count = 3
5804  Max back reference = 1  Max back reference = 1
5805  Options: multiline dotall  Options: multiline dotall
5806  First char = '<'  First char = '<'
5807  Need char = '>'  Need char = '>'
5808      <!DOCTYPE seite SYSTEM "http://www.lco.lineas.de/xmlCms.dtd">\n<seite>\n<dokumenteninformation>\n<seitentitel>Partner der LCO</seitentitel>\n<sprache>de</sprache>\n<seitenbeschreibung>Partner der LINEAS Consulting\nGmbH</seitenbeschreibung>\n<schluesselworte>LINEAS Consulting GmbH Hamburg\nPartnerfirmen</schluesselworte>\n<revisit>30 days</revisit>\n<robots>index,follow</robots>\n<menueinformation>\n<aktiv>ja</aktiv>\n<menueposition>3</menueposition>\n<menuetext>Partner</menuetext>\n</menueinformation>\n<lastedited>\n<autor>LCO</autor>\n<firma>LINEAS Consulting</firma>\n<datum>15.10.2003</datum>\n</lastedited>\n</dokumenteninformation>\n<inhalt>\n\n<absatzueberschrift>Die Partnerfirmen der LINEAS Consulting\nGmbH</absatzueberschrift>\n\n<absatz><link ziel="http://www.ca.com/" zielfenster="_blank">\n<bild name="logo_ca.gif" rahmen="no"/></link> <link\nziel="http://www.ey.com/" zielfenster="_blank"><bild\nname="logo_euy.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><link ziel="http://www.cisco.de/" zielfenster="_blank">\n<bild name="logo_cisco.gif" rahmen="ja"/></link></absatz>\n\n<absatz><link ziel="http://www.atelion.de/"\nzielfenster="_blank"><bild\nname="logo_atelion.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><link ziel="http://www.line-information.de/"\nzielfenster="_blank">\n<bild name="logo_line_information.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><bild name="logo_aw.gif" rahmen="no"/></absatz>\n\n<absatz><link ziel="http://www.incognis.de/"\nzielfenster="_blank"><bild\nname="logo_incognis.gif" rahmen="no"/></link></absatz>\n\n<absatz><link ziel="http://www.addcraft.com/"\nzielfenster="_blank"><bild\nname="logo_addcraft.gif" rahmen="no"/></link></absatz>\n\n<absatz><link ziel="http://www.comendo.com/"\nzielfenster="_blank"><bild\nname="logo_comendo.gif" rahmen="no"/></link></absatz>\n\n</inhalt>\n</seite>      \J1024<!DOCTYPE seite SYSTEM "http://www.lco.lineas.de/xmlCms.dtd">\n<seite>\n<dokumenteninformation>\n<seitentitel>Partner der LCO</seitentitel>\n<sprache>de</sprache>\n<seitenbeschreibung>Partner der LINEAS Consulting\nGmbH</seitenbeschreibung>\n<schluesselworte>LINEAS Consulting GmbH Hamburg\nPartnerfirmen</schluesselworte>\n<revisit>30 days</revisit>\n<robots>index,follow</robots>\n<menueinformation>\n<aktiv>ja</aktiv>\n<menueposition>3</menueposition>\n<menuetext>Partner</menuetext>\n</menueinformation>\n<lastedited>\n<autor>LCO</autor>\n<firma>LINEAS Consulting</firma>\n<datum>15.10.2003</datum>\n</lastedited>\n</dokumenteninformation>\n<inhalt>\n\n<absatzueberschrift>Die Partnerfirmen der LINEAS Consulting\nGmbH</absatzueberschrift>\n\n<absatz><link ziel="http://www.ca.com/" zielfenster="_blank">\n<bild name="logo_ca.gif" rahmen="no"/></link> <link\nziel="http://www.ey.com/" zielfenster="_blank"><bild\nname="logo_euy.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><link ziel="http://www.cisco.de/" zielfenster="_blank">\n<bild name="logo_cisco.gif" rahmen="ja"/></link></absatz>\n\n<absatz><link ziel="http://www.atelion.de/"\nzielfenster="_blank"><bild\nname="logo_atelion.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><link ziel="http://www.line-information.de/"\nzielfenster="_blank">\n<bild name="logo_line_information.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><bild name="logo_aw.gif" rahmen="no"/></absatz>\n\n<absatz><link ziel="http://www.incognis.de/"\nzielfenster="_blank"><bild\nname="logo_incognis.gif" rahmen="no"/></link></absatz>\n\n<absatz><link ziel="http://www.addcraft.com/"\nzielfenster="_blank"><bild\nname="logo_addcraft.gif" rahmen="no"/></link></absatz>\n\n<absatz><link ziel="http://www.comendo.com/"\nzielfenster="_blank"><bild\nname="logo_comendo.gif" rahmen="no"/></link></absatz>\n\n</inhalt>\n</seite>
5809   0: <seite>\x0a<dokumenteninformation>\x0a<seitentitel>Partner der LCO</seitentitel>\x0a<sprache>de</sprache>\x0a<seitenbeschreibung>Partner der LINEAS Consulting\x0aGmbH</seitenbeschreibung>\x0a<schluesselworte>LINEAS Consulting GmbH Hamburg\x0aPartnerfirmen</schluesselworte>\x0a<revisit>30 days</revisit>\x0a<robots>index,follow</robots>\x0a<menueinformation>\x0a<aktiv>ja</aktiv>\x0a<menueposition>3</menueposition>\x0a<menuetext>Partner</menuetext>\x0a</menueinformation>\x0a<lastedited>\x0a<autor>LCO</autor>\x0a<firma>LINEAS Consulting</firma>\x0a<datum>15.10.2003</datum>\x0a</lastedited>\x0a</dokumenteninformation>\x0a<inhalt>\x0a\x0a<absatzueberschrift>Die Partnerfirmen der LINEAS Consulting\x0aGmbH</absatzueberschrift>\x0a\x0a<absatz><link ziel="http://www.ca.com/" zielfenster="_blank">\x0a<bild name="logo_ca.gif" rahmen="no"/></link> <link\x0aziel="http://www.ey.com/" zielfenster="_blank"><bild\x0aname="logo_euy.gif" rahmen="no"/></link>\x0a</absatz>\x0a\x0a<absatz><link ziel="http://www.cisco.de/" zielfenster="_blank">\x0a<bild name="logo_cisco.gif" rahmen="ja"/></link></absatz>\x0a\x0a<absatz><link ziel="http://www.atelion.de/"\x0azielfenster="_blank"><bild\x0aname="logo_atelion.gif" rahmen="no"/></link>\x0a</absatz>\x0a\x0a<absatz><link ziel="http://www.line-information.de/"\x0azielfenster="_blank">\x0a<bild name="logo_line_information.gif" rahmen="no"/></link>\x0a</absatz>\x0a\x0a<absatz><bild name="logo_aw.gif" rahmen="no"/></absatz>\x0a\x0a<absatz><link ziel="http://www.incognis.de/"\x0azielfenster="_blank"><bild\x0aname="logo_incognis.gif" rahmen="no"/></link></absatz>\x0a\x0a<absatz><link ziel="http://www.addcraft.com/"\x0azielfenster="_blank"><bild\x0aname="logo_addcraft.gif" rahmen="no"/></link></absatz>\x0a\x0a<absatz><link ziel="http://www.comendo.com/"\x0azielfenster="_blank"><bild\x0aname="logo_comendo.gif" rahmen="no"/></link></absatz>\x0a\x0a</inhalt>\x0a</seite>   0: <seite>\x0a<dokumenteninformation>\x0a<seitentitel>Partner der LCO</seitentitel>\x0a<sprache>de</sprache>\x0a<seitenbeschreibung>Partner der LINEAS Consulting\x0aGmbH</seitenbeschreibung>\x0a<schluesselworte>LINEAS Consulting GmbH Hamburg\x0aPartnerfirmen</schluesselworte>\x0a<revisit>30 days</revisit>\x0a<robots>index,follow</robots>\x0a<menueinformation>\x0a<aktiv>ja</aktiv>\x0a<menueposition>3</menueposition>\x0a<menuetext>Partner</menuetext>\x0a</menueinformation>\x0a<lastedited>\x0a<autor>LCO</autor>\x0a<firma>LINEAS Consulting</firma>\x0a<datum>15.10.2003</datum>\x0a</lastedited>\x0a</dokumenteninformation>\x0a<inhalt>\x0a\x0a<absatzueberschrift>Die Partnerfirmen der LINEAS Consulting\x0aGmbH</absatzueberschrift>\x0a\x0a<absatz><link ziel="http://www.ca.com/" zielfenster="_blank">\x0a<bild name="logo_ca.gif" rahmen="no"/></link> <link\x0aziel="http://www.ey.com/" zielfenster="_blank"><bild\x0aname="logo_euy.gif" rahmen="no"/></link>\x0a</absatz>\x0a\x0a<absatz><link ziel="http://www.cisco.de/" zielfenster="_blank">\x0a<bild name="logo_cisco.gif" rahmen="ja"/></link></absatz>\x0a\x0a<absatz><link ziel="http://www.atelion.de/"\x0azielfenster="_blank"><bild\x0aname="logo_atelion.gif" rahmen="no"/></link>\x0a</absatz>\x0a\x0a<absatz><link ziel="http://www.line-information.de/"\x0azielfenster="_blank">\x0a<bild name="logo_line_information.gif" rahmen="no"/></link>\x0a</absatz>\x0a\x0a<absatz><bild name="logo_aw.gif" rahmen="no"/></absatz>\x0a\x0a<absatz><link ziel="http://www.incognis.de/"\x0azielfenster="_blank"><bild\x0aname="logo_incognis.gif" rahmen="no"/></link></absatz>\x0a\x0a<absatz><link ziel="http://www.addcraft.com/"\x0azielfenster="_blank"><bild\x0aname="logo_addcraft.gif" rahmen="no"/></link></absatz>\x0a\x0a<absatz><link ziel="http://www.comendo.com/"\x0azielfenster="_blank"><bild\x0aname="logo_comendo.gif" rahmen="no"/></link></absatz>\x0a\x0a</inhalt>\x0a</seite>
5810   1: seite   1: seite
5811   2: \x0a   2: \x0a
# Line 6644  No match Line 6922  No match
6922  ------------------------------------------------------------------  ------------------------------------------------------------------
6923          Bra          Bra
6924          ^          ^
6925          a*       /i a*
6926       NC A       /i A
6927          \d          \d
6928          Ket          Ket
6929          End          End
# Line 7273  Matched, but too many substrings Line 7551  Matched, but too many substrings
7551  /[^a]+a/BZi  /[^a]+a/BZi
7552  ------------------------------------------------------------------  ------------------------------------------------------------------
7553          Bra          Bra
7554          [^A]++       /i [^A]++
7555       NC a       /i a
7556          Ket          Ket
7557          End          End
7558  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 7282  Matched, but too many substrings Line 7560  Matched, but too many substrings
7560  /[^a]+A/BZi  /[^a]+A/BZi
7561  ------------------------------------------------------------------  ------------------------------------------------------------------
7562          Bra          Bra
7563          [^A]++       /i [^A]++
7564       NC A       /i A
7565          Ket          Ket
7566          End          End
7567  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 7478  No match Line 7756  No match
7756  ------------------------------------------------------------------  ------------------------------------------------------------------
7757          Bra          Bra
7758          ^          ^
         Once  
7759          Recurse          Recurse
         Ket  
7760          [()]          [()]
7761          CBra 1          CBra 1
7762          Ket          Ket
# Line 7514  No match Line 7790  No match
7790  ------------------------------------------------------------------  ------------------------------------------------------------------
7791          Bra          Bra
7792          ^          ^
         Once  
7793          Recurse          Recurse
         Ket  
7794          ()          ()
7795          CBra 1          CBra 1
7796          Ket          Ket
# Line 7528  No match Line 7802  No match
7802  ------------------------------------------------------------------  ------------------------------------------------------------------
7803          Bra          Bra
7804          ^          ^
         Once  
7805          Recurse          Recurse
         Ket  
7806          [(\]a]          [(\]a]
7807          CBra 1          CBra 1
7808          Ket          Ket
# Line 7543  No match Line 7815  No match
7815  ------------------------------------------------------------------  ------------------------------------------------------------------
7816          Bra          Bra
7817          ^          ^
         Once  
7818          Recurse          Recurse
         Ket  
7819          CBra 1          CBra 1
7820          Ket          Ket
7821          Ket          Ket
# Line 7677  Options: extended Line 7947  Options: extended
7947  First char = 'x'  First char = 'x'
7948  Need char = 'z'  Need char = 'z'
7949    
 /(?(DEFINE) abc){3} xyz/x  
 Failed: repeating a DEFINE group is not allowed at offset 17  
   
7950  /(a|)*\d/  /(a|)*\d/
7951    \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa    \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
7952  No match  No match
# Line 7997  No match Line 8264  No match
8264          Alt          Alt
8265          c          c
8266          Ket          Ket
         Once  
8267          Recurse          Recurse
8268          Ket          Ket
         Ket  
8269          End          End
8270  ------------------------------------------------------------------  ------------------------------------------------------------------
8271      abc      abc
# Line 8011  No match Line 8276  No match
8276  ------------------------------------------------------------------  ------------------------------------------------------------------
8277          Bra          Bra
8278          xy          xy
         Once  
8279          Recurse          Recurse
         Ket  
8280          CBra 1          CBra 1
8281          abc          abc
8282          Ket          Ket
# Line 8494  No match Line 8757  No match
8757  ------------------------------------------------------------------  ------------------------------------------------------------------
8758    
8759  /\( (?: [^()]* | (?R) )* \)/x  /\( (?: [^()]* | (?R) )* \)/x
8760  (0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(00)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)  \J1024(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(00)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)
8761   0: (0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(00)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)   0: (0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(00)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)
8762    
8763  /[\E]AAA/  /[\E]AAA/
# Line 8667  No match Line 8930  No match
8930  +13   ^  ^      (*FAIL)  +13   ^  ^      (*FAIL)
8931  No match  No match
8932    
 /a(*PRUNE:XXX)b/  
 Failed: (*VERB) with an argument is not supported at offset 8  
   
8933  /a(*MARK)b/  /a(*MARK)b/
8934  Failed: (*VERB) not recognized at offset 7  Failed: (*MARK) must have an argument at offset 7
8935    
8936  /(?i:A{1,}\6666666666)/  /(?i:A{1,}\6666666666)/
8937  Failed: number is too big at offset 19  Failed: number is too big at offset 19
# Line 8679  Failed: number is too big at offset 19 Line 8939  Failed: number is too big at offset 19
8939  /\g6666666666/  /\g6666666666/
8940  Failed: number is too big at offset 11  Failed: number is too big at offset 11
8941    
8942  /[\g6666666666]/  /[\g6666666666]/BZ
8943  Failed: number is too big at offset 12  ------------------------------------------------------------------
8944            Bra
8945            [6g]
8946            Ket
8947            End
8948    ------------------------------------------------------------------
8949    
8950  /(?1)\c[/  /(?1)\c[/
8951  Failed: reference to non-existent subpattern at offset 3  Failed: reference to non-existent subpattern at offset 3
# Line 8760  No match Line 9025  No match
9025  No match  No match
9026      a\x85b      a\x85b
9027  No match  No match
9028    
9029    /(*ANY).*/g
9030        abc\r\ndef
9031     0: abc
9032     0:
9033     0: def
9034     0:
9035    
9036    /(*ANYCRLF).*/g
9037        abc\r\ndef
9038     0: abc
9039     0:
9040     0: def
9041     0:
9042    
9043    /(*CRLF).*/g
9044        abc\r\ndef
9045     0: abc
9046     0:
9047     0: def
9048     0:
9049    
9050  /a\Rb/I<bsr_anycrlf>  /a\Rb/I<bsr_anycrlf>
9051  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 8965  Failed: subpattern name expected at offs Line 9251  Failed: subpattern name expected at offs
9251  /\k{}/  /\k{}/
9252  Failed: subpattern name expected at offset 3  Failed: subpattern name expected at offset 3
9253    
9254    /\k/
9255    Failed: \k is not followed by a braced, angle-bracketed, or quoted name at offset 2
9256    
9257    /\kabc/
9258    Failed: \k is not followed by a braced, angle-bracketed, or quoted name at offset 5
9259    
9260  /(?P=)/  /(?P=)/
9261  Failed: subpattern name expected at offset 4  Failed: subpattern name expected at offset 4
9262    
# Line 9246  No match Line 9538  No match
9538   +0        ^     x   +0        ^     x
9539   +0         ^    x   +0         ^    x
9540  No match  No match
9541    
9542    /(*NO_START_OPT)xyz/C
9543      abcxyz
9544    --->abcxyz
9545    +15 ^          x
9546    +15  ^         x
9547    +15   ^        x
9548    +15    ^       x
9549    +16    ^^      y
9550    +17    ^ ^     z
9551    +18    ^  ^
9552     0: xyz
9553    
9554    /xyz/CY
9555      abcxyz
9556    --->abcxyz
9557     +0 ^          x
9558     +0  ^         x
9559     +0   ^        x
9560     +0    ^       x
9561     +1    ^^      y
9562     +2    ^ ^     z
9563     +3    ^  ^
9564     0: xyz
9565    
9566  /^"((?(?=[a])[^"])|b)*"$/C  /^"((?(?=[a])[^"])|b)*"$/C
9567      "ab"      "ab"
# Line 9599  Partial match: +ab Line 9915  Partial match: +ab
9915  /(?&word)(?&element)(?(DEFINE)(?<element><[^m][^>]>[^<])(?<word>\w*+))/BZ  /(?&word)(?&element)(?(DEFINE)(?<element><[^m][^>]>[^<])(?<word>\w*+))/BZ
9916  ------------------------------------------------------------------  ------------------------------------------------------------------
9917          Bra          Bra
         Once  
9918          Recurse          Recurse
         Ket  
         Once  
9919          Recurse          Recurse
         Ket  
9920          Cond          Cond
9921          Cond def          Cond def
9922          CBra 1          CBra 1
# Line 9625  Partial match: +ab Line 9937  Partial match: +ab
9937  /(?&word)(?&element)(?(DEFINE)(?<element><[^\d][^>]>[^<])(?<word>\w*+))/BZ  /(?&word)(?&element)(?(DEFINE)(?<element><[^\d][^>]>[^<])(?<word>\w*+))/BZ
9938  ------------------------------------------------------------------  ------------------------------------------------------------------
9939          Bra          Bra
         Once  
9940          Recurse          Recurse
         Ket  
         Once  
9941          Recurse          Recurse
         Ket  
9942          Cond          Cond
9943          Cond def          Cond def
9944          CBra 1          CBra 1
# Line 10371  No match Line 10679  No match
10679          Cond nrecurse 1          Cond nrecurse 1
10680          $          $
10681          Alt          Alt
         Once  
10682          Recurse          Recurse
10683          Ket          Ket
10684          Ket          Ket
10685          Ket          Ket
         Ket  
10686          End          End
10687  ------------------------------------------------------------------  ------------------------------------------------------------------
10688  Capturing subpattern count = 4  Capturing subpattern count = 4
# Line 10432  Partial match: abca Line 10738  Partial match: abca
10738      xxxxabcde\P\P      xxxxabcde\P\P
10739  Partial match: abcde  Partial match: abcde
10740    
10741  /-- This is not in the Perl 5.10 test because Perl seems currently to be broken  /-- This is not in the Perl >= 5.10 test because Perl seems currently to be
10742      and not behaving as specified in that it *does* bumpalong after hitting      broken and not behaving as specified in that it *does* bumpalong after
10743      (*COMMIT). --/      hitting (*COMMIT). --/
10744    
10745  /(?1)(A(*COMMIT)|B)D/  /(?1)(A(*COMMIT)|B)D/
10746      ABD      ABD
# Line 10514  Starting byte set: i Line 10820  Starting byte set: i
10820  /(?i)a(?-i)b|c/BZ  /(?i)a(?-i)b|c/BZ
10821  ------------------------------------------------------------------  ------------------------------------------------------------------
10822          Bra          Bra
10823       NC a       /i a
      00 Opt  
10824          b          b
10825          Alt          Alt
      00 Opt  
10826          c          c
10827          Ket          Ket
10828          End          End
# Line 10537  No match Line 10841  No match
10841  /(?i)a(?s)b|c/BZ  /(?i)a(?s)b|c/BZ
10842  ------------------------------------------------------------------  ------------------------------------------------------------------
10843          Bra          Bra
10844       NC a       /i ab
      05 Opt  
      NC b  
10845          Alt          Alt
10846       05 Opt       /i c
      NC c  
10847          Ket          Ket
10848          End          End
10849  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 10550  No match Line 10851  No match
10851  /(?i)a(?s-i)b|c/BZ  /(?i)a(?s-i)b|c/BZ
10852  ------------------------------------------------------------------  ------------------------------------------------------------------
10853          Bra          Bra
10854       NC a       /i a
      04 Opt  
10855          b          b
10856          Alt          Alt
      04 Opt  
10857          c          c
10858          Ket          Ket
10859          End          End
# Line 10601  No match Line 10900  No match
10900  ------------------------------------------------------------------  ------------------------------------------------------------------
10901          Bra          Bra
10902          ^          ^
10903          Once          Braposzero
10904          Brazero          SBraPos
         Once  
10905          Recurse          Recurse
10906          KetRmax          KetRpos
         Ket  
10907          Cond          Cond
10908          Cond def          Cond def
10909          CBra 1          CBra 1
# Line 10637  No match Line 10934  No match
10934          End          End
10935  ------------------------------------------------------------------  ------------------------------------------------------------------
10936    
10937  / -- The first four of these are not in the Perl 5.10 test because Perl  / -- The first four of these are not in the Perl >= 5.10 test because Perl
10938       documents that the use of \K in assertions is "not well defined". The       documents that the use of \K in assertions is "not well defined". The
10939       last is here because Perl gives the match as "b" rather than "ab". I       last is here because Perl gives the match as "b" rather than "ab". I
10940       believe this to be a Perl bug. --/       believe this to be a Perl bug. --/
# Line 10665  No match Line 10962  No match
10962    
10963  /----------------------/  /----------------------/
10964    
10965    /(?P<L1>(?P<L2>0|)|(?P>L2)(?P>L1))/
10966    Failed: recursive call could loop indefinitely at offset 31
10967    
10968    /abc(*MARK:)pqr/
10969    Failed: (*MARK) must have an argument at offset 10
10970    
10971    /abc(*:)pqr/
10972    Failed: (*MARK) must have an argument at offset 6
10973    
10974    /abc(*FAIL:123)xyz/
10975    Failed: an argument is not allowed for (*ACCEPT), (*FAIL), or (*COMMIT) at offset 13
10976    
10977    /--- This should, and does, fail. In Perl, it does not, which I think is a
10978         bug because replacing the B in the pattern by (B|D) does make it fail. ---/
10979    
10980    /A(*COMMIT)B/+K
10981        ACABX
10982    No match
10983    
10984    /--- These should be different, but in Perl 5.11 are not, which I think
10985         is a bug in Perl. ---/
10986    
10987    /A(*THEN)B|A(*THEN)C/K
10988        AC
10989     0: AC
10990    
10991    /A(*PRUNE)B|A(*PRUNE)C/K
10992        AC
10993    No match
10994    
10995    /--- This should fail; the SKIP advances by one, but when we get to AC, the
10996         PRUNE kills it. Perl behaves differently. ---/
10997    
10998    /A(*PRUNE:A)A+(*SKIP:A)(B|Z) | AC/xK
10999        AAAC
11000    No match, mark = A
11001    
11002    /--- Mark names can be duplicated. Perl doesn't give a mark for this one,
11003    though PCRE does. ---/
11004    
11005    /^A(*:A)B|^X(*:A)Y/K
11006        ** Failers
11007    No match
11008        XAQQ
11009    No match, mark = A
11010    
11011    /--- COMMIT at the start of a pattern should be the same as an anchor. Perl
11012    optimizations defeat this. So does the PCRE optimization unless we disable it
11013    with \Y. ---/
11014    
11015    /(*COMMIT)ABC/
11016        ABCDEFG
11017     0: ABC
11018        ** Failers
11019    No match
11020        DEFGABC\Y
11021    No match
11022    
11023    /^(ab (c+(*THEN)cd) | xyz)/x
11024        abcccd
11025    No match
11026    
11027    /^(ab (c+(*PRUNE)cd) | xyz)/x
11028        abcccd
11029    No match
11030    
11031    /^(ab (c+(*FAIL)cd) | xyz)/x
11032        abcccd
11033    No match
11034    
11035    /--- Perl 5.11 gets some of these wrong ---/
11036    
11037    /(?>.(*ACCEPT))*?5/
11038        abcde
11039     0: a
11040    
11041    /(.(*ACCEPT))*?5/
11042        abcde
11043     0: a
11044     1: a
11045    
11046    /(.(*ACCEPT))5/
11047        abcde
11048     0: a
11049     1: a
11050    
11051    /(.(*ACCEPT))*5/
11052        abcde
11053     0: a
11054     1: a
11055    
11056    /A\NB./BZ
11057    ------------------------------------------------------------------
11058            Bra
11059            A
11060            Any
11061            B
11062            Any
11063            Ket
11064            End
11065    ------------------------------------------------------------------
11066        ACBD
11067     0: ACBD
11068        *** Failers
11069    No match
11070        A\nB
11071    No match
11072        ACB\n
11073    No match
11074    
11075    /A\NB./sBZ
11076    ------------------------------------------------------------------
11077            Bra
11078            A
11079            Any
11080            B
11081            AllAny
11082            Ket
11083            End
11084    ------------------------------------------------------------------
11085        ACBD
11086     0: ACBD
11087        ACB\n
11088     0: ACB\x0a
11089        *** Failers
11090    No match
11091        A\nB
11092    No match
11093    
11094    /A\NB/<crlf>
11095        A\nB
11096     0: A\x0aB
11097        A\rB
11098     0: A\x0dB
11099        ** Failers
11100    No match
11101        A\r\nB
11102    No match
11103    
11104    /\R+b/BZ
11105    ------------------------------------------------------------------
11106            Bra
11107            \R++
11108            b
11109            Ket
11110            End
11111    ------------------------------------------------------------------
11112    
11113    /\R+\n/BZ
11114    ------------------------------------------------------------------
11115            Bra
11116            \R+
11117            \x0a
11118            Ket
11119            End
11120    ------------------------------------------------------------------
11121    
11122    /\R+\d/BZ
11123    ------------------------------------------------------------------
11124            Bra
11125            \R++
11126            \d
11127            Ket
11128            End
11129    ------------------------------------------------------------------
11130    
11131    /\d*\R/BZ
11132    ------------------------------------------------------------------
11133            Bra
11134            \d*+
11135            \R
11136            Ket
11137            End
11138    ------------------------------------------------------------------
11139    
11140    /\s*\R/BZ
11141    ------------------------------------------------------------------
11142            Bra
11143            \s*+
11144            \R
11145            Ket
11146            End
11147    ------------------------------------------------------------------
11148    
11149    /-- Perl treats this one differently, not failing the second string. I believe
11150        that is a bug in Perl. --/
11151    
11152    /^((abc|abcx)(*THEN)y|abcd)/
11153        abcd
11154     0: abcd
11155     1: abcd
11156        *** Failers
11157    No match
11158        abcxy
11159    No match
11160    
11161    /(?<=abc)def/
11162        abc\P\P
11163    Partial match: abc
11164    
11165    /abc$/
11166        abc
11167     0: abc
11168        abc\P
11169     0: abc
11170        abc\P\P
11171    Partial match: abc
11172    
11173    /abc$/m
11174        abc
11175     0: abc
11176        abc\n
11177     0: abc
11178        abc\P\P
11179    Partial match: abc
11180        abc\n\P\P
11181     0: abc
11182        abc\P
11183     0: abc
11184        abc\n\P
11185     0: abc
11186    
11187    /abc\z/
11188        abc
11189     0: abc
11190        abc\P
11191     0: abc
11192        abc\P\P
11193    Partial match: abc
11194    
11195    /abc\Z/
11196        abc
11197     0: abc
11198        abc\P
11199     0: abc
11200        abc\P\P
11201    Partial match: abc
11202    
11203    /abc\b/
11204        abc
11205     0: abc
11206        abc\P
11207     0: abc
11208        abc\P\P
11209    Partial match: abc
11210    
11211    /abc\B/
11212        abc
11213    No match
11214        abc\P
11215    Partial match: abc
11216        abc\P\P
11217    Partial match: abc
11218    
11219    /.+/
11220        abc\>0
11221     0: abc
11222        abc\>1
11223     0: bc
11224        abc\>2
11225     0: c
11226        abc\>3
11227    No match
11228        abc\>4
11229    Error -24 (bad offset value)
11230        abc\>-4
11231    Error -24 (bad offset value)
11232    
11233    /^\cģ/
11234    Failed: \c must be followed by an ASCII character at offset 3
11235    
11236    /(?P<abn>(?P=abn)xxx)/BZ
11237    ------------------------------------------------------------------
11238            Bra
11239            Once
11240            CBra 1
11241            \1
11242            xxx
11243            Ket
11244            Ket
11245            Ket
11246            End
11247    ------------------------------------------------------------------
11248    
11249    /(a\1z)/BZ
11250    ------------------------------------------------------------------
11251            Bra
11252            Once
11253            CBra 1
11254            a
11255            \1
11256            z
11257            Ket
11258            Ket
11259            Ket
11260            End
11261    ------------------------------------------------------------------
11262    
11263    /(?P<abn>(?P=abn)(?<badstufxxx)/BZ
11264    Failed: syntax error in subpattern name (missing terminator) at offset 29
11265    
11266    /(?P<abn>(?P=axn)xxx)/BZ
11267    Failed: reference to non-existent subpattern at offset 15
11268    
11269    /(?P<abn>(?P=axn)xxx)(?<axn>yy)/BZ
11270    ------------------------------------------------------------------
11271            Bra
11272            CBra 1
11273            \2
11274            xxx
11275            Ket
11276            CBra 2
11277            yy
11278            Ket
11279            Ket
11280            End
11281    ------------------------------------------------------------------
11282    
11283    /-- These tests are here because Perl gets the first one wrong. --/
11284    
11285    /(\R*)(.)/s
11286        \r\n
11287     0: \x0d
11288     1:
11289     2: \x0d
11290        \r\r\n\n\r
11291     0: \x0d\x0d\x0a\x0a\x0d
11292     1: \x0d\x0d\x0a\x0a
11293     2: \x0d
11294        \r\r\n\n\r\n
11295     0: \x0d\x0d\x0a\x0a\x0d
11296     1: \x0d\x0d\x0a\x0a
11297     2: \x0d
11298    
11299    /(\R)*(.)/s
11300        \r\n
11301     0: \x0d
11302     1: <unset>
11303     2: \x0d
11304        \r\r\n\n\r
11305     0: \x0d\x0d\x0a\x0a\x0d
11306     1: \x0a
11307     2: \x0d
11308        \r\r\n\n\r\n
11309     0: \x0d\x0d\x0a\x0a\x0d
11310     1: \x0a
11311     2: \x0d
11312    
11313    /((?>\r\n|\n|\x0b|\f|\r|\x85)*)(.)/s
11314        \r\n
11315     0: \x0d
11316     1:
11317     2: \x0d
11318        \r\r\n\n\r
11319     0: \x0d\x0d\x0a\x0a\x0d
11320     1: \x0d\x0d\x0a\x0a
11321     2: \x0d
11322        \r\r\n\n\r\n
11323     0: \x0d\x0d\x0a\x0a\x0d
11324     1: \x0d\x0d\x0a\x0a
11325     2: \x0d
11326    
11327    /-- --/
11328    
11329    /^abc$/BZ
11330    ------------------------------------------------------------------
11331            Bra
11332            ^
11333            abc
11334            $
11335            Ket
11336            End
11337    ------------------------------------------------------------------
11338    
11339    /^abc$/BZm
11340    ------------------------------------------------------------------
11341            Bra
11342         /m ^
11343            abc
11344         /m $
11345            Ket
11346            End
11347    ------------------------------------------------------------------
11348    
11349    /^(a)*+(\w)/S
11350        aaaaX
11351     0: aaaaX
11352     1: a
11353     2: X
11354        ** Failers
11355    No match
11356        aaaa
11357    No match
11358    
11359    /^(?:a)*+(\w)/S
11360        aaaaX
11361     0: aaaaX
11362     1: X
11363        ** Failers
11364    No match
11365        aaaa
11366    No match
11367    
11368    /(a)++1234/SDZ
11369    ------------------------------------------------------------------
11370            Bra
11371            CBraPos 1
11372            a
11373            KetRpos
11374            1234
11375            Ket
11376            End
11377    ------------------------------------------------------------------
11378    Capturing subpattern count = 1
11379    No options
11380    First char = 'a'
11381    Need char = '4'
11382    Subject length lower bound = 5
11383    No set of starting bytes
11384    
11385    /([abc])++1234/SI
11386    Capturing subpattern count = 1
11387    No options
11388    No first char
11389    Need char = '4'
11390    Subject length lower bound = 5
11391    Starting byte set: a b c
11392    
11393    /(?<=(abc)+)X/
11394    Failed: lookbehind assertion is not fixed length at offset 10
11395    
11396    /(^ab)/I
11397    Capturing subpattern count = 1
11398    Options: anchored
11399    No first char
11400    No need char
11401    
11402    /(^ab)++/I
11403    Capturing subpattern count = 1
11404    Options: anchored
11405    No first char
11406    No need char
11407    
11408    /(^ab|^)+/I
11409    Capturing subpattern count = 1
11410    Options: anchored
11411    No first char
11412    No need char
11413    
11414    /(^ab|^)++/I
11415    Capturing subpattern count = 1
11416    Options: anchored
11417    No first char
11418    No need char
11419    
11420    /(?:^ab)/I
11421    Capturing subpattern count = 0
11422    Options: anchored
11423    No first char
11424    No need char
11425    
11426    /(?:^ab)++/I
11427    Capturing subpattern count = 0
11428    Options: anchored
11429    No first char
11430    No need char
11431    
11432    /(?:^ab|^)+/I
11433    Capturing subpattern count = 0
11434    Options: anchored
11435    No first char
11436    No need char
11437    
11438    /(?:^ab|^)++/I
11439    Capturing subpattern count = 0
11440    Options: anchored
11441    No first char
11442    No need char
11443    
11444    /(.*ab)/I
11445    Capturing subpattern count = 1
11446    No options
11447    First char at start or follows newline
11448    Need char = 'b'
11449    
11450    /(.*ab)++/I
11451    Capturing subpattern count = 1
11452    No options
11453    First char at start or follows newline
11454    Need char = 'b'
11455    
11456    /(.*ab|.*)+/I
11457    Capturing subpattern count = 1
11458    No options
11459    First char at start or follows newline
11460    No need char
11461    
11462    /(.*ab|.*)++/I
11463    Capturing subpattern count = 1
11464    No options
11465    First char at start or follows newline
11466    No need char
11467    
11468    /(?:.*ab)/I
11469    Capturing subpattern count = 0
11470    No options
11471    First char at start or follows newline
11472    Need char = 'b'
11473    
11474    /(?:.*ab)++/I
11475    Capturing subpattern count = 0
11476    No options
11477    First char at start or follows newline
11478    Need char = 'b'
11479    
11480    /(?:.*ab|.*)+/I
11481    Capturing subpattern count = 0
11482    No options
11483    First char at start or follows newline
11484    No need char
11485    
11486    /(?:.*ab|.*)++/I
11487    Capturing subpattern count = 0
11488    No options
11489    First char at start or follows newline
11490    No need char
11491    
11492    /(?=a)[bcd]/I
11493    Capturing subpattern count = 0
11494    No options
11495    First char = 'a'
11496    No need char
11497    
11498    /((?=a))[bcd]/I
11499    Capturing subpattern count = 1
11500    No options
11501    First char = 'a'
11502    No need char
11503    
11504    /((?=a))+[bcd]/I
11505    Capturing subpattern count = 1
11506    No options
11507    First char = 'a'
11508    No need char
11509    
11510    /((?=a))++[bcd]/I
11511    Capturing subpattern count = 1
11512    No options
11513    First char = 'a'
11514    No need char
11515    
11516    /(?=a+)[bcd]/iI
11517    Capturing subpattern count = 0
11518    Options: caseless
11519    First char = 'a' (caseless)
11520    No need char
11521    
11522    /(?=a+?)[bcd]/iI
11523    Capturing subpattern count = 0
11524    Options: caseless
11525    First char = 'a' (caseless)
11526    No need char
11527    
11528    /(?=a++)[bcd]/iI
11529    Capturing subpattern count = 0
11530    Options: caseless
11531    First char = 'a' (caseless)
11532    No need char
11533    
11534    /(?=a{3})[bcd]/iI
11535    Capturing subpattern count = 0
11536    Options: caseless
11537    First char = 'a' (caseless)
11538    Need char = 'a' (caseless)
11539    
11540    /(abc)\1+/S
11541    
11542    /-- Perl doesn't get these right IMO (the 3rd is PCRE-specific) --/
11543    
11544    /(?1)(?:(b(*ACCEPT))){0}/
11545        b
11546     0: b
11547    
11548    /(?1)(?:(b(*ACCEPT))){0}c/
11549        bc
11550     0: bc
11551        ** Failers
11552    No match
11553        b
11554    No match
11555    
11556    /(?1)(?:((*ACCEPT))){0}c/
11557        c
11558     0: c
11559        c\N
11560     0: c
11561    
11562    /^.*?(?(?=a)a|b(*THEN)c)/
11563        ba
11564    No match
11565    
11566    /^.*?(?(?=a)a|bc)/
11567        ba
11568     0: ba
11569    
11570    /^.*?(?(?=a)a(*THEN)b|c)/
11571        ac
11572    No match
11573    
11574    /^.*?(?(?=a)a(*THEN)b)c/
11575        ac
11576    No match
11577    
11578    /^.*?(a(*THEN)b)c/
11579        aabc
11580    No match
11581    
11582    /^.*? (?1) c (?(DEFINE)(a(*THEN)b))/x
11583        aabc
11584     0: aabc
11585    
11586    /^.*?(a(*THEN)b|z)c/
11587        aabc
11588     0: aabc
11589     1: ab
11590    
11591    /^.*?(z|a(*THEN)b)c/
11592        aabc
11593     0: aabc
11594     1: ab
11595    
11596    /-- --/
11597    
11598    /-- These studied versions are here because they are not Perl-compatible; the
11599        studying means the mark is not seen. --/
11600    
11601    /(*MARK:A)(*SKIP:B)(C|X)/KS
11602        C
11603     0: C
11604     1: C
11605    MK: A
11606        D
11607    No match, mark = A
11608    
11609    /(*:A)A+(*SKIP:A)(B|Z)/KS
11610        AAAC
11611    No match, mark = A
11612    
11613    /-- --/
11614    
11615    "(?=a*(*ACCEPT)b)c"
11616        c
11617     0: c
11618        c\N
11619     0: c
11620    
11621    /(?1)c(?(DEFINE)((*ACCEPT)b))/
11622        c
11623     0: c
11624        c\N
11625     0: c
11626    
11627    /(?>(*ACCEPT)b)c/
11628        c
11629     0:
11630        c\N
11631    No match
11632    
11633    /(?:(?>(a)))+a%/++
11634        %aa%
11635     0: aa%
11636     0+
11637     1: a
11638     1+ a%
11639    
11640    /(a)b|ac/++SS
11641        ac\O3
11642    Matched, but too many substrings
11643     0: ac
11644     0+
11645    
11646    /(a)(b)x|abc/++
11647         abc\O6
11648     0: abc
11649     0+
11650    
11651    /(a)bc|(a)(b)\2/
11652        \O3abc
11653    Matched, but too many substrings
11654     0: abc
11655        \O4abc
11656    Matched, but too many substrings
11657     0: abc
11658    
11659    /(?(DEFINE)(a(?2)|b)(b(?1)|a))(?:(?1)|(?2))/SI
11660    Capturing subpattern count = 2
11661    No options
11662    No first char
11663    No need char
11664    Subject length lower bound = 1
11665    No set of starting bytes
11666    
11667    /(a(?2)|b)(b(?1)|a)(?:(?1)|(?2))/SI
11668    Capturing subpattern count = 2
11669    No options
11670    No first char
11671    No need char
11672    Subject length lower bound = 3
11673    Starting byte set: a b
11674    
11675    /(a(?2)|b)(b(?1)|a)(?1)(?2)/SI
11676    Capturing subpattern count = 2
11677    No options
11678    No first char
11679    No need char
11680    Subject length lower bound = 4
11681    Starting byte set: a b
11682    
11683    /(abc)(?1)/SI
11684    Capturing subpattern count = 1
11685    No options
11686    First char = 'a'
11687    Need char = 'c'
11688    Subject length lower bound = 6
11689    No set of starting bytes
11690    
11691    /^(?>a)++/
11692        aa\M
11693    Minimum match() limit = 5
11694    Minimum match() recursion limit = 2
11695     0: aa
11696        aaaaaaaaa\M
11697    Minimum match() limit = 12
11698    Minimum match() recursion limit = 2
11699     0: aaaaaaaaa
11700    
11701    /(a)(?1)++/
11702        aa\M
11703    Minimum match() limit = 7
11704    Minimum match() recursion limit = 4
11705     0: aa
11706     1: a
11707        aaaaaaaaa\M
11708    Minimum match() limit = 21
11709    Minimum match() recursion limit = 4
11710     0: aaaaaaaaa
11711     1: a
11712    
11713    /(?:(foo)|(bar)|(baz))X/SS=
11714        bazfooX
11715     0: fooX
11716     1: foo
11717     2: <unset>
11718     3: <unset>
11719        foobazbarX
11720     0: barX
11721     1: <unset>
11722     2: bar
11723     3: <unset>
11724        barfooX
11725     0: fooX
11726     1: foo
11727     2: <unset>
11728     3: <unset>
11729        bazX
11730     0: bazX
11731     1: <unset>
11732     2: <unset>
11733     3: baz
11734        foobarbazX
11735     0: bazX
11736     1: <unset>
11737     2: <unset>
11738     3: baz
11739        bazfooX\O0
11740    Matched, but too many substrings
11741        bazfooX\O2
11742    Matched, but too many substrings
11743     0: fooX
11744        bazfooX\O4
11745    Matched, but too many substrings
11746     0: fooX
11747     1: <unset>
11748        bazfooX\O6
11749    Matched, but too many substrings
11750     0: fooX
11751     1: foo
11752     2: <unset>
11753        bazfooX\O8
11754    Matched, but too many substrings
11755     0: fooX
11756     1: foo
11757     2: <unset>
11758     3: <unset>
11759        bazfooX\O10
11760     0: fooX
11761     1: foo
11762     2: <unset>
11763     3: <unset>
11764    
11765    /(?=abc){3}abc/BZ
11766    ------------------------------------------------------------------
11767            Bra
11768            Assert
11769            abc
11770            Ket
11771            abc
11772            Ket
11773            End
11774    ------------------------------------------------------------------
11775    
11776    /(?=abc)+abc/BZ
11777    ------------------------------------------------------------------
11778            Bra
11779            Assert
11780            abc
11781            Ket
11782            abc
11783            Ket
11784            End
11785    ------------------------------------------------------------------
11786    
11787    /(?=abc)++abc/BZ
11788    ------------------------------------------------------------------
11789            Bra
11790            Assert
11791            abc
11792            Ket
11793            abc
11794            Ket
11795            End
11796    ------------------------------------------------------------------
11797    
11798    /(?=abc){0}xyz/BZ
11799    ------------------------------------------------------------------
11800            Bra
11801            Skip zero
11802            Assert
11803            abc
11804            Ket
11805            xyz
11806            Ket
11807            End
11808    ------------------------------------------------------------------
11809    
11810    /(?=(a))?./BZ
11811    ------------------------------------------------------------------
11812            Bra
11813            Brazero
11814            Assert
11815            CBra 1
11816            a
11817            Ket
11818            Ket
11819            Any
11820            Ket
11821            End
11822    ------------------------------------------------------------------
11823    
11824    /(?=(a))??./BZ
11825    ------------------------------------------------------------------
11826            Bra
11827            Braminzero
11828            Assert
11829            CBra 1
11830            a
11831            Ket
11832            Ket
11833            Any
11834            Ket
11835            End
11836    ------------------------------------------------------------------
11837    
11838    /^(?=(a)){0}b(?1)/BZ
11839    ------------------------------------------------------------------
11840            Bra
11841            ^
11842            Skip zero
11843            Assert
11844            CBra 1
11845            a
11846            Ket
11847            Ket
11848            b
11849            Recurse
11850            Ket
11851            End
11852    ------------------------------------------------------------------
11853    
11854    /(?(DEFINE)(a))?b(?1)/BZ
11855    ------------------------------------------------------------------
11856            Bra
11857            Cond
11858            Cond def
11859            CBra 1
11860            a
11861            Ket
11862            Ket
11863            b
11864            Recurse
11865            Ket
11866            End
11867    ------------------------------------------------------------------
11868    
11869    /^(?=(?1))?[az]([abc])d/BZ
11870    ------------------------------------------------------------------
11871            Bra
11872            ^
11873            Brazero
11874            Assert
11875            Recurse
11876            Ket
11877            [az]
11878            CBra 1
11879            [a-c]
11880            Ket
11881            d
11882            Ket
11883            End
11884    ------------------------------------------------------------------
11885    
11886    /^(?!a){0}\w+/BZ
11887    ------------------------------------------------------------------
11888            Bra
11889            ^
11890            Skip zero
11891            Assert not
11892            a
11893            Ket
11894            \w+
11895            Ket
11896            End
11897    ------------------------------------------------------------------
11898    
11899    /(?<=(abc))?xyz/BZ
11900    ------------------------------------------------------------------
11901            Bra
11902            Brazero
11903            AssertB
11904            Reverse
11905            CBra 1
11906            abc
11907            Ket
11908            Ket
11909            xyz
11910            Ket
11911            End
11912    ------------------------------------------------------------------
11913    
11914    /[:a[:abc]b:]/BZ
11915    ------------------------------------------------------------------
11916            Bra
11917            [:[a-c]
11918            b:]
11919            Ket
11920            End
11921    ------------------------------------------------------------------
11922    
11923    /((?2))((?1))/SS
11924        abc
11925    Error -26 (nested recursion at the same subject position)
11926    
11927    /((?(R2)a+|(?1)b))/SS
11928        aaaabcde
11929    Error -26 (nested recursion at the same subject position)
11930    
11931    /(?(R)a*(?1)|((?R))b)/SS
11932        aaaabcde
11933    Error -26 (nested recursion at the same subject position)
11934    
11935    /(a+|(?R)b)/
11936    Failed: recursive call could loop indefinitely at offset 7
11937    
11938    /^(a(*:A)(d|e(*:B))z|aeq)/C
11939        adz
11940    --->adz
11941     +0 ^       ^
11942     +1 ^       (a(*:A)(d|e(*:B))z|aeq)
11943     +2 ^       a
11944     +3 ^^      (*:A)
11945     +8 ^^      (d|e(*:B))
11946    Latest Mark: A
11947     +9 ^^      d
11948    +10 ^ ^     |
11949    +18 ^ ^     z
11950    +19 ^  ^    |
11951    +24 ^  ^
11952     0: adz
11953     1: adz
11954     2: d
11955        aez
11956    --->aez
11957     +0 ^       ^
11958     +1 ^       (a(*:A)(d|e(*:B))z|aeq)
11959     +2 ^       a
11960     +3 ^^      (*:A)
11961     +8 ^^      (d|e(*:B))
11962    Latest Mark: A
11963     +9 ^^      d
11964    +11 ^^      e
11965    +12 ^ ^     (*:B)
11966    +17 ^ ^     )
11967    Latest Mark: B
11968    +18 ^ ^     z
11969    +19 ^  ^    |
11970    +24 ^  ^
11971     0: aez
11972     1: aez
11973     2: e
11974        aeqwerty
11975    --->aeqwerty
11976     +0 ^            ^
11977     +1 ^            (a(*:A)(d|e(*:B))z|aeq)
11978     +2 ^            a
11979     +3 ^^           (*:A)
11980     +8 ^^           (d|e(*:B))
11981    Latest Mark: A
11982     +9 ^^           d
11983    +11 ^^           e
11984    +12 ^ ^          (*:B)
11985    +17 ^ ^          )
11986    Latest Mark: B
11987    +18 ^ ^          z
11988    +20 ^            a
11989    +21 ^^           e
11990    +22 ^ ^          q
11991    +23 ^  ^         )
11992    +24 ^  ^
11993     0: aeq
11994     1: aeq
11995    
11996    /.(*F)/
11997        \P\Pabc
11998    No match
11999    
12000    /\btype\b\W*?\btext\b\W*?\bjavascript\b/IS
12001    Capturing subpattern count = 0
12002    No options
12003    First char = 't'
12004    Need char = 't'
12005    Subject length lower bound = 18
12006    No set of starting bytes
12007    
12008    /\btype\b\W*?\btext\b\W*?\bjavascript\b|\burl\b\W*?\bshell:|<input\b.*?\btype\b\W*?\bimage\b|\bonkeyup\b\W*?\=/IS
12009    Capturing subpattern count = 0
12010    No options
12011    No first char
12012    No need char
12013    Subject length lower bound = 8
12014    Starting byte set: < o t u
12015    
12016    /a(*SKIP)c|b(*ACCEPT)|/+SI
12017    Capturing subpattern count = 0
12018    No options
12019    No first char
12020    No need char
12021    Study returned NULL
12022        a
12023     0:
12024     0+
12025    
12026    /a(*SKIP)c|b(*ACCEPT)cd(*ACCEPT)|x/SI
12027    Capturing subpattern count = 0
12028    No options
12029    No first char
12030    No need char
12031    Subject length lower bound = -1
12032    Starting byte set: a b x
12033        ax
12034     0: x
12035    
12036    'a*(*ACCEPT)b'+
12037        \N\N
12038    No match
12039        abc\N\N
12040     0: a
12041     0+ bc
12042        bbb\N\N
12043     0:
12044     0+ bb
12045    
12046    /(*ACCEPT)a/+I
12047    Capturing subpattern count = 0
12048    No options
12049    No first char
12050    No need char
12051        bax
12052     0:
12053     0+ bax
12054    
12055    /z(*ACCEPT)a/+I
12056    Capturing subpattern count = 0
12057    No options
12058    First char = 'z'
12059    No need char
12060        baxzbx
12061     0: z
12062     0+ bx
12063    
12064    /a(?:.)*?a/ims
12065        \Mabbbbbbbbbbbbbbbbbbbbba
12066    Minimum match() limit = 65
12067    Minimum match() recursion limit = 2
12068     0: abbbbbbbbbbbbbbbbbbbbba
12069    
12070    /a(?:.(*THEN))*?a/ims
12071        \Mabbbbbbbbbbbbbbbbbbbbba
12072    Minimum match() limit = 86
12073    Minimum match() recursion limit = 45
12074     0: abbbbbbbbbbbbbbbbbbbbba
12075    
12076    /a(?:.(*THEN:ABC))*?a/ims
12077        \Mabbbbbbbbbbbbbbbbbbbbba
12078    Minimum match() limit = 86
12079    Minimum match() recursion limit = 45
12080     0: abbbbbbbbbbbbbbbbbbbbba
12081    
12082    /-- These tests are in agreement with development Perl 5.015, which has fixed
12083        some things, but they don't all work with 5.012, so they aren't in the
12084        Perl-compatible tests. Those after the first come from Perl's own test
12085        files. --/
12086    
12087    /^((yes|no)(*THEN)(*F))?/
12088      yes
12089    No match
12090    
12091    /(A (.*)   C? (*THEN)  | A D) (*FAIL)/x
12092    AbcdCBefgBhiBqz
12093    No match
12094    
12095    /(A (.*)   C? (*THEN)  | A D) z/x
12096    AbcdCBefgBhiBqz
12097    No match
12098    
12099    /(A (.*)   C? (*THEN)  | A D) \s* (*FAIL)/x
12100    AbcdCBefgBhiBqz
12101    No match
12102    
12103    /(A (.*)   C? (*THEN)  | A D) \s* z/x
12104    AbcdCBefgBhiBqz
12105    No match
12106    
12107    /(A (.*)   (?:C|) (*THEN)  | A D) (*FAIL)/x
12108    AbcdCBefgBhiBqz
12109    No match
12110    
12111    /(A (.*)   (?:C|) (*THEN)  | A D) z/x
12112    AbcdCBefgBhiBqz
12113    No match
12114    
12115    /(A (.*)   C{0,6} (*THEN)  | A D) (*FAIL)/x
12116    AbcdCBefgBhiBqz
12117    No match
12118    
12119    /(A (.*)   C{0,6} (*THEN)  | A D) z/x
12120    AbcdCBefgBhiBqz
12121    No match
12122    
12123    /(A (.*)   (CE){0,6} (*THEN)  | A D) (*FAIL)/x
12124    AbcdCEBefgBhiBqz
12125    No match
12126    
12127    /(A (.*)   (CE){0,6} (*THEN)  | A D) z/x
12128    AbcdCEBefgBhiBqz
12129    No match
12130    
12131    /(A (.*)   (CE*){0,6} (*THEN)  | A D) (*FAIL)/x
12132    AbcdCBefgBhiBqz
12133    No match
12134    
12135    /(A (.*)   (CE*){0,6} (*THEN)  | A D) z/x
12136    AbcdCBefgBhiBqz
12137    No match
12138    
12139    /-----------------------------------------------/
12140    
12141    /^(?>a+)(?>(z+))\w/BZ
12142    ------------------------------------------------------------------
12143            Bra
12144            ^
12145            Once_NC
12146            a+
12147            Ket
12148            Once
12149            CBra 1
12150            z+
12151            Ket
12152            Ket
12153            \w
12154            Ket
12155            End
12156    ------------------------------------------------------------------
12157        aaaazzzzb
12158     0: aaaazzzzb
12159     1: zzzz
12160        ** Failers
12161    No match
12162        aazz
12163    No match
12164    
12165    /(.)(\1|a(?2))/
12166        bab
12167     0: bab
12168     1: b
12169     2: ab
12170    
12171    /\1|(.)(?R)\1/
12172        cbbbc
12173     0: cbbbc
12174     1: c
12175    
12176    /(.)((?(1)c|a)|a(?2))/
12177        baa
12178    No match
12179    
12180    /(?P<abn>(?P=abn)xxx)/BZ
12181    ------------------------------------------------------------------
12182            Bra
12183            Once
12184            CBra 1
12185            \1
12186            xxx
12187            Ket
12188            Ket
12189            Ket
12190            End
12191    ------------------------------------------------------------------
12192    
12193    /(a\1z)/BZ
12194    ------------------------------------------------------------------
12195            Bra
12196            Once
12197            CBra 1
12198            a
12199            \1
12200            z
12201            Ket
12202            Ket
12203            Ket
12204            End
12205    ------------------------------------------------------------------
12206    
12207    /^(?>a+)(?>b+)(?>c+)(?>d+)(?>e+)/
12208         \Maabbccddee
12209    Minimum match() limit = 12
12210    Minimum match() recursion limit = 3
12211     0: aabbccddee
12212    
12213    /^(?>(a+))(?>(b+))(?>(c+))(?>(d+))(?>(e+))/
12214         \Maabbccddee
12215    Minimum match() limit = 22
12216    Minimum match() recursion limit = 21
12217     0: aabbccddee
12218     1: aa
12219     2: bb
12220     3: cc
12221     4: dd
12222     5: ee
12223    
12224    /^(?>(a+))(?>b+)(?>(c+))(?>d+)(?>(e+))/
12225         \Maabbccddee
12226    Minimum match() limit = 18
12227    Minimum match() recursion limit = 13
12228     0: aabbccddee
12229     1: aa
12230     2: cc
12231     3: ee
12232    
12233    /^a\x41z/<JS>
12234        aAz
12235     0: aAz
12236        *** Failers
12237    No match
12238        ax41z
12239    No match
12240    
12241    /^a[m\x41]z/<JS>
12242        aAz
12243     0: aAz
12244    
12245    /^a\x1z/<JS>
12246        ax1z
12247     0: ax1z
12248    
12249    /^a\u0041z/<JS>
12250        aAz
12251     0: aAz
12252        *** Failers
12253    No match
12254        au0041z
12255    No match
12256    
12257    /^a[m\u0041]z/<JS>
12258        aAz
12259     0: aAz
12260    
12261    /^a\u041z/<JS>
12262        au041z
12263     0: au041z
12264        *** Failers
12265    No match
12266        aAz
12267    No match
12268    
12269    /^a\U0041z/<JS>
12270        aU0041z
12271     0: aU0041z
12272        *** Failers
12273    No match
12274        aAz
12275    No match
12276    
12277    /(?(?=c)c|d)++Y/BZ
12278    ------------------------------------------------------------------
12279            Bra
12280            BraPos
12281            Cond
12282            Assert
12283            c
12284            Ket
12285            c
12286            Alt
12287            d
12288            Ket
12289            KetRpos
12290            Y
12291            Ket
12292            End
12293    ------------------------------------------------------------------
12294    
12295    /(?(?=c)c|d)*+Y/BZ
12296    ------------------------------------------------------------------
12297            Bra
12298            Braposzero
12299            BraPos
12300            Cond
12301            Assert
12302            c
12303            Ket
12304            c
12305            Alt
12306            d
12307            Ket
12308            KetRpos
12309            Y
12310            Ket
12311            End
12312    ------------------------------------------------------------------
12313    
12314    /a[\NB]c/
12315    Failed: \N is not supported in a class at offset 3
12316    
12317    /a[B-\Nc]/
12318    Failed: \N is not supported in a class at offset 5
12319    
12320    /(a)(?2){0,1999}?(b)/
12321    Failed: too many forward references at offset 15
12322    
12323    /(a)(?(DEFINE)(b))(?2){0,1999}?(?2)/
12324    
12325    /--- This test, with something more complicated than individual letters, causes
12326    different behaviour in Perl. Perhaps it disables some optimization; no tag is
12327    passed back for the failures, whereas in PCRE there is a tag. ---/
12328    
12329    /(A|P)(*:A)(B|P) | (X|P)(X|P)(*:B)(Y|P)/xK
12330        AABC
12331     0: AB
12332     1: A
12333     2: B
12334    MK: A
12335        XXYZ
12336     0: XXY
12337     1: <unset>
12338     2: <unset>
12339     3: X
12340     4: X
12341     5: Y
12342    MK: B
12343        ** Failers
12344    No match
12345        XAQQ
12346    No match, mark = A
12347        XAQQXZZ
12348    No match, mark = A
12349        AXQQQ
12350    No match, mark = A
12351        AXXQQQ
12352    No match, mark = B
12353    
12354    /-- Perl doesn't give marks for these, though it does if the alternatives are
12355    replaced by single letters. --/
12356    
12357    /(b|q)(*:m)f|a(*:n)w/K
12358        aw
12359     0: aw
12360    MK: n
12361        ** Failers
12362    No match, mark = n
12363        abc
12364    No match, mark = m
12365    
12366    /(q|b)(*:m)f|a(*:n)w/K
12367        aw
12368     0: aw
12369    MK: n
12370        ** Failers
12371    No match, mark = n
12372        abc
12373    No match, mark = m
12374    
12375    /-- After a partial match, the behaviour is as for a failure. --/
12376    
12377    /^a(*:X)bcde/K
12378       abc\P
12379    Partial match, mark=X: abc
12380    
12381  /-- End of testinput2 --/  /-- End of testinput2 --/

Legend:
Removed from v.500  
changed lines
  Added in v.771

  ViewVC Help
Powered by ViewVC 1.1.5