/[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 410 by ph10, Wed Apr 1 07:39:22 2009 UTC revision 629 by ph10, Fri Jul 22 09:18:11 2011 UTC
# Line 1  Line 1 
1    /-- This set of tests is not Perl-compatible. It checks on special features
2        of PCRE's API, error diagnostics, and the compiled code of some patterns.
3        It also checks the non-Perl syntax the PCRE supports (Python, .NET,
4        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
6        bug. --/
7    
8    /-- Originally, the Perl >= 5.10 things were in here too, but now I have
9        separated many (most?) of them out into test 11. However, there may still
10        be some that were overlooked. --/
11    
12  /(a)b|/I  /(a)b|/I
13  Capturing subpattern count = 1  Capturing subpattern count = 1
14  No options  No options
# Line 40  No match Line 51  No match
51    
52  /a+bc/I  /a+bc/I
53  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
54  No options  No options
55  First char = 'a'  First char = 'a'
56  Need char = 'c'  Need char = 'c'
57    
58  /a*bc/I  /a*bc/I
59  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
60  No options  No options
61  No first char  No first char
62  Need char = 'c'  Need char = 'c'
63    
64  /a{3}bc/I  /a{3}bc/I
65  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
66  No options  No options
67  First char = 'a'  First char = 'a'
68  Need char = 'c'  Need char = 'c'
69    
70  /(abc|a+z)/I  /(abc|a+z)/I
71  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
72  No options  No options
73  First char = 'a'  First char = 'a'
74  No need char  No need char
# Line 96  Failed: missing terminating ] for charac Line 103  Failed: missing terminating ] for charac
103  /(?X)[\B]/  /(?X)[\B]/
104  Failed: invalid escape sequence in character class at offset 6  Failed: invalid escape sequence in character class at offset 6
105    
106    /(?X)[\R]/
107    Failed: invalid escape sequence in character class at offset 6
108    
109    /(?X)[\X]/
110    Failed: invalid escape sequence in character class at offset 6
111    
112    /[\B]/BZ
113    ------------------------------------------------------------------
114            Bra
115            B
116            Ket
117            End
118    ------------------------------------------------------------------
119    
120    /[\R]/BZ
121    ------------------------------------------------------------------
122            Bra
123            R
124            Ket
125            End
126    ------------------------------------------------------------------
127    
128    /[\X]/BZ
129    ------------------------------------------------------------------
130            Bra
131            X
132            Ket
133            End
134    ------------------------------------------------------------------
135    
136  /[z-a]/  /[z-a]/
137  Failed: range out of order in character class at offset 3  Failed: range out of order in character class at offset 3
138    
# Line 113  Failed: unrecognized character after (? Line 150  Failed: unrecognized character after (?
150    
151  /.*b/I  /.*b/I
152  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
153  No options  No options
154  First char at start or follows newline  First char at start or follows newline
155  Need char = 'b'  Need char = 'b'
156    
157  /.*?b/I  /.*?b/I
158  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
159  No options  No options
160  First char at start or follows newline  First char at start or follows newline
161  Need char = 'b'  Need char = 'b'
# Line 140  Capturing subpattern count = 0 Line 175  Capturing subpattern count = 0
175  No options  No options
176  No first char  No first char
177  No need char  No need char
178    Subject length lower bound = 3
179  Starting byte set: c d e  Starting byte set: c d e
180      this sentence eventually mentions a cat      this sentence eventually mentions a cat
181   0: cat   0: cat
# Line 151  Capturing subpattern count = 0 Line 187  Capturing subpattern count = 0
187  Options: caseless  Options: caseless
188  No first char  No first char
189  No need char  No need char
190    Subject length lower bound = 3
191  Starting byte set: C D E c d e  Starting byte set: C D E c d e
192      this sentence eventually mentions a CAT cat      this sentence eventually mentions a CAT cat
193   0: CAT   0: CAT
# Line 162  Capturing subpattern count = 0 Line 199  Capturing subpattern count = 0
199  No options  No options
200  No first char  No first char
201  No need char  No need char
202    Subject length lower bound = 1
203  Starting byte set: a b c d  Starting byte set: a b c d
204    
205  /(a|[^\dZ])/IS  /(a|[^\dZ])/IS
# Line 169  Capturing subpattern count = 1 Line 207  Capturing subpattern count = 1
207  No options  No options
208  No first char  No first char
209  No need char  No need char
210    Subject length lower bound = 1
211  Starting byte set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a  Starting byte set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a
212    \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19    \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19
213    \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = >    \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = >
# Line 189  Capturing subpattern count = 1 Line 228  Capturing subpattern count = 1
228  No options  No options
229  No first char  No first char
230  No need char  No need char
231    Subject length lower bound = 1
232  Starting byte set: \x09 \x0a \x0c \x0d \x20 a b  Starting byte set: \x09 \x0a \x0c \x0d \x20 a b
233    
234  /(ab\2)/  /(ab\2)/
# Line 324  No need char Line 364  No need char
364    
365  /.*((abc)$|(def))/I  /.*((abc)$|(def))/I
366  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
367  No options  No options
368  First char at start or follows newline  First char at start or follows newline
369  No need char  No need char
# Line 338  No need char Line 377  No need char
377   2: <unset>   2: <unset>
378   3: def   3: def
379    
380  /abc/IP  /abc/P
381      abc      abc
382   0: abc   0: abc
383      *** Failers      *** Failers
384  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
385    
386  /^abc|def/IP  /^abc|def/P
387      abcdef      abcdef
388   0: abc   0: abc
389      abcdef\B      abcdef\B
390   0: def   0: def
391    
392  /.*((abc)$|(def))/IP  /.*((abc)$|(def))/P
393      defabc      defabc
394   0: defabc   0: defabc
395   1: abc   1: abc
# Line 360  No match: POSIX code 17: match failed Line 399  No match: POSIX code 17: match failed
399   1: def   1: def
400   3: def   3: def
401    
402  /the quick brown fox/IP  /the quick brown fox/P
403      the quick brown fox      the quick brown fox
404   0: the quick brown fox   0: the quick brown fox
405      *** Failers      *** Failers
# Line 368  No match: POSIX code 17: match failed Line 407  No match: POSIX code 17: match failed
407      The Quick Brown Fox      The Quick Brown Fox
408  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
409    
410  /the quick brown fox/IPi  /the quick brown fox/Pi
411      the quick brown fox      the quick brown fox
412   0: the quick brown fox   0: the quick brown fox
413      The Quick Brown Fox      The Quick Brown Fox
414   0: The Quick Brown Fox   0: The Quick Brown Fox
415    
416  /abc.def/IP  /abc.def/P
417      *** Failers      *** Failers
418  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
419      abc\ndef      abc\ndef
420  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
421    
422  /abc$/IP  /abc$/P
423      abc      abc
424   0: abc   0: abc
425      abc\n      abc\n
426   0: abc   0: abc
427    
428  /(abc)\2/IP  /(abc)\2/P
429  Failed: POSIX code 15: bad back reference at offset 7  Failed: POSIX code 15: bad back reference at offset 7
430    
431  /(abc\1)/IP  /(abc\1)/P
432      abc      abc
433  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
434    
# Line 401  Failed: missing terminating ] for charac Line 440  Failed: missing terminating ] for charac
440    
441  /[^aeiou ]{3,}/I  /[^aeiou ]{3,}/I
442  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
443  No options  No options
444  No first char  No first char
445  No need char  No need char
# Line 410  No need char Line 448  No need char
448    
449  /<.*>/I  /<.*>/I
450  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
451  No options  No options
452  First char = '<'  First char = '<'
453  Need char = '>'  Need char = '>'
# Line 419  Need char = '>' Line 456  Need char = '>'
456    
457  /<.*?>/I  /<.*?>/I
458  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
459  No options  No options
460  First char = '<'  First char = '<'
461  Need char = '>'  Need char = '>'
# Line 428  Need char = '>' Line 464  Need char = '>'
464    
465  /<.*>/IU  /<.*>/IU
466  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
467  Options: ungreedy  Options: ungreedy
468  First char = '<'  First char = '<'
469  Need char = '>'  Need char = '>'
# Line 437  Need char = '>' Line 472  Need char = '>'
472    
473  /(?U)<.*>/I  /(?U)<.*>/I
474  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
475  Options: ungreedy  Options: ungreedy
476  First char = '<'  First char = '<'
477  Need char = '>'  Need char = '>'
# Line 446  Need char = '>' Line 480  Need char = '>'
480    
481  /<.*?>/IU  /<.*?>/IU
482  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
483  Options: ungreedy  Options: ungreedy
484  First char = '<'  First char = '<'
485  Need char = '>'  Need char = '>'
# Line 455  Need char = '>' Line 488  Need char = '>'
488    
489  /={3,}/IU  /={3,}/IU
490  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
491  Options: ungreedy  Options: ungreedy
492  First char = '='  First char = '='
493  Need char = '='  Need char = '='
# Line 464  Need char = '=' Line 496  Need char = '='
496    
497  /(?U)={3,}?/I  /(?U)={3,}?/I
498  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
499  Options: ungreedy  Options: ungreedy
500  First char = '='  First char = '='
501  Need char = '='  Need char = '='
# Line 522  No need char Line 553  No need char
553    
554  /(?s).*/I  /(?s).*/I
555  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
556  Options: anchored dotall  Options: anchored dotall
557  No first char  No first char
558  No need char  No need char
# Line 532  Capturing subpattern count = 0 Line 562  Capturing subpattern count = 0
562  No options  No options
563  No first char  No first char
564  No need char  No need char
565    Subject length lower bound = 1
566  Starting byte set: a b c d  Starting byte set: a b c d
567    
568  /(?i)[abcd]/IS  /(?i)[abcd]/IS
# Line 539  Capturing subpattern count = 0 Line 570  Capturing subpattern count = 0
570  Options: caseless  Options: caseless
571  No first char  No first char
572  No need char  No need char
573    Subject length lower bound = 1
574  Starting byte set: A B C D a b c d  Starting byte set: A B C D a b c d
575    
576  /(?m)[xy]|(b|c)/IS  /(?m)[xy]|(b|c)/IS
# Line 546  Capturing subpattern count = 1 Line 578  Capturing subpattern count = 1
578  Options: multiline  Options: multiline
579  No first char  No first char
580  No need char  No need char
581    Subject length lower bound = 1
582  Starting byte set: b c x y  Starting byte set: b c x y
583    
584  /(^a|^b)/Im  /(^a|^b)/Im
# Line 584  Failed: syntax error in subpattern name Line 617  Failed: syntax error in subpattern name
617  /((?s)blah)\s+\1/I  /((?s)blah)\s+\1/I
618  Capturing subpattern count = 1  Capturing subpattern count = 1
619  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
620  No options  No options
621  First char = 'b'  First char = 'b'
622  Need char = 'h'  Need char = 'h'
# Line 592  Need char = 'h' Line 624  Need char = 'h'
624  /((?i)blah)\s+\1/I  /((?i)blah)\s+\1/I
625  Capturing subpattern count = 1  Capturing subpattern count = 1
626  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
627  No options  No options
628  First char = 'b' (caseless)  First char = 'b' (caseless)
629  Need char = 'h' (caseless)  Need char = 'h' (caseless)
# Line 601  Need char = 'h' (caseless) Line 632  Need char = 'h' (caseless)
632  ------------------------------------------------------------------  ------------------------------------------------------------------
633          Bra          Bra
634          CBra 1          CBra 1
635       01 Opt       /i b
      NC b  
636          Ket          Ket
      00 Opt  
637          Ket          Ket
638          End          End
639  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 612  Capturing subpattern count = 1 Line 641  Capturing subpattern count = 1
641  No options  No options
642  First char = 'b' (caseless)  First char = 'b' (caseless)
643  No need char  No need char
644  Study returned NULL  Subject length lower bound = 1
645    No set of starting bytes
646    
647  /(a*b|(?i:c*(?-i)d))/IS  /(a*b|(?i:c*(?-i)d))/IS
648  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
649  No options  No options
650  No first char  No first char
651  No need char  No need char
652    Subject length lower bound = 1
653  Starting byte set: C a b c d  Starting byte set: C a b c d
654    
655  /a$/I  /a$/I
# Line 668  Need char = 'c' Line 698  Need char = 'c'
698    
699  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I
700  Capturing subpattern count = 5  Capturing subpattern count = 5
 Partial matching not supported  
701  Options: anchored  Options: anchored
702  No first char  No first char
703  No need char  No need char
# Line 685  Capturing subpattern count = 0 Line 714  Capturing subpattern count = 0
714  No options  No options
715  No first char  No first char
716  No need char  No need char
717    Subject length lower bound = 1
718  Starting byte set: a b  Starting byte set: a b
719    
720  /(?<!foo)(alpha|omega)/IS  /(?<!foo)(alpha|omega)/IS
# Line 692  Capturing subpattern count = 1 Line 722  Capturing subpattern count = 1
722  No options  No options
723  No first char  No first char
724  Need char = 'a'  Need char = 'a'
725    Subject length lower bound = 5
726  Starting byte set: a o  Starting byte set: a o
727    
728  /(?!alphabet)[ab]/IS  /(?!alphabet)[ab]/IS
# Line 699  Capturing subpattern count = 0 Line 730  Capturing subpattern count = 0
730  No options  No options
731  No first char  No first char
732  No need char  No need char
733    Subject length lower bound = 1
734  Starting byte set: a b  Starting byte set: a b
735    
736  /(?<=foo\n)^bar/Im  /(?<=foo\n)^bar/Im
# Line 784  No need char Line 816  No need char
816    
817  /(?>.*)(?<=(abcd)|(xyz))/I  /(?>.*)(?<=(abcd)|(xyz))/I
818  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
819  No options  No options
820  First char at start or follows newline  First char at start or follows newline
821  No need char  No need char
# Line 854  No match Line 885  No match
885      a      a
886  No match  No match
887    
888  /This one is here because I think Perl 5.005_02 gets the setting of $1 wrong/I  /This one is here because Perl behaves differently; see also the following/I
889  Capturing subpattern count = 0  Capturing subpattern count = 0
890  No options  No options
891  First char = 'T'  First char = 'T'
# Line 866  Max back reference = 1 Line 897  Max back reference = 1
897  Options: anchored  Options: anchored
898  No first char  No first char
899  No need char  No need char
900        aaaa
901    No match
902      aaaaaa      aaaaaa
903   0: aaaaaa  No match
904   1: aa  
905    /Perl does not fail these two for the final subjects. Neither did PCRE until/
906    /release 8.01. The problem is in backtracking into a subpattern that contains/
907    No match
908    /a recursive reference to itself. PCRE has now made these into atomic patterns./
909    No match
910    
911    /^(xa|=?\1a){2}$/
912        xa=xaa
913     0: xa=xaa
914     1: =xaa
915        ** Failers
916    No match
917        xa=xaaa
918    No match
919    
920    /^(xa|=?\1a)+$/
921        xa=xaa
922     0: xa=xaa
923     1: =xaa
924        ** Failers
925    No match
926        xa=xaaa
927    No match
928    
929  /These are syntax tests from Perl 5.005/I  /These are syntax tests from Perl 5.005/I
930  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 1003  copy substring 5 failed -7 Line 1059  copy substring 5 failed -7
1059    
1060  /(.{20})/I  /(.{20})/I
1061  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1062  No options  No options
1063  No first char  No first char
1064  No need char  No need char
# Line 1021  No need char Line 1076  No need char
1076    
1077  /(.{15})/I  /(.{15})/I
1078  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1079  No options  No options
1080  No first char  No first char
1081  No need char  No need char
# Line 1036  No need char Line 1090  No need char
1090    
1091  /(.{16})/I  /(.{16})/I
1092  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1093  No options  No options
1094  No first char  No first char
1095  No need char  No need char
# Line 1103  No need char Line 1156  No need char
1156  )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+  )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
1157  )?)?)?)?)?)?)?)?)?otherword/I  )?)?)?)?)?)?)?)?)?otherword/I
1158  Capturing subpattern count = 8  Capturing subpattern count = 8
 Partial matching not supported  
1159  Contains explicit CR or LF match  Contains explicit CR or LF match
1160  No options  No options
1161  First char = 'w'  First char = 'w'
# Line 1118  Need char = 'd' Line 1170  Need char = 'd'
1170          End          End
1171  ------------------------------------------------------------------  ------------------------------------------------------------------
1172  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1173  No options  No options
1174  First char at start or follows newline  First char at start or follows newline
1175  Need char = 'X'  Need char = 'X'
# Line 1132  Need char = 'X' Line 1183  Need char = 'X'
1183          End          End
1184  ------------------------------------------------------------------  ------------------------------------------------------------------
1185  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1186  Options: anchored dotall  Options: anchored dotall
1187  No first char  No first char
1188  Need char = 'X'  Need char = 'X'
# Line 1151  Need char = 'X' Line 1201  Need char = 'X'
1201          End          End
1202  ------------------------------------------------------------------  ------------------------------------------------------------------
1203  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1204  No options  No options
1205  First char at start or follows newline  First char at start or follows newline
1206  No need char  No need char
# Line 1170  No need char Line 1219  No need char
1219          End          End
1220  ------------------------------------------------------------------  ------------------------------------------------------------------
1221  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1222  Options: anchored dotall  Options: anchored dotall
1223  No first char  No first char
1224  No need char  No need char
# Line 1189  No need char Line 1237  No need char
1237          End          End
1238  ------------------------------------------------------------------  ------------------------------------------------------------------
1239  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1240  Options: anchored dotall  Options: anchored dotall
1241  No first char  No first char
1242  No need char  No need char
# Line 1198  No need char Line 1245  No need char
1245  ------------------------------------------------------------------  ------------------------------------------------------------------
1246          Bra          Bra
1247          Bra          Bra
      04 Opt  
1248          AllAny*          AllAny*
1249          X          X
1250          Alt          Alt
      04 Opt  
