/[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 621 by ph10, Mon Jul 18 10:14:09 2011 UTC revision 1265 by ph10, Sun Mar 3 10:42:46 2013 UTC
# Line 3  Line 3 
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 a possible 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 set of tests. When UTF support is needed, use
9        test 5, and if Unicode Property Support is needed, use test 7. --/
10    
 /-- Originally, the Perl >= 5.10 things were in here too, but now I have  
     separated many (most?) of them out into test 11. However, there may still  
     be some that were overlooked. --/  
   
11  /(a)b|/I  /(a)b|/I
12  Capturing subpattern count = 1  Capturing subpattern count = 1
13  No options  No options
# Line 377  No need char Line 376  No need char
376   2: <unset>   2: <unset>
377   3: def   3: def
378    
 /abc/P  
     abc  
  0: abc  
     *** Failers  
 No match: POSIX code 17: match failed  
   
 /^abc|def/P  
     abcdef  
  0: abc  
     abcdef\B  
  0: def  
   
 /.*((abc)$|(def))/P  
     defabc  
  0: defabc  
  1: abc  
  2: abc  
     \Zdefabc  
  0: def  
  1: def  
  3: def  
   
 /the quick brown fox/P  
     the quick brown fox  
  0: the quick brown fox  
     *** Failers  
 No match: POSIX code 17: match failed  
     The Quick Brown Fox  
 No match: POSIX code 17: match failed  
   
 /the quick brown fox/Pi  
     the quick brown fox  
  0: the quick brown fox  
     The Quick Brown Fox  
  0: The Quick Brown Fox  
   
 /abc.def/P  
     *** Failers  
 No match: POSIX code 17: match failed  
     abc\ndef  
 No match: POSIX code 17: match failed  
   
 /abc$/P  
     abc  
  0: abc  
     abc\n  
  0: abc  
   
 /(abc)\2/P  
 Failed: POSIX code 15: bad back reference at offset 7  
   
 /(abc\1)/P  
     abc  
 No match: POSIX code 17: match failed  
   
379  /)/  /)/
380  Failed: unmatched parentheses at offset 0  Failed: unmatched parentheses at offset 0
381    
# Line 507  Capturing subpattern count = 0 Line 451  Capturing subpattern count = 0
451  No options  No options
452  First char = 'f'  First char = 'f'
453  Need char = 'o'  Need char = 'o'
454    Max lookbehind = 6
455      foo      foo
456   0: foo   0: foo
457      catfoo      catfoo
# Line 689  Capturing subpattern count = 0 Line 634  Capturing subpattern count = 0
634  Options: anchored multiline  Options: anchored multiline
635  No first char  No first char
636  No need char  No need char
637    Max lookbehind = 1
638    
639  /^abc/Im  /^abc/Im
640  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 714  Capturing subpattern count = 0 Line 660  Capturing subpattern count = 0
660  No options  No options
661  No first char  No first char
662  No need char  No need char
663    Max lookbehind = 3
664  Subject length lower bound = 1  Subject length lower bound = 1
665  Starting byte set: a b  Starting byte set: a b
666    
# Line 722  Capturing subpattern count = 1 Line 669  Capturing subpattern count = 1
669  No options  No options
670  No first char  No first char
671  Need char = 'a'  Need char = 'a'
672    Max lookbehind = 3
673  Subject length lower bound = 5  Subject length lower bound = 5
674  Starting byte set: a o  Starting byte set: a o
675    
# Line 739  Contains explicit CR or LF match Line 687  Contains explicit CR or LF match
687  Options: multiline  Options: multiline
688  No first char  No first char
689  Need char = 'r'  Need char = 'r'
690    Max lookbehind = 4
691      foo\nbarbar      foo\nbarbar
692   0: bar   0: bar
693      ***Failers      ***Failers
# Line 756  Contains explicit CR or LF match Line 705  Contains explicit CR or LF match
705  Options: multiline  Options: multiline
706  First char at start or follows newline  First char at start or follows newline
707  Need char = 'r'  Need char = 'r'
708    Max lookbehind = 4
709      foo\nbarbar      foo\nbarbar
710   0: bar   0: bar
711      ***Failers      ***Failers
# Line 797  Capturing subpattern count = 0 Line 747  Capturing subpattern count = 0
747  No options  No options
748  First char = '-'  First char = '-'
749  Need char = 't'  Need char = 't'
750    Max lookbehind = 7
751      the bullock-cart      the bullock-cart
752   0: -cart   0: -cart
753      a donkey-cart race      a donkey-cart race
# Line 813  Capturing subpattern count = 0 Line 764  Capturing subpattern count = 0
764  No options  No options
765  No first char  No first char
766  No need char  No need char
767    Max lookbehind = 3
768    
769  /(?>.*)(?<=(abcd)|(xyz))/I  /(?>.*)(?<=(abcd)|(xyz))/I
770  Capturing subpattern count = 2  Capturing subpattern count = 2
771  No options  No options
772  First char at start or follows newline  No first char
773  No need char  No need char
774    Max lookbehind = 4
775      alphabetabcd      alphabetabcd
776   0: alphabetabcd   0: alphabetabcd
777   1: abcd   1: abcd
# Line 832  Capturing subpattern count = 0 Line 785  Capturing subpattern count = 0
785  No options  No options
786  First char = 'Z'  First char = 'Z'
787  Need char = 'Z'  Need char = 'Z'
788    Max lookbehind = 4
789      abxyZZ      abxyZZ
790   0: ZZ   0: ZZ
791      abXyZZ      abXyZZ
# Line 860  Capturing subpattern count = 1 Line 814  Capturing subpattern count = 1
814  No options  No options
815  First char = 'b'  First char = 'b'
816  Need char = 'r'  Need char = 'r'
817    Max lookbehind = 4
818      bar      bar
819   0: bar   0: bar
820      foobbar      foobbar
# Line 1031  Failed: numbers out of order in {} quant Line 986  Failed: numbers out of order in {} quant
986  /abc/\  /abc/\
987  Failed: \ at end of pattern at offset 4  Failed: \ at end of pattern at offset 4
988    
 /abc/\P  
 Failed: POSIX code 9: bad escape sequence at offset 4  
   
