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

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

  ViewVC Help
Powered by ViewVC 1.1.5