1251          ^          ^
1252          B          B
1253          Ket          Ket
      00 Opt  
1254          Ket          Ket
1255          End          End
1256  ------------------------------------------------------------------  ------------------------------------------------------------------
1257  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1258  Options: anchored  Options: anchored
1259  No first char  No first char
1260  No need char  No need char
# Line 1296  No need char Line 1339  No need char
1339    
1340  /.*iss/Ig+  /.*iss/Ig+
1341  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1342  No options  No options
1343  First char at start or follows newline  First char at start or follows newline
1344  Need char = 's'  Need char = 's'
# Line 1399  Need char = 'c' Line 1441  Need char = 'c'
1441    
1442  /a*/I  /a*/I
1443  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1444  No options  No options
1445  No first char  No first char
1446  No need char  No need char
1447    
1448  /a+/I  /a+/I
1449  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1450  No options  No options
1451  First char = 'a'  First char = 'a'
1452  No need char  No need char
1453    
1454  /(baa|a+)/I  /(baa|a+)/I
1455  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1456  No options  No options
1457  No first char  No first char
1458  Need char = 'a'  Need char = 'a'
1459    
1460  /a{0,3}/I  /a{0,3}/I
1461  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1462  No options  No options
1463  No first char  No first char
1464  No need char  No need char
1465    
1466  /baa{3,}/I  /baa{3,}/I
1467  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1468  No options  No options
1469  First char = 'b'  First char = 'b'
1470  Need char = 'a'  Need char = 'a'
1471    
1472  /"([^\\"]+|\\.)*"/I  /"([^\\"]+|\\.)*"/I
1473  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1474  No options  No options
1475  First char = '"'  First char = '"'
1476  Need char = '"'  Need char = '"'
# Line 1489  Need char = 'b' Line 1525  Need char = 'b'
1525    
1526  /abc*/I  /abc*/I
1527  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1528  No options  No options
1529  First char = 'a'  First char = 'a'
1530  Need char = 'b'  Need char = 'b'
1531    
1532  /ab.c*/I  /ab.c*/I
1533  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1534  No options  No options
1535  First char = 'a'  First char = 'a'
1536  Need char = 'b'  Need char = 'b'
1537    
1538  /a.c*/I  /a.c*/I
1539  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1540  No options  No options
1541  First char = 'a'  First char = 'a'
1542  No need char  No need char
1543    
1544  /.c*/I  /.c*/I
1545  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1546  No options  No options
1547  No first char  No first char
1548  No need char  No need char
1549    
1550  /ac*/I  /ac*/I
1551  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1552  No options  No options
1553  First char = 'a'  First char = 'a'
1554  No need char  No need char
1555    
1556  /(a.c*|b.c*)/I  /(a.c*|b.c*)/I
1557  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1558  No options  No options
1559  No first char  No first char
1560  No need char  No need char
1561    
1562  /a.c*|aba/I  /a.c*|aba/I
1563  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1564  No options  No options
1565  First char = 'a'  First char = 'a'
1566  No need char  No need char
1567    
1568  /.+a/I  /.+a/I
1569  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1570  No options  No options
1571  No first char  No first char
1572  Need char = 'a'  Need char = 'a'
1573    
1574  /(?=abcda)a.*/I  /(?=abcda)a.*/I
1575  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1576  No options  No options
1577  First char = 'a'  First char = 'a'
1578  Need char = 'a'  Need char = 'a'
1579    
1580  /(?=a)a.*/I  /(?=a)a.*/I
1581  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1582  No options  No options
1583  First char = 'a'  First char = 'a'
1584  No need char  No need char
# Line 1565  No need char Line 1591  No need char
1591    
1592  /a\d*/I  /a\d*/I
1593  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1594  No options  No options
1595  First char = 'a'  First char = 'a'
1596  No need char  No need char
1597    
1598  /ab\d*/I  /ab\d*/I
1599  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1600  No options  No options
1601  First char = 'a'  First char = 'a'
1602  Need char = 'b'  Need char = 'b'
# Line 1591  Need char = 'd' Line 1615  Need char = 'd'
1615    
1616  /ab\d+/I  /ab\d+/I
1617  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1618  No options  No options
1619  First char = 'a'  First char = 'a'
1620  Need char = 'b'  Need char = 'b'
# Line 1666  No need char Line 1689  No need char
1689      \Nabc      \Nabc
1690  No match  No match
1691    
1692  /a*(b+)(z)(z)/IP  /a*(b+)(z)(z)/P
1693      aaaabbbbzzzz      aaaabbbbzzzz
1694   0: aaaabbbbzz   0: aaaabbbbzz
1695   1: bbbb   1: bbbb
# Line 1698  Capturing subpattern count = 0 Line 1721  Capturing subpattern count = 0
1721  Options: anchored  Options: anchored
1722  No first char  No first char
1723  Need char = 'd'  Need char = 'd'
1724  Study returned NULL  Subject length lower bound = 4
1725    No set of starting bytes
1726    
1727  /\(             # ( at start  /\(             # ( at start
1728    (?:           # Non-capturing bracket    (?:           # Non-capturing bracket
# Line 1709  Study returned NULL Line 1733  Study returned NULL
1733    \)            # Closing )    \)            # Closing )
1734    /Ix    /Ix
1735  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1736  Options: extended  Options: extended
1737  First char = '('  First char = '('
1738  Need char = ')'  Need char = ')'
# Line 1738  No match Line 1761  No match
1761    
1762  /\(  ( (?>[^()]+) | (?R) )* \) /Ixg  /\(  ( (?>[^()]+) | (?R) )* \) /Ixg
1763  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1764  Options: extended  Options: extended
1765  First char = '('  First char = '('
1766  Need char = ')'  Need char = ')'
# Line 1753  Need char = ')' Line 1775  Need char = ')'
1775    
1776  /\(  (?: (?>[^()]+) | (?R) ) \) /Ix  /\(  (?: (?>[^()]+) | (?R) ) \) /Ix
1777  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1778  Options: extended  Options: extended
1779  First char = '('  First char = '('
1780  Need char = ')'  Need char = ')'
# Line 1772  No match Line 1793  No match
1793    
1794  /\(  (?: (?>[^()]+) | (?R) )? \) /Ix  /\(  (?: (?>[^()]+) | (?R) )? \) /Ix
1795  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1796  Options: extended  Options: extended
1797  First char = '('  First char = '('
1798  Need char = ')'  Need char = ')'
# Line 1783  Need char = ')' Line 1803  Need char = ')'
1803    
1804  /\(  ( (?>[^()]+) | (?R) )* \) /Ix  /\(  ( (?>[^()]+) | (?R) )* \) /Ix
1805  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1806  Options: extended  Options: extended
1807  First char = '('  First char = '('
1808  Need char = ')'  Need char = ')'
# Line 1793  Need char = ')' Line 1812  Need char = ')'
1812    
1813  /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix  /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix
1814  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
1815  Options: extended  Options: extended
1816  First char = '('  First char = '('
1817  Need char = ')'  Need char = ')'
# Line 1804  Need char = ')' Line 1822  Need char = ')'
1822    
1823  /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix  /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix
1824  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
1825  Options: extended  Options: extended
1826  First char = '('  First char = '('
1827  Need char = ')'  Need char = ')'
# Line 1821  Need char = ')' Line 1838  Need char = ')'
1838    
1839  /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix  /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix
1840  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
1841  Options: extended  Options: extended
1842  First char = '('  First char = '('
1843  Need char = ')'  Need char = ')'
# Line 1838  Need char = ')' Line 1854  Need char = ')'
1854    
1855  /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix  /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix
1856  Capturing subpattern count = 11  Capturing subpattern count = 11
 Partial matching not supported  
1857  Options: extended  Options: extended
1858  First char = '('  First char = '('
1859  Need char = ')'  Need char = ')'
# Line 1858  Need char = ')' Line 1873  Need char = ')'
1873    
1874  /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix  /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix
1875  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
1876  Options: extended  Options: extended
1877  First char = '('  First char = '('
1878  Need char = ')'  Need char = ')'
# Line 1866  Need char = ')' Line 1880  Need char = ')'
1880   0: (abcd(xyz<p>qrs)123)   0: (abcd(xyz<p>qrs)123)
1881   1: abcd(xyz<p>qrs)123   1: abcd(xyz<p>qrs)123
1882   2: 123   2: 123
  3: <unset>  
1883    
1884  /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix  /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix
1885  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
1886  Options: extended  Options: extended
1887  First char = '('  First char = '('
1888  Need char = ')'  Need char = ')'
# Line 1942  Capturing subpattern count = 0 Line 1954  Capturing subpattern count = 0
1954  No options  No options
1955  No first char  No first char
1956  No need char  No need char
1957    Subject length lower bound = 1
1958  Starting byte set: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z  Starting byte set: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
1959    _ a b c d e f g h i j k l m n o p q r s t u v w x y z    _ a b c d e f g h i j k l m n o p q r s t u v w x y z
1960    
# Line 2003  Contains explicit CR or LF match Line 2016  Contains explicit CR or LF match
2016  No options  No options
2017  No first char  No first char
2018  No need char  No need char
2019    Subject length lower bound = 1
2020  Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20  Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20
2021    
2022  /^[[:cntrl:]]/DZ  /^[[:cntrl:]]/DZ
# Line 2249  Need char = 'd' Line 2263  Need char = 'd'
2263  /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\w+)\s+(\270)/I  /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\w+)\s+(\270)/I
2264  Capturing subpattern count = 271  Capturing subpattern count = 271
2265  Max back reference = 270  Max back reference = 270
 Partial matching not supported  
2266  No options  No options
2267  No first char  No first char
2268  No need char  No need char
# Line 2746  No need char Line 2759  No need char
2759  ------------------------------------------------------------------  ------------------------------------------------------------------
2760          Bra          Bra
2761          a          a
2762       01 Opt       /i b
      NC b  
2763          Ket          Ket
2764          End          End
2765  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2769  No match Line 2781  No match
2781          Bra          Bra
2782          CBra 1          CBra 1
2783          a          a
2784       01 Opt       /i b
      NC b  
2785          Ket          Ket
      00 Opt  
2786          Ket          Ket
2787          End          End
2788  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2794  No match Line 2804  No match
2804  /   (?i)abc/IxDZ  /   (?i)abc/IxDZ
2805  ------------------------------------------------------------------  ------------------------------------------------------------------
2806          Bra          Bra
2807       NC abc       /i abc
2808          Ket          Ket
2809          End          End
2810  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2807  Need char = 'c' (caseless) Line 2817  Need char = 'c' (caseless)
2817    (?i)abc/IxDZ    (?i)abc/IxDZ
2818  ------------------------------------------------------------------  ------------------------------------------------------------------
2819          Bra          Bra
2820       NC abc       /i abc
2821          Ket          Ket
2822          End          End
2823  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2930  Need char = 'c' Line 2940  Need char = 'c'
2940          End          End
2941  ------------------------------------------------------------------  ------------------------------------------------------------------
2942  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
2943  No options  No options
2944  No first char  No first char
2945  No need char  No need char
# Line 2959  No need char Line 2968  No need char
2968          End          End
2969  ------------------------------------------------------------------  ------------------------------------------------------------------
2970  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
2971  No options  No options
2972  First char = 'x'  First char = 'x'
2973  No need char  No need char
# Line 2975  No need char Line 2983  No need char
2983          End          End
2984  ------------------------------------------------------------------  ------------------------------------------------------------------
2985  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
2986  No options  No options
2987  First char = 'x'  First char = 'x'
2988  No need char  No need char
# Line 2983  No need char Line 2990  No need char
2990  /(x)*+/DZ  /(x)*+/DZ
2991  ------------------------------------------------------------------  ------------------------------------------------------------------
2992          Bra          Bra
2993          Once          Braposzero
2994          Brazero          CBraPos 1
         CBra 1  
2995          x          x
2996          KetRmax          KetRpos
         Ket  
2997          Ket          Ket
2998          End          End
2999  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2999  No need char Line 3004  No need char
3004    
3005  /^(\w++|\s++)*$/I  /^(\w++|\s++)*$/I
3006  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3007  Options: anchored  Options: anchored
3008  No first char  No first char
3009  No need char  No need char
# Line 3013  No match Line 3017  No match
3017    
3018  /(\d++)(\w)/I  /(\d++)(\w)/I
3019  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
3020  No options  No options
3021  No first char  No first char
3022  No need char  No need char
# Line 3028  No match Line 3031  No match
3031    
3032  /a++b/I  /a++b/I
3033  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3034  No options  No options
3035  First char = 'a'  First char = 'a'
3036  Need char = 'b'  Need char = 'b'
# Line 3037  Need char = 'b' Line 3039  Need char = 'b'
3039    
3040  /(a++b)/I  /(a++b)/I
3041  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3042  No options  No options
3043  First char = 'a'  First char = 'a'
3044  Need char = 'b'  Need char = 'b'
# Line 3047  Need char = 'b' Line 3048  Need char = 'b'
3048    
3049  /(a++)b/I  /(a++)b/I
3050  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3051  No options  No options
3052  First char = 'a'  First char = 'a'
3053  Need char = 'b'  Need char = 'b'
# Line 3057  Need char = 'b' Line 3057  Need char = 'b'
3057    
3058  /([^()]++|\([^()]*\))+/I  /([^()]++|\([^()]*\))+/I
3059  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3060  No options  No options
3061  No first char  No first char
3062  No need char  No need char
# Line 3067  No need char Line 3066  No need char
3066    
3067  /\(([^()]++|\([^()]+\))+\)/I  /\(([^()]++|\([^()]+\))+\)/I
3068  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3069  No options  No options
3070  First char = '('  First char = '('
3071  Need char = ')'  Need char = ')'
# Line 3130  Failed: nothing to repeat at offset 7 Line 3128  Failed: nothing to repeat at offset 7
3128          End          End
3129  ------------------------------------------------------------------  ------------------------------------------------------------------
3130  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3131  No options  No options
3132  First char = 'x'  First char = 'x'
3133  Need char = 'b'  Need char = 'b'
# Line 3147  Need char = 'b' Line 3144  Need char = 'b'
3144          End          End
3145  ------------------------------------------------------------------  ------------------------------------------------------------------
3146  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3147  Options: ungreedy  Options: ungreedy
3148  First char = 'x'  First char = 'x'
3149  Need char = 'b'  Need char = 'b'
# Line 3176  Need char = 'b' Line 3172  Need char = 'b'
3172          End          End
3173  ------------------------------------------------------------------  ------------------------------------------------------------------
3174  Capturing subpattern count = 5  Capturing subpattern count = 5
 Partial matching not supported  
3175  Options: anchored  Options: anchored
3176  No first char  No first char
3177  No need char  No need char
# Line 3192  No need char Line 3187  No need char
3187          End          End
3188  ------------------------------------------------------------------  ------------------------------------------------------------------
3189  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3190  Options: anchored  Options: anchored
3191  No first char  No first char
3192  Need char = 'b'  Need char = 'b'
# Line 3210  Need char = 'b' Line 3204  Need char = 'b'
3204          End          End
3205  ------------------------------------------------------------------  ------------------------------------------------------------------
3206  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3207  Options: anchored  Options: anchored
3208  No first char  No first char
3209  Need char = 'b'  Need char = 'b'
# Line 3225  Failed: POSIX collating elements are not Line 3218  Failed: POSIX collating elements are not
3218  Failed: POSIX named classes are supported only within a class at offset 0  Failed: POSIX named classes are supported only within a class at offset 0
3219    
3220  /\l/I  /\l/I
3221  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1  Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
3222    
3223  /\L/I  /\L/I
3224  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1  Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
3225    
3226  /\N{name}/I  /\N{name}/I
3227  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1  Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
3228    
3229  /\u/I  /\u/I
3230  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1  Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
3231    
3232  /\U/I  /\U/I
3233  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1  Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
3234    
3235  /[/I  /[/I
3236  Failed: missing terminating ] for character class at offset 1  Failed: missing terminating ] for character class at offset 1
# Line 3286  No need char Line 3279  No need char
3279    
3280  /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/Ix  /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/Ix
3281  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3282  Options: extended  Options: extended
3283  First char = '<'  First char = '<'
3284  Need char = '>'  Need char = '>'
# Line 3336  Need char = 'X' Line 3328  Need char = 'X'
3328  /(.*)\d+\1/I  /(.*)\d+\1/I
3329  Capturing subpattern count = 1  Capturing subpattern count = 1
3330  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
3331  No options  No options
3332  No first char  No first char
3333  No need char  No need char
3334    
3335  /(.*)\d+/I  /(.*)\d+/I
3336  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3337  No options  No options
3338  First char at start or follows newline  First char at start or follows newline
3339  No need char  No need char
# Line 3351  No need char Line 3341  No need char
3341  /(.*)\d+\1/Is  /(.*)\d+\1/Is
3342  Capturing subpattern count = 1  Capturing subpattern count = 1
3343  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
3344  Options: dotall  Options: dotall
3345  No first char  No first char
3346  No need char  No need char
3347    
3348  /(.*)\d+/Is  /(.*)\d+/Is
3349  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3350  Options: anchored dotall  Options: anchored dotall
3351  No first char  No first char
3352  No need char  No need char
# Line 3366  No need char Line 3354  No need char
3354  /(.*(xyz))\d+\2/I  /(.*(xyz))\d+\2/I
3355  Capturing subpattern count = 2  Capturing subpattern count = 2
3356  Max back reference = 2  Max back reference = 2
 Partial matching not supported  
3357  No options  No options
3358  First char at start or follows newline  First char at start or follows newline
3359  Need char = 'z'  Need char = 'z'
# Line 3374  Need char = 'z' Line 3361  Need char = 'z'
3361  /((.*))\d+\1/I  /((.*))\d+\1/I
3362  Capturing subpattern count = 2  Capturing subpattern count = 2
3363  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
3364  No options  No options
3365  No first char  No first char
3366  No need char  No need char
# Line 3391  Need char = 'b' Line 3377  Need char = 'b'
3377    
3378  /(?=a).*/I  /(?=a).*/I
3379  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3380  No options  No options
3381  First char = 'a'  First char = 'a'
3382  No need char  No need char
# Line 3497  Capturing subpattern count = 0 Line 3482  Capturing subpattern count = 0
3482  No options  No options
3483  No first char  No first char
3484  No need char  No need char
3485    Subject length lower bound = 1
3486  Starting byte set: a b  Starting byte set: a b
3487    
3488  /[^a]/I  /[^a]/I
# Line 3516  Capturing subpattern count = 0 Line 3502  Capturing subpattern count = 0
3502  No options  No options
3503  No first char  No first char
3504  Need char = '6'  Need char = '6'
3505    Subject length lower bound = 4
3506  Starting byte set: 0 1 2 3 4 5 6 7 8 9  Starting byte set: 0 1 2 3 4 5 6 7 8 9
3507    
3508  /a^b/I  /a^b/I
# Line 3549  Capturing subpattern count = 0 Line 3536  Capturing subpattern count = 0
3536  Options: caseless  Options: caseless
3537  No first char  No first char
3538  No need char  No need char
3539    Subject length lower bound = 1
3540  Starting byte set: A B a b  Starting byte set: A B a b
3541    
3542  /[ab](?i)cd/IS  /[ab](?i)cd/IS
# Line 3556  Capturing subpattern count = 0 Line 3544  Capturing subpattern count = 0
3544  No options  No options
3545  No first char  No first char
3546  Need char = 'd' (caseless)  Need char = 'd' (caseless)
3547    Subject length lower bound = 3
3548  Starting byte set: a b  Starting byte set: a b
3549    
3550  /abc(?C)def/I  /abc(?C)def/I
# Line 3591  Need char = 'f' Line 3580  Need char = 'f'
3580    1    ^    ^     f    1    ^    ^     f
3581   0: abcdef   0: abcdef
3582    
3583  /(?C1)\dabc(?C2)def/I  /(?C1)\dabc(?C2)def/IS
3584    Capturing subpattern count = 0
3585    No options
3586    No first char
3587    Need char = 'f'
3588    Subject length lower bound = 7
3589    Starting byte set: 0 1 2 3 4 5 6 7 8 9
3590        1234abcdef
3591    --->1234abcdef
3592      1 ^              \d
3593      1  ^             \d
3594      1   ^            \d
3595      1    ^           \d
3596      2    ^   ^       d
3597     0: 4abcdef
3598        *** Failers
3599    No match
3600        abcdef
3601    No match
3602    
3603    /(?C1)\dabc(?C2)def/ISS
3604  Capturing subpattern count = 0  Capturing subpattern count = 0
3605  No options  No options
3606  No first char  No first char
# Line 3713  No need char Line 3722  No need char
3722    
3723  /(\d{3}(?C))*/I  /(\d{3}(?C))*/I
3724  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3725  No options  No options
3726  No first char  No first char
3727  No need char  No need char
# Line 3842  Callout 0: last capture = 1 Line 3850  Callout 0: last capture = 1
3850    
3851  /a(b+)(c*)(?C1)/I  /a(b+)(c*)(?C1)/I
3852  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
3853  No options  No options
3854  First char = 'a'  First char = 'a'
3855  Need char = 'b'  Need char = 'b'
# Line 3868  No match Line 3875  No match
3875    
3876  /a(b+?)(c*?)(?C1)/I  /a(b+?)(c*?)(?C1)/I
3877  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
3878  No options  No options
3879  First char = 'a'  First char = 'a'
3880  Need char = 'b'  Need char = 'b'
# Line 3909  Capturing subpattern count = 0 Line 3915  Capturing subpattern count = 0
3915  No options  No options
3916  No first char  No first char
3917  No need char  No need char
3918    Subject length lower bound = 1
3919  Starting byte set: a b  Starting byte set: a b
3920    
3921  /(?R)/I  /(?R)/I
# Line 3997  Need char = '<' Line 4004  Need char = '<'
4004          Bra          Bra
4005          CBra 1          CBra 1
4006          a          a
         Once  
4007          Recurse          Recurse
         Ket  
4008          b          b
4009          Ket          Ket
4010          Ket          Ket
# Line 4028  No options Line 4033  No options
4033  First char = 'a'  First char = 'a'
4034  Need char = 'b'  Need char = 'b'
4035    
 /^\W*(?:((.)\W*(?1)\W*\2|)|((.)\W*(?3)\W*\4|\W*.\W*))\W*$/Ii  
 Capturing subpattern count = 4  
 Max back reference = 4  
 Partial matching not supported  
 Options: anchored caseless  
 No first char  
 No need char  
     1221  
  0: 1221  
  1: 1221  
  2: 1  
     Satan, oscillate my metallic sonatas!  
  0: Satan, oscillate my metallic sonatas!  
  1: <unset>  
  2: <unset>  
  3: Satan, oscillate my metallic sonatas  
  4: S  
     A man, a plan, a canal: Panama!  
  0: A man, a plan, a canal: Panama!  
  1: <unset>  
  2: <unset>  
  3: A man, a plan, a canal: Panama  
  4: A  
     Able was I ere I saw Elba.  
  0: Able was I ere I saw Elba.  
  1: <unset>  
  2: <unset>  
  3: Able was I ere I saw Elba  
  4: A  
     *** Failers  
 No match  
     The quick brown fox  
 No match  
   
4036  /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I  /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I
4037  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
4038  Options: anchored  Options: anchored
4039  No first char  No first char
4040  No need char  No need char
# Line 4105  No match Line 4075  No match
4075    
4076  /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/Ix  /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/Ix
4077  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
4078  Options: extended  Options: extended
4079  First char = '<'  First char = '<'
4080  Need char = '>'  Need char = '>'
# Line 4256  Need char = 'a' Line 4225  Need char = 'a'
4225          Any          Any
4226          \1          \1
4227          bbb          bbb
         Once  
4228          Recurse          Recurse
         Ket  
4229          d          d
4230          Ket          Ket
4231          End          End
# Line 4279  Named capturing subpatterns: Line 4246  Named capturing subpatterns:
4246    one     1    one     1
4247    three   3    three   3
4248    two     2    two     2
 Partial matching not supported  
4249  Options: anchored caseless  Options: anchored caseless
4250  No first char  No first char
4251  No need char  No need char
# Line 4325  No need char Line 4291  No need char
4291    
4292  /(.*)a/Is  /(.*)a/Is
4293  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
4294  Options: anchored dotall  Options: anchored dotall
4295  No first char  No first char
4296  Need char = 'a'  Need char = 'a'
# Line 4333  Need char = 'a' Line 4298  Need char = 'a'
4298  /(.*)a\1/Is  /(.*)a\1/Is
4299  Capturing subpattern count = 1  Capturing subpattern count = 1
4300  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
4301  Options: dotall  Options: dotall
4302  No first char  No first char
4303  Need char = 'a'  Need char = 'a'
# Line 4341  Need char = 'a' Line 4305  Need char = 'a'
4305  /(.*)a(b)\2/Is  /(.*)a(b)\2/Is
4306  Capturing subpattern count = 2  Capturing subpattern count = 2
4307  Max back reference = 2  Max back reference = 2
 Partial matching not supported  
4308  Options: anchored dotall  Options: anchored dotall
4309  No first char  No first char
4310  Need char = 'b'  Need char = 'b'
4311    
4312  /((.*)a|(.*)b)z/Is  /((.*)a|(.*)b)z/Is
4313  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
4314  Options: anchored dotall  Options: anchored dotall
4315  No first char  No first char
4316  Need char = 'z'  Need char = 'z'
# Line 4356  Need char = 'z' Line 4318  Need char = 'z'
4318  /((.*)a|(.*)b)z\1/Is  /((.*)a|(.*)b)z\1/Is
4319  Capturing subpattern count = 3  Capturing subpattern count = 3
4320  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
4321  Options: dotall  Options: dotall
4322  No first char  No first char
4323  Need char = 'z'  Need char = 'z'
# Line 4364  Need char = 'z' Line 4325  Need char = 'z'
4325  /((.*)a|(.*)b)z\2/Is  /((.*)a|(.*)b)z\2/Is
4326  Capturing subpattern count = 3  Capturing subpattern count = 3
4327  Max back reference = 2  Max back reference = 2
 Partial matching not supported  
4328  Options: dotall  Options: dotall
4329  No first char  No first char
4330  Need char = 'z'  Need char = 'z'
# Line 4372  Need char = 'z' Line 4332  Need char = 'z'
4332  /((.*)a|(.*)b)z\3/Is  /((.*)a|(.*)b)z\3/Is
4333  Capturing subpattern count = 3  Capturing subpattern count = 3
4334  Max back reference = 3  Max back reference = 3
 Partial matching not supported  
4335  Options: dotall  Options: dotall
4336  No first char  No first char
4337  Need char = 'z'  Need char = 'z'
# Line 4380  Need char = 'z' Line 4339  Need char = 'z'
4339  /((.*)a|^(.*)b)z\3/Is  /((.*)a|^(.*)b)z\3/Is
4340  Capturing subpattern count = 3  Capturing subpattern count = 3
4341  Max back reference = 3  Max back reference = 3
 Partial matching not supported  
4342  Options: anchored dotall  Options: anchored dotall
4343  No first char  No first char
4344  Need char = 'z'  Need char = 'z'
4345    
4346  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is
4347  Capturing subpattern count = 31  Capturing subpattern count = 31
 Partial matching not supported  
4348  Options: anchored dotall  Options: anchored dotall
4349  No first char  No first char
4350  No need char  No need char
# Line 4395  No need char Line 4352  No need char
4352  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is
4353  Capturing subpattern count = 31  Capturing subpattern count = 31
4354  Max back reference = 31  Max back reference = 31
 Partial matching not supported  
4355  Options: dotall  Options: dotall
4356  No first char  No first char
4357  No need char  No need char
# Line 4403  No need char Line 4359  No need char
4359  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is
4360  Capturing subpattern count = 32  Capturing subpattern count = 32
4361  Max back reference = 32  Max back reference = 32
 Partial matching not supported  
4362  Options: dotall  Options: dotall
4363  No first char  No first char
4364  No need char  No need char
# Line 4470  Need char = 'c' Line 4425  Need char = 'c'
4425    
4426  /(a+)*zz/I  /(a+)*zz/I
4427  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
4428  No options  No options
4429  No first char  No first char
4430  Need char = 'z'  Need char = 'z'
4431    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzbbbbbb\M    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzbbbbbb\M
4432  Minimum match() limit = 8  Minimum match() limit = 8
4433  Minimum match() recursion limit = 6  Minimum match() recursion limit = 7
4434   0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazz   0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazz
4435   1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa   1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
4436    aaaaaaaaaaaaaz\M    aaaaaaaaaaaaaz\M
4437  Minimum match() limit = 32768  Minimum match() limit = 32768
4438  Minimum match() recursion limit = 42  Minimum match() recursion limit = 43
4439  No match  No match
4440    
4441  /(aaa(?C1)bbb|ab)/I  /(aaa(?C1)bbb|ab)/I
# Line 4607  Failed: two named subpatterns have the s Line 4561  Failed: two named subpatterns have the s
4561  Capturing subpattern count = 3  Capturing subpattern count = 3
4562  Named capturing subpatterns:  Named capturing subpatterns:
4563    elem   2    elem   2
 Partial matching not supported  
4564  No options  No options
4565  First char = '['  First char = '['
4566  Need char = ']'  Need char = ']'
# Line 4625  No match Line 4578  No match
4578  Capturing subpattern count = 3  Capturing subpattern count = 3
4579  Named capturing subpatterns:  Named capturing subpatterns:
4580    elem   2    elem   2
 Partial matching not supported  
4581  No options  No options
4582  First char = '['  First char = '['
4583  Need char = ']'  Need char = ']'
# Line 4645  Need char = ']' Line 4597  Need char = ']'
4597          a          a
4598          CBra 2          CBra 2
4599          b          b
         Once  
4600          Recurse          Recurse
         Ket  
4601          c          c
4602          Ket          Ket
4603          Ket          Ket
# Line 4667  No need char Line 4617  No need char
4617          a          a
4618          CBra 2          CBra 2
4619          b          b
         Once  
4620          Recurse          Recurse
         Ket  
4621          c          c
4622          Ket          Ket
4623          KetRmax          KetRmax
# Line 4690  No need char Line 4638  No need char
4638          a          a
4639          CBra 2          CBra 2
4640          b          b
         Once  
4641          Recurse          Recurse
         Ket  
4642          c          c
4643          Ket          Ket
4644          Ket          Ket
# Line 4701  No need char Line 4647  No need char
4647          a          a
4648          CBra 2          CBra 2
4649          b          b
         Once  
4650          Recurse          Recurse
         Ket  
4651          c          c
4652          Ket          Ket
4653          Ket          Ket
# Line 4732  No need char Line 4676  No need char
4676    
4677  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii
4678  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
4679  Options: caseless  Options: caseless
4680  No first char  No first char
4681  Need char = 'g' (caseless)  Need char = 'g' (caseless)
# Line 4742  Need char = 'g' (caseless) Line 4685  Need char = 'g' (caseless)
4685    
4686  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS
4687  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
4688  Options: caseless  Options: caseless
4689  No first char  No first char
4690  Need char = 'g' (caseless)  Need char = 'g' (caseless)
4691  Study returned NULL  Subject length lower bound = 8
4692    No set of starting bytes
4693       Baby Bjorn Active Carrier - With free SHIPPING!!       Baby Bjorn Active Carrier - With free SHIPPING!!
4694   0: Baby Bjorn Active Carrier - With free SHIPPING!!   0: Baby Bjorn Active Carrier - With free SHIPPING!!
4695   1: Baby Bjorn Active Carrier - With free SHIPPING!!   1: Baby Bjorn Active Carrier - With free SHIPPING!!
# Line 4761  Study returned NULL Line 4704  Study returned NULL
4704          End          End
4705  ------------------------------------------------------------------  ------------------------------------------------------------------
4706  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
4707  No options  No options
4708  No first char  No first char
4709  Need char = 'b'  Need char = 'b'
4710  Study returned NULL  Subject length lower bound = 1
4711    No set of starting bytes
4712    
4713  /(a|b)*.?c/ISDZ  /(a|b)*.?c/ISDZ
4714  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 4785  Capturing subpattern count = 1 Line 4728  Capturing subpattern count = 1
4728  No options  No options
4729  No first char  No first char
4730  Need char = 'c'  Need char = 'c'
4731  Study returned NULL  Subject length lower bound = 1
4732    No set of starting bytes
4733    
4734  /abc(?C255)de(?C)f/DZ  /abc(?C255)de(?C)f/DZ
4735  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 4842  Need char = 'e' Line 4786  Need char = 'e'
4786   +4 ^   ^      e   +4 ^   ^      e
4787  No match  No match
4788    
4789  /a*b/ICDZ  /a*b/ICDZS
4790    ------------------------------------------------------------------
4791            Bra
4792            Callout 255 0 2
4793            a*+
4794            Callout 255 2 1
4795            b
4796            Callout 255 3 0
4797            Ket
4798            End
4799    ------------------------------------------------------------------
4800    Capturing subpattern count = 0
4801    Options:
4802    No first char
4803    Need char = 'b'
4804    Subject length lower bound = 1
4805    Starting byte set: a b
4806      ab
4807    --->ab
4808     +0 ^      a*
4809     +2 ^^     b
4810     +3 ^ ^
4811     0: ab
4812      aaaab
4813    --->aaaab
4814     +0 ^         a*
4815     +2 ^   ^     b
4816     +3 ^    ^
4817     0: aaaab
4818      aaaacb
4819    --->aaaacb
4820     +0 ^          a*
4821     +2 ^   ^      b
4822     +0  ^         a*
4823     +2  ^  ^      b
4824     +0   ^        a*
4825     +2   ^ ^      b
4826     +0    ^       a*
4827     +2    ^^      b
4828     +0      ^     a*
4829     +2      ^     b
4830     +3      ^^
4831     0: b
4832    
4833    /a*b/ICDZSS
4834  ------------------------------------------------------------------  ------------------------------------------------------------------
4835          Bra          Bra
4836          Callout 255 0 2          Callout 255 0 2
# Line 4854  No match Line 4842  No match
4842          End          End
4843  ------------------------------------------------------------------  ------------------------------------------------------------------
4844  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
4845  Options:  Options:
4846  No first char  No first char
4847  Need char = 'b'  Need char = 'b'
# Line 4899  Need char = 'b' Line 4886  Need char = 'b'
4886          End          End
4887  ------------------------------------------------------------------  ------------------------------------------------------------------
4888  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
4889  Options:  Options:
4890  First char = 'a'  First char = 'a'
4891  Need char = 'b'  Need char = 'b'
# Line 4927  Need char = 'b' Line 4913  Need char = 'b'
4913   +2    ^^      b   +2    ^^      b
4914  No match  No match
4915    
4916  /(abc|def)x/ICDZ  /(abc|def)x/ICDZS
4917    ------------------------------------------------------------------
4918            Bra
4919            Callout 255 0 9
4920            CBra 1
4921            Callout 255 1 1
4922            a
4923            Callout 255 2 1
4924            b
4925            Callout 255 3 1
4926            c
4927            Callout 255 4 0
4928            Alt
4929            Callout 255 5 1
4930            d
4931            Callout 255 6 1
4932            e
4933            Callout 255 7 1
4934            f
4935            Callout 255 8 0
4936            Ket
4937            Callout 255 9 1
4938            x
4939            Callout 255 10 0
4940            Ket
4941            End
4942    ------------------------------------------------------------------
4943    Capturing subpattern count = 1
4944    Options:
4945    No first char
4946    Need char = 'x'
4947    Subject length lower bound = 4
4948    Starting byte set: a d
4949      abcx
4950    --->abcx
4951     +0 ^        (abc|def)
4952     +1 ^        a
4953     +2 ^^       b
4954     +3 ^ ^      c
4955     +4 ^  ^     |
4956     +9 ^  ^     x
4957    +10 ^   ^
4958     0: abcx
4959     1: abc
4960      defx
4961    --->defx
4962     +0 ^        (abc|def)
4963     +1 ^        a
4964     +5 ^        d
4965     +6 ^^       e
4966     +7 ^ ^      f
4967     +8 ^  ^     )
4968     +9 ^  ^     x
4969    +10 ^   ^
4970     0: defx
4971     1: def
4972      ** Failers
4973    No match
4974      abcdefzx
4975    --->abcdefzx
4976     +0 ^            (abc|def)
4977     +1 ^            a
4978     +2 ^^           b
4979     +3 ^ ^          c
4980     +4 ^  ^         |
4981     +9 ^  ^         x
4982     +5 ^            d
4983     +0    ^         (abc|def)
4984     +1    ^         a
4985     +5    ^         d
4986     +6    ^^        e
4987     +7    ^ ^       f
4988     +8    ^  ^      )
4989     +9    ^  ^      x
4990    No match
4991    
4992    /(abc|def)x/ICDZSS
4993  ------------------------------------------------------------------  ------------------------------------------------------------------
4994          Bra          Bra
4995          Callout 255 0 9          Callout 255 0 9
# Line 4981  Need char = 'x' Line 5043  Need char = 'x'
5043  +10 ^   ^  +10 ^   ^
5044   0: defx   0: defx
5045   1: def   1: def
5046      ** Failers
5047    No match
5048    abcdefzx    abcdefzx
5049  --->abcdefzx  --->abcdefzx
5050   +0 ^            (abc|def)   +0 ^            (abc|def)
# Line 5081  No need char Line 5145  No need char
5145   0: abcdcdcd   0: abcdcdcd
5146   1: cd   1: cd
5147    
5148  /([ab]{,4}c|xy)/ICDZ  /([ab]{,4}c|xy)/ICDZS
5149  ------------------------------------------------------------------  ------------------------------------------------------------------
5150          Bra          Bra
5151          Callout 255 0 14          Callout 255 0 14
# Line 5114  Capturing subpattern count = 1 Line 5178  Capturing subpattern count = 1
5178  Options:  Options:
5179  No first char  No first char
5180  No need char  No need char
5181    Subject length lower bound = 2
5182    Starting byte set: a b x
5183      Note: that { does NOT introduce a quantifier      Note: that { does NOT introduce a quantifier
5184  --->Note: that { does NOT introduce a quantifier  --->Note: that { does NOT introduce a quantifier
  +0 ^                                                ([ab]{,4}c|xy)  
  +1 ^                                                [ab]  
 +11 ^                                                x  
  +0  ^                                               ([ab]{,4}c|xy)  
  +1  ^                                               [ab]  
 +11  ^                                               x  
  +0   ^                                              ([ab]{,4}c|xy)  
  +1   ^                                              [ab]  
 +11   ^                                              x  
  +0    ^                                             ([ab]{,4}c|xy)  
  +1    ^                                             [ab]  
 +11    ^                                             x  
  +0     ^                                            ([ab]{,4}c|xy)  
  +1     ^                                            [ab]  
 +11     ^                                            x  
  +0      ^                                           ([ab]{,4}c|xy)  
  +1      ^                                           [ab]  
 +11      ^                                           x  
  +0       ^                                          ([ab]{,4}c|xy)  
  +1       ^                                          [ab]  
 +11       ^                                          x  
  +0        ^                                         ([ab]{,4}c|xy)  
  +1        ^                                         [ab]  
 +11        ^                                         x  
5185   +0         ^                                        ([ab]{,4}c|xy)   +0         ^                                        ([ab]{,4}c|xy)
5186   +1         ^                                        [ab]   +1         ^                                        [ab]
5187   +5         ^^                                       {   +5         ^^                                       {
5188  +11         ^                                        x  +11         ^                                        x
5189   +0          ^                                       ([ab]{,4}c|xy)   +0                                 ^                ([ab]{,4}c|xy)
5190   +1          ^                                       [ab]   +1                                 ^                [ab]
5191  +11          ^                                       x   +5                                 ^^               {
5192   +0           ^                                      ([ab]{,4}c|xy)  +11                                 ^                x
5193   +1           ^                                      [ab]   +0                                     ^            ([ab]{,4}c|xy)
5194  +11           ^                                      x   +1                                     ^            [ab]
5195   +0            ^                                     ([ab]{,4}c|xy)   +5                                     ^^           {
5196    +11                                     ^            x
5197    No match
5198    
5199    /([ab]{,4}c|xy)/ICDZSS
5200    ------------------------------------------------------------------
5201            Bra
5202            Callout 255 0 14
5203            CBra 1
5204            Callout 255 1 4
5205            [ab]
5206            Callout 255 5 1
5207            {
5208            Callout 255 6 1
5209            ,
5210            Callout 255 7 1
5211            4
5212            Callout 255 8 1
5213            }
5214            Callout 255 9 1
5215            c
5216            Callout 255 10 0
5217            Alt
5218            Callout 255 11 1
5219            x
5220            Callout 255 12 1
5221            y
5222            Callout 255 13 0
5223            Ket
5224            Callout 255 14 0
5225            Ket
5226            End
5227    ------------------------------------------------------------------
5228    Capturing subpattern count = 1
5229    Options:
5230    No first char
5231    No need char
5232        Note: that { does NOT introduce a quantifier
5233    --->Note: that { does NOT introduce a quantifier
5234     +0 ^                                                ([ab]{,4}c|xy)
5235     +1 ^                                                [ab]
5236    +11 ^                                                x
5237     +0  ^                                               ([ab]{,4}c|xy)
5238     +1  ^                                               [ab]
5239    +11  ^                                               x
5240     +0   ^                                              ([ab]{,4}c|xy)
5241     +1   ^                                              [ab]
5242    +11   ^                                              x
5243     +0    ^                                             ([ab]{,4}c|xy)
5244     +1    ^                                             [ab]
5245    +11    ^                                             x
5246     +0     ^                                            ([ab]{,4}c|xy)
5247     +1     ^                                            [ab]
5248    +11     ^                                            x
5249     +0      ^                                           ([ab]{,4}c|xy)
5250     +1      ^                                           [ab]
5251    +11      ^                                           x
5252     +0       ^                                          ([ab]{,4}c|xy)
5253     +1       ^                                          [ab]
5254    +11       ^                                          x
5255     +0        ^                                         ([ab]{,4}c|xy)
5256     +1        ^                                         [ab]
5257    +11        ^                                         x
5258     +0         ^                                        ([ab]{,4}c|xy)
5259     +1         ^                                        [ab]
5260     +5         ^^                                       {
5261    +11         ^                                        x
5262     +0          ^                                       ([ab]{,4}c|xy)
5263     +1          ^                                       [ab]
5264    +11          ^                                       x
5265     +0           ^                                      ([ab]{,4}c|xy)
5266     +1           ^                                      [ab]
5267    +11           ^                                      x
5268     +0            ^                                     ([ab]{,4}c|xy)
5269   +1            ^                                     [ab]   +1            ^                                     [ab]
5270  +11            ^                                     x  +11            ^                                     x
5271   +0             ^                                    ([ab]{,4}c|xy)   +0             ^                                    ([ab]{,4}c|xy)
# Line 5337  No match Line 5452  No match
5452          End          End
5453  ------------------------------------------------------------------  ------------------------------------------------------------------
5454  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
5455  Options:  Options:
5456  No first char  No first char
5457  Need char = '3'  Need char = '3'
# Line 5369  Need char = '3' Line 5483  Need char = '3'
5483    
5484  /\b.*/I  /\b.*/I
5485  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5486  No options  No options
5487  No first char  No first char
5488  No need char  No need char
# Line 5378  No need char Line 5491  No need char
5491    
5492  /\b.*/Is  /\b.*/Is
5493  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5494  Options: dotall  Options: dotall
5495  No first char  No first char
5496  No need char  No need char
# Line 5387  No need char Line 5499  No need char
5499    
5500  /(?!.bcd).*/I  /(?!.bcd).*/I
5501  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5502  No options  No options
5503  No first char  No first char
5504  No need char  No need char
# Line 5400  No options Line 5511  No options
5511  First char = 'a'  First char = 'a'
5512  Need char = 'e'  Need char = 'e'
5513      ab\P      ab\P
5514  Partial match  Partial match: ab
5515      abc\P      abc\P
5516  Partial match  Partial match: abc
5517      abcd\P      abcd\P
5518  Partial match  Partial match: abcd
5519      abcde\P      abcde\P
5520   0: abcde   0: abcde
5521      the quick brown abc\P      the quick brown abc\P
5522  Partial match  Partial match: abc
5523      ** Failers\P      ** Failers\P
5524  No match  No match
5525      the quick brown abxyz fox\P      the quick brown abxyz fox\P
# Line 5433  Need char = '/' Line 5544  Need char = '/'
5544   1: 02   1: 02
5545   2: 05   2: 05
5546      1\P      1\P
5547  Partial match  Partial match: 1
5548      1/2\P      1/2\P
5549  Partial match  Partial match: 1/2
5550      1/2/0\P      1/2/0\P
5551  Partial match  Partial match: 1/2/0
5552      1/2/04\P      1/2/04\P
5553   0: 1/2/04   0: 1/2/04
5554   1: 1   1: 1
5555   2: 2   2: 2
5556      0\P      0\P
5557  Partial match  Partial match: 0
5558      02/\P      02/\P
5559  Partial match  Partial match: 02/
5560      02/0\P      02/0\P
5561  Partial match  Partial match: 02/0
5562      02/1\P      02/1\P
5563  Partial match  Partial match: 02/1
5564      ** Failers\P      ** Failers\P
5565  No match  No match
5566      \P      \P
# Line 5471  No match Line 5582  No match
5582    
5583  /0{0,2}ABC/I  /0{0,2}ABC/I
5584  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5585  No options  No options
5586  No first char  No first char
5587  Need char = 'C'  Need char = 'C'
5588    
5589  /\d{3,}ABC/I  /\d{3,}ABC/I
5590  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5591  No options  No options
5592  No first char  No first char
5593  Need char = 'C'  Need char = 'C'
5594    
5595  /\d*ABC/I  /\d*ABC/I
5596  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5597  No options  No options
5598  No first char  No first char
5599  Need char = 'C'  Need char = 'C'
5600    
5601  /[abc]+DE/I  /[abc]+DE/I
5602  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5603  No options  No options
5604  No first char  No first char
5605  Need char = 'E'  Need char = 'E'
# Line 5505  Need char = '3' Line 5612  Need char = '3'
5612      123\P      123\P
5613   0: 123   0: 123
5614      a\P      a\P
5615  Partial match  Partial match: a
5616      b\P      b\P
5617  Partial match  Partial match: b
5618      c\P      c\P
5619  Partial match  Partial match: c
5620      c12\P      c12\P
5621  Partial match  Partial match: c12
5622      c123\P      c123\P
5623   0: c123   0: c123
5624    
# Line 5521  Options: anchored Line 5628  Options: anchored
5628  No first char  No first char
5629  Need char = 'X'  Need char = 'X'
5630      1\P      1\P
5631  Partial match  Partial match: 1
5632      123\P      123\P
5633  Partial match  Partial match: 123
5634      123X      123X
5635   0: 123X   0: 123X
5636      1234\P      1234\P
5637  Partial match  Partial match: 1234
5638      1234X      1234X
5639   0: 1234X   0: 1234X
5640      12345\P      12345\P
5641  Partial match  Partial match: 12345
5642      12345X      12345X
5643   0: 12345X   0: 12345X
5644      *** Failers      *** Failers
# Line 5541  No match Line 5648  No match
5648      123456\P      123456\P
5649  No match  No match
5650    
5651  /abc/I>testsavedregex  /abc/IS>testsavedregex
5652    Capturing subpattern count = 0
5653    No options
5654    First char = 'a'
5655    Need char = 'c'
5656    Subject length lower bound = 3
5657    No set of starting bytes
5658    Compiled pattern written to testsavedregex
5659    Study data written to testsavedregex
5660    <testsavedregex
5661    Compiled pattern loaded from testsavedregex
5662    Study data loaded from testsavedregex
5663        abc
5664     0: abc
5665        ** Failers
5666    No match
5667        bca
5668    No match
5669    
5670    /abc/ISS>testsavedregex
5671  Capturing subpattern count = 0  Capturing subpattern count = 0
5672  No options  No options
5673  First char = 'a'  First char = 'a'
5674  Need char = 'c'  Need char = 'c'
5675  Compiled regex written to testsavedregex  Compiled pattern written to testsavedregex
5676  <testsavedregex  <testsavedregex
5677  Compiled regex loaded from testsavedregex  Compiled pattern loaded from testsavedregex
5678  No study data  No study data
5679      abc      abc
5680   0: abc   0: abc
# Line 5557  No match Line 5683  No match
5683      bca      bca
5684  No match  No match
5685    
5686  /abc/IF>testsavedregex  /abc/IFS>testsavedregex
5687    Capturing subpattern count = 0
5688    No options
5689    First char = 'a'
5690    Need char = 'c'
5691    Subject length lower bound = 3
5692    No set of starting bytes
5693    Compiled pattern written to testsavedregex
5694    Study data written to testsavedregex
5695    <testsavedregex
5696    Compiled pattern (byte-inverted) loaded from testsavedregex
5697    Study data loaded from testsavedregex
5698        abc
5699     0: abc
5700        ** Failers
5701    No match
5702        bca
5703    No match
5704    
5705    /abc/IFSS>testsavedregex
5706  Capturing subpattern count = 0  Capturing subpattern count = 0
5707  No options  No options
5708  First char = 'a'  First char = 'a'
5709  Need char = 'c'  Need char = 'c'
5710  Compiled regex written to testsavedregex  Compiled pattern written to testsavedregex
5711  <testsavedregex  <testsavedregex
5712  Compiled regex (byte-inverted) loaded from testsavedregex  Compiled pattern (byte-inverted) loaded from testsavedregex
5713  No study data  No study data
5714      abc      abc
5715   0: abc   0: abc
# Line 5578  Capturing subpattern count = 1 Line 5723  Capturing subpattern count = 1
5723  No options  No options
5724  No first char  No first char
5725  No need char  No need char
5726    Subject length lower bound = 1
5727  Starting byte set: a b  Starting byte set: a b
5728  Compiled regex written to testsavedregex  Compiled pattern written to testsavedregex
5729  Study data written to testsavedregex  Study data written to testsavedregex
5730  <testsavedregex  <testsavedregex
5731  Compiled regex loaded from testsavedregex  Compiled pattern loaded from testsavedregex
5732  Study data loaded from testsavedregex  Study data loaded from testsavedregex
5733      abc      abc
5734   0: a   0: a
# Line 5593  Study data loaded from testsavedregex Line 5739  Study data loaded from testsavedregex
5739      def      def
5740  No match  No match
5741    
5742    /(a|b)/ISS>testsavedregex
5743    Capturing subpattern count = 1
5744    No options
5745    No first char
5746    No need char
5747    Compiled pattern written to testsavedregex
5748    <testsavedregex
5749    Compiled pattern loaded from testsavedregex
5750    No study data
5751        abc
5752     0: a
5753     1: a
5754        ** Failers
5755     0: a
5756     1: a
5757        def
5758    No match
5759    
5760  /(a|b)/ISF>testsavedregex  /(a|b)/ISF>testsavedregex
5761  Capturing subpattern count = 1  Capturing subpattern count = 1
5762  No options  No options
5763  No first char  No first char
5764  No need char  No need char
5765    Subject length lower bound = 1
5766  Starting byte set: a b  Starting byte set: a b
5767  Compiled regex written to testsavedregex  Compiled pattern written to testsavedregex
5768  Study data written to testsavedregex  Study data written to testsavedregex
5769  <testsavedregex  <testsavedregex
5770  Compiled regex (byte-inverted) loaded from testsavedregex  Compiled pattern (byte-inverted) loaded from testsavedregex
5771  Study data loaded from testsavedregex  Study data loaded from testsavedregex
5772      abc      abc
5773   0: a   0: a
# Line 5613  Study data loaded from testsavedregex Line 5778  Study data loaded from testsavedregex
5778      def      def
5779  No match  No match
5780    
5781    /(a|b)/ISSF>testsavedregex
5782    Capturing subpattern count = 1
5783    No options
5784    No first char
5785    No need char
5786    Compiled pattern written to testsavedregex
5787    <testsavedregex
5788    Compiled pattern (byte-inverted) loaded from testsavedregex
5789    No study data
5790        abc
5791     0: a
5792     1: a
5793        ** Failers
5794     0: a
5795     1: a
5796        def
5797    No match
5798    
5799  ~<(\w+)/?>(.)*</(\1)>~smgI  ~<(\w+)/?>(.)*</(\1)>~smgI
5800  Capturing subpattern count = 3  Capturing subpattern count = 3
5801  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
5802  Options: multiline dotall  Options: multiline dotall
5803  First char = '<'  First char = '<'
5804  Need char = '>'  Need char = '>'
# Line 5669  No match Line 5851  No match
5851      line one\nthis is a line\nbreak in the second line      line one\nthis is a line\nbreak in the second line
5852  No match  No match
5853    
5854  /ab.cd/IP  /ab.cd/P
5855      ab-cd      ab-cd
5856   0: ab-cd   0: ab-cd
5857      ab=cd      ab=cd
# Line 5679  No match: POSIX code 17: match failed Line 5861  No match: POSIX code 17: match failed
5861      ab\ncd      ab\ncd
5862  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
5863    
5864  /ab.cd/IPs  /ab.cd/Ps
5865      ab-cd      ab-cd
5866   0: ab-cd   0: ab-cd
5867      ab=cd      ab=cd
# Line 5923  Matched, but too many substrings Line 6105  Matched, but too many substrings
6105    
6106  /[^()]*(?:\((?R)\)[^()]*)*/I  /[^()]*(?:\((?R)\)[^()]*)*/I
6107  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6108  No options  No options
6109  No first char  No first char
6110  No need char  No need char
# Line 5936  No need char Line 6117  No need char
6117    
6118  /[^()]*(?:\((?>(?R))\)[^()]*)*/I  /[^()]*(?:\((?>(?R))\)[^()]*)*/I
6119  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6120  No options  No options
6121  No first char  No first char
6122  No need char  No need char
# Line 5947  No need char Line 6127  No need char
6127    
6128  /[^()]*(?:\((?R)\))*[^()]*/I  /[^()]*(?:\((?R)\))*[^()]*/I
6129  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6130  No options  No options
6131  No first char  No first char
6132  No need char  No need char
# Line 5958  No need char Line 6137  No need char
6137    
6138  /(?:\((?R)\))*[^()]*/I  /(?:\((?R)\))*[^()]*/I
6139  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6140  No options  No options
6141  No first char  No first char
6142  No need char  No need char
# Line 5971  No need char Line 6149  No need char
6149    
6150  /(?:\((?R)\))|[^()]*/I  /(?:\((?R)\))|[^()]*/I
6151  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6152  No options  No options
6153  No first char  No first char
6154  No need char  No need char
# Line 5984  No need char Line 6161  No need char
6161      ((this))      ((this))
6162   0: ((this))   0: ((this))
6163    
6164  /a(b)c/IPN  /a(b)c/PN
6165      abc      abc
6166  Matched with REG_NOSUB  Matched with REG_NOSUB
6167    
6168  /a(?P<name>b)c/IPN  /a(?P<name>b)c/PN
6169      abc      abc
6170  Matched with REG_NOSUB  Matched with REG_NOSUB
6171    
# Line 6313  Failed: octal value is greater than \377 Line 6490  Failed: octal value is greater than \377
6490    
6491  /\s*,\s*/IS  /\s*,\s*/IS
6492  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6493  No options  No options
6494  No first char  No first char
6495  Need char = ','  Need char = ','
6496    Subject length lower bound = 1
6497  Starting byte set: \x09 \x0a \x0c \x0d \x20 ,  Starting byte set: \x09 \x0a \x0c \x0d \x20 ,
6498      \x0b,\x0b      \x0b,\x0b
6499   0: ,   0: ,
# Line 6443  Unknown newline type at: <bad> Line 6620  Unknown newline type at: <bad>
6620    
6621  /.*/I<lf>  /.*/I<lf>
6622  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6623  Options:  Options:
6624  Forced newline sequence: LF  Forced newline sequence: LF
6625  First char at start or follows newline  First char at start or follows newline
# Line 6469  No need char Line 6645  No need char
6645    
6646  /\w+(.)(.)?def/Is  /\w+(.)(.)?def/Is
6647  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
6648  Options: dotall  Options: dotall
6649  No first char  No first char
6650  Need char = 'f'  Need char = 'f'
# Line 6486  Need char = 'f' Line 6661  Need char = 'f'
6661    
6662  +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I  +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I
6663  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
6664  No options  No options
6665  No first char  No first char
6666  No need char  No need char
6667     /* this is a C style comment */\M     /* this is a C style comment */\M
6668  Minimum match() limit = 120  Minimum match() limit = 120
6669  Minimum match() recursion limit = 6  Minimum match() recursion limit = 35
6670   0: /* this is a C style comment */   0: /* this is a C style comment */
6671   1: /* this is a C style comment */   1: /* this is a C style comment */
6672    
# Line 6621  No need char Line 6795  No need char
6795    
6796  /(a*b|(?i:c*(?-i)d))/IS  /(a*b|(?i:c*(?-i)d))/IS
6797  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
6798  No options  No options
6799  No first char  No first char
6800  No need char  No need char
6801    Subject length lower bound = 1
6802  Starting byte set: C a b c d  Starting byte set: C a b c d
6803    
6804  /()[ab]xyz/IS  /()[ab]xyz/IS
# Line 6632  Capturing subpattern count = 1 Line 6806  Capturing subpattern count = 1
6806  No options  No options
6807  No first char  No first char
6808  Need char = 'z'  Need char = 'z'
6809    Subject length lower bound = 4
6810  Starting byte set: a b  Starting byte set: a b
6811    
6812  /(|)[ab]xyz/IS  /(|)[ab]xyz/IS
# Line 6639  Capturing subpattern count = 1 Line 6814  Capturing subpattern count = 1
6814  No options  No options
6815  No first char  No first char
6816  Need char = 'z'  Need char = 'z'
6817    Subject length lower bound = 4
6818  Starting byte set: a b  Starting byte set: a b
6819    
6820  /(|c)[ab]xyz/IS  /(|c)[ab]xyz/IS
# Line 6646  Capturing subpattern count = 1 Line 6822  Capturing subpattern count = 1
6822  No options  No options
6823  No first char  No first char
6824  Need char = 'z'  Need char = 'z'
6825    Subject length lower bound = 4
6826  Starting byte set: a b c  Starting byte set: a b c
6827    
6828  /(|c?)[ab]xyz/IS  /(|c?)[ab]xyz/IS
# Line 6653  Capturing subpattern count = 1 Line 6830  Capturing subpattern count = 1
6830  No options  No options
6831  No first char  No first char
6832  Need char = 'z'  Need char = 'z'
6833    Subject length lower bound = 4
6834  Starting byte set: a b c  Starting byte set: a b c
6835    
6836  /(d?|c?)[ab]xyz/IS  /(d?|c?)[ab]xyz/IS
# Line 6660  Capturing subpattern count = 1 Line 6838  Capturing subpattern count = 1
6838  No options  No options
6839  No first char  No first char
6840  Need char = 'z'  Need char = 'z'
6841    Subject length lower bound = 4
6842  Starting byte set: a b c d  Starting byte set: a b c d
6843    
6844  /(d?|c)[ab]xyz/IS  /(d?|c)[ab]xyz/IS
# Line 6667  Capturing subpattern count = 1 Line 6846  Capturing subpattern count = 1
6846  No options  No options
6847  No first char  No first char
6848  Need char = 'z'  Need char = 'z'
6849    Subject length lower bound = 4
6850  Starting byte set: a b c d  Starting byte set: a b c d
6851    
6852  /^a*b\d/DZ  /^a*b\d/DZ
# Line 6680  Starting byte set: a b c d Line 6860  Starting byte set: a b c d
6860          End          End
6861  ------------------------------------------------------------------  ------------------------------------------------------------------
6862  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6863  Options: anchored  Options: anchored
6864  No first char  No first char
6865  Need char = 'b'  Need char = 'b'
# Line 6696  Need char = 'b' Line 6875  Need char = 'b'
6875          End          End
6876  ------------------------------------------------------------------  ------------------------------------------------------------------
6877  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6878  Options: anchored  Options: anchored
6879  No first char  No first char
6880  Need char = 'b'  Need char = 'b'
# Line 6712  Need char = 'b' Line 6890  Need char = 'b'
6890          End          End
6891  ------------------------------------------------------------------  ------------------------------------------------------------------
6892  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6893  Options: anchored  Options: anchored
6894  No first char  No first char
6895  Need char = 'b'  Need char = 'b'
# Line 6728  Need char = 'b' Line 6905  Need char = 'b'
6905          End          End
6906  ------------------------------------------------------------------  ------------------------------------------------------------------
6907  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6908  Options: anchored  Options: anchored
6909  No first char  No first char
6910  Need char = 'A'  Need char = 'A'
# Line 6743  No match Line 6919  No match
6919  ------------------------------------------------------------------  ------------------------------------------------------------------
6920          Bra          Bra
6921          ^          ^
6922          a*       /i a*
6923       NC A       /i A
6924          \d          \d
6925          Ket          Ket
6926          End          End
6927  ------------------------------------------------------------------  ------------------------------------------------------------------
6928  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6929  Options: anchored caseless  Options: anchored caseless
6930  No first char  No first char
6931  Need char = 'A' (caseless)  Need char = 'A' (caseless)
# Line 6761  Need char = 'A' (caseless) Line 6936  Need char = 'A' (caseless)
6936    
6937  /(a*|b*)[cd]/IS  /(a*|b*)[cd]/IS
6938  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
6939  No options  No options
6940  No first char  No first char
6941  No need char  No need char
6942    Subject length lower bound = 1
6943  Starting byte set: a b c d  Starting byte set: a b c d
6944    
6945  /(a+|b*)[cd]/IS  /(a+|b*)[cd]/IS
6946  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
6947  No options  No options
6948  No first char  No first char
6949  No need char  No need char
6950    Subject length lower bound = 1
6951  Starting byte set: a b c d  Starting byte set: a b c d
6952    
6953  /(a*|b+)[cd]/IS  /(a*|b+)[cd]/IS
6954  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
6955  No options  No options
6956  No first char  No first char
6957  No need char  No need char
6958    Subject length lower bound = 1
6959  Starting byte set: a b c d  Starting byte set: a b c d
6960    
6961  /(a+|b+)[cd]/IS  /(a+|b+)[cd]/IS
6962  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
6963  No options  No options
6964  No first char  No first char
6965  No need char  No need char
6966    Subject length lower bound = 2
6967  Starting byte set: a b  Starting byte set: a b
6968    
6969  /((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((  /((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
# Line 7373  Matched, but too many substrings Line 7548  Matched, but too many substrings
7548  /[^a]+a/BZi  /[^a]+a/BZi
7549  ------------------------------------------------------------------  ------------------------------------------------------------------
7550          Bra          Bra
7551          [^A]++       /i [^A]++
7552       NC a       /i a
7553          Ket          Ket
7554          End          End
7555  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 7382  Matched, but too many substrings Line 7557  Matched, but too many substrings
7557  /[^a]+A/BZi  /[^a]+A/BZi
7558  ------------------------------------------------------------------  ------------------------------------------------------------------
7559          Bra          Bra
7560          [^A]++       /i [^A]++
7561       NC A       /i A
7562          Ket          Ket
7563          End          End
7564  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 7578  No match Line 7753  No match
7753  ------------------------------------------------------------------  ------------------------------------------------------------------
7754          Bra          Bra
7755          ^          ^
         Once  
7756          Recurse          Recurse
         Ket  
7757          [()]          [()]
7758          CBra 1          CBra 1
7759          Ket          Ket
# Line 7594  No match Line 7767  No match
7767          ^          ^
7768          CBra 1          CBra 1
7769          Cond          Cond
7770        2 Cond ref        2 Cond nref
7771          y          y
7772          Ket          Ket
7773          [()]          [()]
# Line 7614  No match Line 7787  No match
7787  ------------------------------------------------------------------  ------------------------------------------------------------------
7788          Bra          Bra
7789          ^          ^
         Once  
7790          Recurse          Recurse
         Ket  
7791          ()          ()
7792          CBra 1          CBra 1
7793          Ket          Ket
# Line 7628  No match Line 7799  No match
7799  ------------------------------------------------------------------  ------------------------------------------------------------------
7800          Bra          Bra
7801          ^          ^
         Once  
7802          Recurse          Recurse
         Ket  
7803          [(\]a]          [(\]a]
7804          CBra 1          CBra 1
7805          Ket          Ket
# Line 7643  No match Line 7812  No match
7812  ------------------------------------------------------------------  ------------------------------------------------------------------
7813          Bra          Bra
7814          ^          ^
         Once  
7815          Recurse          Recurse
         Ket  
7816          CBra 1          CBra 1
7817          Ket          Ket
7818          Ket          Ket
# Line 7660  Named capturing subpatterns: Line 7827  Named capturing subpatterns:
7827    one     1    one     1
7828    three   3    three   3
7829    two     2    two     2
 Partial matching not supported  
7830  Options: anchored caseless  Options: anchored caseless
7831  No first char  No first char
7832  No need char  No need char
# Line 7694  No match Line 7860  No match
7860  /(?=(\w+))\1:/I  /(?=(\w+))\1:/I
7861  Capturing subpattern count = 1  Capturing subpattern count = 1
7862  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
7863  No options  No options
7864  No first char  No first char
7865  Need char = ':'  Need char = ':'
# Line 7707  Capturing subpattern count = 1 Line 7872  Capturing subpattern count = 1
7872  Max back reference = 1  Max back reference = 1
7873  Named capturing subpatterns:  Named capturing subpatterns:
7874    abc   1    abc   1
 Partial matching not supported  
7875  No options  No options
7876  No first char  No first char
7877  Need char = ':'  Need char = ':'
# Line 7715  Need char = ':' Line 7879  Need char = ':'
7879   0: abcd:   0: abcd:
7880   1: abcd   1: abcd
7881    
 /(?'abc'\w+):\k<abc>{2}/  
     a:aaxyz  
  0: a:aa  
  1: a  
     ab:ababxyz  
  0: ab:abab  
  1: ab  
     ** Failers  
 No match  
     a:axyz  
 No match  
     ab:abxyz  
 No match  
   
7882  /(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J  /(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J
7883      adaa      adaa
7884   0: adaa   0: adaa
# Line 7755  No match Line 7905  No match
7905      bddd      bddd
7906  No match  No match
7907    
 /^(?<ab>a)? (?(<ab>)b|c) (?('ab')d|e)/x  
     abd  
  0: abd  
  1: a  
     ce  
  0: ce  
   
7908  /(?(<bc))/  /(?(<bc))/
7909  Failed: malformed number or name after (?( at offset 6  Failed: malformed number or name after (?( at offset 6
7910    
# Line 7792  Failed: reference to non-existent subpat Line 7935  Failed: reference to non-existent subpat
7935   1: abcabc1Xabc2XabcX   1: abcabc1Xabc2XabcX
7936   2: abcabc1Xabc2XabcX   2: abcabc1Xabc2XabcX
7937    
 /^(?(DEFINE) (?<A> a) (?<B> b) )  (?&A) (?&B) /x  
     abcd  
  0: ab  
  1: <unset>  
  2: <unset>  
   
 /(?<NAME>(?&NAME_PAT))\s+(?<ADDR>(?&ADDRESS_PAT))  
   (?(DEFINE)  
   (?<NAME_PAT>[a-z]+)  
   (?<ADDRESS_PAT>\d+)  
   )/x  
     metcalfe 33  
  0: metcalfe 33  
  1: metcalfe  
  2: 33  
  3: <unset>  
  4: <unset>  
   
7938  /^(?(DEFINE) abc | xyz ) /x  /^(?(DEFINE) abc | xyz ) /x
7939  Failed: DEFINE group contains more than one branch at offset 22  Failed: DEFINE group contains more than one branch at offset 22
7940    
# Line 7987  Need char = 'P' Line 8112  Need char = 'P'
8112   0: PXP   0: PXP
8113   1: P   1: P
8114    
 /(?(DEFINE)(?<byte>2[0-4]\d|25[0-5]|1\d\d|[1-9]?\d))\b(?&byte)(\.(?&byte)){3}/  
     1.2.3.4  
  0: 1.2.3.4  
  1: <unset>  
  2: .4  
     131.111.10.206  
  0: 131.111.10.206  
  1: <unset>  
  2: .206  
     10.0.0.0  
  0: 10.0.0.0  
  1: <unset>  
  2: .0  
     ** Failers  
 No match  
     10.6  
 No match  
     455.3.4.5  
 No match  
   
 /\b(?&byte)(\.(?&byte)){3}(?(DEFINE)(?<byte>2[0-4]\d|25[0-5]|1\d\d|[1-9]?\d))/  
     1.2.3.4  
  0: 1.2.3.4  
  1: .4  
  2: <unset>  
     131.111.10.206  
  0: 131.111.10.206  
  1: .206  
  2: <unset>  
     10.0.0.0  
  0: 10.0.0.0  
  1: .0  
  2: <unset>  
     ** Failers  
 No match  
     10.6  
 No match  
     455.3.4.5  
 No match  
   
8115  /(?:a(?&abc)b)*(?<abc>x)/  /(?:a(?&abc)b)*(?<abc>x)/
8116      123axbaxbaxbx456      123axbaxbaxbx456
8117   0: axbaxbaxbx   0: axbaxbaxbx
# Line 8064  No match Line 8149  No match
8149     DEFabcABCXYZ     DEFabcABCXYZ
8150  No match  No match
8151    
 /^(a(b))\1\g1\g{1}\g-1\g{-1}\g{-02}Z/  
     ababababbbabZXXXX  
  0: ababababbbabZ  
  1: ab  
  2: b  
   
8152  /^(a)\g-2/  /^(a)\g-2/
8153  Failed: reference to non-existent subpattern at offset 7  Failed: reference to non-existent subpattern at offset 7
8154    
# Line 8185  No match Line 8264  No match
8264          Alt          Alt
8265          c          c
8266          Ket          Ket
         Once  
8267          Recurse          Recurse
8268          Ket          Ket
         Ket  
8269          End          End
8270  ------------------------------------------------------------------  ------------------------------------------------------------------
8271      abc      abc
# Line 8199  No match Line 8276  No match
8276  ------------------------------------------------------------------  ------------------------------------------------------------------
8277          Bra          Bra
8278          xy          xy
         Once  
8279          Recurse          Recurse
         Ket  
8280          CBra 1          CBra 1
8281          abc          abc
8282          Ket          Ket
# Line 8325  Failed: reference to non-existent subpat Line 8400  Failed: reference to non-existent subpat
8400   0: Y!   0: Y!
8401   1: !   1: !
8402    
 /(foo)\Kbar/  
     foobar  
  0: bar  
  1: foo  
   
 /(foo)(\Kbar|baz)/  
     foobar  
  0: bar  
  1: foo  
  2: bar  
     foobaz  
  0: foobaz  
  1: foo  
  2: baz  
   
 /(foo\Kbar)baz/  
     foobarbaz  
  0: barbaz  
  1: foobar  
   
8403  /(?<A>tom|bon)-\k{A}/  /(?<A>tom|bon)-\k{A}/
8404      tom-tom      tom-tom
8405   0: tom-tom   0: tom-tom
# Line 8357  No match Line 8412  No match
8412      tom-bon      tom-bon
8413  No match  No match
8414    
 /(?<A>tom|bon)-\g{A}/  
     tom-tom  
  0: tom-tom  
  1: tom  
     bon-bon  
  0: bon-bon  
  1: bon  
   
8415  /\g{A/  /\g{A/
8416  Failed: syntax error in subpattern name (missing terminator) at offset 4  Failed: syntax error in subpattern name (missing terminator) at offset 4
8417    
# Line 8459  Failed: syntax error in subpattern name Line 8506  Failed: syntax error in subpattern name
8506   3: <unset>   3: <unset>
8507   4: x   4: x
8508    
 /(?|(abc)|(xyz))\1/  
     abcabc  
  0: abcabc  
  1: abc  
     xyzxyz  
  0: xyzxyz  
  1: xyz  
     ** Failers  
 No match  
     abcxyz  
 No match  
     xyzabc  
 No match  
   
 /(?|(abc)|(xyz))(?1)/  
     abcabc  
  0: abcabc  
  1: abc  
     xyzabc  
  0: xyzabc  
  1: xyz  
     ** Failers  
 No match  
     xyzxyz  
 No match  
   
 /\H\h\V\v/  
     X X\x0a  
  0: X X\x0a  
     X\x09X\x0b  
  0: X\x09X\x0b  
     ** Failers  
 No match  
     \xa0 X\x0a  
 No match  
   
 /\H*\h+\V?\v{3,4}/  
     \x09\x20\xa0X\x0a\x0b\x0c\x0d\x0a  
  0: \x09 \xa0X\x0a\x0b\x0c\x0d  
     \x09\x20\xa0\x0a\x0b\x0c\x0d\x0a  
  0: \x09 \xa0\x0a\x0b\x0c\x0d  
     \x09\x20\xa0\x0a\x0b\x0c  
  0: \x09 \xa0\x0a\x0b\x0c  
     ** Failers  
 No match  
     \x09\x20\xa0\x0a\x0b  
 No match  
   
 /\H{3,4}/  
     XY  ABCDE  
  0: ABCD  
     XY  PQR ST  
  0: PQR  
   
 /.\h{3,4}./  
     XY  AB    PQRS  
  0: B    P  
   
 /\h*X\h?\H+Y\H?Z/  
     >XNNNYZ  
  0: XNNNYZ  
     >  X NYQZ  
  0:   X NYQZ  
     ** Failers  
 No match  
     >XYZ  
 No match  
     >  X NY Z  
 No match  
   
 /\v*X\v?Y\v+Z\V*\x0a\V+\x0b\V{2,3}\x0c/  
     >XY\x0aZ\x0aA\x0bNN\x0c  
  0: XY\x0aZ\x0aA\x0bNN\x0c  
     >\x0a\x0dX\x0aY\x0a\x0bZZZ\x0aAAA\x0bNNN\x0c  
  0: \x0a\x0dX\x0aY\x0a\x0bZZZ\x0aAAA\x0bNNN\x0c  
   
8509  /[\h]/BZ  /[\h]/BZ
8510  ------------------------------------------------------------------  ------------------------------------------------------------------
8511          Bra          Bra
# Line 8831  Failed: missing terminating ] for charac Line 8802  Failed: missing terminating ] for charac
8802          End          End
8803  ------------------------------------------------------------------  ------------------------------------------------------------------
8804    
8805  /^a+(*FAIL)/  /^a+(*FAIL)/C
8806      aaaaaa      aaaaaa
8807    --->aaaaaa
8808     +0 ^          ^
8809     +1 ^          a+
8810     +3 ^     ^    (*FAIL)
8811     +3 ^    ^     (*FAIL)
8812     +3 ^   ^      (*FAIL)
8813     +3 ^  ^       (*FAIL)
8814     +3 ^ ^        (*FAIL)
8815     +3 ^^         (*FAIL)
8816  No match  No match
8817    
8818  /a+b?c+(*FAIL)/  /a+b?c+(*FAIL)/C
     aaabccc  
 No match  
   
 /a+b?(*PRUNE)c+(*FAIL)/  
     aaabccc  
 No match  
   
 /a+b?(*COMMIT)c+(*FAIL)/  
     aaabccc  
 No match  
   
 /a+b?(*SKIP)c+(*FAIL)/  
     aaabcccaaabccc  
 No match  
   
 /^(?:aaa(*THEN)\w{6}|bbb(*THEN)\w{5}|ccc(*THEN)\w{4}|\w{3})/  
     aaaxxxxxx  
  0: aaaxxxxxx  
     aaa++++++  
  0: aaa  
     bbbxxxxx  
  0: bbbxxxxx  
     bbb+++++  
  0: bbb  
     cccxxxx  
  0: cccxxxx  
     ccc++++  
  0: ccc  
     dddddddd  
  0: ddd  
   
 /^(aaa(*THEN)\w{6}|bbb(*THEN)\w{5}|ccc(*THEN)\w{4}|\w{3})/  
     aaaxxxxxx  
  0: aaaxxxxxx  
  1: aaaxxxxxx  
     aaa++++++  
  0: aaa  
  1: aaa  
     bbbxxxxx  
  0: bbbxxxxx  
  1: bbbxxxxx  
     bbb+++++  
  0: bbb  
  1: bbb  
     cccxxxx  
  0: cccxxxx  
  1: cccxxxx  
     ccc++++  
  0: ccc  
  1: ccc  
     dddddddd  
  0: ddd  
  1: ddd  
   
 /a+b?(*THEN)c+(*FAIL)/  
     aaabccc  
 No match  
   
 /(A (A|B(*ACCEPT)|C) D)(E)/x  
     ABX  
  0: AB  
     AADE  
  0: AADE  
  1: AAD  
  2: A  
  3: E  
     ACDE  
  0: ACDE  
  1: ACD  
  2: C  
  3: E  
     ** Failers  
 No match  
     AD  
 No match  
   
 /^a+(*FAIL)/C  
     aaaaaa  
 --->aaaaaa  
  +0 ^          ^  
  +1 ^          a+  
  +3 ^     ^    (*FAIL)  
  +3 ^    ^     (*FAIL)  
  +3 ^   ^      (*FAIL)  
  +3 ^  ^       (*FAIL)  
  +3 ^ ^        (*FAIL)  
  +3 ^^         (*FAIL)  
 No match  
   
 /a+b?c+(*FAIL)/C  
8819      aaabccc      aaabccc
8820  --->aaabccc  --->aaabccc
8821   +0 ^           a+   +0 ^           a+
# Line 9040  No match Line 8930  No match
8930  +13   ^  ^      (*FAIL)  +13   ^  ^      (*FAIL)
8931  No match  No match
8932    
 /a(*PRUNE:XXX)b/  
 Failed: (*VERB) with an argument is not supported at offset 8  
   
8933  /a(*MARK)b/  /a(*MARK)b/
8934  Failed: (*VERB) not recognized at offset 7  Failed: (*MARK) must have an argument at offset 7
8935    
8936  /(?i:A{1,}\6666666666)/  /(?i:A{1,}\6666666666)/
8937  Failed: number is too big at offset 19  Failed: number is too big at offset 19
# Line 9133  No match Line 9020  No match
9020  No match  No match
9021      a\x85b      a\x85b
9022  No match  No match
9023    
9024    /(*ANY).*/g
9025        abc\r\ndef
9026     0: abc
9027     0:
9028     0: def
9029     0:
9030    
9031    /(*ANYCRLF).*/g
9032        abc\r\ndef
9033     0: abc
9034     0:
9035     0: def
9036     0:
9037    
9038    /(*CRLF).*/g
9039        abc\r\ndef
9040     0: abc
9041     0:
9042     0: def
9043     0:
9044    
9045  /a\Rb/I<bsr_anycrlf>  /a\Rb/I<bsr_anycrlf>
9046  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 9216  No match Line 9124  No match
9124    
9125  /a\R{2,4}b/I<bsr_anycrlf>  /a\R{2,4}b/I<bsr_anycrlf>
9126  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
9127  Options: bsr_anycrlf  Options: bsr_anycrlf
9128  First char = 'a'  First char = 'a'
9129  Need char = 'b'  Need char = 'b'
# Line 9235  No match Line 9142  No match
9142    
9143  /a\R{2,4}b/I<bsr_unicode>  /a\R{2,4}b/I<bsr_unicode>
9144  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
9145  Options: bsr_unicode  Options: bsr_unicode
9146  First char = 'a'  First char = 'a'
9147  Need char = 'b'  Need char = 'b'
# Line 9340  Failed: subpattern name expected at offs Line 9246  Failed: subpattern name expected at offs
9246  /\k{}/  /\k{}/
9247  Failed: subpattern name expected at offset 3  Failed: subpattern name expected at offset 3
9248    
9249    /\k/
9250    Failed: \k is not followed by a braced, angle-bracketed, or quoted name at offset 2
9251    
9252    /\kabc/
9253    Failed: \k is not followed by a braced, angle-bracketed, or quoted name at offset 5
9254    
9255  /(?P=)/  /(?P=)/
9256  Failed: subpattern name expected at offset 4  Failed: subpattern name expected at offset 4
9257    
# Line 9385  Failed: unknown POSIX class name at offs Line 9297  Failed: unknown POSIX class name at offs
9297  /[[:a\dz:]]/  /[[:a\dz:]]/
9298  Failed: unknown POSIX class name at offset 3  Failed: unknown POSIX class name at offset 3
9299    
 /^(?<name>a|b\g<name>c)/  
     aaaa  
  0: a  
  1: a  
     bacxxx  
  0: bac  
  1: bac  
     bbaccxxx  
  0: bbacc  
  1: bbacc  
     bbbacccxx  
  0: bbbaccc  
  1: bbbaccc  
   
 /^(?<name>a|b\g'name'c)/  
     aaaa  
  0: a  
  1: a  
     bacxxx  
  0: bac  
  1: bac  
     bbaccxxx  
  0: bbacc  
  1: bbacc  
     bbbacccxx  
  0: bbbaccc  
  1: bbbaccc  
   
 /^(a|b\g<1>c)/  
     aaaa  
  0: a  
  1: a  
     bacxxx  
  0: bac  
  1: bac  
     bbaccxxx  
  0: bbacc  
  1: bbacc  
     bbbacccxx  
  0: bbbaccc  
  1: bbbaccc  
   
 /^(a|b\g'1'c)/  
     aaaa  
  0: a  
  1: a  
     bacxxx  
  0: bac  
  1: bac  
     bbaccxxx  
  0: bbacc  
  1: bbacc  
     bbbacccxx  
  0: bbbaccc  
  1: bbbaccc  
   
 /^(a|b\g'-1'c)/  
     aaaa  
  0: a  
  1: a  
     bacxxx  
  0: bac  
  1: bac  
     bbaccxxx  
  0: bbacc  
  1: bbacc  
     bbbacccxx  
  0: bbbaccc  
  1: bbbaccc  
   
 /(^(a|b\g<-1>c))/  
     aaaa  
  0: a  
  1: a  
  2: a  
     bacxxx  
  0: bac  
  1: bac  
  2: bac  
     bbaccxxx  
  0: bbacc  
  1: bbacc  
  2: bbacc  
     bbbacccxx  
  0: bbbaccc  
  1: bbbaccc  
  2: bbbaccc  
   
9300  /(^(a|b\g<-1'c))/  /(^(a|b\g<-1'c))/
9301  Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 15  Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 15
9302    
 /(^(a|b\g{-1}))/  
     bacxxx  
 No match  
   
 /(?-i:\g<name>)(?i:(?<name>a))/  
     XaaX  
  0: aa  
  1: a  
     XAAX  
  0: AA  
  1: A  
   
 /(?i:\g<name>)(?-i:(?<name>a))/  
     XaaX  
  0: aa  
  1: a  
     ** Failers  
 No match  
     XAAX  
 No match  
   
 /(?-i:\g<+1>)(?i:(a))/  
     XaaX  
  0: aa  
  1: a  
     XAAX  
  0: AA  
  1: A  
   
 /(?=(?<regex>(?#simplesyntax)\$(?<name>[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)(?:\[(?<index>[a-zA-Z0-9_\x{7f}-\x{ff}]+|\$\g<name>)\]|->\g<name>(\(.*?\))?)?|(?#simple syntax withbraces)\$\{(?:\g<name>(?<indices>\[(?:\g<index>|'(?:\\.|[^'\\])*'|"(?:\g<regex>|\\.|[^"\\])*")\])?|\g<complex>|\$\{\g<complex>\})\}|(?#complexsyntax)\{(?<complex>\$(?<segment>\g<name>(\g<indices>*|\(.*?\))?)(?:->\g<segment>)*|\$\g<complex>|\$\{\g<complex>\})\}))\{/  
   
 /(?<n>a|b|c)\g<n>*/  
    abc  
  0: abc  
  1: a  
    accccbbb  
  0: accccbbb  
  1: a  
   
9303  /^(?+1)(?<a>x|y){0}z/  /^(?+1)(?<a>x|y){0}z/
9304      xzxx      xzxx
9305   0: xz   0: xz
  1: <unset>  
9306      yzyy      yzyy
9307   0: yz   0: yz
  1: <unset>  
9308      ** Failers      ** Failers
9309  No match  No match
9310      xxz      xxz
# Line 9636  Capturing subpattern count = 1 Line 9419  Capturing subpattern count = 1
9419  No options  No options
9420  No first char  No first char
9421  No need char  No need char
9422    Subject length lower bound = 1
9423  Starting byte set: x y z  Starting byte set: x y z
9424    
9425  /(?(?=.*b)b|^)/CI  /(?(?=.*b)b|^)/CI
9426  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
9427  Options:  Options:
9428  No first char  No first char
9429  No need char  No need char
# Line 9680  No need char Line 9463  No need char
9463    
9464  /(?(?=b).*b|^d)/I  /(?(?=b).*b|^d)/I
9465  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
9466  No options  No options
9467  No first char  No first char
9468  No need char  No need char
9469    
9470  /(?(?=.*b).*b|^d)/I  /(?(?=.*b).*b|^d)/I
9471  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
9472  No options  No options
9473  First char at start or follows newline  First char at start or follows newline
9474  No need char  No need char
# Line 9752  No match Line 9533  No match
9533   +0        ^     x   +0        ^     x
9534   +0         ^    x   +0         ^    x
9535  No match  No match
9536    
9537    /(*NO_START_OPT)xyz/C
9538      abcxyz
9539    --->abcxyz
9540    +15 ^          x
9541    +15  ^         x
9542    +15   ^        x
9543    +15    ^       x
9544    +16    ^^      y
9545    +17    ^ ^     z
9546    +18    ^  ^
9547     0: xyz
9548    
9549    /xyz/CY
9550      abcxyz
9551    --->abcxyz
9552     +0 ^          x
9553     +0  ^         x
9554     +0   ^        x
9555     +0    ^       x
9556     +1    ^^      y
9557     +2    ^ ^     z
9558     +3    ^  ^
9559     0: xyz
9560    
9561  /^"((?(?=[a])[^"])|b)*"$/C  /^"((?(?=[a])[^"])|b)*"$/C
9562      "ab"      "ab"
# Line 9786  No match Line 9591  No match
9591   0: "ab"   0: "ab"
9592   1:   1:
9593    
 /^X(?5)(a)(?|(b)|(q))(c)(d)(Y)/  
     XYabcdY  
  0: XYabcdY  
  1: a  
  2: b  
  3: c  
  4: d  
  5: Y  
   
9594  /^X(?5)(a)(?|(b)|(q))(c)(d)Y/  /^X(?5)(a)(?|(b)|(q))(c)(d)Y/
9595  Failed: reference to non-existent subpattern at offset 5  Failed: reference to non-existent subpattern at offset 5
9596    
# Line 9807  Failed: reference to non-existent subpat Line 9603  Failed: reference to non-existent subpat
9603   4: d   4: d
9604   5: Y   5: Y
9605    
9606  /^X(?7)(a)(?|(b)|(q)(r)(s))(c)(d)(Y)/  /Xa{2,4}b/
9607      XYabcdY      X\P
9608   0: XYabcdY  Partial match: X
9609   1: a      Xa\P
9610   2: b  Partial match: Xa
9611   3: <unset>      Xaa\P
9612   4: <unset>  Partial match: Xaa
9613   5: c      Xaaa\P
9614   6: d  Partial match: Xaaa
9615   7: Y      Xaaaa\P
9616    Partial match: Xaaaa
9617    
9618    /Xa{2,4}?b/
9619        X\P
9620    Partial match: X
9621        Xa\P
9622    Partial match: Xa
9623        Xaa\P
9624    Partial match: Xaa
9625        Xaaa\P
9626    Partial match: Xaaa
9627        Xaaaa\P
9628    Partial match: Xaaaa
9629    
9630    /Xa{2,4}+b/
9631        X\P
9632    Partial match: X
9633        Xa\P
9634    Partial match: Xa
9635        Xaa\P
9636    Partial match: Xaa
9637        Xaaa\P
9638    Partial match: Xaaa
9639        Xaaaa\P
9640    Partial match: Xaaaa
9641    
9642    /X\d{2,4}b/
9643        X\P
9644    Partial match: X
9645        X3\P
9646    Partial match: X3
9647        X33\P
9648    Partial match: X33
9649        X333\P
9650    Partial match: X333
9651        X3333\P
9652    Partial match: X3333
9653    
9654    /X\d{2,4}?b/
9655        X\P
9656    Partial match: X
9657        X3\P
9658    Partial match: X3
9659        X33\P
9660    Partial match: X33
9661        X333\P
9662    Partial match: X333
9663        X3333\P
9664    Partial match: X3333
9665    
9666    /X\d{2,4}+b/
9667        X\P
9668    Partial match: X
9669        X3\P
9670    Partial match: X3
9671        X33\P
9672    Partial match: X33
9673        X333\P
9674    Partial match: X333
9675        X3333\P
9676    Partial match: X3333
9677    
9678    /X\D{2,4}b/
9679        X\P
9680    Partial match: X
9681        Xa\P
9682    Partial match: Xa
9683        Xaa\P
9684    Partial match: Xaa
9685        Xaaa\P
9686    Partial match: Xaaa
9687        Xaaaa\P
9688    Partial match: Xaaaa
9689    
9690    /X\D{2,4}?b/
9691        X\P
9692    Partial match: X
9693        Xa\P
9694    Partial match: Xa
9695        Xaa\P
9696    Partial match: Xaa
9697        Xaaa\P
9698    Partial match: Xaaa
9699        Xaaaa\P
9700    Partial match: Xaaaa
9701    
9702    /X\D{2,4}+b/
9703        X\P
9704    Partial match: X
9705        Xa\P
9706    Partial match: Xa
9707        Xaa\P
9708    Partial match: Xaa
9709        Xaaa\P
9710    Partial match: Xaaa
9711        Xaaaa\P
9712    Partial match: Xaaaa
9713    
9714    /X[abc]{2,4}b/
9715        X\P
9716    Partial match: X
9717        Xa\P
9718    Partial match: Xa
9719        Xaa\P
9720    Partial match: Xaa
9721        Xaaa\P
9722    Partial match: Xaaa
9723        Xaaaa\P
9724    Partial match: Xaaaa
9725    
9726    /X[abc]{2,4}?b/
9727        X\P
9728    Partial match: X
9729        Xa\P
9730    Partial match: Xa
9731        Xaa\P
9732    Partial match: Xaa
9733        Xaaa\P
9734    Partial match: Xaaa
9735        Xaaaa\P
9736    Partial match: Xaaaa
9737    
9738    /X[abc]{2,4}+b/
9739        X\P
9740    Partial match: X
9741        Xa\P
9742    Partial match: Xa
9743        Xaa\P
9744    Partial match: Xaa
9745        Xaaa\P
9746    Partial match: Xaaa
9747        Xaaaa\P
9748    Partial match: Xaaaa
9749    
9750    /X[^a]{2,4}b/
9751        X\P
9752    Partial match: X
9753        Xz\P
9754    Partial match: Xz
9755        Xzz\P
9756    Partial match: Xzz
9757        Xzzz\P
9758    Partial match: Xzzz
9759        Xzzzz\P
9760    Partial match: Xzzzz
9761    
9762    /X[^a]{2,4}?b/
9763        X\P
9764    Partial match: X
9765        Xz\P
9766    Partial match: Xz
9767        Xzz\P
9768    Partial match: Xzz
9769        Xzzz\P
9770    Partial match: Xzzz
9771        Xzzzz\P
9772    Partial match: Xzzzz
9773    
9774    /X[^a]{2,4}+b/
9775        X\P
9776    Partial match: X
9777        Xz\P
9778    Partial match: Xz
9779        Xzz\P
9780    Partial match: Xzz
9781        Xzzz\P
9782    Partial match: Xzzz
9783        Xzzzz\P
9784    Partial match: Xzzzz
9785    
9786    /(Y)X\1{2,4}b/
9787        YX\P
9788    Partial match: YX
9789        YXY\P
9790    Partial match: YXY
9791        YXYY\P
9792    Partial match: YXYY
9793        YXYYY\P
9794    Partial match: YXYYY
9795        YXYYYY\P
9796    Partial match: YXYYYY
9797    
9798    /(Y)X\1{2,4}?b/
9799        YX\P
9800    Partial match: YX
9801        YXY\P
9802    Partial match: YXY
9803        YXYY\P
9804    Partial match: YXYY
9805        YXYYY\P
9806    Partial match: YXYYY
9807        YXYYYY\P
9808    Partial match: YXYYYY
9809    
9810    /(Y)X\1{2,4}+b/
9811        YX\P
9812    Partial match: YX
9813        YXY\P
9814    Partial match: YXY
9815        YXYY\P
9816    Partial match: YXYY
9817        YXYYY\P
9818    Partial match: YXYYY
9819        YXYYYY\P
9820    Partial match: YXYYYY
9821    
9822    /\++\KZ|\d+X|9+Y/
9823        ++++123999\P
9824    Partial match: 123999
9825        ++++123999Y\P
9826     0: 999Y
9827        ++++Z1234\P
9828     0: Z
9829    
9830  /^X(?7)(a)(?|(b|(r)(s))|(q))(c)(d)(Y)/  /Z(*F)/
9831      XYabcdY      Z\P
9832   0: XYabcdY  No match
9833   1: a      ZA\P
9834   2: b  No match
9835   3: <unset>  
9836   4: <unset>  /Z(?!)/
9837   5: c      Z\P
9838   6: d  No match
9839   7: Y      ZA\P
9840    No match
9841    
9842  /^X(?7)(a)(?|(b|(?|(r)|(t))(s))|(q))(c)(d)(Y)/  /dog(sbody)?/
9843      XYabcdY      dogs\P
9844   0: XYabcdY   0: dog
9845   1: a      dogs\P\P
9846   2: b  Partial match: dogs
9847   3: <unset>  
9848   4: <unset>  /dog(sbody)??/
9849   5: c      dogs\P
9850   6: d   0: dog
9851   7: Y      dogs\P\P
9852     0: dog
9853    
9854    /dog|dogsbody/
9855        dogs\P
9856     0: dog
9857        dogs\P\P
9858     0: dog
9859    
9860    /dogsbody|dog/
9861        dogs\P
9862     0: dog
9863        dogs\P\P
9864    Partial match: dogs
9865    
9866    /\bthe cat\b/
9867        the cat\P
9868     0: the cat
9869        the cat\P\P
9870    Partial match: the cat
9871    
9872    /abc/
9873       abc\P
9874     0: abc
9875       abc\P\P
9876     0: abc
9877    
9878    /\w+A/P
9879       CDAAAAB
9880     0: CDAAAA
9881    
9882    /\w+A/PU
9883       CDAAAAB
9884     0: CDA
9885    
9886   %^(?:  /abc\K123/
9887   [\x09\x0A\x0D\x20-\x7E]# ASCII      xyzabc123pqr
9888     | [\xC2-\xDF][\x80-\xBF]# non-overlong 2-byte   0: 123
9889     |  \xE0[\xA0-\xBF][\x80-\xBF]# excluding overlongs      xyzabc12\P
9890     | [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}  # straight 3-byte  Partial match: abc12
9891     |  \xED[\x80-\x9F][\x80-\xBF]# excluding surrogates      xyzabc12\P\P
9892     |  \xF0[\x90-\xBF][\x80-\xBF]{2}# planes 1-3  Partial match: abc12
9893     | [\xF1-\xF3][\x80-\xBF]{3}  # planes 4-15  
9894     |  \xF4[\x80-\x8F][\x80-\xBF]{2}# plane 16  /(?<=abc)123/
9895     )*$%xs      xyzabc123pqr
9896  <div align="justify"><p>- Im Aufbau -</p><h3 id="aventurien">Aventurien</h3><div style="border: 1px none ; margin: 5px 5px 5px 10px; float:right; width: 100px;"><strong>Navigation</strong> <br /><br /><a href="#aventurien">Aventurien</a><br /><a href="#ferdok">Die Stadt Ferdok</a><br /><a href="#weitere">Weitere Ziele</a></div><p>{mosimage} Aventurien ist ein Kontinent der Welt Dere undAusgangspunkt f&uuml;r die meisten Abenteuer in der Welt von <em>DasSchwarze Auge</em>. Von Nord nach S&uuml;d erstreckt sich derKontinent ca. &uuml;ber 3000 Meilen, von Ost nach West sind esimmerhin noch 2000 Meilen. Von den Tundren Thorwals bis zurW&uuml;ste Khom kann man so ziemlich alle Klimazonen in Aventurienfinden.</p><p>Im Herzen Aventuriens liegt das Kaiserreich, auch das Mittelreichgenannt, mit seiner Hauptstadt Gareth (rot umrandeter Bereich).  DieKultur erinnert entfernt an das mittelalterliche Europa. DieHandlung Drakensangs wird zu gro&szlig;en Teilen im Mittelreichspielen, genauer gesagt, in der Umgebung der Stadt Ferdok (s.u.).Doch auch andere, exotischere Orte sollen Ziel der Reise werden.</p><p>Zahlreiche V&ouml;lker und Rassen bewohnen den Kontinent, allenvoran nat&uuml;rlich die Menschenv&ouml;lker, die die Mehrheit derBewohner stellen. Unter den Menschen gibt es zahlreicheunterschiedliche Kulturen, z. B. die wikinger&auml;hnlichenThorwaler, das Nomadenvolk der Nivesen oder eben dieMittell&auml;nder. Daneben gibt es nat&uuml;rlich nochfantastischere V&ouml;lker wie die Elfen (mit mehrern Untergruppen),Zwerge, Orks und mehr, eben alles, was eine Fantasywelt zu bietenhat.</p><p>&nbsp;</p><h3 id="ferdok">Ferdok</h3><p><a target="_blank" href="images/stories/stadtplan_g.jpg">{mosimage}</a></p><p>Ferdok ist eine Grafenstadt im Mittelreich, etwas westlich derHauptstadt Gareth, und hat etwa 3000 Einwohner. Sie geh&ouml;rt zuden &auml;ltesten menschlichen Siedlungen des Kosch. Im Laufe derGeschichte mu&szlig;te die Stadt jedoch wegen einer &Auml;nderungdes Flu&szlig;laufes des Gro&szlig;en Flu&szlig;es im Jahre 270 BFverlegt werden, da die Stadt in der Bedeutungslosigkeit zu versinkendrohte. Heute liegt Ferdok wieder direkt an der Einm&uuml;ndung desRakula in den Gro&szlig;en Flu&szlig;. Obwohl  die Stadt diefr&uuml;here Bedeutung l&auml;ngst verloren hat, hat sich Ferdok alsein wichtiger Handelshafen etabliert (weltber&uuml;hmt: FerdokerBier). Hier werden die Waren von Gareth umgeschlagen, die &uuml;berdie gro&szlig;e Handelsstra&szlig;e von und nach Ferdok verfrachtetwerden. Ferdok ist damit eines der Tore zum Westen underm&ouml;glicht schnelle Reisen in andere Teile der Aventuriens.</p><p>Verwaltungstechnisch geh&ouml;rt Ferdok zum F&uuml;rstentumKosch, dessen Hauptstadt sie langezeit war. Mittlerweile hat siediesen Status jedoch an Angbar verloren. Trotz seiner wichtigenRolle als Handelsort sind die Bewohner Ferdoks ein eher biederesV&ouml;lkchen und h&auml;ngen der Erinnerung an die ruhmreichereVergangenheit hinterher. Nachts muss man auf den Stra&szlig;enneuerdings aufpassen. Zur Handlungszeit verunsichert n&auml;mlicheine grauenhafte Mordserie die Bewohner Ferdoks und l&auml;sst dieBev&ouml;lkerung nachts nicht richtig schlafen. Einige Bereichesollte man dann grunds&auml;tzlich nicht mehr besuchen, wenn einemdie eigene Gesundheit am Herzen liegt.</p><p>Die Stadt wird eine zentrale Anlaufstelle in Drakensang sein,weswegen sie auch vollst&auml;ndig, nach den Vorgaben desDSA-Regelwerks in das Spiel eingebaut wird. Der Stadtplan (zumVergr&ouml;&szlig;ern anklicken) wurde von Radon Labs dem Regelwerkdirekt entnommen und wird Euch auch f&uuml;r Drakensang gute Diensteleisten.</p><br /><h3 id="weitere">Weitere Reiseziele des Spiels</h3><a target="_blank"href="images/stories/artikel/map.jpg">{mosimage}</a> Insgesamt solles 12 Hauptregionen geben, die jeweils ca. 1 Quadratkilometergro&szlig; sind. Alle diese Regionen unterteilen sich nochmal in&uuml;ber 50 kleinere Gebiete. Bekannt sind neben Ferdok bislang:<ul><li>Avestreu (kleines Dorf s&uuml;d&ouml;stl. von Ferdok)</li><li>Dunkelwald (s&uuml;dl. von Ferdok)</li><li>Ruine Blutberge (s&uuml;dl. von Ferdok, am Rand desDunkelwaldes)</li><li>Moorbr&uuml;ck (s&uuml;dl. des Dunkelwaldes)</li><li>Burg Grimmzahn (westl. von Moorbr&uuml;ck)</li><li>Murolosch (eine Zwergenstadt)</li><li>der Berg Drachensang / Drakensang (im Amboss-Gebirgegelegen)</li></ul><p>&nbsp;</p><p>&nbsp;</p><p>Ausf&uuml;hrlichere Infos:</p><p><a title="Wiki Aventurica" target="_blank"href="http://dsa4.de/wiki">Wiki Aventurica </a>(externer Link)<br /><a href="http://www.eychgras.de/koschwiki/index.php"target="_blank">KoschWiki</a> (externer Link)</p><p>&nbsp;</p></div>   0: 123
9897   0: <div align="justify"><p>- Im Aufbau -</p><h3 id="aventurien">Aventurien</h3><div style="border: 1px none ; margin: 5px 5px 5px 10px; float:right; width: 100px;"><strong>Navigation</strong> <br /><br /><a href="#aventurien">Aventurien</a><br /><a href="#ferdok">Die Stadt Ferdok</a><br /><a href="#weitere">Weitere Ziele</a></div><p>{mosimage} Aventurien ist ein Kontinent der Welt Dere undAusgangspunkt f&uuml;r die meisten Abenteuer in der Welt von <em>DasSchwarze Auge</em>. Von Nord nach S&uuml;d erstreckt sich derKontinent ca. &uuml;ber 3000 Meilen, von Ost nach West sind esimmerhin noch 2000 Meilen. Von den Tundren Thorwals bis zurW&uuml;ste Khom kann man so ziemlich alle Klimazonen in Aventurienfinden.</p><p>Im Herzen Aventuriens liegt das Kaiserreich, auch das Mittelreichgenannt, mit seiner Hauptstadt Gareth (rot umrandeter Bereich).  DieKultur erinnert entfernt an das mittelalterliche Europa. DieHandlung Drakensangs wird zu gro&szlig;en Teilen im Mittelreichspielen, genauer gesagt, in der Umgebung der Stadt Ferdok (s.u.).Doch auch andere, exotischere Orte sollen Ziel der Reise werden.</p><p>Zahlreiche V&ouml;lker und Rassen bewohnen den Kontinent, allenvoran nat&uuml;rlich die Menschenv&ouml;lker, die die Mehrheit derBewohner stellen. Unter den Menschen gibt es zahlreicheunterschiedliche Kulturen, z. B. die wikinger&auml;hnlichenThorwaler, das Nomadenvolk der Nivesen oder eben dieMittell&auml;nder. Daneben gibt es nat&uuml;rlich nochfantastischere V&ouml;lker wie die Elfen (mit mehrern Untergruppen),Zwerge, Orks und mehr, eben alles, was eine Fantasywelt zu bietenhat.</p><p>&nbsp;</p><h3 id="ferdok">Ferdok</h3><p><a target="_blank" href="images/stories/stadtplan_g.jpg">{mosimage}</a></p><p>Ferdok ist eine Grafenstadt im Mittelreich, etwas westlich derHauptstadt Gareth, und hat etwa 3000 Einwohner. Sie geh&ouml;rt zuden &auml;ltesten menschlichen Siedlungen des Kosch. Im Laufe derGeschichte mu&szlig;te die Stadt jedoch wegen einer &Auml;nderungdes Flu&szlig;laufes des Gro&szlig;en Flu&szlig;es im Jahre 270 BFverlegt werden, da die Stadt in der Bedeutungslosigkeit zu versinkendrohte. Heute liegt Ferdok wieder direkt an der Einm&uuml;ndung desRakula in den Gro&szlig;en Flu&szlig;. Obwohl  die Stadt diefr&uuml;here Bedeutung l&auml;ngst verloren hat, hat sich Ferdok alsein wichtiger Handelshafen etabliert (weltber&uuml;hmt: FerdokerBier). Hier werden die Waren von Gareth umgeschlagen, die &uuml;berdie gro&szlig;e Handelsstra&szlig;e von und nach Ferdok verfrachtetwerden. Ferdok ist damit eines der Tore zum Westen underm&ouml;glicht schnelle Reisen in andere Teile der Aventuriens.</p><p>Verwaltungstechnisch geh&ouml;rt Ferdok zum F&uuml;rstentumKosch, dessen Hauptstadt sie langezeit war. Mittlerweile hat siediesen Status jedoch an Angbar verloren. Trotz seiner wichtigenRolle als Handelsort sind die Bewohner Ferdoks ein eher biederesV&ouml;lkchen und h&auml;ngen der Erinnerung an die ruhmreichereVergangenheit hinterher. Nachts muss man auf den Stra&szlig;enneuerdings aufpassen. Zur Handlungszeit verunsichert n&auml;mlicheine grauenhafte Mordserie die Bewohner Ferdoks und l&auml;sst dieBev&ouml;lkerung nachts nicht richtig schlafen. Einige Bereichesollte man dann grunds&auml;tzlich nicht mehr besuchen, wenn einemdie eigene Gesundheit am Herzen liegt.</p><p>Die Stadt wird eine zentrale Anlaufstelle in Drakensang sein,weswegen sie auch vollst&auml;ndig, nach den Vorgaben desDSA-Regelwerks in das Spiel eingebaut wird. Der Stadtplan (zumVergr&ouml;&szlig;ern anklicken) wurde von Radon Labs dem Regelwerkdirekt entnommen und wird Euch auch f&uuml;r Drakensang gute Diensteleisten.</p><br /><h3 id="weitere">Weitere Reiseziele des Spiels</h3><a target="_blank"href="images/stories/artikel/map.jpg">{mosimage}</a> Insgesamt solles 12 Hauptregionen geben, die jeweils ca. 1 Quadratkilometergro&szlig; sind. Alle diese Regionen unterteilen sich nochmal in&uuml;ber 50 kleinere Gebiete. Bekannt sind neben Ferdok bislang:<ul><li>Avestreu (kleines Dorf s&uuml;d&ouml;stl. von Ferdok)</li><li>Dunkelwald (s&uuml;dl. von Ferdok)</li><li>Ruine Blutberge (s&uuml;dl. von Ferdok, am Rand desDunkelwaldes)</li><li>Moorbr&uuml;ck (s&uuml;dl. des Dunkelwaldes)</li><li>Burg Grimmzahn (westl. von Moorbr&uuml;ck)</li><li>Murolosch (eine Zwergenstadt)</li><li>der Berg Drachensang / Drakensang (im Amboss-Gebirgegelegen)</li></ul><p>&nbsp;</p><p>&nbsp;</p><p>Ausf&uuml;hrlichere Infos:</p><p><a title="Wiki Aventurica" target="_blank"href="http://dsa4.de/wiki">Wiki Aventurica </a>(externer Link)<br /><a href="http://www.eychgras.de/koschwiki/index.php"target="_blank">KoschWiki</a> (externer Link)</p><p>&nbsp;</p></div>      xyzabc12\P
9898    Partial match: abc12
9899        xyzabc12\P\P
9900    Partial match: abc12
9901    
9902    /\babc\b/
9903        +++abc+++
9904     0: abc
9905        +++ab\P
9906    Partial match: +ab
9907        +++ab\P\P
9908    Partial match: +ab
9909    
9910    /(?&word)(?&element)(?(DEFINE)(?<element><[^m][^>]>[^<])(?<word>\w*+))/BZ
9911    ------------------------------------------------------------------
9912            Bra
9913            Recurse
9914            Recurse
9915            Cond
9916            Cond def
9917            CBra 1
9918            <
9919            [^m]
9920            [^>]
9921            >
9922            [^<]
9923            Ket
9924            CBra 2
9925            \w*+
9926            Ket
9927            Ket
9928            Ket
9929            End
9930    ------------------------------------------------------------------
9931    
9932    /(?&word)(?&element)(?(DEFINE)(?<element><[^\d][^>]>[^<])(?<word>\w*+))/BZ
9933    ------------------------------------------------------------------
9934            Bra
9935            Recurse
9936            Recurse
9937            Cond
9938            Cond def
9939            CBra 1
9940            <
9941            [\x00-/:-\xff] (neg)
9942            [^>]
9943            >
9944            [^<]
9945            Ket
9946            CBra 2
9947            \w*+
9948            Ket
9949            Ket
9950            Ket
9951            End
9952    ------------------------------------------------------------------
9953    
9954    /(ab)(x(y)z(cd(*ACCEPT)))pq/BZ
9955    ------------------------------------------------------------------
9956            Bra
9957            CBra 1
9958            ab
9959            Ket
9960            CBra 2
9961            x
9962            CBra 3
9963            y
9964            Ket
9965            z
9966            CBra 4
9967            cd
9968            Close 4
9969            Close 2
9970            *ACCEPT
9971            Ket
9972            Ket
9973            pq
9974            Ket
9975            End
9976    ------------------------------------------------------------------
9977    
9978    /abc\K/+
9979        abcdef
9980     0:
9981     0+ def
9982        abcdef\N\N
9983     0:
9984     0+ def
9985        xyzabcdef\N\N
9986     0:
9987     0+ def
9988        ** Failers
9989    No match
9990        abcdef\N
9991    No match
9992        xyzabcdef\N
9993    No match
9994    
9995    /^(?:(?=abc)|abc\K)/+
9996        abcdef
9997     0:
9998     0+ abcdef
9999        abcdef\N\N
10000     0:
10001     0+ def
10002        ** Failers
10003    No match
10004        abcdef\N
10005    No match
10006    
10007    /a?b?/+
10008        xyz
10009     0:
10010     0+ xyz
10011        xyzabc
10012     0:
10013     0+ xyzabc
10014        xyzabc\N
10015     0: ab
10016     0+ c
10017        xyzabc\N\N
10018     0:
10019     0+ yzabc
10020        xyz\N\N
10021     0:
10022     0+ yz
10023        ** Failers
10024     0:
10025     0+ ** Failers
10026        xyz\N
10027    No match
10028    
10029    /^a?b?/+
10030        xyz
10031     0:
10032     0+ xyz
10033        xyzabc
10034     0:
10035     0+ xyzabc
10036        ** Failers
10037     0:
10038     0+ ** Failers
10039        xyzabc\N
10040    No match
10041        xyzabc\N\N
10042    No match
10043        xyz\N\N
10044    No match
10045        xyz\N
10046    No match
10047    
10048    /^(?<name>a|b\g<name>c)/
10049        aaaa
10050     0: a
10051     1: a
10052        bacxxx
10053     0: bac
10054     1: bac
10055        bbaccxxx
10056     0: bbacc
10057     1: bbacc
10058        bbbacccxx
10059     0: bbbaccc
10060     1: bbbaccc
10061    
10062    /^(?<name>a|b\g'name'c)/
10063        aaaa
10064     0: a
10065     1: a
10066        bacxxx
10067     0: bac
10068     1: bac
10069        bbaccxxx
10070     0: bbacc
10071     1: bbacc
10072        bbbacccxx
10073     0: bbbaccc
10074     1: bbbaccc
10075    
10076    /^(a|b\g<1>c)/
10077        aaaa
10078     0: a
10079     1: a
10080        bacxxx
10081     0: bac
10082     1: bac
10083        bbaccxxx
10084     0: bbacc
10085     1: bbacc
10086        bbbacccxx
10087     0: bbbaccc
10088     1: bbbaccc
10089    
10090    /^(a|b\g'1'c)/
10091        aaaa
10092     0: a
10093     1: a
10094        bacxxx
10095     0: bac
10096     1: bac
10097        bbaccxxx
10098     0: bbacc
10099     1: bbacc
10100        bbbacccxx
10101     0: bbbaccc
10102     1: bbbaccc
10103    
10104    /^(a|b\g'-1'c)/
10105        aaaa
10106     0: a
10107     1: a
10108        bacxxx
10109     0: bac
10110     1: bac
10111        bbaccxxx
10112     0: bbacc
10113     1: bbacc
10114        bbbacccxx
10115     0: bbbaccc
10116     1: bbbaccc
10117    
10118    /(^(a|b\g<-1>c))/
10119        aaaa
10120     0: a
10121     1: a
10122     2: a
10123        bacxxx
10124     0: bac
10125     1: bac
10126     2: bac
10127        bbaccxxx
10128     0: bbacc
10129     1: bbacc
10130     2: bbacc
10131        bbbacccxx
10132     0: bbbaccc
10133     1: bbbaccc
10134     2: bbbaccc
10135    
10136    /(?-i:\g<name>)(?i:(?<name>a))/
10137        XaaX
10138     0: aa
10139     1: a
10140        XAAX
10141     0: AA
10142     1: A
10143    
10144    /(?i:\g<name>)(?-i:(?<name>a))/
10145        XaaX
10146     0: aa
10147     1: a
10148        ** Failers
10149    No match
10150        XAAX
10151    No match
10152    
10153    /(?-i:\g<+1>)(?i:(a))/
10154        XaaX
10155     0: aa
10156     1: a
10157        XAAX
10158     0: AA
10159     1: A
10160    
10161    /(?=(?<regex>(?#simplesyntax)\$(?<name>[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)(?:\[(?<index>[a-zA-Z0-9_\x{7f}-\x{ff}]+|\$\g<name>)\]|->\g<name>(\(.*?\))?)?|(?#simple syntax withbraces)\$\{(?:\g<name>(?<indices>\[(?:\g<index>|'(?:\\.|[^'\\])*'|"(?:\g<regex>|\\.|[^"\\])*")\])?|\g<complex>|\$\{\g<complex>\})\}|(?#complexsyntax)\{(?<complex>\$(?<segment>\g<name>(\g<indices>*|\(.*?\))?)(?:->\g<segment>)*|\$\g<complex>|\$\{\g<complex>\})\}))\{/
10162    
10163    /(?<n>a|b|c)\g<n>*/
10164       abc
10165     0: abc
10166     1: a
10167       accccbbb
10168     0: accccbbb
10169     1: a
10170    
10171    /^X(?7)(a)(?|(b)|(q)(r)(s))(c)(d)(Y)/
10172        XYabcdY
10173     0: XYabcdY
10174     1: a
10175     2: b
10176     3: <unset>
10177     4: <unset>
10178     5: c
10179     6: d
10180     7: Y
10181    
10182    /(?<=b(?1)|zzz)(a)/
10183        xbaax
10184     0: a
10185     1: a
10186        xzzzax
10187     0: a
10188     1: a
10189    
10190    /(a)(?<=b\1)/
10191    Failed: lookbehind assertion is not fixed length at offset 10
10192    
10193    /(a)(?<=b+(?1))/
10194    Failed: lookbehind assertion is not fixed length at offset 13
10195    
10196    /(a+)(?<=b(?1))/
10197    Failed: lookbehind assertion is not fixed length at offset 14
10198    
10199    /(a(?<=b(?1)))/
10200    Failed: lookbehind assertion is not fixed length at offset 13
10201    
10202    /(?<=b(?1))xyz/
10203    Failed: reference to non-existent subpattern at offset 8
10204    
10205    /(?<=b(?1))xyz(b+)pqrstuvew/
10206    Failed: lookbehind assertion is not fixed length at offset 26
10207    
10208    /(a|bc)\1/SI
10209    Capturing subpattern count = 1
10210    Max back reference = 1
10211    No options
10212    No first char
10213    No need char
10214    Subject length lower bound = 2
10215    Starting byte set: a b
10216    
10217    /(a|bc)\1{2,3}/SI
10218    Capturing subpattern count = 1
10219    Max back reference = 1
10220    No options
10221    No first char
10222    No need char
10223    Subject length lower bound = 3
10224    Starting byte set: a b
10225    
10226    /(a|bc)(?1)/SI
10227    Capturing subpattern count = 1
10228    No options
10229    No first char
10230    No need char
10231    Subject length lower bound = 2
10232    Starting byte set: a b
10233    
10234    /(a|b\1)(a|b\1)/SI
10235    Capturing subpattern count = 2
10236    Max back reference = 1
10237    No options
10238    No first char
10239    No need char
10240    Subject length lower bound = 2
10241    Starting byte set: a b
10242    
10243    /(a|b\1){2}/SI
10244    Capturing subpattern count = 1
10245    Max back reference = 1
10246    No options
10247    No first char
10248    No need char
10249    Subject length lower bound = 2
10250    Starting byte set: a b
10251    
10252    /(a|bbbb\1)(a|bbbb\1)/SI
10253    Capturing subpattern count = 2
10254    Max back reference = 1
10255    No options
10256    No first char
10257    No need char
10258    Subject length lower bound = 2
10259    Starting byte set: a b
10260    
10261    /(a|bbbb\1){2}/SI
10262    Capturing subpattern count = 1
10263    Max back reference = 1
10264    No options
10265    No first char
10266    No need char
10267    Subject length lower bound = 2
10268    Starting byte set: a b
10269    
10270    /^From +([^ ]+) +[a-zA-Z][a-zA-Z][a-zA-Z] +[a-zA-Z][a-zA-Z][a-zA-Z] +[0-9]?[0-9] +[0-9][0-9]:[0-9][0-9]/SI
10271    Capturing subpattern count = 1
10272    Options: anchored
10273    No first char
10274    Need char = ':'
10275    Subject length lower bound = 22
10276    No set of starting bytes
10277    
10278    /  (?: [\040\t] |  \(
10279    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
10280    \)  )*                          # optional leading comment
10281    (?:    (?:
10282    [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
10283    (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
10284    |
10285    " (?:                      # opening quote...
10286    [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
10287    |                     #    or
10288    \\ [^\x80-\xff]           #   Escaped something (something != CR)
10289    )* "  # closing quote
10290    )                    # initial word
10291    (?:  (?: [\040\t] |  \(
10292    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
10293    \)  )*  \.  (?: [\040\t] |  \(
10294    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
10295    \)  )*   (?:
10296    [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
10297    (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
10298    |
10299    " (?:                      # opening quote...
10300    [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
10301    |                     #    or
10302    \\ [^\x80-\xff]           #   Escaped something (something != CR)
10303    )* "  # closing quote
10304    )  )* # further okay, if led by a period
10305    (?: [\040\t] |  \(
10306    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
10307    \)  )*  @  (?: [\040\t] |  \(
10308    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
10309    \)  )*    (?:
10310    [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
10311    (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
10312    |   \[                         # [
10313    (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
10314    \]                        #           ]
10315    )                           # initial subdomain
10316    (?:                                  #
10317    (?: [\040\t] |  \(
10318    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
10319    \)  )*  \.                        # if led by a period...
10320    (?: [\040\t] |  \(
10321    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
10322    \)  )*   (?:
10323    [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
10324    (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
10325    |   \[                         # [
10326    (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
10327    \]                        #           ]
10328    )                     #   ...further okay
10329    )*
10330    # address
10331    |                     #  or
10332    (?:
10333    [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
10334    (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
10335    |
10336    " (?:                      # opening quote...
10337    [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
10338    |                     #    or
10339    \\ [^\x80-\xff]           #   Escaped something (something != CR)
10340    )* "  # closing quote
10341    )             # one word, optionally followed by....
10342    (?:
10343    [^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037]  |  # atom and space parts, or...
10344    \(
10345    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
10346    \)       |  # comments, or...
10347    
10348    " (?:                      # opening quote...
10349    [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
10350    |                     #    or
10351    \\ [^\x80-\xff]           #   Escaped something (something != CR)
10352    )* "  # closing quote
10353    # quoted strings
10354    )*
10355    <  (?: [\040\t] |  \(
10356    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
10357    \)  )*                     # leading <
10358    (?:  @  (?: [\040\t] |  \(
10359    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
10360    \)  )*    (?:
10361    [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
10362    (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
10363    |   \[                         # [
10364    (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
10365    \]                        #           ]
10366    )                           # initial subdomain
10367    (?:                                  #
10368    (?: [\040\t] |  \(
10369    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
10370    \)  )*  \.                        # if led by a period...
10371    (?: [\040\t] |  \(
10372    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
10373    \)  )*   (?:
10374    [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
10375    (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
10376    |   \[                         # [
10377    (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
10378    \]                        #           ]
10379    )                     #   ...further okay
10380    )*
10381    
10382    (?:  (?: [\040\t] |  \(
10383    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
10384    \)  )*  ,  (?: [\040\t] |  \(
10385    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
10386    \)  )*  @  (?: [\040\t] |  \(
10387    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
10388    \)  )*    (?:
10389    [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
10390    (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
10391    |   \[                         # [
10392    (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
10393    \]                        #           ]
10394    )                           # initial subdomain
10395    (?:                                  #
10396    (?: [\040\t] |  \(
10397    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
10398    \)  )*  \.                        # if led by a period...
10399    (?: [\040\t] |  \(
10400    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
10401    \)  )*   (?:
10402    [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
10403    (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
10404    |   \[                         # [
10405    (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
10406    \]                        #           ]
10407    )                     #   ...further okay
10408    )*
10409    )* # further okay, if led by comma
10410    :                                # closing colon
10411    (?: [\040\t] |  \(
10412    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
10413    \)  )*  )? #       optional route
10414    (?:
10415    [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
10416    (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
10417    |
10418    " (?:                      # opening quote...
10419    [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
10420    |                     #    or
10421    \\ [^\x80-\xff]           #   Escaped something (something != CR)
10422    )* "  # closing quote
10423    )                    # initial word
10424    (?:  (?: [\040\t] |  \(
10425    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
10426    \)  )*  \.  (?: [\040\t] |  \(
10427    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
10428    \)  )*   (?:
10429    [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
10430    (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
10431    |
10432    " (?:                      # opening quote...
10433    [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
10434    |                     #    or
10435    \\ [^\x80-\xff]           #   Escaped something (something != CR)
10436    )* "  # closing quote
10437    )  )* # further okay, if led by a period
10438    (?: [\040\t] |  \(
10439    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
10440    \)  )*  @  (?: [\040\t] |  \(
10441    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
10442    \)  )*    (?:
10443    [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
10444    (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
10445    |   \[                         # [
10446    (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
10447    \]                        #           ]
10448    )                           # initial subdomain
10449    (?:                                  #
10450    (?: [\040\t] |  \(
10451    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
10452    \)  )*  \.                        # if led by a period...
10453    (?: [\040\t] |  \(
10454    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
10455    \)  )*   (?:
10456    [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
10457    (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
10458    |   \[                         # [
10459    (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
10460    \]                        #           ]
10461    )                     #   ...further okay
10462    )*
10463    #       address spec
10464    (?: [\040\t] |  \(
10465    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
10466    \)  )*  > #                  trailing >
10467    # name and address
10468    )  (?: [\040\t] |  \(
10469    (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
10470    \)  )*                       # optional trailing comment
10471    /xSI
10472    Capturing subpattern count = 0
10473    Contains explicit CR or LF match
10474    Options: extended
10475    No first char
10476    No need char
10477    Subject length lower bound = 3
10478    Starting byte set: \x09 \x20 ! " # $ % & ' ( * + - / 0 1 2 3 4 5 6 7 8
10479      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
10480      f g h i j k l m n o p q r s t u v w x y z { | } ~ \x7f
10481    
10482    /<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