989  /abc/\i  /abc/\i
990  Failed: \ at end of pattern at offset 4  Failed: \ at end of pattern at offset 4
991    
# Line 1149  No first char Line 1101  No first char
1101  No need char  No need char
1102      abc\00def\L\C0      abc\00def\L\C0
1103   0: abc\x00def   0: abc\x00def
1104   0C abc (7)   0C abc\x00def (7)
1105   0L abc   0L abc
1106    
1107  /word ((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+  /word ((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
# Line 1264  Capturing subpattern count = 0 Line 1216  Capturing subpattern count = 0
1216  No options  No options
1217  First char = 'i'  First char = 'i'
1218  Need char = 's'  Need char = 's'
1219      Mississippi  Max lookbehind = 1
  0: iss  
  0+ issippi  
   
 /\Biss\B/I+P  
1220      Mississippi      Mississippi
1221   0: iss   0: iss
1222   0+ issippi   0+ issippi
# Line 1289  Capturing subpattern count = 0 Line 1237  Capturing subpattern count = 0
1237  No options  No options
1238  First char = 'i'  First char = 'i'
1239  Need char = 's'  Need char = 's'
1240    Max lookbehind = 1
1241      Mississippi      Mississippi
1242   0: iss   0: iss
1243   0+ issippi   0+ issippi
# Line 1298  Capturing subpattern count = 0 Line 1247  Capturing subpattern count = 0
1247  No options  No options
1248  First char = 'i'  First char = 'i'
1249  Need char = 's'  Need char = 's'
1250    Max lookbehind = 1
1251      Mississippi      Mississippi
1252   0: iss   0: iss
1253   0+ issippi   0+ issippi
# Line 1313  Capturing subpattern count = 0 Line 1263  Capturing subpattern count = 0
1263  No options  No options
1264  First char = 'i'  First char = 'i'
1265  Need char = 's'  Need char = 's'
1266    Max lookbehind = 1
1267      Mississippi      Mississippi
1268   0: iss   0: iss
1269   0+ issippi   0+ issippi
# Line 1324  Capturing subpattern count = 0 Line 1275  Capturing subpattern count = 0
1275  No options  No options
1276  First char = 'i'  First char = 'i'
1277  Need char = 's'  Need char = 's'
1278    Max lookbehind = 1
1279      Mississippi      Mississippi
1280   0: iss   0: iss
1281   0+ issippi   0+ issippi
# Line 1402  Capturing subpattern count = 0 Line 1354  Capturing subpattern count = 0
1354  Contains explicit CR or LF match  Contains explicit CR or LF match
1355  Options: multiline  Options: multiline
1356  First char at start or follows newline  First char at start or follows newline
1357  Need char = 10  Need char = \x0a
1358      ab\nab\ncd      ab\nab\ncd
1359   0: ab\x0a   0: ab\x0a
1360   0+ ab\x0acd   0+ ab\x0acd
# Line 1504  Capturing subpattern count = 0 Line 1456  Capturing subpattern count = 0
1456  No options  No options
1457  No first char  No first char
1458  No need char  No need char
1459    Max lookbehind = 3
1460    
1461  /abc(?!pqr)/I  /abc(?!pqr)/I
1462  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 1689  No need char Line 1642  No need char
1642      \Nabc      \Nabc
1643  No match  No match
1644    
 /a*(b+)(z)(z)/P  
     aaaabbbbzzzz  
  0: aaaabbbbzz  
  1: bbbb  
  2: z  
  3: z  
     aaaabbbbzzzz\O0  
     aaaabbbbzzzz\O1  
  0: aaaabbbbzz  
     aaaabbbbzzzz\O2  
  0: aaaabbbbzz  
  1: bbbb  
     aaaabbbbzzzz\O3  
  0: aaaabbbbzz  
  1: bbbb  
  2: z  
     aaaabbbbzzzz\O4  
  0: aaaabbbbzz  
  1: bbbb  
  2: z  
  3: z  
     aaaabbbbzzzz\O5  
  0: aaaabbbbzz  
  1: bbbb  
  2: z  
  3: z  
   
1645  /^.?abcd/IS  /^.?abcd/IS
1646  Capturing subpattern count = 0  Capturing subpattern count = 0
1647  Options: anchored  Options: anchored
# Line 3311  Capturing subpattern count = 0 Line 3237  Capturing subpattern count = 0
3237  No options  No options
3238  First char = '8'  First char = '8'
3239  Need char = 'X'  Need char = 'X'
3240    Max lookbehind = 1
3241    
3242  |\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|IDZ  |\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|IDZ
3243  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 3324  Capturing subpattern count = 0 Line 3251  Capturing subpattern count = 0
3251  No options  No options
3252  First char = '$'  First char = '$'
3253  Need char = 'X'  Need char = 'X'
3254    Max lookbehind = 1
3255    
3256  /(.*)\d+\1/I  /(.*)\d+\1/I
3257  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 3839  Capturing subpattern count = 1 Line 3767  Capturing subpattern count = 1
3767  No options  No options
3768  First char = 'x'  First char = 'x'
3769  Need char = 'z'  Need char = 'z'
3770    Max lookbehind = 3
3771     abcxyz\C+     abcxyz\C+
3772  Callout 0: last capture = 1  Callout 0: last capture = 1
3773   0: <unset>   0: <unset>
# Line 4430  No first char Line 4359  No first char
4359  Need char = 'z'  Need char = 'z'
4360    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzbbbbbb\M    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzbbbbbb\M
4361  Minimum match() limit = 8  Minimum match() limit = 8
4362  Minimum match() recursion limit = 7  Minimum match() recursion limit = 6
4363   0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazz   0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazz
4364   1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa   1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
4365    aaaaaaaaaaaaaz\M    aaaaaaaaaaaaaz\M
4366  Minimum match() limit = 32768  Minimum match() limit = 32768
4367  Minimum match() recursion limit = 43  Minimum match() recursion limit = 42
4368  No match  No match
4369    
4370  /(aaa(?C1)bbb|ab)/I  /(aaa(?C1)bbb|ab)/I
# Line 5486  Capturing subpattern count = 0 Line 5415  Capturing subpattern count = 0
5415  No options  No options
5416  No first char  No first char
5417  No need char  No need char
5418    Max lookbehind = 1
5419    ab cd\>1    ab cd\>1
5420   0:  cd   0:  cd
5421    
# Line 5494  Capturing subpattern count = 0 Line 5424  Capturing subpattern count = 0
5424  Options: dotall  Options: dotall
5425  No first char  No first char
5426  No need char  No need char
5427    Max lookbehind = 1
5428    ab cd\>1    ab cd\>1
5429   0:  cd   0:  cd
5430    
# Line 5802  Max back reference = 1 Line 5733  Max back reference = 1
5733  Options: multiline dotall  Options: multiline dotall
5734  First char = '<'  First char = '<'
5735  Need char = '>'  Need char = '>'
5736      <!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>
5737   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>
5738   1: seite   1: seite
5739   2: \x0a   2: \x0a
# Line 5851  No match Line 5782  No match
5782      line one\nthis is a line\nbreak in the second line      line one\nthis is a line\nbreak in the second line
5783  No match  No match
5784    
 /ab.cd/P  
     ab-cd  
  0: ab-cd  
     ab=cd  
  0: ab=cd  
     ** Failers  
 No match: POSIX code 17: match failed  
     ab\ncd  
 No match: POSIX code 17: match failed  
   
 /ab.cd/Ps  
     ab-cd  
  0: ab-cd  
     ab=cd  
  0: ab=cd  
     ab\ncd  
  0: ab\x0acd  
   
5785  /(?i)(?-i)AbCd/I  /(?i)(?-i)AbCd/I
5786  Capturing subpattern count = 0  Capturing subpattern count = 0
5787  No options  No options
# Line 6161  No need char Line 6074  No need char
6074      ((this))      ((this))
6075   0: ((this))   0: ((this))
6076    
 /a(b)c/PN  
     abc  
 Matched with REG_NOSUB  
   
 /a(?P<name>b)c/PN  
     abc  
 Matched with REG_NOSUB  
   
 /\x{100}/I  
 Failed: character value in \x{...} sequence is too large at offset 6  
   
6077  /\x{0000ff}/I  /\x{0000ff}/I
6078  Capturing subpattern count = 0  Capturing subpattern count = 0
6079  No options  No options
6080  First char = 255  First char = \xff
6081  No need char  No need char
6082    
6083  /^((?P<A>a1)|(?P<A>a2)b)/I  /^((?P<A>a1)|(?P<A>a2)b)/I
# Line 6285  no parentheses with name "Z" Line 6187  no parentheses with name "Z"
6187   0: a1   0: a1
6188   1: a1   1: a1
6189   2: a1   2: a1
6190  copy substring Z failed -7  get substring Z failed -7
6191    G a1 (2) A    G a1 (2) A
6192    
6193  /^(?P<A>a)(?P<A>b)/IJ  /^(?P<A>a)(?P<A>b)/IJ
# Line 6317  No need char Line 6219  No need char
6219    G a (1) A    G a (1) A
6220      cd\GA      cd\GA
6221   0: cd   0: cd
6222  copy substring A failed -7  get substring A failed -7
6223    
6224  /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ  /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ
6225  Capturing subpattern count = 4  Capturing subpattern count = 4
# Line 6485  No need char Line 6387  No need char
6387   9:   9:
6388  10: Y  10: Y
6389    
 /\777/I  
 Failed: octal value is greater than \377 (not in UTF-8 mode) at offset 3  
   
6390  /\s*,\s*/IS  /\s*,\s*/IS
6391  Capturing subpattern count = 0  Capturing subpattern count = 0
6392  No options  No options
# Line 6666  No first char Line 6565  No first char
6565  No need char  No need char
6566     /* this is a C style comment */\M     /* this is a C style comment */\M
6567  Minimum match() limit = 120  Minimum match() limit = 120
6568  Minimum match() recursion limit = 35  Minimum match() recursion limit = 6
6569   0: /* this is a C style comment */   0: /* this is a C style comment */
6570   1: /* this is a C style comment */   1: /* this is a C style comment */
6571    
# Line 7548  Matched, but too many substrings Line 7447  Matched, but too many substrings
7447  /[^a]+a/BZi  /[^a]+a/BZi
7448  ------------------------------------------------------------------  ------------------------------------------------------------------
7449          Bra          Bra
7450       /i [^A]++       /i [^a]++
7451       /i a       /i a
7452          Ket          Ket
7453          End          End
# Line 7557  Matched, but too many substrings Line 7456  Matched, but too many substrings
7456  /[^a]+A/BZi  /[^a]+A/BZi
7457  ------------------------------------------------------------------  ------------------------------------------------------------------
7458          Bra          Bra
7459       /i [^A]++       /i [^a]++
7460       /i A       /i A
7461          Ket          Ket
7462          End          End
# Line 7944  Options: extended Line 7843  Options: extended
7843  First char = 'x'  First char = 'x'
7844  Need char = 'z'  Need char = 'z'
7845    
 /(?(DEFINE) abc){3} xyz/x  
 Failed: repeating a DEFINE group is not allowed at offset 17  
   
7846  /(a|)*\d/  /(a|)*\d/
7847    \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa    \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
7848  No match  No match
# Line 8506  Failed: syntax error in subpattern name Line 8402  Failed: syntax error in subpattern name
8402   3: <unset>   3: <unset>
8403   4: x   4: x
8404    
 /[\h]/BZ  
 ------------------------------------------------------------------  
         Bra  
         [\x09 \xa0]  
         Ket  
         End  
 ------------------------------------------------------------------  
     >\x09<  
  0: \x09  
   
 /[\h]+/BZ  
 ------------------------------------------------------------------  
         Bra  
         [\x09 \xa0]+  
         Ket  
         End  
 ------------------------------------------------------------------  
     >\x09\x20\xa0<  
  0: \x09 \xa0  
   
 /[\v]/BZ  
 ------------------------------------------------------------------  
         Bra  
         [\x0a-\x0d\x85]  
         Ket  
         End  
 ------------------------------------------------------------------  
   
 /[\H]/BZ  
 ------------------------------------------------------------------  
         Bra  
         [\x00-\x08\x0a-\x1f!-\x9f\xa1-\xff]  
         Ket  
         End  
 ------------------------------------------------------------------  
   
 /[^\h]/BZ  
 ------------------------------------------------------------------  
         Bra  
         [\x00-\x08\x0a-\x1f!-\x9f\xa1-\xff] (neg)  
         Ket  
         End  
 ------------------------------------------------------------------  
   
 /[\V]/BZ  
 ------------------------------------------------------------------  
         Bra  
         [\x00-\x09\x0e-\x84\x86-\xff]  
         Ket  
         End  
 ------------------------------------------------------------------  
   
 /[\x0a\V]/BZ  
 ------------------------------------------------------------------  
         Bra  
         [\x00-\x0a\x0e-\x84\x86-\xff]  
         Ket  
         End  
 ------------------------------------------------------------------  
   
8405  /\H++X/BZ  /\H++X/BZ
8406  ------------------------------------------------------------------  ------------------------------------------------------------------
8407          Bra          Bra
# Line 8757  No match Line 8593  No match
8593  ------------------------------------------------------------------  ------------------------------------------------------------------
8594    
8595  /\( (?: [^()]* | (?R) )* \)/x  /\( (?: [^()]* | (?R) )* \)/x
8596  (0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(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)
8597   0: (0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(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)
8598    
8599  /[\E]AAA/  /[\E]AAA/
# Line 8939  Failed: number is too big at offset 19 Line 8775  Failed: number is too big at offset 19
8775  /\g6666666666/  /\g6666666666/
8776  Failed: number is too big at offset 11  Failed: number is too big at offset 11
8777    
8778  /[\g6666666666]/  /[\g6666666666]/BZ
8779  Failed: number is too big at offset 12  ------------------------------------------------------------------
8780            Bra
8781            [6g]
8782            Ket
8783            End
8784    ------------------------------------------------------------------
8785    
8786  /(?1)\c[/  /(?1)\c[/
8787  Failed: reference to non-existent subpattern at offset 3  Failed: reference to non-existent subpattern at offset 3
# Line 9246  Failed: subpattern name expected at offs Line 9087  Failed: subpattern name expected at offs
9087  /\k{}/  /\k{}/
9088  Failed: subpattern name expected at offset 3  Failed: subpattern name expected at offset 3
9089    
9090    /\k/
9091    Failed: \k is not followed by a braced, angle-bracketed, or quoted name at offset 2
9092    
9093    /\kabc/
9094    Failed: \k is not followed by a braced, angle-bracketed, or quoted name at offset 5
9095    
9096  /(?P=)/  /(?P=)/
9097  Failed: subpattern name expected at offset 4  Failed: subpattern name expected at offset 4
9098    
# Line 9430  No need char Line 9277  No need char
9277   +7 ^ ^     b   +7 ^ ^     b
9278   +7 ^^      b   +7 ^^      b
9279   +7 ^       b   +7 ^       b
9280    +11 ^       ^
9281  +12 ^       )  +12 ^       )
9282  +13 ^  +13 ^
9283   0:   0:
# Line 9467  No options Line 9315  No options
9315  First char at start or follows newline  First char at start or follows newline
9316  No need char  No need char
9317    
 /a?|b?/P  
     abc  
  0: a  
     ** Failers  
  0:  
     ddd\N  
 No match: POSIX code 17: match failed  
   
9318  /xyz/C  /xyz/C
9319    xyz    xyz
9320  --->xyz  --->xyz
# Line 9568  No match Line 9408  No match
9408   +3 ^ ^      (?(?=[a])[^"])   +3 ^ ^      (?(?=[a])[^"])
9409   +5 ^ ^      (?=[a])   +5 ^ ^      (?=[a])
9410   +8 ^ ^      [a]   +8 ^ ^      [a]
9411    +17 ^ ^      |
9412  +21 ^ ^      "  +21 ^ ^      "
9413  +18 ^ ^      b  +18 ^ ^      b
9414  +19 ^  ^     )  +19 ^  ^     )
9415   +3 ^  ^     (?(?=[a])[^"])   +3 ^  ^     (?(?=[a])[^"])
9416   +5 ^  ^     (?=[a])   +5 ^  ^     (?=[a])
9417   +8 ^  ^     [a]   +8 ^  ^     [a]
9418    +17 ^  ^     |
9419  +21 ^  ^     "  +21 ^  ^     "
9420  +22 ^   ^    $  +22 ^   ^    $
9421  +23 ^   ^  +23 ^   ^
# Line 9869  Partial match: the cat Line 9711  Partial match: the cat
9711     abc\P\P     abc\P\P
9712   0: abc   0: abc
9713    
 /\w+A/P  
    CDAAAAB  
  0: CDAAAA  
   
 /\w+A/PU  
    CDAAAAB  
  0: CDA  
   
9714  /abc\K123/  /abc\K123/
9715      xyzabc123pqr      xyzabc123pqr
9716   0: 123   0: 123
# Line 9889  Partial match: abc12 Line 9723  Partial match: abc12
9723      xyzabc123pqr      xyzabc123pqr
9724   0: 123   0: 123
9725      xyzabc12\P      xyzabc12\P
9726  Partial match: abc12  Partial match at offset 6: abc12
9727      xyzabc12\P\P      xyzabc12\P\P
9728  Partial match: abc12  Partial match at offset 6: abc12
9729    
9730  /\babc\b/  /\babc\b/
9731      +++abc+++      +++abc+++
9732   0: abc   0: abc
9733      +++ab\P      +++ab\P
9734  Partial match: +ab  Partial match at offset 3: +ab
9735      +++ab\P\P      +++ab\P\P
9736  Partial match: +ab  Partial match at offset 3: +ab
9737    
9738  /(?&word)(?&element)(?(DEFINE)(?<element><[^m][^>]>[^<])(?<word>\w*+))/BZ  /(?&word)(?&element)(?(DEFINE)(?<element><[^m][^>]>[^<])(?<word>\w*+))/BZ
9739  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 10269  Need char = ':' Line 10103  Need char = ':'
10103  Subject length lower bound = 22  Subject length lower bound = 22
10104  No set of starting bytes  No set of starting bytes
10105    
 /  (?: [\040\t] |  \(  
 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*  
 \)  )*                          # optional leading comment  
 (?:    (?:  
 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...  
 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom  
 |  
 " (?:                      # opening quote...  
 [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote  
 |                     #    or  
 \\ [^\x80-\xff]           #   Escaped something (something != CR)  
 )* "  # closing quote  
 )                    # initial word  
 (?:  (?: [\040\t] |  \(  
 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*  
 \)  )*  \.  (?: [\040\t] |  \(  
 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*  
 \)  )*   (?:  
 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...  
 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom  
 |  
 " (?:                      # opening quote...  
 [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote  
 |                     #    or  
 \\ [^\x80-\xff]           #   Escaped something (something != CR)  
 )* "  # closing quote  
 )  )* # further okay, if led by a period  
 (?: [\040\t] |  \(  
 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*  
 \)  )*  @  (?: [\040\t] |  \(  
 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*  
 \)  )*    (?:  
 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...  
 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom  
 |   \[                         # [  
 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff  
 \]                        #           ]  
 )                           # initial subdomain  
 (?:                                  #  
 (?: [\040\t] |  \(  
 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*  
 \)  )*  \.                        # if led by a period...  
 (?: [\040\t] |  \(  
 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*  
 \)  )*   (?:  
 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...  
 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom  
 |   \[                         # [  
 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff  
 \]                        #           ]  
 )                     #   ...further okay  
 )*  
 # address  
 |                     #  or  
 (?:  
 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...  
 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom  
 |  
 " (?:                      # opening quote...  
 [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote  
 |                     #    or  
 \\ [^\x80-\xff]           #   Escaped something (something != CR)  
 )* "  # closing quote  
 )             # one word, optionally followed by....  
 (?:  
 [^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037]  |  # atom and space parts, or...  
 \(  
 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*  
 \)       |  # comments, or...  
   
 " (?:                      # opening quote...  
 [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote  
 |                     #    or  
 \\ [^\x80-\xff]           #   Escaped something (something != CR)  
 )* "  # closing quote  
 # quoted strings  
 )*  
 <  (?: [\040\t] |  \(  
 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*  
 \)  )*                     # leading <  
 (?:  @  (?: [\040\t] |  \(  
 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*  
 \)  )*    (?:  
 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...  
 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom  
 |   \[                         # [  
 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff  
 \]                        #           ]  
 )                           # initial subdomain  
 (?:                                  #  
 (?: [\040\t] |  \(  
 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*  
 \)  )*  \.                        # if led by a period...  
 (?: [\040\t] |  \(  
 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*  
 \)  )*   (?:  
 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...  
 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom  
 |   \[                         # [  
 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff  
 \]                        #           ]  
 )                     #   ...further okay  
 )*  
   
 (?:  (?: [\040\t] |  \(  
 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*  
 \)  )*  ,  (?: [\040\t] |  \(  
 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*  
 \)  )*  @  (?: [\040\t] |  \(  
 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*  
 \)  )*    (?:  
 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...  
 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom  
 |   \[                         # [  
 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff  
 \]                        #           ]  
 )                           # initial subdomain  
 (?:                                  #  
 (?: [\040\t] |  \(  
 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*  
 \)  )*  \.                        # if led by a period...  
 (?: [\040\t] |  \(  
 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*  
 \)  )*   (?:  
 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...  
 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom  
 |   \[                         # [  
 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff  
 \]                        #           ]  
 )                     #   ...further okay  
 )*  
 )* # further okay, if led by comma  
 :                                # closing colon  
 (?: [\040\t] |  \(  
 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*  
 \)  )*  )? #       optional route  
 (?:  
 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...  
 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom  
 |  
 " (?:                      # opening quote...  
 [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote  
 |                     #    or  
 \\ [^\x80-\xff]           #   Escaped something (something != CR)  
 )* "  # closing quote  
 )                    # initial word  
 (?:  (?: [\040\t] |  \(  
 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*  
 \)  )*  \.  (?: [\040\t] |  \(  
 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*  
 \)  )*   (?:  
 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...  
 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom  
 |  
 " (?:                      # opening quote...  
 [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote  
 |                     #    or  
 \\ [^\x80-\xff]           #   Escaped something (something != CR)  
 )* "  # closing quote  
 )  )* # further okay, if led by a period  
 (?: [\040\t] |  \(  
 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*  
 \)  )*  @  (?: [\040\t] |  \(  
 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*  
 \)  )*    (?:  
 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...  
 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom  
 |   \[                         # [  
 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff  
 \]                        #           ]  
 )                           # initial subdomain  
 (?:                                  #  
 (?: [\040\t] |  \(  
 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*  
 \)  )*  \.                        # if led by a period...  
 (?: [\040\t] |  \(  
 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*  
 \)  )*   (?:  
 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...  
 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom  
 |   \[                         # [  
 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff  
 \]                        #           ]  
 )                     #   ...further okay  
 )*  
 #       address spec  
 (?: [\040\t] |  \(  
 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*  
 \)  )*  > #                  trailing >  
 # name and address  
 )  (?: [\040\t] |  \(  
 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*  
 \)  )*                       # optional trailing comment  
 /xSI  
 Capturing subpattern count = 0  
 Contains explicit CR or LF match  
 Options: extended  
 No first char  
 No need char  
 Subject length lower bound = 3  
 Starting byte set: \x09 \x20 ! " # $ % & ' ( * + - / 0 1 2 3 4 5 6 7 8  
   9 = ? A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ^ _ ` a b c d e  
   f g h i j k l m n o p q r s t u v w x y z { | } ~ \x7f  
   
10106  /<tr([\w\W\s\d][^<>]{0,})><TD([\w\W\s\d][^<>]{0,})>([\d]{0,}\.)(.*)((<BR>([\w\W\s\d][^<>]{0,})|[\s]{0,}))<\/a><\/TD><TD([\w\W\s\d][^<>]{0,})>([\w\W\s\d][^<>]{0,})<\/TD><TD([\w\W\s\d][^<>]{0,})>([\w\W\s\d][^<>]{0,})<\/TD><\/TR>/isIS  /<tr([\w\W\s\d][^<>]{0,})><TD([\w\W\s\d][^<>]{0,})>([\d]{0,}\.)(.*)((<BR>([\w\W\s\d][^<>]{0,})|[\s]{0,}))<\/a><\/TD><TD([\w\W\s\d][^<>]{0,})>([\w\W\s\d][^<>]{0,})<\/TD><TD([\w\W\s\d][^<>]{0,})>([\w\W\s\d][^<>]{0,})<\/TD><\/TR>/isIS
10107  Capturing subpattern count = 11  Capturing subpattern count = 11
10108  Options: caseless dotall  Options: caseless dotall
# Line 10484  No set of starting bytes Line 10114  No set of starting bytes
10114  "(?>.*/)foo"SI  "(?>.*/)foo"SI
10115  Capturing subpattern count = 0  Capturing subpattern count = 0
10116  No options  No options
10117  First char at start or follows newline  No first char
10118  Need char = 'o'  Need char = 'o'
10119  Subject length lower bound = 4  Subject length lower bound = 4
10120  No set of starting bytes  No set of starting bytes
# Line 10981  No match Line 10611  No match
10611      AC      AC
10612  No match  No match
10613    
 /--- A whole lot of tests of verbs with arguments are here rather than in test  
      11 because Perl doesn't seem to follow its specification entirely  
      correctly. ---/  
   
 /--- Perl 5.11 sets $REGERROR on the AC failure case here; PCRE does not. It is  
      not clear how Perl defines "involved in the failure of the match". ---/  
   
 /^(A(*THEN:A)B|C(*THEN:B)D)/K  
     AB  
  0: AB  
  1: AB  
     CD  
  0: CD  
  1: CD  
     ** Failers  
 No match  
     AC  
 No match  
     CB  
 No match, mark = B  
   
 /--- Check the use of names for success and failure. PCRE doesn't show these  
 names for success, though Perl does, contrary to its spec. ---/  
   
 /^(A(*PRUNE:A)B|C(*PRUNE:B)D)/K  
     AB  
  0: AB  
  1: AB  
     CD  
  0: CD  
  1: CD  
     ** Failers  
 No match  
     AC  
 No match, mark = A  
     CB  
 No match, mark = B  
   
 /--- An empty name does not pass back an empty string. It is the same as if no  
 name were given. ---/  
   
 /^(A(*PRUNE:)B|C(*PRUNE:B)D)/K  
     AB  
  0: AB  
  1: AB  
     CD  
  0: CD  
  1: CD  
   
 /--- PRUNE goes to next bumpalong; COMMIT does not. ---/  
   
 /A(*PRUNE:A)B/K  
     ACAB  
  0: AB  
   
 /(*MARK:A)(*PRUNE:B)(C|X)/KS  
     C  
  0: C  
  1: C  
 MK: A  
     D  
 No match  
   
 /(*MARK:A)(*PRUNE:B)(C|X)/KSS  
     C  
  0: C  
  1: C  
 MK: A  
     D  
 No match, mark = B  
   
 /(*MARK:A)(*THEN:B)(C|X)/KS  
     C  
  0: C  
  1: C  
 MK: A  
     D  
 No match  
   
 /(*MARK:A)(*THEN:B)(C|X)/KSS  
     C  
  0: C  
  1: C  
 MK: A  
     D  
 No match, mark = B  
   
 /--- This should fail, as the skip causes a bump to offset 3 (the skip) ---/  
   
 /A(*MARK:A)A+(*SKIP)(B|Z) | AC/xK  
     AAAC  
 No match  
   
 /--- Same --/  
   
 /A(*MARK:A)A+(*MARK:B)(*SKIP:B)(B|Z) | AC/xK  
     AAAC  
 No match  
   
10614  /--- This should fail; the SKIP advances by one, but when we get to AC, the  /--- This should fail; the SKIP advances by one, but when we get to AC, the
10615       PRUNE kills it. ---/       PRUNE kills it. Perl behaves differently. ---/
10616    
10617  /A(*PRUNE:A)A+(*SKIP:A)(B|Z) | AC/xK  /A(*PRUNE:A)A+(*SKIP:A)(B|Z) | AC/xK
10618      AAAC      AAAC
10619  No match  No match, mark = A
   
 /A(*:A)A+(*SKIP)(B|Z) | AC/xK  
     AAAC  
 No match  
   
 /--- This should fail, as a null name is the same as no name ---/  
   
 /A(*MARK:A)A+(*SKIP:)(B|Z) | AC/xK  
     AAAC  
 No match  
   
 /--- This fails in PCRE, and I think that is in accordance with Perl's  
      documentation, though in Perl it succeeds. ---/  
   
 /A(*MARK:A)A+(*SKIP:B)(B|Z) | AAC/xK  
     AAAC  
 No match  
10620    
10621  /--- Mark names can be duplicated ---/  /--- Mark names can be duplicated. Perl doesn't give a mark for this one,
10622    though PCRE does. ---/
10623    
 /A(*:A)B|X(*:A)Y/K  
     AABC  
  0: AB  
 MK: A  
     XXYZ  
  0: XY  
 MK: A  
   
10624  /^A(*:A)B|^X(*:A)Y/K  /^A(*:A)B|^X(*:A)Y/K
10625      ** Failers      ** Failers
10626  No match  No match
10627      XAQQ      XAQQ
10628  No match, mark = A  No match, mark = A
10629    
 /--- A check on what happens after hitting a mark and them bumping along to  
 something that does not even start. Perl reports tags after the failures here,  
 though it does not when the individual letters are made into something  
 more complicated. ---/  
   
 /A(*:A)B|XX(*:B)Y/K  
     AABC  
  0: AB  
 MK: A  
     XXYZ  
  0: XXY  
 MK: B  
     ** Failers  
 No match  
     XAQQ  
 No match  
     XAQQXZZ  
 No match  
     AXQQQ  
 No match  
     AXXQQQ  
 No match  
   
10630  /--- COMMIT at the start of a pattern should be the same as an anchor. Perl  /--- COMMIT at the start of a pattern should be the same as an anchor. Perl
10631  optimizations defeat this. So does the PCRE optimization unless we disable it  optimizations defeat this. So does the PCRE optimization unless we disable it
10632  with \Y. ---/  with \Y. ---/
# Line 11155  No match Line 10639  No match
10639      DEFGABC\Y      DEFGABC\Y
10640  No match  No match
10641    
10642  /--- Repeat some tests with added studying. ---/  /^(ab (c+(*THEN)cd) | xyz)/x
10643        abcccd
 /A(*COMMIT)B/+KS  
     ACABX  
10644  No match  No match
   
 /A(*THEN)B|A(*THEN)C/KS  
     AC  
  0: AC  
10645    
10646  /A(*PRUNE)B|A(*PRUNE)C/KS  /^(ab (c+(*PRUNE)cd) | xyz)/x
10647      AC      abcccd
10648  No match  No match
10649    
10650  /^(A(*THEN:A)B|C(*THEN:B)D)/KS  /^(ab (c+(*FAIL)cd) | xyz)/x
10651      AB      abcccd
  0: AB  
  1: AB  
     CD  
  0: CD  
  1: CD  
     ** Failers  
 No match  
     AC  
10652  No match  No match
10653      CB  
10654  No match, mark = B  /--- Perl 5.11 gets some of these wrong ---/
10655    
10656  /^(A(*PRUNE:A)B|C(*PRUNE:B)D)/KS  /(?>.(*ACCEPT))*?5/
10657      AB      abcde
10658   0: AB   0: a
  1: AB  
     CD  
  0: CD  
  1: CD  
     ** Failers  
 No match  
     AC  
 No match, mark = A  
     CB  
 No match, mark = B  
10659    
10660  /^(A(*PRUNE:)B|C(*PRUNE:B)D)/KS  /(.(*ACCEPT))*?5/
10661      AB      abcde
10662   0: AB   0: a
10663   1: AB   1: a
     CD  
  0: CD  
  1: CD  
   
 /A(*PRUNE:A)B/KS  
     ACAB  
  0: AB  
   
 /(*MARK:A)(*PRUNE:B)(C|X)/KS  
     C  
  0: C  
  1: C  
 MK: A  
     D  
 No match  
   
 /(*MARK:A)(*THEN:B)(C|X)/KS  
     C  
  0: C  
  1: C  
 MK: A  
     D  
 No match  
   
 /A(*MARK:A)A+(*SKIP)(B|Z) | AC/xKS  
     AAAC  
 No match  
   
 /A(*MARK:A)A+(*MARK:B)(*SKIP:B)(B|Z) | AC/xKS  
     AAAC  
 No match  
   
 /A(*PRUNE:A)A+(*SKIP:A)(B|Z) | AC/xKS  
     AAAC  
 No match  
   
 /A(*:A)A+(*SKIP)(B|Z) | AC/xKS  
     AAAC  
 No match  
   
 /A(*MARK:A)A+(*SKIP:)(B|Z) | AC/xKS  
     AAAC  
 No match  
   
 /A(*MARK:A)A+(*SKIP:B)(B|Z) | AAC/xKS  
     AAAC  
 No match  
   
 /A(*:A)B|XX(*:B)Y/KS  
     AABC  
  0: AB  
 MK: A  
     XXYZ  
  0: XXY  
 MK: B  
     ** Failers  
 No match  
     XAQQ  
 No match  
     XAQQXZZ  
 No match  
     AXQQQ  
 No match  
     AXXQQQ  
 No match  
   
 /(*COMMIT)ABC/  
     ABCDEFG  
  0: ABC  
     ** Failers  
 No match  
     DEFGABC\Y  
 No match  
   
 /^(ab (c+(*THEN)cd) | xyz)/x  
     abcccd  
 No match  
   
 /^(ab (c+(*PRUNE)cd) | xyz)/x  
     abcccd  
 No match  
   
 /^(ab (c+(*FAIL)cd) | xyz)/x  
     abcccd  
 No match  
   
 /--- Perl 5.11 gets some of these wrong ---/  
   
 /(?>.(*ACCEPT))*?5/  
     abcde  
  0: a  
   
 /(.(*ACCEPT))*?5/  
     abcde  
  0: a  
  1: a  
10664    
10665  /(.(*ACCEPT))5/  /(.(*ACCEPT))5/
10666      abcde      abcde
# Line 11395  No match Line 10759  No match
10759  /\s*\R/BZ  /\s*\R/BZ
10760  ------------------------------------------------------------------  ------------------------------------------------------------------
10761          Bra          Bra
10762          \s*+          \s*
10763            \R
10764            Ket
10765            End
10766    ------------------------------------------------------------------
10767        \x20\x0a
10768     0:  \x0a
10769        \x20\x0d
10770     0:  \x0d
10771        \x20\x0d\x0a
10772     0:  \x0d\x0a
10773    
10774    /\S*\R/BZ
10775    ------------------------------------------------------------------
10776            Bra
10777            \S*+
10778            \R
10779            Ket
10780            End
10781    ------------------------------------------------------------------
10782        a\x0a
10783     0: a\x0a
10784    
10785    /X\h*\R/BZ
10786    ------------------------------------------------------------------
10787            Bra
10788            X
10789            \h*+
10790            \R
10791            Ket
10792            End
10793    ------------------------------------------------------------------
10794        X\x20\x0a
10795     0: X \x0a
10796    
10797    /X\H*\R/BZ
10798    ------------------------------------------------------------------
10799            Bra
10800            X
10801            \H*
10802            \R
10803            Ket
10804            End
10805    ------------------------------------------------------------------
10806        X\x0d\x0a
10807     0: X\x0d\x0a
10808    
10809    /X\H+\R/BZ
10810    ------------------------------------------------------------------
10811            Bra
10812            X
10813            \H+
10814            \R
10815            Ket
10816            End
10817    ------------------------------------------------------------------
10818        X\x0d\x0a
10819     0: X\x0d\x0a
10820    
10821    /X\H++\R/BZ
10822    ------------------------------------------------------------------
10823            Bra
10824            X
10825            \H++
10826          \R          \R
10827          Ket          Ket
10828          End          End
10829  ------------------------------------------------------------------  ------------------------------------------------------------------
10830        X\x0d\x0a
10831    No match
10832    
10833  /-- Perl treats this one differently, not failing the second string. I believe  /-- Perl treats this one differently, not failing the second string. I believe
10834      that is a bug in Perl. --/      that is a bug in Perl. --/
# Line 11415  No match Line 10844  No match
10844    
10845  /(?<=abc)def/  /(?<=abc)def/
10846      abc\P\P      abc\P\P
10847  Partial match: abc  Partial match at offset 3: abc
10848    
10849  /abc$/  /abc$/
10850      abc      abc
# Line 11816  No match Line 11245  No match
11245    
11246  /^.*?(?(?=a)a|b(*THEN)c)/  /^.*?(?(?=a)a|b(*THEN)c)/
11247      ba      ba
11248   0: ba  No match
11249    
11250  /^.*?(?(?=a)a|bc)/  /^.*?(?(?=a)a|bc)/
11251      ba      ba
11252   0: ba   0: ba
11253    
11254    /^.*?(?(?=a)a(*THEN)b|c)/
11255        ac
11256    No match
11257    
11258    /^.*?(?(?=a)a(*THEN)b)c/
11259        ac
11260    No match
11261    
11262    /^.*?(a(*THEN)b)c/
11263        aabc
11264    No match
11265    
11266    /^.*? (?1) c (?(DEFINE)(a(*THEN)b))/x
11267        aabc
11268     0: aabc
11269    
11270    /^.*?(a(*THEN)b|z)c/
11271        aabc
11272     0: aabc
11273     1: ab
11274    
11275    /^.*?(z|a(*THEN)b)c/
11276        aabc
11277     0: aabc
11278     1: ab
11279    
11280  /-- --/  /-- --/
11281    
11282  /-- These studied versions are here because they are not Perl-compatible; the  /-- These studied versions are here because they are not Perl-compatible; the
# Line 11833  No match Line 11288  No match
11288   1: C   1: C
11289  MK: A  MK: A
11290      D      D
11291  No match  No match, mark = A
11292    
11293  /(*:A)A+(*SKIP:A)(B|Z)/KS  /(*:A)A+(*SKIP:A)(B|Z)/KS
11294      AAAC      AAAC
11295  No match  No match, mark = A
11296    
11297  /-- --/  /-- --/
11298    
# Line 11866  No match Line 11321  No match
11321   1: a   1: a
11322   1+ a%   1+ a%
11323    
11324  /(a)b|ac/++  /(a)b|ac/++SS
11325      ac\O3      ac\O3
 Matched, but too many substrings  
11326   0: ac   0: ac
11327   0+   0+
11328    
11329    /(a)(b)x|abc/++
11330         abc\O6
11331     0: abc
11332     0+
11333    
11334    /(a)bc|(a)(b)\2/
11335        \O3abc
11336    Matched, but too many substrings
11337     0: abc
11338        \O4abc
11339    Matched, but too many substrings
11340     0: abc
11341    
11342  /(?(DEFINE)(a(?2)|b)(b(?1)|a))(?:(?1)|(?2))/SI  /(?(DEFINE)(a(?2)|b)(b(?1)|a))(?:(?1)|(?2))/SI
11343  Capturing subpattern count = 2  Capturing subpattern count = 2
# Line 11907  No set of starting bytes Line 11374  No set of starting bytes
11374  /^(?>a)++/  /^(?>a)++/
11375      aa\M      aa\M
11376  Minimum match() limit = 5  Minimum match() limit = 5
11377  Minimum match() recursion limit = 3  Minimum match() recursion limit = 2
11378   0: aa   0: aa
11379      aaaaaaaaa\M      aaaaaaaaa\M
11380  Minimum match() limit = 12  Minimum match() limit = 12
11381  Minimum match() recursion limit = 3  Minimum match() recursion limit = 2
11382   0: aaaaaaaaa   0: aaaaaaaaa
11383    
11384  /(a)(?1)++/  /(a)(?1)++/
11385      aa\M      aa\M
11386  Minimum match() limit = 7  Minimum match() limit = 7
11387  Minimum match() recursion limit = 5  Minimum match() recursion limit = 4
11388   0: aa   0: aa
11389   1: a   1: a
11390      aaaaaaaaa\M      aaaaaaaaa\M
11391  Minimum match() limit = 21  Minimum match() limit = 21
11392  Minimum match() recursion limit = 5  Minimum match() recursion limit = 4
11393   0: aaaaaaaaa   0: aaaaaaaaa
11394   1: a   1: a
11395    
11396    /(?:(foo)|(bar)|(baz))X/SS=
11397        bazfooX
11398     0: fooX
11399     1: foo
11400     2: <unset>
11401     3: <unset>
11402        foobazbarX
11403     0: barX
11404     1: <unset>
11405     2: bar
11406     3: <unset>
11407        barfooX
11408     0: fooX
11409     1: foo
11410     2: <unset>
11411     3: <unset>
11412        bazX
11413     0: bazX
11414     1: <unset>
11415     2: <unset>
11416     3: baz
11417        foobarbazX
11418     0: bazX
11419     1: <unset>
11420     2: <unset>
11421     3: baz
11422        bazfooX\O0
11423    Matched, but too many substrings
11424        bazfooX\O2
11425    Matched, but too many substrings
11426     0: fooX
11427        bazfooX\O4
11428    Matched, but too many substrings
11429     0: fooX
11430     1: <unset>
11431        bazfooX\O6
11432    Matched, but too many substrings
11433     0: fooX
11434     1: foo
11435     2: <unset>
11436        bazfooX\O8
11437    Matched, but too many substrings
11438     0: fooX
11439     1: foo
11440     2: <unset>
11441     3: <unset>
11442        bazfooX\O10
11443     0: fooX
11444     1: foo
11445     2: <unset>
11446     3: <unset>
11447    
11448    /(?=abc){3}abc/BZ
11449    ------------------------------------------------------------------
11450            Bra
11451            Assert
11452            abc
11453            Ket
11454            abc
11455            Ket
11456            End
11457    ------------------------------------------------------------------
11458    
11459    /(?=abc)+abc/BZ
11460    ------------------------------------------------------------------
11461            Bra
11462            Assert
11463            abc
11464            Ket
11465            abc
11466            Ket
11467            End
11468    ------------------------------------------------------------------
11469    
11470    /(?=abc)++abc/BZ
11471    ------------------------------------------------------------------
11472            Bra
11473            Assert
11474            abc
11475            Ket
11476            abc
11477            Ket
11478            End
11479    ------------------------------------------------------------------
11480    
11481    /(?=abc){0}xyz/BZ
11482    ------------------------------------------------------------------
11483            Bra
11484            Skip zero
11485            Assert
11486            abc
11487            Ket
11488            xyz
11489            Ket
11490            End
11491    ------------------------------------------------------------------
11492    
11493    /(?=(a))?./BZ
11494    ------------------------------------------------------------------
11495            Bra
11496            Brazero
11497            Assert
11498            CBra 1
11499            a
11500            Ket
11501            Ket
11502            Any
11503            Ket
11504            End
11505    ------------------------------------------------------------------
11506    
11507    /(?=(a))??./BZ
11508    ------------------------------------------------------------------
11509            Bra
11510            Braminzero
11511            Assert
11512            CBra 1
11513            a
11514            Ket
11515            Ket
11516            Any
11517            Ket
11518            End
11519    ------------------------------------------------------------------
11520    
11521    /^(?=(a)){0}b(?1)/BZ
11522    ------------------------------------------------------------------
11523            Bra
11524            ^
11525            Skip zero
11526            Assert
11527            CBra 1
11528            a
11529            Ket
11530            Ket
11531            b
11532            Recurse
11533            Ket
11534            End
11535    ------------------------------------------------------------------
11536    
11537    /(?(DEFINE)(a))?b(?1)/BZ
11538    ------------------------------------------------------------------
11539            Bra
11540            Cond
11541            Cond def
11542            CBra 1
11543            a
11544            Ket
11545            Ket
11546            b
11547            Recurse
11548            Ket
11549            End
11550    ------------------------------------------------------------------
11551    
11552    /^(?=(?1))?[az]([abc])d/BZ
11553    ------------------------------------------------------------------
11554            Bra
11555            ^
11556            Brazero
11557            Assert
11558            Recurse
11559            Ket
11560            [az]
11561            CBra 1
11562            [a-c]
11563            Ket
11564            d
11565            Ket
11566            End
11567    ------------------------------------------------------------------
11568    
11569    /^(?!a){0}\w+/BZ
11570    ------------------------------------------------------------------
11571            Bra
11572            ^
11573            Skip zero
11574            Assert not
11575            a
11576            Ket
11577            \w+
11578            Ket
11579            End
11580    ------------------------------------------------------------------
11581    
11582    /(?<=(abc))?xyz/BZ
11583    ------------------------------------------------------------------
11584            Bra
11585            Brazero
11586            AssertB
11587            Reverse
11588            CBra 1
11589            abc
11590            Ket
11591            Ket
11592            xyz
11593            Ket
11594            End
11595    ------------------------------------------------------------------
11596    
11597    /[:a[:abc]b:]/BZ
11598    ------------------------------------------------------------------
11599            Bra
11600            [:[a-c]
11601            b:]
11602            Ket
11603            End
11604    ------------------------------------------------------------------
11605    
11606    /((?2))((?1))/SS
11607        abc
11608    Error -26 (nested recursion at the same subject position)
11609    
11610    /((?(R2)a+|(?1)b))/SS
11611        aaaabcde
11612    Error -26 (nested recursion at the same subject position)
11613    
11614    /(?(R)a*(?1)|((?R))b)/SS
11615        aaaabcde
11616    Error -26 (nested recursion at the same subject position)
11617    
11618    /(a+|(?R)b)/
11619    Failed: recursive call could loop indefinitely at offset 7
11620    
11621    /^(a(*:A)(d|e(*:B))z|aeq)/C
11622        adz
11623    --->adz
11624     +0 ^       ^
11625     +1 ^       (a(*:A)(d|e(*:B))z|aeq)
11626     +2 ^       a
11627     +3 ^^      (*:A)
11628     +8 ^^      (d|e(*:B))
11629    Latest Mark: A
11630     +9 ^^      d
11631    +10 ^ ^     |
11632    +18 ^ ^     z
11633    +19 ^  ^    |
11634    +24 ^  ^
11635     0: adz
11636     1: adz
11637     2: d
11638        aez
11639    --->aez
11640     +0 ^       ^
11641     +1 ^       (a(*:A)(d|e(*:B))z|aeq)
11642     +2 ^       a
11643     +3 ^^      (*:A)
11644     +8 ^^      (d|e(*:B))
11645    Latest Mark: A
11646     +9 ^^      d
11647    +11 ^^      e
11648    +12 ^ ^     (*:B)
11649    +17 ^ ^     )
11650    Latest Mark: B
11651    +18 ^ ^     z
11652    +19 ^  ^    |
11653    +24 ^  ^
11654     0: aez
11655     1: aez
11656     2: e
11657        aeqwerty
11658    --->aeqwerty
11659     +0 ^            ^
11660     +1 ^            (a(*:A)(d|e(*:B))z|aeq)
11661     +2 ^            a
11662     +3 ^^           (*:A)
11663     +8 ^^           (d|e(*:B))
11664    Latest Mark: A
11665     +9 ^^           d
11666    +11 ^^           e
11667    +12 ^ ^          (*:B)
11668    +17 ^ ^          )
11669    Latest Mark: B
11670    +18 ^ ^          z
11671    +20 ^            a
11672    +21 ^^           e
11673    +22 ^ ^          q
11674    +23 ^  ^         )
11675    +24 ^  ^
11676     0: aeq
11677     1: aeq
11678    
11679    /.(*F)/
11680        \P\Pabc
11681    No match
11682    
11683    /\btype\b\W*?\btext\b\W*?\bjavascript\b/IS
11684    Capturing subpattern count = 0
11685    No options
11686    First char = 't'
11687    Need char = 't'
11688    Max lookbehind = 1
11689    Subject length lower bound = 18
11690    No set of starting bytes
11691    
11692    /\btype\b\W*?\btext\b\W*?\bjavascript\b|\burl\b\W*?\bshell:|<input\b.*?\btype\b\W*?\bimage\b|\bonkeyup\b\W*?\=/IS
11693    Capturing subpattern count = 0
11694    No options
11695    No first char
11696    No need char
11697    Max lookbehind = 1
11698    Subject length lower bound = 8
11699    Starting byte set: < o t u
11700    
11701    /a(*SKIP)c|b(*ACCEPT)|/+SI
11702    Capturing subpattern count = 0
11703    No options
11704    No first char
11705    No need char
11706    Study returned NULL
11707        a
11708     0:
11709     0+
11710    
11711    /a(*SKIP)c|b(*ACCEPT)cd(*ACCEPT)|x/SI
11712    Capturing subpattern count = 0
11713    No options
11714    No first char
11715    No need char
11716    Subject length lower bound = -1
11717    Starting byte set: a b x
11718        ax
11719     0: x
11720    
11721    'a*(*ACCEPT)b'+
11722        \N\N
11723    No match
11724        abc\N\N
11725     0: a
11726     0+ bc
11727        bbb\N\N
11728     0:
11729     0+ bb
11730    
11731    /(*ACCEPT)a/+I
11732    Capturing subpattern count = 0
11733    No options
11734    No first char
11735    No need char
11736        bax
11737     0:
11738     0+ bax
11739    
11740    /z(*ACCEPT)a/+I
11741    Capturing subpattern count = 0
11742    No options
11743    First char = 'z'
11744    No need char
11745        baxzbx
11746     0: z
11747     0+ bx
11748    
11749    /a(?:.)*?a/ims
11750        \Mabbbbbbbbbbbbbbbbbbbbba
11751    Minimum match() limit = 65
11752    Minimum match() recursion limit = 2
11753     0: abbbbbbbbbbbbbbbbbbbbba
11754    
11755    /a(?:.(*THEN))*?a/ims
11756        \Mabbbbbbbbbbbbbbbbbbbbba
11757    Minimum match() limit = 86
11758    Minimum match() recursion limit = 45
11759     0: abbbbbbbbbbbbbbbbbbbbba
11760    
11761    /a(?:.(*THEN:ABC))*?a/ims
11762        \Mabbbbbbbbbbbbbbbbbbbbba
11763    Minimum match() limit = 86
11764    Minimum match() recursion limit = 45
11765     0: abbbbbbbbbbbbbbbbbbbbba
11766    
11767    /-- These tests are in agreement with development Perl 5.015, which has fixed
11768        some things, but they don't all work with 5.012, so they aren't in the
11769        Perl-compatible tests. Those after the first come from Perl's own test
11770        files. --/
11771    
11772    /^((yes|no)(*THEN)(*F))?/
11773      yes
11774    No match
11775    
11776    /(A (.*)   C? (*THEN)  | A D) (*FAIL)/x
11777    AbcdCBefgBhiBqz
11778    No match
11779    
11780    /(A (.*)   C? (*THEN)  | A D) z/x
11781    AbcdCBefgBhiBqz
11782    No match
11783    
11784    /(A (.*)   C? (*THEN)  | A D) \s* (*FAIL)/x
11785    AbcdCBefgBhiBqz
11786    No match
11787    
11788    /(A (.*)   C? (*THEN)  | A D) \s* z/x
11789    AbcdCBefgBhiBqz
11790    No match
11791    
11792    /(A (.*)   (?:C|) (*THEN)  | A D) (*FAIL)/x
11793    AbcdCBefgBhiBqz
11794    No match
11795    
11796    /(A (.*)   (?:C|) (*THEN)  | A D) z/x
11797    AbcdCBefgBhiBqz
11798    No match
11799    
11800    /(A (.*)   C{0,6} (*THEN)  | A D) (*FAIL)/x
11801    AbcdCBefgBhiBqz
11802    No match
11803    
11804    /(A (.*)   C{0,6} (*THEN)  | A D) z/x
11805    AbcdCBefgBhiBqz
11806    No match
11807    
11808    /(A (.*)   (CE){0,6} (*THEN)  | A D) (*FAIL)/x
11809    AbcdCEBefgBhiBqz
11810    No match
11811    
11812    /(A (.*)   (CE){0,6} (*THEN)  | A D) z/x
11813    AbcdCEBefgBhiBqz
11814    No match
11815    
11816    /(A (.*)   (CE*){0,6} (*THEN)  | A D) (*FAIL)/x
11817    AbcdCBefgBhiBqz
11818    No match
11819    
11820    /(A (.*)   (CE*){0,6} (*THEN)  | A D) z/x
11821    AbcdCBefgBhiBqz
11822    No match
11823    
11824    /-----------------------------------------------/
11825    
11826    /^(?>a+)(?>(z+))\w/BZ
11827    ------------------------------------------------------------------
11828            Bra
11829            ^
11830            Once_NC
11831            a+
11832            Ket
11833            Once
11834            CBra 1
11835            z+
11836            Ket
11837            Ket
11838            \w
11839            Ket
11840            End
11841    ------------------------------------------------------------------
11842        aaaazzzzb
11843     0: aaaazzzzb
11844     1: zzzz
11845        ** Failers
11846    No match
11847        aazz
11848    No match
11849    
11850    /(.)(\1|a(?2))/
11851        bab
11852     0: bab
11853     1: b
11854     2: ab
11855    
11856    /\1|(.)(?R)\1/
11857        cbbbc
11858     0: cbbbc
11859     1: c
11860    
11861    /(.)((?(1)c|a)|a(?2))/
11862        baa
11863    No match
11864    
11865    /(?P<abn>(?P=abn)xxx)/BZ
11866    ------------------------------------------------------------------
11867            Bra
11868            Once
11869            CBra 1
11870            \1
11871            xxx
11872            Ket
11873            Ket
11874            Ket
11875            End
11876    ------------------------------------------------------------------
11877    
11878    /(a\1z)/BZ
11879    ------------------------------------------------------------------
11880            Bra
11881            Once
11882            CBra 1
11883            a
11884            \1
11885            z
11886            Ket
11887            Ket
11888            Ket
11889            End
11890    ------------------------------------------------------------------
11891    
11892    /^(?>a+)(?>b+)(?>c+)(?>d+)(?>e+)/
11893         \Maabbccddee
11894    Minimum match() limit = 12
11895    Minimum match() recursion limit = 3
11896     0: aabbccddee
11897    
11898    /^(?>(a+))(?>(b+))(?>(c+))(?>(d+))(?>(e+))/
11899         \Maabbccddee
11900    Minimum match() limit = 22
11901    Minimum match() recursion limit = 21
11902     0: aabbccddee
11903     1: aa
11904     2: bb
11905     3: cc
11906     4: dd
11907     5: ee
11908    
11909    /^(?>(a+))(?>b+)(?>(c+))(?>d+)(?>(e+))/
11910         \Maabbccddee
11911    Minimum match() limit = 18
11912    Minimum match() recursion limit = 13
11913     0: aabbccddee
11914     1: aa
11915     2: cc
11916     3: ee
11917    
11918    /^a\x41z/<JS>
11919        aAz
11920     0: aAz
11921        *** Failers
11922    No match
11923        ax41z
11924    No match
11925    
11926    /^a[m\x41]z/<JS>
11927        aAz
11928     0: aAz
11929    
11930    /^a\x1z/<JS>
11931        ax1z
11932     0: ax1z
11933    
11934    /^a\u0041z/<JS>
11935        aAz
11936     0: aAz
11937        *** Failers
11938    No match
11939        au0041z
11940    No match
11941    
11942    /^a[m\u0041]z/<JS>
11943        aAz
11944     0: aAz
11945    
11946    /^a\u041z/<JS>
11947        au041z
11948     0: au041z
11949        *** Failers
11950    No match
11951        aAz
11952    No match
11953    
11954    /^a\U0041z/<JS>
11955        aU0041z
11956     0: aU0041z
11957        *** Failers
11958    No match
11959        aAz
11960    No match
11961    
11962    /(?(?=c)c|d)++Y/BZ
11963    ------------------------------------------------------------------
11964            Bra
11965            BraPos
11966            Cond
11967            Assert
11968            c
11969            Ket
11970            c
11971            Alt
11972            d
11973            Ket
11974            KetRpos
11975            Y
11976            Ket
11977            End
11978    ------------------------------------------------------------------
11979    
11980    /(?(?=c)c|d)*+Y/BZ
11981    ------------------------------------------------------------------
11982            Bra
11983            Braposzero
11984            BraPos
11985            Cond
11986            Assert
11987            c
11988            Ket
11989            c
11990            Alt
11991            d
11992            Ket
11993            KetRpos
11994            Y
11995            Ket
11996            End
11997    ------------------------------------------------------------------
11998    
11999    /a[\NB]c/
12000    Failed: \N is not supported in a class at offset 3
12001    
12002    /a[B-\Nc]/
12003    Failed: \N is not supported in a class at offset 5
12004    
12005    /(a)(?2){0,1999}?(b)/
12006    
12007    /(a)(?(DEFINE)(b))(?2){0,1999}?(?2)/
12008    
12009    /--- This test, with something more complicated than individual letters, causes
12010    different behaviour in Perl. Perhaps it disables some optimization; no tag is
12011    passed back for the failures, whereas in PCRE there is a tag. ---/
12012    
12013    /(A|P)(*:A)(B|P) | (X|P)(X|P)(*:B)(Y|P)/xK
12014        AABC
12015     0: AB
12016     1: A
12017     2: B
12018    MK: A
12019        XXYZ
12020     0: XXY
12021     1: <unset>
12022     2: <unset>
12023     3: X
12024     4: X
12025     5: Y
12026    MK: B
12027        ** Failers
12028    No match
12029        XAQQ
12030    No match, mark = A
12031        XAQQXZZ
12032    No match, mark = A
12033        AXQQQ
12034    No match, mark = A
12035        AXXQQQ
12036    No match, mark = B
12037    
12038    /-- Perl doesn't give marks for these, though it does if the alternatives are
12039    replaced by single letters. --/
12040    
12041    /(b|q)(*:m)f|a(*:n)w/K
12042        aw
12043     0: aw
12044    MK: n
12045        ** Failers
12046    No match, mark = n
12047        abc
12048    No match, mark = m
12049    
12050    /(q|b)(*:m)f|a(*:n)w/K
12051        aw
12052     0: aw
12053    MK: n
12054        ** Failers
12055    No match, mark = n
12056        abc
12057    No match, mark = m
12058    
12059    /-- After a partial match, the behaviour is as for a failure. --/
12060    
12061    /^a(*:X)bcde/K
12062       abc\P
12063    Partial match, mark=X: abc
12064    
12065    /-- These are here because Perl doesn't return a mark, except for the first --/
12066    
12067    /(?=(*:x))(q|)/K+
12068        abc
12069     0:
12070     0+ abc
12071     1:
12072    MK: x
12073    
12074    /(?=(*:x))((*:y)q|)/K+
12075        abc
12076     0:
12077     0+ abc
12078     1:
12079    MK: x
12080    
12081    /(?=(*:x))(?:(*:y)q|)/K+
12082        abc
12083     0:
12084     0+ abc
12085    MK: x
12086    
12087    /(?=(*:x))(?>(*:y)q|)/K+
12088        abc
12089     0:
12090     0+ abc
12091    MK: x
12092    
12093    /(?=a(*:x))(?!a(*:y)c)/K+
12094        ab
12095     0:
12096     0+ ab
12097    MK: x
12098    
12099    /(?=a(*:x))(?=a(*:y)c|)/K+
12100        ab
12101     0:
12102     0+ ab
12103    MK: x
12104    
12105    /(..)\1/
12106        ab\P
12107    Partial match: ab
12108        aba\P
12109    Partial match: aba
12110        abab\P
12111     0: abab
12112     1: ab
12113    
12114    /(..)\1/i
12115        ab\P
12116    Partial match: ab
12117        abA\P
12118    Partial match: abA
12119        aBAb\P
12120     0: aBAb
12121     1: aB
12122    
12123    /(..)\1{2,}/
12124        ab\P
12125    Partial match: ab
12126        aba\P
12127    Partial match: aba
12128        abab\P
12129    Partial match: abab
12130        ababa\P
12131    Partial match: ababa
12132        ababab\P
12133     0: ababab
12134     1: ab
12135        ababab\P\P
12136    Partial match: ababab
12137        abababa\P
12138     0: ababab
12139     1: ab
12140        abababa\P\P
12141    Partial match: abababa
12142    
12143    /(..)\1{2,}/i
12144        ab\P
12145    Partial match: ab
12146        aBa\P
12147    Partial match: aBa
12148        aBAb\P
12149    Partial match: aBAb
12150        AbaBA\P
12151    Partial match: AbaBA
12152        abABAb\P
12153     0: abABAb
12154     1: ab
12155        aBAbaB\P\P
12156    Partial match: aBAbaB
12157        abABabA\P
12158     0: abABab
12159     1: ab
12160        abaBABa\P\P
12161    Partial match: abaBABa
12162    
12163    /(..)\1{2,}?x/i
12164        ab\P
12165    Partial match: ab
12166        abA\P
12167    Partial match: abA
12168        aBAb\P
12169    Partial match: aBAb
12170        abaBA\P
12171    Partial match: abaBA
12172        abAbaB\P
12173    Partial match: abAbaB
12174        abaBabA\P
12175    Partial match: abaBabA
12176        abAbABaBx\P
12177     0: abAbABaBx
12178     1: ab
12179    
12180    /^(..)\1/
12181        aba\P
12182    Partial match: aba
12183    
12184    /^(..)\1{2,3}x/
12185        aba\P
12186    Partial match: aba
12187        ababa\P
12188    Partial match: ababa
12189        ababa\P\P
12190    Partial match: ababa
12191        abababx
12192     0: abababx
12193     1: ab
12194        ababababx
12195     0: ababababx
12196     1: ab
12197    
12198    /^(..)\1{2,3}?x/
12199        aba\P
12200    Partial match: aba
12201        ababa\P
12202    Partial match: ababa
12203        ababa\P\P
12204    Partial match: ababa
12205        abababx
12206     0: abababx
12207     1: ab
12208        ababababx
12209     0: ababababx
12210     1: ab
12211    
12212    /^(..)(\1{2,3})ab/
12213        abababab
12214     0: abababab
12215     1: ab
12216     2: abab
12217    
12218    /^\R/
12219        \r\P
12220     0: \x0d
12221        \r\P\P
12222    Partial match: \x0d
12223    
12224    /^\R{2,3}x/
12225        \r\P
12226    Partial match: \x0d
12227        \r\P\P
12228    Partial match: \x0d
12229        \r\r\P
12230    Partial match: \x0d\x0d
12231        \r\r\P\P
12232    Partial match: \x0d\x0d
12233        \r\r\r\P
12234    Partial match: \x0d\x0d\x0d
12235        \r\r\r\P\P
12236    Partial match: \x0d\x0d\x0d
12237        \r\rx
12238     0: \x0d\x0dx
12239        \r\r\rx
12240     0: \x0d\x0d\x0dx
12241    
12242    /^\R{2,3}?x/
12243        \r\P
12244    Partial match: \x0d
12245        \r\P\P
12246    Partial match: \x0d
12247        \r\r\P
12248    Partial match: \x0d\x0d
12249        \r\r\P\P
12250    Partial match: \x0d\x0d
12251        \r\r\r\P
12252    Partial match: \x0d\x0d\x0d
12253        \r\r\r\P\P
12254    Partial match: \x0d\x0d\x0d
12255        \r\rx
12256     0: \x0d\x0dx
12257        \r\r\rx
12258     0: \x0d\x0d\x0dx
12259    
12260    /^\R?x/
12261        \r\P
12262    Partial match: \x0d
12263        \r\P\P
12264    Partial match: \x0d
12265        x
12266     0: x
12267        \rx
12268     0: \x0dx
12269    
12270    /^\R+x/
12271        \r\P
12272    Partial match: \x0d
12273        \r\P\P
12274    Partial match: \x0d
12275        \r\n\P
12276    Partial match: \x0d\x0a
12277        \r\n\P\P
12278    Partial match: \x0d\x0a
12279        \rx
12280     0: \x0dx
12281    
12282    /^a$/<CRLF>
12283        a\r\P
12284    Partial match: a\x0d
12285        a\r\P\P
12286    Partial match: a\x0d
12287    
12288    /^a$/m<CRLF>
12289        a\r\P
12290    Partial match: a\x0d
12291        a\r\P\P
12292    Partial match: a\x0d
12293    
12294    /^(a$|a\r)/<CRLF>
12295        a\r\P
12296     0: a\x0d
12297     1: a\x0d
12298        a\r\P\P
12299    Partial match: a\x0d
12300    
12301    /^(a$|a\r)/m<CRLF>
12302        a\r\P
12303     0: a\x0d
12304     1: a\x0d
12305        a\r\P\P
12306    Partial match: a\x0d
12307    
12308    /./<CRLF>
12309        \r\P
12310     0: \x0d
12311        \r\P\P
12312    Partial match: \x0d
12313    
12314    /.{2,3}/<CRLF>
12315        \r\P
12316    Partial match: \x0d
12317        \r\P\P
12318    Partial match: \x0d
12319        \r\r\P
12320     0: \x0d\x0d
12321        \r\r\P\P
12322    Partial match: \x0d\x0d
12323        \r\r\r\P
12324     0: \x0d\x0d\x0d
12325        \r\r\r\P\P
12326    Partial match: \x0d\x0d\x0d
12327    
12328    /.{2,3}?/<CRLF>
12329        \r\P
12330    Partial match: \x0d
12331        \r\P\P
12332    Partial match: \x0d
12333        \r\r\P
12334     0: \x0d\x0d
12335        \r\r\P\P
12336    Partial match: \x0d\x0d
12337        \r\r\r\P
12338     0: \x0d\x0d
12339        \r\r\r\P\P
12340     0: \x0d\x0d
12341    
12342    /-- These two are here because Perl does not match: it seems to allow the
12343    COMMIT to escape from the assertion. --/
12344    
12345    /(?=a(*COMMIT)b|ac)ac|ac/
12346        ac
12347     0: ac
12348    
12349    /(?=a(*COMMIT)b|(ac)) ac | (a)c/x
12350        ac
12351     0: ac
12352     1: <unset>
12353     2: a
12354    
12355    "AB(C(D))(E(F))?(?(?=\2)(?=\4))"
12356        ABCDGHI\O03
12357    Matched, but too many substrings
12358     0: ABCD
12359    
12360    /-- This one is here because Perl does not confine the *COMMIT to the
12361    assertion, and therefore fails the entire subroutine call. --/
12362    
12363    /((?=a(*COMMIT)b)ab|ac){0}(?:(?1)|a(c))/
12364        ac
12365     0: ac
12366    
12367    /-- These are all run as real matches in test 1; here we are just checking the
12368    settings of the anchored and startline bits. --/
12369    
12370    /(?>.*?a)(?<=ba)/I
12371    Capturing subpattern count = 0
12372    No options
12373    No first char
12374    Need char = 'a'
12375    Max lookbehind = 2
12376    
12377    /(?:.*?a)(?<=ba)/I
12378    Capturing subpattern count = 0
12379    No options
12380    First char at start or follows newline
12381    Need char = 'a'
12382    Max lookbehind = 2
12383    
12384    /.*?a(*PRUNE)b/I
12385    Capturing subpattern count = 0
12386    No options
12387    No first char
12388    Need char = 'b'
12389    
12390    /.*?a(*PRUNE)b/sI
12391    Capturing subpattern count = 0
12392    Options: dotall
12393    No first char
12394    Need char = 'b'
12395    
12396    /^a(*PRUNE)b/sI
12397    Capturing subpattern count = 0
12398    Options: anchored dotall
12399    No first char
12400    No need char
12401    
12402    /.*?a(*SKIP)b/I
12403    Capturing subpattern count = 0
12404    No options
12405    No first char
12406    Need char = 'b'
12407    
12408    /(?>.*?a)b/sI
12409    Capturing subpattern count = 0
12410    Options: dotall
12411    No first char
12412    Need char = 'b'
12413    
12414    /(?>.*?a)b/I
12415    Capturing subpattern count = 0
12416    No options
12417    No first char
12418    Need char = 'b'
12419    
12420    /(?>^a)b/sI
12421    Capturing subpattern count = 0
12422    Options: anchored dotall
12423    No first char
12424    No need char
12425    
12426    /(?>.*?)(?<=(abcd)|(wxyz))/I
12427    Capturing subpattern count = 2
12428    No options
12429    No first char
12430    No need char
12431    Max lookbehind = 4
12432    
12433    /(?>.*)(?<=(abcd)|(wxyz))/I
12434    Capturing subpattern count = 2
12435    No options
12436    No first char
12437    No need char
12438    Max lookbehind = 4
12439    
12440    "(?>.*)foo"I
12441    Capturing subpattern count = 0
12442    No options
12443    No first char
12444    Need char = 'o'
12445    
12446    "(?>.*?)foo"I
12447    Capturing subpattern count = 0
12448    No options
12449    No first char
12450    Need char = 'o'
12451    
12452    /(?>^abc)/mI
12453    Capturing subpattern count = 0
12454    Options: multiline
12455    First char at start or follows newline
12456    Need char = 'c'
12457    
12458    /(?>.*abc)/mI
12459    Capturing subpattern count = 0
12460    Options: multiline
12461    No first char
12462    Need char = 'c'
12463    
12464    /(?:.*abc)/mI
12465    Capturing subpattern count = 0
12466    Options: multiline
12467    First char at start or follows newline
12468    Need char = 'c'
12469    
12470    /-- Check PCRE_STUDY_EXTRA_NEEDED --/
12471    
12472    /.?/S-I
12473    Capturing subpattern count = 0
12474    No options
12475    No first char
12476    No need char
12477    Study returned NULL
12478    
12479    /.?/S!I
12480    Capturing subpattern count = 0
12481    No options
12482    No first char
12483    No need char
12484    Subject length lower bound = -1
12485    No set of starting bytes
12486    
12487    /(?:(a)+(?C1)bb|aa(?C2)b)/
12488        aab\C+
12489    Callout 1: last capture = 1
12490     0: <unset>
12491     1: a
12492    --->aab
12493        ^ ^     b
12494    Callout 1: last capture = 1
12495     0: <unset>
12496     1: a
12497    --->aab
12498        ^^      b
12499    Callout 2: last capture = -1
12500     0: <unset>
12501    --->aab
12502        ^ ^     b
12503     0: aab
12504    
12505    /(?:(a)++(?C1)bb|aa(?C2)b)/
12506        aab\C+
12507    Callout 1: last capture = 1
12508     0: <unset>
12509     1: a
12510    --->aab
12511        ^ ^     b
12512    Callout 2: last capture = -1
12513     0: <unset>
12514    --->aab
12515        ^ ^     b
12516     0: aab
12517    
12518    /(?:(?>(a))(?C1)bb|aa(?C2)b)/
12519        aab\C+
12520    Callout 1: last capture = 1
12521     0: <unset>
12522     1: a
12523    --->aab
12524        ^^      b
12525    Callout 2: last capture = -1
12526     0: <unset>
12527    --->aab
12528        ^ ^     b
12529     0: aab
12530    
12531    /(?:(?1)(?C1)x|ab(?C2))((a)){0}/
12532        aab\C+
12533    Callout 1: last capture = -1
12534     0: <unset>
12535    --->aab
12536        ^^      x
12537    Callout 1: last capture = -1
12538     0: <unset>
12539    --->aab
12540         ^^     x
12541    Callout 2: last capture = -1
12542     0: <unset>
12543    --->aab
12544         ^ ^    )
12545     0: ab
12546    
12547    /(?1)(?C1)((a)(?C2)){0}/
12548        aab\C+
12549    Callout 2: last capture = 2
12550     0: <unset>
12551     1: <unset>
12552     2: a
12553    --->aab
12554        ^^      )
12555    Callout 1: last capture = -1
12556     0: <unset>
12557    --->aab
12558        ^^      ((a)(?C2)){0}
12559     0: a
12560    
12561    /(?:(a)+(?C1)bb|aa(?C2)b)++/
12562        aab\C+
12563    Callout 1: last capture = 1
12564     0: <unset>
12565     1: a
12566    --->aab
12567        ^ ^     b
12568    Callout 1: last capture = 1
12569     0: <unset>
12570     1: a
12571    --->aab
12572        ^^      b
12573    Callout 2: last capture = -1
12574     0: <unset>
12575    --->aab
12576        ^ ^     b
12577     0: aab
12578        aab\C+\O2
12579    Callout 1: last capture = 1
12580     0: <unset>
12581    --->aab
12582        ^ ^     b
12583    Callout 1: last capture = 1
12584     0: <unset>
12585    --->aab
12586        ^^      b
12587    Callout 2: last capture = -1
12588     0: <unset>
12589    --->aab
12590        ^ ^     b
12591     0: aab
12592    
12593    /(ab)x|ab/
12594        ab\O3
12595     0: ab
12596        ab\O2
12597     0: ab
12598    
12599    /(ab)/
12600        ab\O3
12601    Matched, but too many substrings
12602     0: ab
12603        ab\O2
12604    Matched, but too many substrings
12605     0: ab
12606    
12607    /(?<=123)(*MARK:xx)abc/K
12608        xxxx123a\P\P
12609    Partial match at offset 7, mark=xx: 123a
12610        xxxx123a\P
12611    Partial match at offset 7, mark=xx: 123a
12612    
12613    /123\Kabc/
12614        xxxx123a\P\P
12615    Partial match: 123a
12616        xxxx123a\P
12617    Partial match: 123a
12618    
12619  /-- End of testinput2 --/  /-- End of testinput2 --/

Legend:
Removed from v.621  
changed lines
  Added in v.1265

  ViewVC Help
Powered by ViewVC 1.1.5