/[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 87 by nigel, Sat Feb 24 21:41:21 2007 UTC revision 455 by ph10, Sat Sep 26 19:12:32 2009 UTC
# Line 1  Line 1 
1  /(a)b|/  /-- 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 potential Perl
6        bug. --/
7    
8    /-- Originally, the Perl 5.10 things were in here too, but now I have separated
9        many (most?) of them out into test 11. However, there may still be some
10        that were overlooked. --/
11    
12    /(a)b|/I
13  Capturing subpattern count = 1  Capturing subpattern count = 1
14  No options  No options
15  No first char  No first char
16  No need char  No need char
17    
18  /abc/  /abc/I
19  Capturing subpattern count = 0  Capturing subpattern count = 0
20  No options  No options
21  First char = 'a'  First char = 'a'
# Line 22  No match Line 33  No match
33      ABC      ABC
34  No match  No match
35    
36  /^abc/  /^abc/I
37  Capturing subpattern count = 0  Capturing subpattern count = 0
38  Options: anchored  Options: anchored
39  No first char  No first char
# Line 38  No match Line 49  No match
49      \Adefabc      \Adefabc
50  No match  No match
51    
52  /a+bc/  /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/  /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/  /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)/  /(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
75    
76  /^abc$/  /^abc$/I
77  Capturing subpattern count = 0  Capturing subpattern count = 0
78  Options: anchored  Options: anchored
79  No first char  No first char
# Line 78  No match Line 85  No match
85      def\nabc      def\nabc
86  No match  No match
87    
88  /ab\gdef/X  /ab\idef/X
89  Failed: unrecognized character follows \ at offset 3  Failed: unrecognized character follows \ at offset 3
90    
91  /(?X)ab\gdef/X  /(?X)ab\idef/X
92  Failed: unrecognized character follows \ at offset 7  Failed: unrecognized character follows \ at offset 7
93    
94  /x{5,4}/  /x{5,4}/
# Line 109  Failed: missing ) at offset 4 Line 116  Failed: missing ) at offset 4
116  Failed: missing ) after comment at offset 7  Failed: missing ) after comment at offset 7
117    
118  /(?z)abc/  /(?z)abc/
119  Failed: unrecognized character after (? at offset 2  Failed: unrecognized character after (? or (?- at offset 2
120    
121  /.*b/  /.*b/I
122  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
123  No options  No options
124  First char at start or follows \n  First char at start or follows newline
125  Need char = 'b'  Need char = 'b'
126    
127  /.*?b/  /.*?b/I
128  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
129  No options  No options
130  First char at start or follows \n  First char at start or follows newline
131  Need char = 'b'  Need char = 'b'
132    
133  /cat|dog|elephant/  /cat|dog|elephant/I
134  Capturing subpattern count = 0  Capturing subpattern count = 0
135  No options  No options
136  No first char  No first char
# Line 135  No need char Line 140  No need char
140      this sentences rambles on and on for a while and then reaches elephant      this sentences rambles on and on for a while and then reaches elephant
141   0: elephant   0: elephant
142    
143  /cat|dog|elephant/S  /cat|dog|elephant/IS
144  Capturing subpattern count = 0  Capturing subpattern count = 0
145  No options  No options
146  No first char  No first char
147  No need char  No need char
148    Subject length lower bound = 3
149  Starting byte set: c d e  Starting byte set: c d e
150      this sentence eventually mentions a cat      this sentence eventually mentions a cat
151   0: cat   0: cat
152      this sentences rambles on and on for a while and then reaches elephant      this sentences rambles on and on for a while and then reaches elephant
153   0: elephant   0: elephant
154    
155  /cat|dog|elephant/iS  /cat|dog|elephant/IiS
156  Capturing subpattern count = 0  Capturing subpattern count = 0
157  Options: caseless  Options: caseless
158  No first char  No first char
159  No need char  No need char
160    Subject length lower bound = 3
161  Starting byte set: C D E c d e  Starting byte set: C D E c d e
162      this sentence eventually mentions a CAT cat      this sentence eventually mentions a CAT cat
163   0: CAT   0: CAT
164      this sentences rambles on and on for a while to elephant ElePhant      this sentences rambles on and on for a while to elephant ElePhant
165   0: elephant   0: elephant
166    
167  /a|[bcd]/S  /a|[bcd]/IS
168  Capturing subpattern count = 0  Capturing subpattern count = 0
169  No options  No options
170  No first char  No first char
171  No need char  No need char
172    Subject length lower bound = 1
173  Starting byte set: a b c d  Starting byte set: a b c d
174    
175  /(a|[^\dZ])/S  /(a|[^\dZ])/IS
176  Capturing subpattern count = 1  Capturing subpattern count = 1
177  No options  No options
178  No first char  No first char
179  No need char  No need char
180    Subject length lower bound = 1
181  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
182    \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
183    \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = >    \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = >
# Line 184  Starting byte set: \x00 \x01 \x02 \x03 \ Line 193  Starting byte set: \x00 \x01 \x02 \x03 \
193    \xed \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb    \xed \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb
194    \xfc \xfd \xfe \xff    \xfc \xfd \xfe \xff
195    
196  /(a|b)*[\s]/S  /(a|b)*[\s]/IS
197  Capturing subpattern count = 1  Capturing subpattern count = 1
198  No options  No options
199  No first char  No first char
200  No need char  No need char
201    Subject length lower bound = 1
202  Starting byte set: \x09 \x0a \x0c \x0d \x20 a b  Starting byte set: \x09 \x0a \x0c \x0d \x20 a b
203    
204  /(ab\2)/  /(ab\2)/
# Line 197  Failed: reference to non-existent subpat Line 207  Failed: reference to non-existent subpat
207  /{4,5}abc/  /{4,5}abc/
208  Failed: nothing to repeat at offset 4  Failed: nothing to repeat at offset 4
209    
210  /(a)(b)(c)\2/  /(a)(b)(c)\2/I
211  Capturing subpattern count = 3  Capturing subpattern count = 3
212  Max back reference = 2  Max back reference = 2
213  No options  No options
# Line 222  Matched, but too many substrings Line 232  Matched, but too many substrings
232   0: abcb   0: abcb
233   1: a   1: a
234   2: b   2: b
235      \O12abcb      \O12abcb
236   0: abcb   0: abcb
237   1: a   1: a
238   2: b   2: b
239   3: c   3: c
240    
241  /(a)bc|(a)(b)\2/  /(a)bc|(a)(b)\2/I
242  Capturing subpattern count = 3  Capturing subpattern count = 3
243  Max back reference = 2  Max back reference = 2
244  No options  No options
# Line 270  Matched, but too many substrings Line 280  Matched, but too many substrings
280   2: a   2: a
281   3: b   3: b
282    
283  /abc$/E  /abc$/IE
284  Capturing subpattern count = 0  Capturing subpattern count = 0
285  Options: dollar_endonly  Options: dollar_endonly
286  First char = 'a'  First char = 'a'
# Line 287  No match Line 297  No match
297  /(a)(b)(c)(d)(e)\6/  /(a)(b)(c)(d)(e)\6/
298  Failed: reference to non-existent subpattern at offset 17  Failed: reference to non-existent subpattern at offset 17
299    
300  /the quick brown fox/  /the quick brown fox/I
301  Capturing subpattern count = 0  Capturing subpattern count = 0
302  No options  No options
303  First char = 't'  First char = 't'
# Line 297  Need char = 'x' Line 307  Need char = 'x'
307      this is a line with the quick brown fox      this is a line with the quick brown fox
308   0: the quick brown fox   0: the quick brown fox
309    
310  /the quick brown fox/A  /the quick brown fox/IA
311  Capturing subpattern count = 0  Capturing subpattern count = 0
312  Options: anchored  Options: anchored
313  No first char  No first char
# Line 310  No match Line 320  No match
320  No match  No match
321    
322  /ab(?z)cd/  /ab(?z)cd/
323  Failed: unrecognized character after (? at offset 4  Failed: unrecognized character after (? or (?- at offset 4
324    
325  /^abc|def/  /^abc|def/I
326  Capturing subpattern count = 0  Capturing subpattern count = 0
327  No options  No options
328  No first char  No first char
# Line 322  No need char Line 332  No need char
332      abcdef\B      abcdef\B
333   0: def   0: def
334    
335  /.*((abc)$|(def))/  /.*((abc)$|(def))/I
336  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
337  No options  No options
338  First char at start or follows \n  First char at start or follows newline
339  No need char  No need char
340      defabc      defabc
341   0: defabc   0: defabc
# Line 343  No need char Line 352  No need char
352   0: abc   0: abc
353      *** Failers      *** Failers
354  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
355    
356  /^abc|def/P  /^abc|def/P
357      abcdef      abcdef
358   0: abc   0: abc
# Line 359  No match: POSIX code 17: match failed Line 368  No match: POSIX code 17: match failed
368   0: def   0: def
369   1: def   1: def
370   3: def   3: def
371    
372  /the quick brown fox/P  /the quick brown fox/P
373      the quick brown fox      the quick brown fox
374   0: the quick brown fox   0: the quick brown fox
375      *** Failers      *** Failers
376  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
377      The Quick Brown Fox      The Quick Brown Fox
378  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
379    
380  /the quick brown fox/Pi  /the quick brown fox/Pi
381      the quick brown fox      the quick brown fox
382   0: the quick brown fox   0: the quick brown fox
383      The Quick Brown Fox      The Quick Brown Fox
384   0: The Quick Brown Fox   0: The Quick Brown Fox
385    
386  /abc.def/P  /abc.def/P
# Line 379  No match: POSIX code 17: match failed Line 388  No match: POSIX code 17: match failed
388  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
389      abc\ndef      abc\ndef
390  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
391    
392  /abc$/P  /abc$/P
393      abc      abc
394   0: abc   0: abc
395      abc\n      abc\n
396   0: abc   0: abc
397    
398  /(abc)\2/P  /(abc)\2/P
# Line 399  Failed: unmatched parentheses at offset Line 408  Failed: unmatched parentheses at offset
408  /a[]b/  /a[]b/
409  Failed: missing terminating ] for character class at offset 4  Failed: missing terminating ] for character class at offset 4
410    
411  /[^aeiou ]{3,}/  /[^aeiou ]{3,}/I
412  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
413  No options  No options
414  No first char  No first char
415  No need char  No need char
416      co-processors, and for      co-processors, and for
417   0: -pr   0: -pr
418    
419  /<.*>/  /<.*>/I
420  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
421  No options  No options
422  First char = '<'  First char = '<'
423  Need char = '>'  Need char = '>'
424      abc<def>ghi<klm>nop      abc<def>ghi<klm>nop
425   0: <def>ghi<klm>   0: <def>ghi<klm>
426    
427  /<.*?>/  /<.*?>/I
428  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
429  No options  No options
430  First char = '<'  First char = '<'
431  Need char = '>'  Need char = '>'
432      abc<def>ghi<klm>nop      abc<def>ghi<klm>nop
433   0: <def>   0: <def>
434    
435  /<.*>/U  /<.*>/IU
436  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
437  Options: ungreedy  Options: ungreedy
438  First char = '<'  First char = '<'
439  Need char = '>'  Need char = '>'
440      abc<def>ghi<klm>nop      abc<def>ghi<klm>nop
441   0: <def>   0: <def>
442    
443  /(?U)<.*>/  /(?U)<.*>/I
444  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
445  Options: ungreedy  Options: ungreedy
446  First char = '<'  First char = '<'
447  Need char = '>'  Need char = '>'
448      abc<def>ghi<klm>nop      abc<def>ghi<klm>nop
449   0: <def>   0: <def>
450    
451  /<.*?>/U  /<.*?>/IU
452  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
453  Options: ungreedy  Options: ungreedy
454  First char = '<'  First char = '<'
455  Need char = '>'  Need char = '>'
456      abc<def>ghi<klm>nop      abc<def>ghi<klm>nop
457   0: <def>ghi<klm>   0: <def>ghi<klm>
458    
459  /={3,}/U  /={3,}/IU
460  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
461  Options: ungreedy  Options: ungreedy
462  First char = '='  First char = '='
463  Need char = '='  Need char = '='
464      abc========def      abc========def
465   0: ===   0: ===
466    
467  /(?U)={3,}?/  /(?U)={3,}?/I
468  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
469  Options: ungreedy  Options: ungreedy
470  First char = '='  First char = '='
471  Need char = '='  Need char = '='
472      abc========def      abc========def
473   0: ========   0: ========
474    
475  /(?<!bar|cattle)foo/  /(?<!bar|cattle)foo/I
476  Capturing subpattern count = 0  Capturing subpattern count = 0
477  No options  No options
478  First char = 'f'  First char = 'f'
479  Need char = 'o'  Need char = 'o'
480      foo      foo
481   0: foo   0: foo
482      catfoo      catfoo
483   0: foo   0: foo
484      *** Failers      *** Failers
485  No match  No match
486      the barfoo      the barfoo
487  No match  No match
488      and cattlefoo      and cattlefoo
489  No match  No match
490    
491  /(?<=a+)b/  /(?<=a+)b/
# Line 496  Failed: lookbehind assertion is not fixe Line 497  Failed: lookbehind assertion is not fixe
497  /(?<!(foo)a\1)bar/  /(?<!(foo)a\1)bar/
498  Failed: lookbehind assertion is not fixed length at offset 12  Failed: lookbehind assertion is not fixed length at offset 12
499    
500  /(?i)abc/  /(?i)abc/I
501  Capturing subpattern count = 0  Capturing subpattern count = 0
502  Options: caseless  Options: caseless
503  First char = 'a' (caseless)  First char = 'a' (caseless)
504  Need char = 'c' (caseless)  Need char = 'c' (caseless)
505    
506  /(a|(?m)a)/  /(a|(?m)a)/I
507  Capturing subpattern count = 1  Capturing subpattern count = 1
508  No options  No options
509  First char = 'a'  First char = 'a'
510  No need char  No need char
511    
512  /(?i)^1234/  /(?i)^1234/I
513  Capturing subpattern count = 0  Capturing subpattern count = 0
514  Options: anchored caseless  Options: anchored caseless
515  No first char  No first char
516  No need char  No need char
517    
518  /(^b|(?i)^d)/  /(^b|(?i)^d)/I
519  Capturing subpattern count = 1  Capturing subpattern count = 1
520  Options: anchored  Options: anchored
 Case state changes  
521  No first char  No first char
522  No need char  No need char
523    
524  /(?s).*/  /(?s).*/I
525  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
526  Options: anchored dotall  Options: anchored dotall
527  No first char  No first char
528  No need char  No need char
529    
530  /[abcd]/S  /[abcd]/IS
531  Capturing subpattern count = 0  Capturing subpattern count = 0
532  No options  No options
533  No first char  No first char
534  No need char  No need char
535    Subject length lower bound = 1
536  Starting byte set: a b c d  Starting byte set: a b c d
537    
538  /(?i)[abcd]/S  /(?i)[abcd]/IS
539  Capturing subpattern count = 0  Capturing subpattern count = 0
540  Options: caseless  Options: caseless
541  No first char  No first char
542  No need char  No need char
543    Subject length lower bound = 1
544  Starting byte set: A B C D a b c d  Starting byte set: A B C D a b c d
545    
546  /(?m)[xy]|(b|c)/S  /(?m)[xy]|(b|c)/IS
547  Capturing subpattern count = 1  Capturing subpattern count = 1
548  Options: multiline  Options: multiline
549  No first char  No first char
550  No need char  No need char
551    Subject length lower bound = 1
552  Starting byte set: b c x y  Starting byte set: b c x y
553    
554  /(^a|^b)/m  /(^a|^b)/Im
555  Capturing subpattern count = 1  Capturing subpattern count = 1
556  Options: multiline  Options: multiline
557  First char at start or follows \n  First char at start or follows newline
558  No need char  No need char
559    
560  /(?i)(^a|^b)/m  /(?i)(^a|^b)/Im
561  Capturing subpattern count = 1  Capturing subpattern count = 1
562  Options: caseless multiline  Options: caseless multiline
563  First char at start or follows \n  First char at start or follows newline
564  No need char  No need char
565    
566  /(a)(?(1)a|b|c)/  /(a)(?(1)a|b|c)/
# Line 568  Failed: conditional group contains more Line 570  Failed: conditional group contains more
570  Failed: conditional group contains more than two branches at offset 12  Failed: conditional group contains more than two branches at offset 12
571    
572  /(?(1a)/  /(?(1a)/
573  Failed: malformed number after (?( at offset 4  Failed: missing ) at offset 6
574    
575    /(?(1a))/
576    Failed: reference to non-existent subpattern at offset 6
577    
578  /(?(?i))/  /(?(?i))/
579  Failed: assertion expected after (?( at offset 3  Failed: assertion expected after (?( at offset 3
580    
581  /(?(abc))/  /(?(abc))/
582  Failed: assertion expected after (?( at offset 3  Failed: reference to non-existent subpattern at offset 7
583    
584  /(?(?<ab))/  /(?(?<ab))/
585  Failed: unrecognized character after (?< at offset 5  Failed: syntax error in subpattern name (missing terminator) at offset 7
586    
587  /((?s)blah)\s+\1/  /((?s)blah)\s+\1/I
588  Capturing subpattern count = 1  Capturing subpattern count = 1
589  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
590  No options  No options
591  First char = 'b'  First char = 'b'
592  Need char = 'h'  Need char = 'h'
593    
594  /((?i)blah)\s+\1/  /((?i)blah)\s+\1/I
595  Capturing subpattern count = 1  Capturing subpattern count = 1
596  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
597  No options  No options
 Case state changes  
598  First char = 'b' (caseless)  First char = 'b' (caseless)
599  Need char = 'h' (caseless)  Need char = 'h' (caseless)
600    
601  /((?i)b)/DS  /((?i)b)/IDZS
602  ------------------------------------------------------------------  ------------------------------------------------------------------
603    0  15 Bra 0          Bra
604    3   7 Bra 1          CBra 1
605    6  01 Opt       01 Opt
606    8  NC b       NC b
607   10   7 Ket          Ket
608   13  00 Opt       00 Opt
609   15  15 Ket          Ket
610   18     End          End
611  ------------------------------------------------------------------  ------------------------------------------------------------------
612  Capturing subpattern count = 1  Capturing subpattern count = 1
613  No options  No options
 Case state changes  
614  First char = 'b' (caseless)  First char = 'b' (caseless)
615  No need char  No need char
616  Study returned NULL  Subject length lower bound = 1
617    No set of starting bytes
618    
619  /(a*b|(?i:c*(?-i)d))/S  /(a*b|(?i:c*(?-i)d))/IS
620  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
621  No options  No options
 Case state changes  
622  No first char  No first char
623  No need char  No need char
624    Subject length lower bound = 1
625  Starting byte set: C a b c d  Starting byte set: C a b c d
626    
627  /a$/  /a$/I
628  Capturing subpattern count = 0  Capturing subpattern count = 0
629  No options  No options
630  First char = 'a'  First char = 'a'
# Line 632  No need char Line 633  No need char
633   0: a   0: a
634      a\n      a\n
635   0: a   0: a
636      *** Failers      *** Failers
637  No match  No match
638      \Za      \Za
639  No match  No match
640      \Za\n      \Za\n
641  No match  No match
642    
643  /a$/m  /a$/Im
644  Capturing subpattern count = 0  Capturing subpattern count = 0
645  Options: multiline  Options: multiline
646  First char = 'a'  First char = 'a'
# Line 648  No need char Line 649  No need char
649   0: a   0: a
650      a\n      a\n
651   0: a   0: a
652      \Za\n      \Za\n
653   0: a   0: a
654      *** Failers      *** Failers
655  No match  No match
656      \Za      \Za
657  No match  No match
658    
659  /\Aabc/m  /\Aabc/Im
660  Capturing subpattern count = 0  Capturing subpattern count = 0
661  Options: anchored multiline  Options: anchored multiline
662  No first char  No first char
663  No need char  No need char
664    
665  /^abc/m  /^abc/Im
666  Capturing subpattern count = 0  Capturing subpattern count = 0
667  Options: multiline  Options: multiline
668  First char at start or follows \n  First char at start or follows newline
669  Need char = 'c'  Need char = 'c'
670    
671  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I
672  Capturing subpattern count = 5  Capturing subpattern count = 5
 Partial matching not supported  
673  Options: anchored  Options: anchored
674  No first char  No first char
675  No need char  No need char
# Line 681  No need char Line 681  No need char
681   4: bbbbccccc   4: bbbbccccc
682   5: def   5: def
683    
684  /(?<=foo)[ab]/S  /(?<=foo)[ab]/IS
685  Capturing subpattern count = 0  Capturing subpattern count = 0
686  No options  No options
687  No first char  No first char
688  No need char  No need char
689    Subject length lower bound = 1
690  Starting byte set: a b  Starting byte set: a b
691    
692  /(?<!foo)(alpha|omega)/S  /(?<!foo)(alpha|omega)/IS
693  Capturing subpattern count = 1  Capturing subpattern count = 1
694  No options  No options
695  No first char  No first char
696  Need char = 'a'  Need char = 'a'
697    Subject length lower bound = 5
698  Starting byte set: a o  Starting byte set: a o
699    
700  /(?!alphabet)[ab]/S  /(?!alphabet)[ab]/IS
701  Capturing subpattern count = 0  Capturing subpattern count = 0
702  No options  No options
703  No first char  No first char
704  No need char  No need char
705    Subject length lower bound = 1
706  Starting byte set: a b  Starting byte set: a b
707    
708  /(?<=foo\n)^bar/m  /(?<=foo\n)^bar/Im
709  Capturing subpattern count = 0  Capturing subpattern count = 0
710    Contains explicit CR or LF match
711  Options: multiline  Options: multiline
712  No first char  No first char
713  Need char = 'r'  Need char = 'r'
714      foo\nbarbar      foo\nbarbar
715   0: bar   0: bar
716      ***Failers      ***Failers
717  No match  No match
718      rhubarb      rhubarb
719  No match  No match
720      barbell      barbell
721  No match  No match
722      abc\nbarton      abc\nbarton
723  No match  No match
724    
725  /^(?<=foo\n)bar/m  /^(?<=foo\n)bar/Im
726  Capturing subpattern count = 0  Capturing subpattern count = 0
727    Contains explicit CR or LF match
728  Options: multiline  Options: multiline
729  First char at start or follows \n  First char at start or follows newline
730  Need char = 'r'  Need char = 'r'
731      foo\nbarbar      foo\nbarbar
732   0: bar   0: bar
733      ***Failers      ***Failers
734  No match  No match
735      rhubarb      rhubarb
736  No match  No match
737      barbell      barbell
738  No match  No match
739      abc\nbarton      abc\nbarton
740  No match  No match
741    
742  /(?>^abc)/m  /(?>^abc)/Im
743  Capturing subpattern count = 0  Capturing subpattern count = 0
744  Options: multiline  Options: multiline
745  First char at start or follows \n  First char at start or follows newline
746  Need char = 'c'  Need char = 'c'
747      abc      abc
748   0: abc   0: abc
# Line 745  Need char = 'c' Line 750  Need char = 'c'
750   0: abc   0: abc
751      *** Failers      *** Failers
752  No match  No match
753      defabc      defabc
754  No match  No match
755    
756  /(?<=ab(c+)d)ef/  /(?<=ab(c+)d)ef/
# Line 758  Failed: lookbehind assertion is not fixe Line 763  Failed: lookbehind assertion is not fixe
763  Failed: lookbehind assertion is not fixed length at offset 13  Failed: lookbehind assertion is not fixed length at offset 13
764    
765  /The next three are in testinput2 because they have variable length branches/  /The next three are in testinput2 because they have variable length branches/
 Capturing subpattern count = 0  
 No options  
 First char = 'T'  
 Need char = 's'  
766    
767  /(?<=bullock|donkey)-cart/  /(?<=bullock|donkey)-cart/I
768  Capturing subpattern count = 0  Capturing subpattern count = 0
769  No options  No options
770  First char = '-'  First char = '-'
# Line 776  Need char = 't' Line 777  Need char = 't'
777  No match  No match
778      cart      cart
779  No match  No match
780      horse-and-cart      horse-and-cart
781  No match  No match
782    
783  /(?<=ab(?i)x|y|z)/  /(?<=ab(?i)x|y|z)/I
784  Capturing subpattern count = 0  Capturing subpattern count = 0
785  No options  No options
 Case state changes  
786  No first char  No first char
787  No need char  No need char
788    
789  /(?>.*)(?<=(abcd)|(xyz))/  /(?>.*)(?<=(abcd)|(xyz))/I
790  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
791  No options  No options
792  First char at start or follows \n  First char at start or follows newline
793  No need char  No need char
794      alphabetabcd      alphabetabcd
795   0: alphabetabcd   0: alphabetabcd
# Line 800  No need char Line 799  No need char
799   1: <unset>   1: <unset>
800   2: xyz   2: xyz
801    
802  /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/  /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/I
803  Capturing subpattern count = 0  Capturing subpattern count = 0
804  No options  No options
 Case state changes  
805  First char = 'Z'  First char = 'Z'
806  Need char = 'Z'  Need char = 'Z'
807      abxyZZ      abxyZZ
# Line 816  Need char = 'Z' Line 814  Need char = 'Z'
814   0: ZZ   0: ZZ
815      bZZ      bZZ
816   0: ZZ   0: ZZ
817      BZZ      BZZ
818   0: ZZ   0: ZZ
819      *** Failers      *** Failers
820  No match  No match
821      ZZ      ZZ
822  No match  No match
823      abXYZZ      abXYZZ
824  No match  No match
825      zzz      zzz
826  No match  No match
827      bzz      bzz
828  No match  No match
829    
830  /(?<!(foo)a)bar/  /(?<!(foo)a)bar/I
831  Capturing subpattern count = 1  Capturing subpattern count = 1
832  No options  No options
833  First char = 'b'  First char = 'b'
834  Need char = 'r'  Need char = 'r'
835      bar      bar
836   0: bar   0: bar
837      foobbar      foobbar
838   0: bar   0: bar
839      *** Failers      *** Failers
840  No match  No match
841      fooabar      fooabar
842  No match  No match
843    
844  /This one is here because Perl 5.005_02 doesn't fail it/  /This one is here because Perl 5.005_02 doesn't fail it/I
845  Capturing subpattern count = 0  Capturing subpattern count = 0
846  No options  No options
847  First char = 'T'  First char = 'T'
848  Need char = 't'  Need char = 't'
849    
850  /^(a)?(?(1)a|b)+$/  /^(a)?(?(1)a|b)+$/I
851  Capturing subpattern count = 1  Capturing subpattern count = 1
852  Options: anchored  Options: anchored
853  No first char  No first char
854  No need char  No need char
855      *** Failers      *** Failers
856  No match  No match
857      a      a
858  No match  No match
859    
860  /This one is here because I think Perl 5.005_02 gets the setting of $1 wrong/  /This one is here because I think Perl 5.005_02 gets the setting of $1 wrong/I
861  Capturing subpattern count = 0  Capturing subpattern count = 0
862  No options  No options
863  First char = 'T'  First char = 'T'
864  Need char = 'g'  Need char = 'g'
865    
866  /^(a\1?){4}$/  /^(a\1?){4}$/I
867  Capturing subpattern count = 1  Capturing subpattern count = 1
868  Max back reference = 1  Max back reference = 1
869  Options: anchored  Options: anchored
# Line 874  No need char Line 872  No need char
872      aaaaaa      aaaaaa
873   0: aaaaaa   0: aaaaaa
874   1: aa   1: aa
875    
876  /These are syntax tests from Perl 5.005/  /These are syntax tests from Perl 5.005/I
877  Capturing subpattern count = 0  Capturing subpattern count = 0
878  No options  No options
879  First char = 'T'  First char = 'T'
# Line 917  Failed: reference to non-existent subpat Line 915  Failed: reference to non-existent subpat
915  /(a)|\2/  /(a)|\2/
916  Failed: reference to non-existent subpattern at offset 6  Failed: reference to non-existent subpattern at offset 6
917    
918  /a[b-a]/i  /a[b-a]/Ii
919  Failed: range out of order in character class at offset 4  Failed: range out of order in character class at offset 4
920    
921  /a[]b/i  /a[]b/Ii
922  Failed: missing terminating ] for character class at offset 4  Failed: missing terminating ] for character class at offset 4
923    
924  /a[/i  /a[/Ii
925  Failed: missing terminating ] for character class at offset 2  Failed: missing terminating ] for character class at offset 2
926    
927  /*a/i  /*a/Ii
928  Failed: nothing to repeat at offset 0  Failed: nothing to repeat at offset 0
929    
930  /(*)b/i  /(*)b/Ii
931  Failed: nothing to repeat at offset 1  Failed: nothing to repeat at offset 1
932    
933  /abc)/i  /abc)/Ii
934  Failed: unmatched parentheses at offset 3  Failed: unmatched parentheses at offset 3
935    
936  /(abc/i  /(abc/Ii
937  Failed: missing ) at offset 4  Failed: missing ) at offset 4
938    
939  /a**/i  /a**/Ii
940  Failed: nothing to repeat at offset 2  Failed: nothing to repeat at offset 2
941    
942  /)(/i  /)(/Ii
943  Failed: unmatched parentheses at offset 0  Failed: unmatched parentheses at offset 0
944    
945  /:(?:/  /:(?:/
# Line 951  Failed: missing ) at offset 4 Line 949  Failed: missing ) at offset 4
949  Failed: unrecognized character after (?< at offset 3  Failed: unrecognized character after (?< at offset 3
950    
951  /a(?{)b/  /a(?{)b/
952  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
953    
954  /a(?{{})b/  /a(?{{})b/
955  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
956    
957  /a(?{}})b/  /a(?{}})b/
958  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
959    
960  /a(?{"{"})b/  /a(?{"{"})b/
961  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
962    
963  /a(?{"{"}})b/  /a(?{"{"}})b/
964  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
965    
966  /(?(1?)a|b)/  /(?(1?)a|b)/
967  Failed: malformed number after (?( at offset 4  Failed: malformed number or name after (?( at offset 4
   
 /(?(1)a|b|c)/  
 Failed: conditional group contains more than two branches at offset 10  
968    
969  /[a[:xyz:/  /[a[:xyz:/
970  Failed: missing terminating ] for character class at offset 8  Failed: missing terminating ] for character class at offset 8
# Line 989  Failed: POSIX code 9: bad escape sequenc Line 984  Failed: POSIX code 9: bad escape sequenc
984  /abc/\i  /abc/\i
985  Failed: \ at end of pattern at offset 4  Failed: \ at end of pattern at offset 4
986    
987  /(a)bc(d)/  /(a)bc(d)/I
988  Capturing subpattern count = 2  Capturing subpattern count = 2
989  No options  No options
990  First char = 'a'  First char = 'a'
# Line 1008  Need char = 'd' Line 1003  Need char = 'd'
1003   1: a   1: a
1004   2: d   2: d
1005  copy substring 5 failed -7  copy substring 5 failed -7
1006    
1007  /(.{20})/  /(.{20})/I
1008  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1009  No options  No options
1010  No first char  No first char
1011  No need char  No need char
# Line 1021  No need char Line 1015  No need char
1015      abcdefghijklmnopqrstuvwxyz\C1      abcdefghijklmnopqrstuvwxyz\C1
1016   0: abcdefghijklmnopqrst   0: abcdefghijklmnopqrst
1017   1: abcdefghijklmnopqrst   1: abcdefghijklmnopqrst
1018  copy substring 1 failed -6   1C abcdefghijklmnopqrst (20)
1019      abcdefghijklmnopqrstuvwxyz\G1      abcdefghijklmnopqrstuvwxyz\G1
1020   0: abcdefghijklmnopqrst   0: abcdefghijklmnopqrst
1021   1: abcdefghijklmnopqrst   1: abcdefghijklmnopqrst
1022   1G abcdefghijklmnopqrst (20)   1G abcdefghijklmnopqrst (20)
1023    
1024  /(.{15})/  /(.{15})/I
1025  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1026  No options  No options
1027  No first char  No first char
1028  No need char  No need char
# Line 1042  No need char Line 1035  No need char
1035   1C abcdefghijklmno (15)   1C abcdefghijklmno (15)
1036   1G abcdefghijklmno (15)   1G abcdefghijklmno (15)
1037    
1038  /(.{16})/  /(.{16})/I
1039  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1040  No options  No options
1041  No first char  No first char
1042  No need char  No need char
# Line 1054  No need char Line 1046  No need char
1046      abcdefghijklmnopqrstuvwxyz\C1\G1\L      abcdefghijklmnopqrstuvwxyz\C1\G1\L
1047   0: abcdefghijklmnop   0: abcdefghijklmnop
1048   1: abcdefghijklmnop   1: abcdefghijklmnop
1049  copy substring 1 failed -6   1C abcdefghijklmnop (16)
1050   1G abcdefghijklmnop (16)   1G abcdefghijklmnop (16)
1051   0L abcdefghijklmnop   0L abcdefghijklmnop
1052   1L abcdefghijklmnop   1L abcdefghijklmnop
1053    
1054  /^(a|(bc))de(f)/  /^(a|(bc))de(f)/I
1055  Capturing subpattern count = 3  Capturing subpattern count = 3
1056  Options: anchored  Options: anchored
1057  No first char  No first char
1058  No need char  No need char
1059      adef\G1\G2\G3\G4\L      adef\G1\G2\G3\G4\L
1060   0: adef   0: adef
1061   1: a   1: a
1062   2: <unset>   2: <unset>
# Line 1077  get substring 4 failed -7 Line 1069  get substring 4 failed -7
1069   1L a   1L a
1070   2L   2L
1071   3L f   3L f
1072      bcdef\G1\G2\G3\G4\L      bcdef\G1\G2\G3\G4\L
1073   0: bcdef   0: bcdef
1074   1: bc   1: bc
1075   2: bc   2: bc
# Line 1090  get substring 4 failed -7 Line 1082  get substring 4 failed -7
1082   1L bc   1L bc
1083   2L bc   2L bc
1084   3L f   3L f
1085      adefghijk\C0      adefghijk\C0
1086   0: adef   0: adef
1087   1: a   1: a
1088   2: <unset>   2: <unset>
1089   3: f   3: f
1090   0C adef (4)   0C adef (4)
1091    
1092  /^abc\00def/  /^abc\00def/I
1093  Capturing subpattern count = 0  Capturing subpattern count = 0
1094  Options: anchored  Options: anchored
1095  No first char  No first char
1096  No need char  No need char
1097      abc\00def\L\C0      abc\00def\L\C0
1098   0: abc\x00def   0: abc\x00def
1099   0C abc (7)   0C abc (7)
1100   0L abc   0L abc
1101    
1102  /word ((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+  /word ((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
1103  )((?:[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]+
1104  )?)?)?)?)?)?)?)?)?otherword/M  )?)?)?)?)?)?)?)?)?otherword/I
 Memory allocation (code space): 432  
1105  Capturing subpattern count = 8  Capturing subpattern count = 8
1106  Partial matching not supported  Contains explicit CR or LF match
1107  No options  No options
1108  First char = 'w'  First char = 'w'
1109  Need char = 'd'  Need char = 'd'
1110    
1111  /.*X/D  /.*X/IDZ
1112  ------------------------------------------------------------------  ------------------------------------------------------------------
1113    0   7 Bra 0          Bra
1114    3     Any*          Any*
1115    5     X          X
1116    7   7 Ket          Ket
1117   10     End          End
1118  ------------------------------------------------------------------  ------------------------------------------------------------------
1119  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1120  No options  No options
1121  First char at start or follows \n  First char at start or follows newline
1122  Need char = 'X'  Need char = 'X'
1123    
1124  /.*X/Ds  /.*X/IDZs
1125  ------------------------------------------------------------------  ------------------------------------------------------------------
1126    0   7 Bra 0          Bra
1127    3     Any*          AllAny*
1128    5     X          X
1129    7   7 Ket          Ket
1130   10     End          End
1131  ------------------------------------------------------------------  ------------------------------------------------------------------
1132  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1133  Options: anchored dotall  Options: anchored dotall
1134  No first char  No first char
1135  Need char = 'X'  Need char = 'X'
1136    
1137  /(.*X|^B)/D  /(.*X|^B)/IDZ
1138  ------------------------------------------------------------------  ------------------------------------------------------------------
1139    0  19 Bra 0          Bra
1140    3   7 Bra 1          CBra 1
1141    6     Any*          Any*
1142    8     X          X
1143   10   6 Alt          Alt
1144   13     ^          ^
1145   14     B          B
1146   16  13 Ket          Ket
1147   19  19 Ket          Ket
1148   22     End          End
1149  ------------------------------------------------------------------  ------------------------------------------------------------------
1150  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1151  No options  No options
1152  First char at start or follows \n  First char at start or follows newline
1153  No need char  No need char
1154    
1155  /(.*X|^B)/Ds  /(.*X|^B)/IDZs
1156  ------------------------------------------------------------------  ------------------------------------------------------------------
1157    0  19 Bra 0          Bra
1158    3   7 Bra 1          CBra 1
1159    6     Any*          AllAny*
1160    8     X          X
1161   10   6 Alt          Alt
1162   13     ^          ^
1163   14     B          B
1164   16  13 Ket          Ket
1165   19  19 Ket          Ket
1166   22     End          End
1167  ------------------------------------------------------------------  ------------------------------------------------------------------
1168  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1169  Options: anchored dotall  Options: anchored dotall
1170  No first char  No first char
1171  No need char  No need char
1172    
1173  /(?s)(.*X|^B)/D  /(?s)(.*X|^B)/IDZ
1174  ------------------------------------------------------------------  ------------------------------------------------------------------
1175    0  19 Bra 0          Bra
1176    3   7 Bra 1          CBra 1
1177    6     Any*          AllAny*
1178    8     X          X
1179   10   6 Alt          Alt
1180   13     ^          ^
1181   14     B          B
1182   16  13 Ket          Ket
1183   19  19 Ket          Ket
1184   22     End          End
1185  ------------------------------------------------------------------  ------------------------------------------------------------------
1186  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1187  Options: anchored dotall  Options: anchored dotall
1188  No first char  No first char
1189  No need char  No need char
1190    
1191  /(?s:.*X|^B)/D  /(?s:.*X|^B)/IDZ
1192  ------------------------------------------------------------------  ------------------------------------------------------------------
1193    0  25 Bra 0          Bra
1194    3   9 Bra 0          Bra
1195    6  04 Opt       04 Opt
1196    8     Any*          AllAny*
1197   10     X          X
1198   12   8 Alt          Alt
1199   15  04 Opt       04 Opt
1200   17     ^          ^
1201   18     B          B
1202   20  17 Ket          Ket
1203   23  00 Opt       00 Opt
1204   25  25 Ket          Ket
1205   28     End          End
1206  ------------------------------------------------------------------  ------------------------------------------------------------------
1207  Capturing subpattern count = 0  Capturing subpattern count = 0
1208  Partial matching not supported  Options: anchored
1209  No options  No first char
 First char at start or follows \n  
1210  No need char  No need char
1211    
1212  /\Biss\B/+  /\Biss\B/I+
1213  Capturing subpattern count = 0  Capturing subpattern count = 0
1214  No options  No options
1215  First char = 'i'  First char = 'i'
# Line 1233  Need char = 's' Line 1218  Need char = 's'
1218   0: iss   0: iss
1219   0+ issippi   0+ issippi
1220    
1221  /\Biss\B/+P  /\Biss\B/I+P
1222      Mississippi      Mississippi
1223   0: iss   0: iss
1224   0+ issippi   0+ issippi
1225    
1226  /iss/G+  /iss/IG+
1227  Capturing subpattern count = 0  Capturing subpattern count = 0
1228  No options  No options
1229  First char = 'i'  First char = 'i'
# Line 1249  Need char = 's' Line 1234  Need char = 's'
1234   0: iss   0: iss
1235   0+ ippi   0+ ippi
1236    
1237  /\Biss\B/G+  /\Biss\B/IG+
1238  Capturing subpattern count = 0  Capturing subpattern count = 0
1239  No options  No options
1240  First char = 'i'  First char = 'i'
# Line 1258  Need char = 's' Line 1243  Need char = 's'
1243   0: iss   0: iss
1244   0+ issippi   0+ issippi
1245    
1246  /\Biss\B/g+  /\Biss\B/Ig+
1247  Capturing subpattern count = 0  Capturing subpattern count = 0
1248  No options  No options
1249  First char = 'i'  First char = 'i'
# Line 1273  No match Line 1258  No match
1258      Mississippi\A      Mississippi\A
1259  No match  No match
1260    
1261  /(?<=[Ms])iss/g+  /(?<=[Ms])iss/Ig+
1262  Capturing subpattern count = 0  Capturing subpattern count = 0
1263  No options  No options
1264  First char = 'i'  First char = 'i'
# Line 1284  Need char = 's' Line 1269  Need char = 's'
1269   0: iss   0: iss
1270   0+ ippi   0+ ippi
1271    
1272  /(?<=[Ms])iss/G+  /(?<=[Ms])iss/IG+
1273  Capturing subpattern count = 0  Capturing subpattern count = 0
1274  No options  No options
1275  First char = 'i'  First char = 'i'
# Line 1293  Need char = 's' Line 1278  Need char = 's'
1278   0: iss   0: iss
1279   0+ issippi   0+ issippi
1280    
1281  /^iss/g+  /^iss/Ig+
1282  Capturing subpattern count = 0  Capturing subpattern count = 0
1283  Options: anchored  Options: anchored
1284  No first char  No first char
# Line 1301  No need char Line 1286  No need char
1286      ississippi      ississippi
1287   0: iss   0: iss
1288   0+ issippi   0+ issippi
1289    
1290  /.*iss/g+  /.*iss/Ig+
1291  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1292  No options  No options
1293  First char at start or follows \n  First char at start or follows newline
1294  Need char = 's'  Need char = 's'
1295      abciss\nxyzisspqr      abciss\nxyzisspqr
1296   0: abciss   0: abciss
1297   0+ \x0axyzisspqr   0+ \x0axyzisspqr
1298   0: xyziss   0: xyziss
1299   0+ pqr   0+ pqr
1300    
1301  /.i./+g  /.i./I+g
1302  Capturing subpattern count = 0  Capturing subpattern count = 0
1303  No options  No options
1304  No first char  No first char
# Line 1340  Need char = 'i' Line 1324  Need char = 'i'
1324   0+ river   0+ river
1325   0: riv   0: riv
1326   0+ er   0+ er
1327      Missouri river\A      Missouri river\A
1328   0: Mis   0: Mis
1329   0+ souri river   0+ souri river
1330    
1331  /^.is/+g  /^.is/I+g
1332  Capturing subpattern count = 0  Capturing subpattern count = 0
1333  Options: anchored  Options: anchored
1334  No first char  No first char
# Line 1353  No need char Line 1337  No need char
1337   0: Mis   0: Mis
1338   0+ sissippi   0+ sissippi
1339    
1340  /^ab\n/g+  /^ab\n/Ig+
1341  Capturing subpattern count = 0  Capturing subpattern count = 0
1342    Contains explicit CR or LF match
1343  Options: anchored  Options: anchored
1344  No first char  No first char
1345  No need char  No need char
# Line 1362  No need char Line 1347  No need char
1347   0: ab\x0a   0: ab\x0a
1348   0+ ab\x0acd   0+ ab\x0acd
1349    
1350  /^ab\n/mg+  /^ab\n/Img+
1351  Capturing subpattern count = 0  Capturing subpattern count = 0
1352    Contains explicit CR or LF match
1353  Options: multiline  Options: multiline
1354  First char at start or follows \n  First char at start or follows newline
1355  Need char = 10  Need char = 10
1356      ab\nab\ncd      ab\nab\ncd
1357   0: ab\x0a   0: ab\x0a
# Line 1373  Need char = 10 Line 1359  Need char = 10
1359   0: ab\x0a   0: ab\x0a
1360   0+ cd   0+ cd
1361    
1362  /abc/  /abc/I
1363  Capturing subpattern count = 0  Capturing subpattern count = 0
1364  No options  No options
1365  First char = 'a'  First char = 'a'
1366  Need char = 'c'  Need char = 'c'
1367    
1368  /abc|bac/  /abc|bac/I
1369  Capturing subpattern count = 0  Capturing subpattern count = 0
1370  No options  No options
1371  No first char  No first char
1372  Need char = 'c'  Need char = 'c'
1373    
1374  /(abc|bac)/  /(abc|bac)/I
1375  Capturing subpattern count = 1  Capturing subpattern count = 1
1376  No options  No options
1377  No first char  No first char
1378  Need char = 'c'  Need char = 'c'
1379    
1380  /(abc|(c|dc))/  /(abc|(c|dc))/I
1381  Capturing subpattern count = 2  Capturing subpattern count = 2
1382  No options  No options
1383  No first char  No first char
1384  Need char = 'c'  Need char = 'c'
1385    
1386  /(abc|(d|de)c)/  /(abc|(d|de)c)/I
1387  Capturing subpattern count = 2  Capturing subpattern count = 2
1388  No options  No options
1389  No first char  No first char
1390  Need char = 'c'  Need char = 'c'
1391    
1392  /a*/  /a*/I
1393  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1394  No options  No options
1395  No first char  No first char
1396  No need char  No need char
1397    
1398  /a+/  /a+/I
1399  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1400  No options  No options
1401  First char = 'a'  First char = 'a'
1402  No need char  No need char
1403    
1404  /(baa|a+)/  /(baa|a+)/I
1405  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1406  No options  No options
1407  No first char  No first char
1408  Need char = 'a'  Need char = 'a'
1409    
1410  /a{0,3}/  /a{0,3}/I
1411  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1412  No options  No options
1413  No first char  No first char
1414  No need char  No need char
1415    
1416  /baa{3,}/  /baa{3,}/I
1417  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1418  No options  No options
1419  First char = 'b'  First char = 'b'
1420  Need char = 'a'  Need char = 'a'
1421    
1422  /"([^\\"]+|\\.)*"/  /"([^\\"]+|\\.)*"/I
1423  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1424  No options  No options
1425  First char = '"'  First char = '"'
1426  Need char = '"'  Need char = '"'
1427    
1428  /(abc|ab[cd])/  /(abc|ab[cd])/I
1429  Capturing subpattern count = 1  Capturing subpattern count = 1
1430  No options  No options
1431  First char = 'a'  First char = 'a'
1432  No need char  No need char
1433    
1434  /(a|.)/  /(a|.)/I
1435  Capturing subpattern count = 1  Capturing subpattern count = 1
1436  No options  No options
1437  No first char  No first char
1438  No need char  No need char
1439    
1440  /a|ba|\w/  /a|ba|\w/I
1441  Capturing subpattern count = 0  Capturing subpattern count = 0
1442  No options  No options
1443  No first char  No first char
1444  No need char  No need char
1445    
1446  /abc(?=pqr)/  /abc(?=pqr)/I
1447  Capturing subpattern count = 0  Capturing subpattern count = 0
1448  No options  No options
1449  First char = 'a'  First char = 'a'
1450  Need char = 'r'  Need char = 'r'
1451    
1452  /...(?<=abc)/  /...(?<=abc)/I
1453  Capturing subpattern count = 0  Capturing subpattern count = 0
1454  No options  No options
1455  No first char  No first char
1456  No need char  No need char
1457    
1458  /abc(?!pqr)/  /abc(?!pqr)/I
1459  Capturing subpattern count = 0  Capturing subpattern count = 0
1460  No options  No options
1461  First char = 'a'  First char = 'a'
1462  Need char = 'c'  Need char = 'c'
1463    
1464  /ab./  /ab./I
1465  Capturing subpattern count = 0  Capturing subpattern count = 0
1466  No options  No options
1467  First char = 'a'  First char = 'a'
1468  Need char = 'b'  Need char = 'b'
1469    
1470  /ab[xyz]/  /ab[xyz]/I
1471  Capturing subpattern count = 0  Capturing subpattern count = 0
1472  No options  No options
1473  First char = 'a'  First char = 'a'
1474  Need char = 'b'  Need char = 'b'
1475    
1476  /abc*/  /abc*/I
1477  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1478  No options  No options
1479  First char = 'a'  First char = 'a'
1480  Need char = 'b'  Need char = 'b'
1481    
1482  /ab.c*/  /ab.c*/I
1483  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1484  No options  No options
1485  First char = 'a'  First char = 'a'
1486  Need char = 'b'  Need char = 'b'
1487    
1488  /a.c*/  /a.c*/I
1489  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1490  No options  No options
1491  First char = 'a'  First char = 'a'
1492  No need char  No need char
1493    
1494  /.c*/  /.c*/I
1495  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1496  No options  No options
1497  No first char  No first char
1498  No need char  No need char
1499    
1500  /ac*/  /ac*/I
1501  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1502  No options  No options
1503  First char = 'a'  First char = 'a'
1504  No need char  No need char
1505    
1506  /(a.c*|b.c*)/  /(a.c*|b.c*)/I
1507  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1508  No options  No options
1509  No first char  No first char
1510  No need char  No need char
1511    
1512  /a.c*|aba/  /a.c*|aba/I
1513  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1514  No options  No options
1515  First char = 'a'  First char = 'a'
1516  No need char  No need char
1517    
1518  /.+a/  /.+a/I
1519  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1520  No options  No options
1521  No first char  No first char
1522  Need char = 'a'  Need char = 'a'
1523    
1524  /(?=abcda)a.*/  /(?=abcda)a.*/I
1525  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1526  No options  No options
1527  First char = 'a'  First char = 'a'
1528  Need char = 'a'  Need char = 'a'
1529    
1530  /(?=a)a.*/  /(?=a)a.*/I
1531  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1532  No options  No options
1533  First char = 'a'  First char = 'a'
1534  No need char  No need char
1535    
1536  /a(b)*/  /a(b)*/I
1537  Capturing subpattern count = 1  Capturing subpattern count = 1
1538  No options  No options
1539  First char = 'a'  First char = 'a'
1540  No need char  No need char
1541    
1542  /a\d*/  /a\d*/I
1543  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1544  No options  No options
1545  First char = 'a'  First char = 'a'
1546  No need char  No need char
1547    
1548  /ab\d*/  /ab\d*/I
1549  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1550  No options  No options
1551  First char = 'a'  First char = 'a'
1552  Need char = 'b'  Need char = 'b'
1553    
1554  /a(\d)*/  /a(\d)*/I
1555  Capturing subpattern count = 1  Capturing subpattern count = 1
1556  No options  No options
1557  First char = 'a'  First char = 'a'
1558  No need char  No need char
1559    
1560  /abcde{0,0}/  /abcde{0,0}/I
1561  Capturing subpattern count = 0  Capturing subpattern count = 0
1562  No options  No options
1563  First char = 'a'  First char = 'a'
1564  Need char = 'd'  Need char = 'd'
1565    
1566  /ab\d+/  /ab\d+/I
1567  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1568  No options  No options
1569  First char = 'a'  First char = 'a'
1570  Need char = 'b'  Need char = 'b'
1571    
1572  /a(?(1)b)/  /a(?(1)b)(.)/I
1573  Capturing subpattern count = 0  Capturing subpattern count = 1
1574  No options  No options
1575  First char = 'a'  First char = 'a'
1576  No need char  No need char
1577    
1578  /a(?(1)bag|big)/  /a(?(1)bag|big)(.)/I
1579  Capturing subpattern count = 0  Capturing subpattern count = 1
1580  No options  No options
1581  First char = 'a'  First char = 'a'
1582  Need char = 'g'  Need char = 'g'
1583    
1584  /a(?(1)bag|big)*/  /a(?(1)bag|big)*(.)/I
1585  Capturing subpattern count = 0  Capturing subpattern count = 1
1586  No options  No options
1587  First char = 'a'  First char = 'a'
1588  No need char  No need char
1589    
1590  /a(?(1)bag|big)+/  /a(?(1)bag|big)+(.)/I
1591  Capturing subpattern count = 0  Capturing subpattern count = 1
1592  No options  No options
1593  First char = 'a'  First char = 'a'
1594  Need char = 'g'  Need char = 'g'
1595    
1596  /a(?(1)b..|b..)/  /a(?(1)b..|b..)(.)/I
1597  Capturing subpattern count = 0  Capturing subpattern count = 1
1598  No options  No options
1599  First char = 'a'  First char = 'a'
1600  Need char = 'b'  Need char = 'b'
1601    
1602  /ab\d{0}e/  /ab\d{0}e/I
1603  Capturing subpattern count = 0  Capturing subpattern count = 0
1604  No options  No options
1605  First char = 'a'  First char = 'a'
1606  Need char = 'e'  Need char = 'e'
1607    
1608  /a?b?/  /a?b?/I
1609  Capturing subpattern count = 0  Capturing subpattern count = 0
1610  No options  No options
1611  No first char  No first char
# Line 1653  No need char Line 1620  No need char
1620   0:   0:
1621      *** Failers      *** Failers
1622   0:   0:
1623      \N      \N
1624  No match  No match
1625    
1626  /|-/  /|-/I
1627  Capturing subpattern count = 0  Capturing subpattern count = 0
1628  No options  No options
1629  No first char  No first char
# Line 1669  No need char Line 1636  No need char
1636   0: -   0: -
1637      *** Failers      *** Failers
1638   0:   0:
1639      \Nabc      \Nabc
1640  No match  No match
1641    
1642  /a*(b+)(z)(z)/P  /a*(b+)(z)(z)/P
# Line 1698  No match Line 1665  No match
1665   1: bbbb   1: bbbb
1666   2: z   2: z
1667   3: z   3: z
1668    
1669  /^.?abcd/S  /^.?abcd/IS
1670  Capturing subpattern count = 0  Capturing subpattern count = 0
1671  Options: anchored  Options: anchored
1672  No first char  No first char
1673  Need char = 'd'  Need char = 'd'
1674  Study returned NULL  Subject length lower bound = 4
1675    No set of starting bytes
1676    
1677  /\(             # ( at start  /\(             # ( at start
1678    (?:           # Non-capturing bracket    (?:           # Non-capturing bracket
# Line 1713  Study returned NULL Line 1681  Study returned NULL
1681    (?R)          # Recurse - i.e. nested bracketed string    (?R)          # Recurse - i.e. nested bracketed string
1682    )*            # Zero or more contents    )*            # Zero or more contents
1683    \)            # Closing )    \)            # Closing )
1684    /x    /Ix
1685  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1686  Options: extended  Options: extended
1687  First char = '('  First char = '('
1688  Need char = ')'  Need char = ')'
# Line 1725  Need char = ')' Line 1692  Need char = ')'
1692   0: (abcd)   0: (abcd)
1693      xyz(abcd)      xyz(abcd)
1694   0: (abcd)   0: (abcd)
1695      (ab(xy)cd)pqr      (ab(xy)cd)pqr
1696   0: (ab(xy)cd)   0: (ab(xy)cd)
1697      (ab(xycd)pqr      (ab(xycd)pqr
1698   0: (xycd)   0: (xycd)
1699      () abc ()      () abc ()
1700   0: ()   0: ()
1701      12(abcde(fsh)xyz(foo(bar))lmno)89      12(abcde(fsh)xyz(foo(bar))lmno)89
1702   0: (abcde(fsh)xyz(foo(bar))lmno)   0: (abcde(fsh)xyz(foo(bar))lmno)
1703      *** Failers      *** Failers
1704  No match  No match
1705      abcd      abcd
1706  No match  No match
1707      abcd)      abcd)
1708  No match  No match
1709      (abcd      (abcd
1710  No match  No match
1711    
1712  /\(  ( (?>[^()]+) | (?R) )* \) /xg  /\(  ( (?>[^()]+) | (?R) )* \) /Ixg
1713  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1714  Options: extended  Options: extended
1715  First char = '('  First char = '('
1716  Need char = ')'  Need char = ')'
1717      (ab(xy)cd)pqr      (ab(xy)cd)pqr
1718   0: (ab(xy)cd)   0: (ab(xy)cd)
1719   1: cd   1: cd
1720      1(abcd)(x(y)z)pqr      1(abcd)(x(y)z)pqr
# Line 1757  Need char = ')' Line 1723  Need char = ')'
1723   0: (x(y)z)   0: (x(y)z)
1724   1: z   1: z
1725    
1726  /\(  (?: (?>[^()]+) | (?R) ) \) /x  /\(  (?: (?>[^()]+) | (?R) ) \) /Ix
1727  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1728  Options: extended  Options: extended
1729  First char = '('  First char = '('
1730  Need char = ')'  Need char = ')'
# Line 1767  Need char = ')' Line 1732  Need char = ')'
1732   0: (abcd)   0: (abcd)
1733      (ab(xy)cd)      (ab(xy)cd)
1734   0: (xy)   0: (xy)
1735      (a(b(c)d)e)      (a(b(c)d)e)
1736   0: (c)   0: (c)
1737      ((ab))      ((ab))
1738   0: ((ab))   0: ((ab))
1739      *** Failers      *** Failers
1740  No match  No match
1741      ()      ()
1742  No match  No match
1743    
1744  /\(  (?: (?>[^()]+) | (?R) )? \) /x  /\(  (?: (?>[^()]+) | (?R) )? \) /Ix
1745  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1746  Options: extended  Options: extended
1747  First char = '('  First char = '('
1748  Need char = ')'  Need char = ')'
# Line 1787  Need char = ')' Line 1751  Need char = ')'
1751      12(abcde(fsh)xyz(foo(bar))lmno)89      12(abcde(fsh)xyz(foo(bar))lmno)89
1752   0: (fsh)   0: (fsh)
1753    
1754  /\(  ( (?>[^()]+) | (?R) )* \) /x  /\(  ( (?>[^()]+) | (?R) )* \) /Ix
1755  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1756  Options: extended  Options: extended
1757  First char = '('  First char = '('
1758  Need char = ')'  Need char = ')'
# Line 1797  Need char = ')' Line 1760  Need char = ')'
1760   0: (ab(xy)cd)   0: (ab(xy)cd)
1761   1: cd   1: cd
1762    
1763  /\( ( ( (?>[^()]+) | (?R) )* ) \) /x  /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix
1764  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
1765  Options: extended  Options: extended
1766  First char = '('  First char = '('
1767  Need char = ')'  Need char = ')'
# Line 1808  Need char = ')' Line 1770  Need char = ')'
1770   1: ab(xy)cd   1: ab(xy)cd
1771   2: cd   2: cd
1772    
1773  /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /x  /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix
1774  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
1775  Options: extended  Options: extended
1776  First char = '('  First char = '('
1777  Need char = ')'  Need char = ')'
# Line 1825  Need char = ')' Line 1786  Need char = ')'
1786   2: ab(xy)cd   2: ab(xy)cd
1787   3: cd   3: cd
1788    
1789  /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /x  /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix
1790  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
1791  Options: extended  Options: extended
1792  First char = '('  First char = '('
1793  Need char = ')'  Need char = ')'
# Line 1842  Need char = ')' Line 1802  Need char = ')'
1802   2: 123   2: 123
1803   3: cd   3: cd
1804    
1805  /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /x  /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix
1806  Capturing subpattern count = 11  Capturing subpattern count = 11
 Partial matching not supported  
1807  Options: extended  Options: extended
1808  First char = '('  First char = '('
1809  Need char = ')'  Need char = ')'
# Line 1862  Need char = ')' Line 1821  Need char = ')'
1821  10: ab(xy)cd  10: ab(xy)cd
1822  11: cd  11: cd
1823    
1824  /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /x  /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix
1825  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
1826  Options: extended  Options: extended
1827  First char = '('  First char = '('
1828  Need char = ')'  Need char = ')'
# Line 1872  Need char = ')' Line 1830  Need char = ')'
1830   0: (abcd(xyz<p>qrs)123)   0: (abcd(xyz<p>qrs)123)
1831   1: abcd(xyz<p>qrs)123   1: abcd(xyz<p>qrs)123
1832   2: 123   2: 123
  3: <unset>  
1833    
1834  /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /x  /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix
1835  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
1836  Options: extended  Options: extended
1837  First char = '('  First char = '('
1838  Need char = ')'  Need char = ')'
# Line 1891  Need char = ')' Line 1847  Need char = ')'
1847   2: ij   2: ij
1848   3: (cd(ef)gh)   3: (cd(ef)gh)
1849    
1850  /^[[:alnum:]]/D  /^[[:alnum:]]/DZ
1851  ------------------------------------------------------------------  ------------------------------------------------------------------
1852    0  37 Bra 0          Bra
1853    3     ^          ^
1854    4     [0-9A-Za-z]          [0-9A-Za-z]
1855   37  37 Ket          Ket
1856   40     End          End
1857  ------------------------------------------------------------------  ------------------------------------------------------------------
1858  Capturing subpattern count = 0  Capturing subpattern count = 0
1859  Options: anchored  Options: anchored
1860  No first char  No first char
1861  No need char  No need char
1862    
1863  /^[[:^alnum:]]/D  /^[[:^alnum:]]/DZ
1864  ------------------------------------------------------------------  ------------------------------------------------------------------
1865    0  37 Bra 0          Bra
1866    3     ^          ^
1867    4     [\x00-/:-@[-`{-\xff]          [\x00-/:-@[-`{-\xff] (neg)
1868   37  37 Ket          Ket
1869   40     End          End
1870  ------------------------------------------------------------------  ------------------------------------------------------------------
1871  Capturing subpattern count = 0  Capturing subpattern count = 0
1872  Options: anchored  Options: anchored
1873  No first char  No first char
1874  No need char  No need char
1875    
1876  /^[[:alpha:]]/D  /^[[:alpha:]]/DZ
1877  ------------------------------------------------------------------  ------------------------------------------------------------------
1878    0  37 Bra 0          Bra
1879    3     ^          ^
1880    4     [A-Za-z]          [A-Za-z]
1881   37  37 Ket          Ket
1882   40     End          End
1883  ------------------------------------------------------------------  ------------------------------------------------------------------
1884  Capturing subpattern count = 0  Capturing subpattern count = 0
1885  Options: anchored  Options: anchored
1886  No first char  No first char
1887  No need char  No need char
1888    
1889  /^[[:^alpha:]]/D  /^[[:^alpha:]]/DZ
1890  ------------------------------------------------------------------  ------------------------------------------------------------------
1891    0  37 Bra 0          Bra
1892    3     ^          ^
1893    4     [\x00-@[-`{-\xff]          [\x00-@[-`{-\xff] (neg)
1894   37  37 Ket          Ket
1895   40     End          End
1896  ------------------------------------------------------------------  ------------------------------------------------------------------
1897  Capturing subpattern count = 0  Capturing subpattern count = 0
1898  Options: anchored  Options: anchored
1899  No first char  No first char
1900  No need char  No need char
1901    
1902  /[_[:alpha:]]/IS  /[_[:alpha:]]/IS
1903  Capturing subpattern count = 0  Capturing subpattern count = 0
1904  No options  No options
1905  No first char  No first char
1906  No need char  No need char
1907    Subject length lower bound = 1
1908  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
1909    _ 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
1910    
1911  /^[[:ascii:]]/D  /^[[:ascii:]]/DZ
1912  ------------------------------------------------------------------  ------------------------------------------------------------------
1913    0  37 Bra 0          Bra
1914    3     ^          ^
1915    4     [\x00-\x7f]          [\x00-\x7f]
1916   37  37 Ket          Ket
1917   40     End          End
1918  ------------------------------------------------------------------  ------------------------------------------------------------------
1919  Capturing subpattern count = 0  Capturing subpattern count = 0
1920  Options: anchored  Options: anchored
1921  No first char  No first char
1922  No need char  No need char
1923    
1924  /^[[:^ascii:]]/D  /^[[:^ascii:]]/DZ
1925  ------------------------------------------------------------------  ------------------------------------------------------------------
1926    0  37 Bra 0          Bra
1927    3     ^          ^
1928    4     [\x80-\xff]          [\x80-\xff] (neg)
1929   37  37 Ket          Ket
1930   40     End          End
1931  ------------------------------------------------------------------  ------------------------------------------------------------------
1932  Capturing subpattern count = 0  Capturing subpattern count = 0
1933  Options: anchored  Options: anchored
1934  No first char  No first char
1935  No need char  No need char
1936    
1937  /^[[:blank:]]/D  /^[[:blank:]]/DZ
1938  ------------------------------------------------------------------  ------------------------------------------------------------------
1939    0  37 Bra 0          Bra
1940    3     ^          ^
1941    4     [\x09 ]          [\x09 ]
1942   37  37 Ket          Ket
1943   40     End          End
1944  ------------------------------------------------------------------  ------------------------------------------------------------------
1945  Capturing subpattern count = 0  Capturing subpattern count = 0
1946  Options: anchored  Options: anchored
1947  No first char  No first char
1948  No need char  No need char
1949    
1950  /^[[:^blank:]]/D  /^[[:^blank:]]/DZ
1951  ------------------------------------------------------------------  ------------------------------------------------------------------
1952    0  37 Bra 0          Bra
1953    3     ^          ^
1954    4     [\x00-\x08\x0a-\x1f!-\xff]          [\x00-\x08\x0a-\x1f!-\xff] (neg)
1955   37  37 Ket          Ket
1956   40     End          End
1957  ------------------------------------------------------------------  ------------------------------------------------------------------
1958  Capturing subpattern count = 0  Capturing subpattern count = 0
1959  Options: anchored  Options: anchored
# Line 2005  No need char Line 1962  No need char
1962    
1963  /[\n\x0b\x0c\x0d[:blank:]]/IS  /[\n\x0b\x0c\x0d[:blank:]]/IS
1964  Capturing subpattern count = 0  Capturing subpattern count = 0
1965    Contains explicit CR or LF match
1966  No options  No options
1967  No first char  No first char
1968  No need char  No need char
1969    Subject length lower bound = 1
1970  Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20  Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20
1971    
1972  /^[[:cntrl:]]/D  /^[[:cntrl:]]/DZ
1973  ------------------------------------------------------------------  ------------------------------------------------------------------
1974    0  37 Bra 0          Bra
1975    3     ^          ^
1976    4     [\x00-\x1f\x7f]          [\x00-\x1f\x7f]
1977   37  37 Ket          Ket
1978   40     End          End
1979  ------------------------------------------------------------------  ------------------------------------------------------------------
1980  Capturing subpattern count = 0  Capturing subpattern count = 0
1981  Options: anchored  Options: anchored
1982  No first char  No first char
1983  No need char  No need char
1984    
1985  /^[[:digit:]]/D  /^[[:digit:]]/DZ
1986  ------------------------------------------------------------------  ------------------------------------------------------------------
1987    0  37 Bra 0          Bra
1988    3     ^          ^
1989    4     [0-9]          [0-9]
1990   37  37 Ket          Ket
1991   40     End          End
1992  ------------------------------------------------------------------  ------------------------------------------------------------------
1993  Capturing subpattern count = 0  Capturing subpattern count = 0
1994  Options: anchored  Options: anchored
1995  No first char  No first char
1996  No need char  No need char
1997    
1998  /^[[:graph:]]/D  /^[[:graph:]]/DZ
1999  ------------------------------------------------------------------  ------------------------------------------------------------------
2000    0  37 Bra 0          Bra
2001    3     ^          ^
2002    4     [!-~]          [!-~]
2003   37  37 Ket          Ket
2004   40     End          End
2005  ------------------------------------------------------------------  ------------------------------------------------------------------
2006  Capturing subpattern count = 0  Capturing subpattern count = 0
2007  Options: anchored  Options: anchored
2008  No first char  No first char
2009  No need char  No need char
2010    
2011  /^[[:lower:]]/D  /^[[:lower:]]/DZ
2012  ------------------------------------------------------------------  ------------------------------------------------------------------
2013    0  37 Bra 0          Bra
2014    3     ^          ^
2015    4     [a-z]          [a-z]
2016   37  37 Ket          Ket
2017   40     End          End
2018  ------------------------------------------------------------------  ------------------------------------------------------------------
2019  Capturing subpattern count = 0  Capturing subpattern count = 0
2020  Options: anchored  Options: anchored
2021  No first char  No first char
2022  No need char  No need char
2023    
2024  /^[[:print:]]/D  /^[[:print:]]/DZ
2025  ------------------------------------------------------------------  ------------------------------------------------------------------
2026    0  37 Bra 0          Bra
2027    3     ^          ^
2028    4     [ -~]          [ -~]
2029   37  37 Ket          Ket
2030   40     End          End
2031  ------------------------------------------------------------------  ------------------------------------------------------------------
2032  Capturing subpattern count = 0  Capturing subpattern count = 0
2033  Options: anchored  Options: anchored
2034  No first char  No first char
2035  No need char  No need char
2036    
2037  /^[[:punct:]]/D  /^[[:punct:]]/DZ
2038  ------------------------------------------------------------------  ------------------------------------------------------------------
2039    0  37 Bra 0          Bra
2040    3     ^          ^
2041    4     [!-/:-@[-`{-~]          [!-/:-@[-`{-~]
2042   37  37 Ket          Ket
2043   40     End          End
2044  ------------------------------------------------------------------  ------------------------------------------------------------------
2045  Capturing subpattern count = 0  Capturing subpattern count = 0
2046  Options: anchored  Options: anchored
2047  No first char  No first char
2048  No need char  No need char
2049    
2050  /^[[:space:]]/D  /^[[:space:]]/DZ
2051  ------------------------------------------------------------------  ------------------------------------------------------------------
2052    0  37 Bra 0          Bra
2053    3     ^          ^
2054    4     [\x09-\x0d ]          [\x09-\x0d ]
2055   37  37 Ket          Ket
2056   40     End          End
2057  ------------------------------------------------------------------  ------------------------------------------------------------------
2058  Capturing subpattern count = 0  Capturing subpattern count = 0
2059  Options: anchored  Options: anchored
2060  No first char  No first char
2061  No need char  No need char
2062    
2063  /^[[:upper:]]/D  /^[[:upper:]]/DZ
2064  ------------------------------------------------------------------  ------------------------------------------------------------------
2065    0  37 Bra 0          Bra
2066    3     ^          ^
2067    4     [A-Z]          [A-Z]
2068   37  37 Ket          Ket
2069   40     End          End
2070  ------------------------------------------------------------------  ------------------------------------------------------------------
2071  Capturing subpattern count = 0  Capturing subpattern count = 0
2072  Options: anchored  Options: anchored
2073  No first char  No first char
2074  No need char  No need char
2075    
2076  /^[[:xdigit:]]/D  /^[[:xdigit:]]/DZ
2077  ------------------------------------------------------------------  ------------------------------------------------------------------
2078    0  37 Bra 0          Bra
2079    3     ^          ^
2080    4     [0-9A-Fa-f]          [0-9A-Fa-f]
2081   37  37 Ket          Ket
2082   40     End          End
2083  ------------------------------------------------------------------  ------------------------------------------------------------------
2084  Capturing subpattern count = 0  Capturing subpattern count = 0
2085  Options: anchored  Options: anchored
2086  No first char  No first char
2087  No need char  No need char
2088    
2089  /^[[:word:]]/D  /^[[:word:]]/DZ
2090  ------------------------------------------------------------------  ------------------------------------------------------------------
2091    0  37 Bra 0          Bra
2092    3     ^          ^
2093    4     [0-9A-Z_a-z]          [0-9A-Z_a-z]
2094   37  37 Ket          Ket
2095   40     End          End
2096  ------------------------------------------------------------------  ------------------------------------------------------------------
2097  Capturing subpattern count = 0  Capturing subpattern count = 0
2098  Options: anchored  Options: anchored
2099  No first char  No first char
2100  No need char  No need char
2101    
2102  /^[[:^cntrl:]]/D  /^[[:^cntrl:]]/DZ
2103  ------------------------------------------------------------------  ------------------------------------------------------------------
2104    0  37 Bra 0          Bra
2105    3     ^          ^
2106    4     [ -~\x80-\xff]          [ -~\x80-\xff] (neg)
2107   37  37 Ket          Ket
2108   40     End          End
2109  ------------------------------------------------------------------  ------------------------------------------------------------------
2110  Capturing subpattern count = 0  Capturing subpattern count = 0
2111  Options: anchored  Options: anchored
2112  No first char  No first char
2113  No need char  No need char
2114    
2115  /^[12[:^digit:]]/D  /^[12[:^digit:]]/DZ
2116  ------------------------------------------------------------------  ------------------------------------------------------------------
2117    0  37 Bra 0          Bra
2118    3     ^          ^
2119    4     [\x00-/12:-\xff]          [\x00-/12:-\xff] (neg)
2120   37  37 Ket          Ket
2121   40     End          End
2122  ------------------------------------------------------------------  ------------------------------------------------------------------
2123  Capturing subpattern count = 0  Capturing subpattern count = 0
2124  Options: anchored  Options: anchored
2125  No first char  No first char
2126  No need char  No need char
2127    
2128  /^[[:^blank:]]/D  /^[[:^blank:]]/DZ
2129  ------------------------------------------------------------------  ------------------------------------------------------------------
2130    0  37 Bra 0          Bra
2131    3     ^          ^
2132    4     [\x00-\x08\x0a-\x1f!-\xff]          [\x00-\x08\x0a-\x1f!-\xff] (neg)
2133   37  37 Ket          Ket
2134   40     End          End
2135  ------------------------------------------------------------------  ------------------------------------------------------------------
2136  Capturing subpattern count = 0  Capturing subpattern count = 0
2137  Options: anchored  Options: anchored
2138  No first char  No first char
2139  No need char  No need char
2140    
2141  /[01[:alpha:]%]/D  /[01[:alpha:]%]/DZ
2142  ------------------------------------------------------------------  ------------------------------------------------------------------
2143    0  36 Bra 0          Bra
2144    3     [%01A-Za-z]          [%01A-Za-z]
2145   36  36 Ket          Ket
2146   39     End          End
2147  ------------------------------------------------------------------  ------------------------------------------------------------------
2148  Capturing subpattern count = 0  Capturing subpattern count = 0
2149  No options  No options
2150  No first char  No first char
2151  No need char  No need char
2152    
2153  /[[.ch.]]/  /[[.ch.]]/I
2154  Failed: POSIX collating elements are not supported at offset 1  Failed: POSIX collating elements are not supported at offset 1
2155    
2156  /[[=ch=]]/  /[[=ch=]]/I
2157  Failed: POSIX collating elements are not supported at offset 1  Failed: POSIX collating elements are not supported at offset 1
2158    
2159  /[[:rhubarb:]]/  /[[:rhubarb:]]/I
2160  Failed: unknown POSIX class name at offset 3  Failed: unknown POSIX class name at offset 3
2161    
2162  /[[:upper:]]/i  /[[:upper:]]/Ii
2163  Capturing subpattern count = 0  Capturing subpattern count = 0
2164  Options: caseless  Options: caseless
2165  No first char  No first char
2166  No need char  No need char
2167      A      A
2168   0: A   0: A
2169      a      a
2170   0: a   0: a
2171    
2172  /[[:lower:]]/i  /[[:lower:]]/Ii
2173  Capturing subpattern count = 0  Capturing subpattern count = 0
2174  Options: caseless  Options: caseless
2175  No first char  No first char
2176  No need char  No need char
2177      A      A
2178   0: A   0: A
2179      a      a
2180   0: a   0: a
2181    
2182  /((?-i)[[:lower:]])[[:lower:]]/i  /((?-i)[[:lower:]])[[:lower:]]/Ii
2183  Capturing subpattern count = 1  Capturing subpattern count = 1
2184  Options: caseless  Options: caseless
 Case state changes  
2185  No first char  No first char
2186  No need char  No need char
2187      ab      ab
# Line 2237  No need char Line 2195  No need char
2195   1: a   1: a
2196      Ab      Ab
2197  No match  No match
2198      AB      AB
2199  No match  No match
2200    
2201  /[\200-\410]/  /[\200-\110]/I
2202  Failed: range out of order in character class at offset 9  Failed: range out of order in character class at offset 9
2203    
2204  /^(?(0)f|b)oo/  /^(?(0)f|b)oo/I
2205  Failed: invalid condition (?(0) at offset 5  Failed: invalid condition (?(0) at offset 6
2206    
2207  /This one's here because of the large output vector needed/  /This one's here because of the large output vector needed/I
2208  Capturing subpattern count = 0  Capturing subpattern count = 0
2209  No options  No options
2210  First char = 'T'  First char = 'T'
2211  Need char = 'd'  Need char = 'd'
2212    
2213  /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\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)/  /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\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
2214  Capturing subpattern count = 271  Capturing subpattern count = 271
2215  Max back reference = 270  Max back reference = 270
 Partial matching not supported  
2216  No options  No options
2217  No first char  No first char
2218  No need char  No need char
# Line 2533  No need char Line 2490  No need char
2490  270: ABC  270: ABC
2491  271: ABC  271: ABC
2492    
2493  /This one's here because Perl does this differently and PCRE can't at present/  /This one's here because Perl does this differently and PCRE can't at present/I
2494  Capturing subpattern count = 0  Capturing subpattern count = 0
2495  No options  No options
2496  First char = 'T'  First char = 'T'
2497  Need char = 't'  Need char = 't'
2498    
2499  /(main(O)?)+/  /(main(O)?)+/I
2500  Capturing subpattern count = 2  Capturing subpattern count = 2
2501  No options  No options
2502  First char = 'm'  First char = 'm'
# Line 2551  Need char = 'n' Line 2508  Need char = 'n'
2508   0: mainOmain   0: mainOmain
2509   1: main   1: main
2510   2: O   2: O
2511    
2512  /These are all cases where Perl does it differently (nested captures)/  /These are all cases where Perl does it differently (nested captures)/I
2513  Capturing subpattern count = 1  Capturing subpattern count = 1
2514  No options  No options
2515  First char = 'T'  First char = 'T'
2516  Need char = 's'  Need char = 's'
2517    
2518  /^(a(b)?)+$/  /^(a(b)?)+$/I
2519  Capturing subpattern count = 2  Capturing subpattern count = 2
2520  Options: anchored  Options: anchored
2521  No first char  No first char
# Line 2567  No need char Line 2524  No need char
2524   0: aba   0: aba
2525   1: a   1: a
2526   2: b   2: b
2527    
2528  /^(aa(bb)?)+$/  /^(aa(bb)?)+$/I
2529  Capturing subpattern count = 2  Capturing subpattern count = 2
2530  Options: anchored  Options: anchored
2531  No first char  No first char
2532  No need char  No need char
2533      aabbaa      aabbaa
2534   0: aabbaa   0: aabbaa
2535   1: aa   1: aa
2536   2: bb   2: bb
2537    
2538  /^(aa|aa(bb))+$/  /^(aa|aa(bb))+$/I
2539  Capturing subpattern count = 2  Capturing subpattern count = 2
2540  Options: anchored  Options: anchored
2541  No first char  No first char
2542  No need char  No need char
2543      aabbaa      aabbaa
2544   0: aabbaa   0: aabbaa
2545   1: aa   1: aa
2546   2: bb   2: bb
2547    
2548  /^(aa(bb)??)+$/  /^(aa(bb)??)+$/I
2549  Capturing subpattern count = 2  Capturing subpattern count = 2
2550  Options: anchored  Options: anchored
2551  No first char  No first char
2552  No need char  No need char
2553      aabbaa      aabbaa
2554   0: aabbaa   0: aabbaa
2555   1: aa   1: aa
2556   2: bb   2: bb
2557    
2558  /^(?:aa(bb)?)+$/  /^(?:aa(bb)?)+$/I
2559  Capturing subpattern count = 1  Capturing subpattern count = 1
2560  Options: anchored  Options: anchored
2561  No first char  No first char
2562  No need char  No need char
2563      aabbaa      aabbaa
2564   0: aabbaa   0: aabbaa
2565   1: bb   1: bb
2566    
2567  /^(aa(b(b))?)+$/  /^(aa(b(b))?)+$/I
2568  Capturing subpattern count = 3  Capturing subpattern count = 3
2569  Options: anchored  Options: anchored
2570  No first char  No first char
2571  No need char  No need char
2572      aabbaa      aabbaa
2573   0: aabbaa   0: aabbaa
2574   1: aa   1: aa
2575   2: bb   2: bb
2576   3: b   3: b
2577    
2578  /^(?:aa(b(b))?)+$/  /^(?:aa(b(b))?)+$/I
2579  Capturing subpattern count = 2  Capturing subpattern count = 2
2580  Options: anchored  Options: anchored
2581  No first char  No first char
2582  No need char  No need char
2583      aabbaa      aabbaa
2584   0: aabbaa   0: aabbaa
2585   1: bb   1: bb
2586   2: b   2: b
2587    
2588  /^(?:aa(b(?:b))?)+$/  /^(?:aa(b(?:b))?)+$/I
2589  Capturing subpattern count = 1  Capturing subpattern count = 1
2590  Options: anchored  Options: anchored
2591  No first char  No first char
2592  No need char  No need char
2593      aabbaa      aabbaa
2594   0: aabbaa   0: aabbaa
2595   1: bb   1: bb
2596    
2597  /^(?:aa(bb(?:b))?)+$/  /^(?:aa(bb(?:b))?)+$/I
2598  Capturing subpattern count = 1  Capturing subpattern count = 1
2599  Options: anchored  Options: anchored
2600  No first char  No first char
2601  No need char  No need char
2602      aabbbaa      aabbbaa
2603   0: aabbbaa   0: aabbbaa
2604   1: bbb   1: bbb
2605    
2606  /^(?:aa(b(?:bb))?)+$/  /^(?:aa(b(?:bb))?)+$/I
2607  Capturing subpattern count = 1  Capturing subpattern count = 1
2608  Options: anchored  Options: anchored
2609  No first char  No first char
2610  No need char  No need char
2611      aabbbaa      aabbbaa
2612   0: aabbbaa   0: aabbbaa
2613   1: bbb   1: bbb
2614    
2615  /^(?:aa(?:b(b))?)+$/  /^(?:aa(?:b(b))?)+$/I
2616  Capturing subpattern count = 1  Capturing subpattern count = 1
2617  Options: anchored  Options: anchored
2618  No first char  No first char
2619  No need char  No need char
2620      aabbaa      aabbaa
2621   0: aabbaa   0: aabbaa
2622   1: b   1: b
2623    
2624  /^(?:aa(?:b(bb))?)+$/  /^(?:aa(?:b(bb))?)+$/I
2625  Capturing subpattern count = 1  Capturing subpattern count = 1
2626  Options: anchored  Options: anchored
2627  No first char  No first char
2628  No need char  No need char
2629      aabbbaa      aabbbaa
2630   0: aabbbaa   0: aabbbaa
2631   1: bb   1: bb
2632    
2633  /^(aa(b(bb))?)+$/  /^(aa(b(bb))?)+$/I
2634  Capturing subpattern count = 3  Capturing subpattern count = 3
2635  Options: anchored  Options: anchored
2636  No first char  No first char
2637  No need char  No need char
2638      aabbbaa      aabbbaa
2639   0: aabbbaa   0: aabbbaa
2640   1: aa   1: aa
2641   2: bbb   2: bbb
2642   3: bb   3: bb
2643    
2644  /^(aa(bb(bb))?)+$/  /^(aa(bb(bb))?)+$/I
2645  Capturing subpattern count = 3  Capturing subpattern count = 3
2646  Options: anchored  Options: anchored
2647  No first char  No first char
2648  No need char  No need char
2649      aabbbbaa      aabbbbaa
2650   0: aabbbbaa   0: aabbbbaa
2651   1: aa   1: aa
2652   2: bbbb   2: bbbb
2653   3: bb   3: bb
2654    
2655  /--------------------------------------------------------------------/  /--------------------------------------------------------------------/I
2656  Capturing subpattern count = 0  Capturing subpattern count = 0
2657  No options  No options
2658  First char = '-'  First char = '-'
2659  Need char = '-'  Need char = '-'
2660    
2661  /#/xMD  /#/IxDZ
 Memory allocation (code space): 7  
2662  ------------------------------------------------------------------  ------------------------------------------------------------------
2663    0   3 Bra 0          Bra
2664    3   3 Ket          Ket
2665    6     End          End
2666  ------------------------------------------------------------------  ------------------------------------------------------------------
2667  Capturing subpattern count = 0  Capturing subpattern count = 0
2668  Options: extended  Options: extended
2669  No first char  No first char
2670  No need char  No need char
2671    
2672  /a#/xMD  /a#/IxDZ
 Memory allocation (code space): 9  
2673  ------------------------------------------------------------------  ------------------------------------------------------------------
2674    0   5 Bra 0          Bra
2675    3     a          a
2676    5   5 Ket          Ket
2677    8     End          End
2678  ------------------------------------------------------------------  ------------------------------------------------------------------
2679  Capturing subpattern count = 0  Capturing subpattern count = 0
2680  Options: extended  Options: extended
2681  First char = 'a'  First char = 'a'
2682  No need char  No need char
2683    
2684  /[\s]/D  /[\s]/DZ
2685  ------------------------------------------------------------------  ------------------------------------------------------------------
2686    0  36 Bra 0          Bra
2687    3     [\x09\x0a\x0c\x0d ]          [\x09\x0a\x0c\x0d ]
2688   36  36 Ket          Ket
2689   39     End          End
2690  ------------------------------------------------------------------  ------------------------------------------------------------------
2691  Capturing subpattern count = 0  Capturing subpattern count = 0
2692  No options  No options
2693  No first char  No first char
2694  No need char  No need char
2695    
2696  /[\S]/D  /[\S]/DZ
2697  ------------------------------------------------------------------  ------------------------------------------------------------------
2698    0  36 Bra 0          Bra
2699    3     [\x00-\x08\x0b\x0e-\x1f!-\xff]          [\x00-\x08\x0b\x0e-\x1f!-\xff] (neg)
2700   36  36 Ket          Ket
2701   39     End          End
2702  ------------------------------------------------------------------  ------------------------------------------------------------------
2703  Capturing subpattern count = 0  Capturing subpattern count = 0
2704  No options  No options
2705  No first char  No first char
2706  No need char  No need char
2707    
2708  /a(?i)b/D  /a(?i)b/DZ
2709  ------------------------------------------------------------------  ------------------------------------------------------------------
2710    0   9 Bra 0          Bra
2711    3     a          a
2712    5  01 Opt       01 Opt
2713    7  NC b       NC b
2714    9   9 Ket          Ket
2715   12     End          End
2716  ------------------------------------------------------------------  ------------------------------------------------------------------
2717  Capturing subpattern count = 0  Capturing subpattern count = 0
2718  No options  No options
 Case state changes  
2719  First char = 'a'  First char = 'a'
2720  Need char = 'b' (caseless)  Need char = 'b' (caseless)
2721      ab      ab
2722   0: ab   0: ab
2723      aB      aB
2724   0: aB   0: aB
2725      *** Failers      *** Failers
2726  No match  No match
2727      AB      AB
2728  No match  No match
2729    
2730  /(a(?i)b)/D  /(a(?i)b)/DZ
2731  ------------------------------------------------------------------  ------------------------------------------------------------------
2732    0  17 Bra 0          Bra
2733    3   9 Bra 1          CBra 1
2734    6     a          a
2735    8  01 Opt       01 Opt
2736   10  NC b       NC b
2737   12   9 Ket          Ket
2738   15  00 Opt       00 Opt
2739   17  17 Ket          Ket
2740   20     End          End
2741  ------------------------------------------------------------------  ------------------------------------------------------------------
2742  Capturing subpattern count = 1  Capturing subpattern count = 1
2743  No options  No options
 Case state changes  
2744  First char = 'a'  First char = 'a'
2745  Need char = 'b' (caseless)  Need char = 'b' (caseless)
2746      ab      ab
# Line 2796  Need char = 'b' (caseless) Line 2749  Need char = 'b' (caseless)
2749      aB      aB
2750   0: aB   0: aB
2751   1: aB   1: aB
2752      *** Failers      *** Failers
2753  No match  No match
2754      AB      AB
2755  No match  No match
2756    
2757  /   (?i)abc/xD  /   (?i)abc/IxDZ
2758  ------------------------------------------------------------------  ------------------------------------------------------------------
2759    0   9 Bra 0          Bra
2760    3  NC abc       NC abc
2761    9   9 Ket          Ket
2762   12     End          End
2763  ------------------------------------------------------------------  ------------------------------------------------------------------
2764  Capturing subpattern count = 0  Capturing subpattern count = 0
2765  Options: caseless extended  Options: caseless extended
# Line 2814  First char = 'a' (caseless) Line 2767  First char = 'a' (caseless)
2767  Need char = 'c' (caseless)  Need char = 'c' (caseless)
2768    
2769  /#this is a comment  /#this is a comment
2770    (?i)abc/xD    (?i)abc/IxDZ
2771  ------------------------------------------------------------------  ------------------------------------------------------------------
2772    0   9 Bra 0          Bra
2773    3  NC abc       NC abc
2774    9   9 Ket          Ket
2775   12     End          End
2776  ------------------------------------------------------------------  ------------------------------------------------------------------
2777  Capturing subpattern count = 0  Capturing subpattern count = 0
2778  Options: caseless extended  Options: caseless extended
2779  First char = 'a' (caseless)  First char = 'a' (caseless)
2780  Need char = 'c' (caseless)  Need char = 'c' (caseless)
2781    
2782  /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/D  /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
2783  ------------------------------------------------------------------  ------------------------------------------------------------------
2784    0 603 Bra 0          Bra
2785    3     123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890          123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
2786  603 603 Ket          Ket
2787  606     End          End
2788  ------------------------------------------------------------------  ------------------------------------------------------------------
2789  Capturing subpattern count = 0  Capturing subpattern count = 0
2790  No options  No options
2791  First char = '1'  First char = '1'
2792  Need char = '0'  Need char = '0'
2793    
2794  /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/D  /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
2795  ------------------------------------------------------------------  ------------------------------------------------------------------
2796    0 603 Bra 0          Bra
2797    3     123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890          123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
2798  603 603 Ket          Ket
2799  606     End          End
2800  ------------------------------------------------------------------  ------------------------------------------------------------------
2801  Capturing subpattern count = 0  Capturing subpattern count = 0
2802  No options  No options
2803  First char = '1'  First char = '1'
2804  Need char = '0'  Need char = '0'
2805    
2806  /\Q\E/D  /\Q\E/DZ
2807  ------------------------------------------------------------------  ------------------------------------------------------------------
2808    0   3 Bra 0          Bra
2809    3   3 Ket          Ket
2810    6     End          End
2811  ------------------------------------------------------------------  ------------------------------------------------------------------
2812  Capturing subpattern count = 0  Capturing subpattern count = 0
2813  No options  No options
# Line 2863  No need char Line 2816  No need char
2816      \      \
2817   0:   0:
2818    
2819  /\Q\Ex/D  /\Q\Ex/DZ
2820  ------------------------------------------------------------------  ------------------------------------------------------------------
2821    0   5 Bra 0          Bra
2822    3     x          x
2823    5   5 Ket          Ket
2824    8     End          End
2825  ------------------------------------------------------------------  ------------------------------------------------------------------
2826  Capturing subpattern count = 0  Capturing subpattern count = 0
2827  No options  No options
2828  First char = 'x'  First char = 'x'
2829  No need char  No need char
2830    
2831  / \Q\E/D  / \Q\E/DZ
2832  ------------------------------------------------------------------  ------------------------------------------------------------------
2833    0   5 Bra 0          Bra
2834    3  
2835    5   5 Ket          Ket
2836    8     End          End
2837  ------------------------------------------------------------------  ------------------------------------------------------------------
2838  Capturing subpattern count = 0  Capturing subpattern count = 0
2839  No options  No options
2840  First char = ' '  First char = ' '
2841  No need char  No need char
2842    
2843  /a\Q\E/D  /a\Q\E/DZ
2844  ------------------------------------------------------------------  ------------------------------------------------------------------
2845    0   5 Bra 0          Bra
2846    3     a          a
2847    5   5 Ket          Ket
2848    8     End          End
2849  ------------------------------------------------------------------  ------------------------------------------------------------------
2850  Capturing subpattern count = 0  Capturing subpattern count = 0
2851  No options  No options
# Line 2902  No need char Line 2855  No need char
2855   0: a   0: a
2856    bca    bca
2857   0: a   0: a
2858    bac    bac
2859   0: a   0: a
2860    
2861  /a\Q\Eb/D  /a\Q\Eb/DZ
2862  ------------------------------------------------------------------  ------------------------------------------------------------------
2863    0   7 Bra 0          Bra
2864    3     ab          ab
2865    7   7 Ket          Ket
2866   10     End          End
2867  ------------------------------------------------------------------  ------------------------------------------------------------------
2868  Capturing subpattern count = 0  Capturing subpattern count = 0
2869  No options  No options
# Line 2919  Need char = 'b' Line 2872  Need char = 'b'
2872    abc    abc
2873   0: ab   0: ab
2874    
2875  /\Q\Eabc/D  /\Q\Eabc/DZ
2876  ------------------------------------------------------------------  ------------------------------------------------------------------
2877    0   9 Bra 0          Bra
2878    3     abc          abc
2879    9   9 Ket          Ket
2880   12     End          End
2881  ------------------------------------------------------------------  ------------------------------------------------------------------
2882  Capturing subpattern count = 0  Capturing subpattern count = 0
2883  No options  No options
2884  First char = 'a'  First char = 'a'
2885  Need char = 'c'  Need char = 'c'
2886    
2887  /x*+\w/D  /x*+\w/DZ
2888  ------------------------------------------------------------------  ------------------------------------------------------------------
2889    0  12 Bra 0          Bra
2890    3   5 Once          x*+
2891    6     x*          \w
2892    8   5 Ket          Ket
2893   11     \w          End
  12  12 Ket  
  15     End  
2894  ------------------------------------------------------------------  ------------------------------------------------------------------
2895  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
2896  No options  No options
2897  No first char  No first char
2898  No need char  No need char
# Line 2950  No need char Line 2900  No need char
2900   0: F   0: F
2901      xxxxx      xxxxx
2902  No match  No match
2903    
2904  /x?+/D  /x?+/DZ
2905  ------------------------------------------------------------------  ------------------------------------------------------------------
2906    0  11 Bra 0          Bra
2907    3   5 Once          x?+
2908    6     x?          Ket
2909    8   5 Ket          End
  11  11 Ket  
  14     End  
2910  ------------------------------------------------------------------  ------------------------------------------------------------------
2911  Capturing subpattern count = 0  Capturing subpattern count = 0
2912  No options  No options
2913  No first char  No first char
2914  No need char  No need char
2915    
2916  /x++/D  /x++/DZ
2917  ------------------------------------------------------------------  ------------------------------------------------------------------
2918    0  11 Bra 0          Bra
2919    3   5 Once          x++
2920    6     x+          Ket
2921    8   5 Ket          End
  11  11 Ket  
  14     End  
2922  ------------------------------------------------------------------  ------------------------------------------------------------------
2923  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
2924  No options  No options
2925  First char = 'x'  First char = 'x'
2926  No need char  No need char
2927    
2928  /x{1,3}+/D  /x{1,3}+/DZ
2929  ------------------------------------------------------------------  ------------------------------------------------------------------
2930    0  15 Bra 0          Bra
2931    3   9 Once          Once
2932    6     x          x
2933    8     x{,2}          x{0,2}
2934   12   9 Ket          Ket
2935   15  15 Ket          Ket
2936   18     End          End
2937  ------------------------------------------------------------------  ------------------------------------------------------------------
2938  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
2939  No options  No options
2940  First char = 'x'  First char = 'x'
2941  No need char  No need char
2942    
2943  /(x)*+/D  /(x)*+/DZ
2944  ------------------------------------------------------------------  ------------------------------------------------------------------
2945    0  18 Bra 0          Bra
2946    3  12 Once          Once
2947    6     Brazero          Brazero
2948    7   5 Bra 1          CBra 1
2949   10     x          x
2950   12   5 KetRmax          KetRmax
2951   15  12 Ket          Ket
2952   18  18 Ket          Ket
2953   21     End          End
2954  ------------------------------------------------------------------  ------------------------------------------------------------------
2955  Capturing subpattern count = 1  Capturing subpattern count = 1
2956  No options  No options
2957  No first char  No first char
2958  No need char  No need char
2959    
2960  /^(\w++|\s++)*$/  /^(\w++|\s++)*$/I
2961  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
2962  Options: anchored  Options: anchored
2963  No first char  No first char
2964  No need char  No need char
# Line 3026  No need char Line 2969  No need char
2969  No match  No match
2970      this is not a line with only words and spaces!      this is not a line with only words and spaces!
2971  No match  No match
2972    
2973  /(\d++)(\w)/  /(\d++)(\w)/I
2974  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
2975  No options  No options
2976  No first char  No first char
2977  No need char  No need char
# Line 3039  No need char Line 2981  No need char
2981   2: a   2: a
2982      *** Failers      *** Failers
2983  No match  No match
2984      12345+      12345+
2985  No match  No match
2986    
2987  /a++b/  /a++b/I
2988  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
2989  No options  No options
2990  First char = 'a'  First char = 'a'
2991  Need char = 'b'  Need char = 'b'
2992      aaab      aaab
2993   0: aaab   0: aaab
2994    
2995  /(a++b)/  /(a++b)/I
2996  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
2997  No options  No options
2998  First char = 'a'  First char = 'a'
2999  Need char = 'b'  Need char = 'b'
# Line 3061  Need char = 'b' Line 3001  Need char = 'b'
3001   0: aaab   0: aaab
3002   1: aaab   1: aaab
3003    
3004  /(a++)b/  /(a++)b/I
3005  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3006  No options  No options
3007  First char = 'a'  First char = 'a'
3008  Need char = 'b'  Need char = 'b'
# Line 3071  Need char = 'b' Line 3010  Need char = 'b'
3010   0: aaab   0: aaab
3011   1: aaa   1: aaa
3012    
3013  /([^()]++|\([^()]*\))+/  /([^()]++|\([^()]*\))+/I
3014  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3015  No options  No options
3016  No first char  No first char
3017  No need char  No need char
3018      ((abc(ade)ufh()()x      ((abc(ade)ufh()()x
3019   0: abc(ade)ufh()()x   0: abc(ade)ufh()()x
3020   1: x   1: x
3021    
3022  /\(([^()]++|\([^()]+\))+\)/  /\(([^()]++|\([^()]+\))+\)/I
3023  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3024  No options  No options
3025  First char = '('  First char = '('
3026  Need char = ')'  Need char = ')'
# Line 3095  Need char = ')' Line 3032  Need char = ')'
3032   1: xyz   1: xyz
3033      *** Failers      *** Failers
3034  No match  No match
3035      ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa      ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
3036  No match  No match
3037    
3038  /(abc){1,3}+/D  /(abc){1,3}+/DZ
3039  ------------------------------------------------------------------  ------------------------------------------------------------------
3040    0  53 Bra 0          Bra
3041    3  47 Once          Once
3042    6   9 Bra 1          CBra 1
3043    9     abc          abc
3044   15   9 Ket          Ket
3045   18     Brazero          Brazero
3046   19  28 Bra 0          Bra
3047   22   9 Bra 1          CBra 1
3048   25     abc          abc
3049   31   9 Ket          Ket
3050   34     Brazero          Brazero
3051   35   9 Bra 1          CBra 1
3052   38     abc          abc
3053   44   9 Ket          Ket
3054   47  28 Ket          Ket
3055   50  47 Ket          Ket
3056   53  53 Ket          Ket
3057   56     End          End
3058  ------------------------------------------------------------------  ------------------------------------------------------------------
3059  Capturing subpattern count = 1  Capturing subpattern count = 1
3060  No options  No options
3061  First char = 'a'  First char = 'a'
3062  Need char = 'c'  Need char = 'c'
3063    
3064  /a+?+/  /a+?+/I
3065  Failed: nothing to repeat at offset 3  Failed: nothing to repeat at offset 3
3066    
3067  /a{2,3}?+b/  /a{2,3}?+b/I
3068  Failed: nothing to repeat at offset 7  Failed: nothing to repeat at offset 7
3069    
3070  /(?U)a+?+/  /(?U)a+?+/I
3071  Failed: nothing to repeat at offset 7  Failed: nothing to repeat at offset 7
3072    
3073  /a{2,3}?+b/U  /a{2,3}?+b/IU
3074  Failed: nothing to repeat at offset 7  Failed: nothing to repeat at offset 7
3075    
3076  /x(?U)a++b/D  /x(?U)a++b/DZ
3077  ------------------------------------------------------------------  ------------------------------------------------------------------
3078    0  15 Bra 0          Bra
3079    3     x          x
3080    5   5 Once          a++
3081    8     a+          b
3082   10   5 Ket          Ket
3083   13     b          End
  15  15 Ket  
  18     End  
3084  ------------------------------------------------------------------  ------------------------------------------------------------------
3085  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3086  No options  No options
3087  First char = 'x'  First char = 'x'
3088  Need char = 'b'  Need char = 'b'
3089      xaaaab      xaaaab
3090   0: xaaaab   0: xaaaab
3091    
3092  /(?U)xa++b/D  /(?U)xa++b/DZ
3093  ------------------------------------------------------------------  ------------------------------------------------------------------
3094    0  15 Bra 0          Bra
3095    3     x          x
3096    5   5 Once          a++
3097    8     a+          b
3098   10   5 Ket          Ket
3099   13     b          End
  15  15 Ket  
  18     End  
3100  ------------------------------------------------------------------  ------------------------------------------------------------------
3101  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3102  Options: ungreedy  Options: ungreedy
3103  First char = 'x'  First char = 'x'
3104  Need char = 'b'  Need char = 'b'
3105      xaaaab      xaaaab
3106   0: xaaaab   0: xaaaab
3107    
3108  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/D  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/DZ
3109  ------------------------------------------------------------------  ------------------------------------------------------------------
3110    0 106 Bra 0          Bra
3111    3     ^          ^
3112    4  99 Bra 1          CBra 1
3113    7   5 Bra 2          CBra 2
3114   10     a+          a+
3115   12   5 Ket          Ket
3116   15  37 Bra 3          CBra 3
3117   18     [ab]+?          [ab]+?
3118   52  37 Ket          Ket
3119   55  37 Bra 4          CBra 4
3120   58     [bc]+          [bc]+
3121   92  37 Ket          Ket
3122   95   5 Bra 5          CBra 5
3123   98     \w*          \w*
3124  100   5 Ket          Ket
3125  103  99 Ket          Ket
3126  106 106 Ket          Ket
3127  109     End          End
3128  ------------------------------------------------------------------  ------------------------------------------------------------------
3129  Capturing subpattern count = 5  Capturing subpattern count = 5
 Partial matching not supported  
3130  Options: anchored  Options: anchored
3131  No first char  No first char
3132  No need char  No need char
3133    
3134  /^x(?U)a+b/D  /^x(?U)a+b/DZ
3135  ------------------------------------------------------------------  ------------------------------------------------------------------
3136    0  10 Bra 0          Bra
3137    3     ^          ^
3138    4     x          x
3139    6     a+?          a++
3140    8     b          b
3141   10  10 Ket          Ket
3142   13     End          End
3143  ------------------------------------------------------------------  ------------------------------------------------------------------
3144  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3145  Options: anchored  Options: anchored
3146  No first char  No first char
3147  Need char = 'b'  Need char = 'b'
3148    
3149  /^x(?U)(a+)b/D  /^x(?U)(a+)b/DZ
3150  ------------------------------------------------------------------  ------------------------------------------------------------------
3151    0  16 Bra 0          Bra
3152    3     ^          ^
3153    4     x          x
3154    6   5 Bra 1          CBra 1
3155    9     a+?          a+?
3156   11   5 Ket          Ket
3157   14     b          b
3158   16  16 Ket          Ket
3159   19     End          End
3160  ------------------------------------------------------------------  ------------------------------------------------------------------
3161  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3162  Options: anchored  Options: anchored
3163  No first char  No first char
3164  Need char = 'b'  Need char = 'b'
3165    
3166  /[.x.]/  /[.x.]/I
3167  Failed: POSIX collating elements are not supported at offset 0  Failed: POSIX collating elements are not supported at offset 0
3168    
3169  /[=x=]/  /[=x=]/I
3170  Failed: POSIX collating elements are not supported at offset 0  Failed: POSIX collating elements are not supported at offset 0
3171    
3172  /[:x:]/  /[:x:]/I
3173  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
3174    
3175  /\l/  /\l/I
3176  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1
3177    
3178  /\L/  /\L/I
3179  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1
3180    
3181  /\N{name}/  /\N{name}/I
3182  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1
3183    
3184  /\u/  /\u/I
3185  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1
3186    
3187  /\U/  /\U/I
3188  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1
3189    
3190  /[/  /[/I
3191  Failed: missing terminating ] for character class at offset 1  Failed: missing terminating ] for character class at offset 1
3192    
3193  /[a-/  /[a-/I
3194  Failed: missing terminating ] for character class at offset 3  Failed: missing terminating ] for character class at offset 3
3195    
3196  /[[:space:]/  /[[:space:]/I
3197  Failed: missing terminating ] for character class at offset 10  Failed: missing terminating ] for character class at offset 10
3198    
3199  /[\s]/DM  /[\s]/IDZ
 Memory allocation (code space): 40  
3200  ------------------------------------------------------------------  ------------------------------------------------------------------
3201    0  36 Bra 0          Bra
3202    3     [\x09\x0a\x0c\x0d ]          [\x09\x0a\x0c\x0d ]
3203   36  36 Ket          Ket
3204   39     End          End
3205  ------------------------------------------------------------------  ------------------------------------------------------------------
3206  Capturing subpattern count = 0  Capturing subpattern count = 0
3207  No options  No options
3208  No first char  No first char
3209  No need char  No need char
3210    
3211  /[[:space:]]/DM  /[[:space:]]/IDZ
 Memory allocation (code space): 40  
3212  ------------------------------------------------------------------  ------------------------------------------------------------------
3213    0  36 Bra 0          Bra
3214    3     [\x09-\x0d ]          [\x09-\x0d ]
3215   36  36 Ket          Ket
3216   39     End          End
3217  ------------------------------------------------------------------  ------------------------------------------------------------------
3218  Capturing subpattern count = 0  Capturing subpattern count = 0
3219  No options  No options
3220  No first char  No first char
3221  No need char  No need char
3222    
3223  /[[:space:]abcde]/DM  /[[:space:]abcde]/IDZ
 Memory allocation (code space): 40  
3224  ------------------------------------------------------------------  ------------------------------------------------------------------
3225    0  36 Bra 0          Bra
3226    3     [\x09-\x0d a-e]          [\x09-\x0d a-e]
3227   36  36 Ket          Ket
3228   39     End          End
3229  ------------------------------------------------------------------  ------------------------------------------------------------------
3230  Capturing subpattern count = 0  Capturing subpattern count = 0
3231  No options  No options
3232  No first char  No first char
3233  No need char  No need char
3234    
3235  /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/x  /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/Ix
3236  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3237  Options: extended  Options: extended
3238  First char = '<'  First char = '<'
3239  Need char = '>'  Need char = '>'
# Line 3321  Need char = '>' Line 3245  Need char = '>'
3245   0: <abc <123> hij>   0: <abc <123> hij>
3246      <abc <def> hij>      <abc <def> hij>
3247   0: <def>   0: <def>
3248      <abc<>def>      <abc<>def>
3249   0: <abc<>def>   0: <abc<>def>
3250      <abc<>      <abc<>
3251   0: <>   0: <>
3252      *** Failers      *** Failers
3253  No match  No match
3254      <abc      <abc
3255  No match  No match
3256    
3257  |8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|DM  |8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|IDZ
 Memory allocation (code space): 826  
3258  ------------------------------------------------------------------  ------------------------------------------------------------------
3259    0 822 Bra 0          Bra
3260    3     8J$WE<.rX+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDD<EjmhUZ?.akp2dF>qmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X          8J$WE<.rX+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDD<EjmhUZ?.akp2dF>qmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X
3261  821     \b          \b
3262  822 822 Ket          Ket
3263  825     End          End
3264  ------------------------------------------------------------------  ------------------------------------------------------------------
3265  Capturing subpattern count = 0  Capturing subpattern count = 0
3266  No options  No options
3267  First char = '8'  First char = '8'
3268  Need char = 'X'  Need char = 'X'
3269    
3270  |\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|DM  |\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|IDZ
 Memory allocation (code space): 816  
3271  ------------------------------------------------------------------  ------------------------------------------------------------------
3272    0 812 Bra 0          Bra
3273    3     $<.X+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDD<EjmhUZ?.akp2dF>qmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X          $<.X+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDD<EjmhUZ?.akp2dF>qmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X
3274  811     \b          \b
3275  812 812 Ket          Ket
3276  815     End          End
3277  ------------------------------------------------------------------  ------------------------------------------------------------------
3278  Capturing subpattern count = 0  Capturing subpattern count = 0
3279  No options  No options
# Line 3361  Need char = 'X' Line 3283  Need char = 'X'
3283  /(.*)\d+\1/I  /(.*)\d+\1/I
3284  Capturing subpattern count = 1  Capturing subpattern count = 1
3285  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
3286  No options  No options
3287  No first char  No first char
3288  No need char  No need char
3289    
3290  /(.*)\d+/I  /(.*)\d+/I
3291  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3292  No options  No options
3293  First char at start or follows \n  First char at start or follows newline
3294  No need char  No need char
3295    
3296  /(.*)\d+\1/Is  /(.*)\d+\1/Is
3297  Capturing subpattern count = 1  Capturing subpattern count = 1
3298  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
3299  Options: dotall  Options: dotall
3300  No first char  No first char
3301  No need char  No need char
3302    
3303  /(.*)\d+/Is  /(.*)\d+/Is
3304  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3305  Options: anchored dotall  Options: anchored dotall
3306  No first char  No first char
3307  No need char  No need char
# Line 3391  No need char Line 3309  No need char
3309  /(.*(xyz))\d+\2/I  /(.*(xyz))\d+\2/I
3310  Capturing subpattern count = 2  Capturing subpattern count = 2
3311  Max back reference = 2  Max back reference = 2
 Partial matching not supported  
3312  No options  No options
3313  First char at start or follows \n  First char at start or follows newline
3314  Need char = 'z'  Need char = 'z'
3315    
3316  /((.*))\d+\1/I  /((.*))\d+\1/I
3317  Capturing subpattern count = 2  Capturing subpattern count = 2
3318  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
3319  No options  No options
3320  No first char  No first char
3321  No need char  No need char
# Line 3407  No need char Line 3323  No need char
3323   0: bc123bc   0: bc123bc
3324   1: bc   1: bc
3325   2: bc   2: bc
3326    
3327  /a[b]/I  /a[b]/I
3328  Capturing subpattern count = 0  Capturing subpattern count = 0
3329  No options  No options
# Line 3416  Need char = 'b' Line 3332  Need char = 'b'
3332    
3333  /(?=a).*/I  /(?=a).*/I
3334  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3335  No options  No options
3336  First char = 'a'  First char = 'a'
3337  No need char  No need char
3338    
3339  /(?=abc).xyz/iI  /(?=abc).xyz/IiI
3340  Capturing subpattern count = 0  Capturing subpattern count = 0
3341  Options: caseless  Options: caseless
3342  First char = 'a' (caseless)  First char = 'a' (caseless)
# Line 3430  Need char = 'z' (caseless) Line 3345  Need char = 'z' (caseless)
3345  /(?=abc)(?i).xyz/I  /(?=abc)(?i).xyz/I
3346  Capturing subpattern count = 0  Capturing subpattern count = 0
3347  No options  No options
 Case state changes  
3348  First char = 'a'  First char = 'a'
3349  Need char = 'z' (caseless)  Need char = 'z' (caseless)
3350    
# Line 3464  No options Line 3378  No options
3378  No first char  No first char
3379  Need char = 'a'  Need char = 'a'
3380    
3381  /(?(1)ab|ac)/I  /(?(1)ab|ac)(.)/I
3382  Capturing subpattern count = 0  Capturing subpattern count = 1
3383  No options  No options
3384  First char = 'a'  First char = 'a'
3385  No need char  No need char
3386    
3387  /(?(1)abz|acz)/I  /(?(1)abz|acz)(.)/I
3388  Capturing subpattern count = 0  Capturing subpattern count = 1
3389  No options  No options
3390  First char = 'a'  First char = 'a'
3391  Need char = 'z'  Need char = 'z'
3392    
3393  /(?(1)abz)/I  /(?(1)abz)(.)/I
3394  Capturing subpattern count = 0  Capturing subpattern count = 1
3395  No options  No options
3396  No first char  No first char
3397  No need char  No need char
3398    
3399  /(?(1)abz)123/I  /(?(1)abz)(1)23/I
3400  Capturing subpattern count = 0  Capturing subpattern count = 1
3401  No options  No options
3402  No first char  No first char
3403  Need char = '3'  Need char = '3'
# Line 3523  Capturing subpattern count = 0 Line 3437  Capturing subpattern count = 0
3437  No options  No options
3438  No first char  No first char
3439  No need char  No need char
3440    Subject length lower bound = 1
3441  Starting byte set: a b  Starting byte set: a b
3442    
3443  /[^a]/I  /[^a]/I
# Line 3542  Capturing subpattern count = 0 Line 3457  Capturing subpattern count = 0
3457  No options  No options
3458  No first char  No first char
3459  Need char = '6'  Need char = '6'
3460    Subject length lower bound = 4
3461  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
3462    
3463  /a^b/I  /a^b/I
# Line 3550  No options Line 3466  No options
3466  First char = 'a'  First char = 'a'
3467  Need char = 'b'  Need char = 'b'
3468    
3469  /^a/mI  /^a/Im
3470  Capturing subpattern count = 0  Capturing subpattern count = 0
3471  Options: multiline  Options: multiline
3472  First char at start or follows \n  First char at start or follows newline
3473  Need char = 'a'  Need char = 'a'
3474    abcde    abcde
3475   0: a   0: a
3476    xy\nabc    xy\nabc
3477   0: a   0: a
3478    *** Failers    *** Failers
3479  No match  No match
3480    xyabc    xyabc
3481  No match  No match
3482    
3483  /c|abc/I  /c|abc/I
# Line 3575  Capturing subpattern count = 0 Line 3491  Capturing subpattern count = 0
3491  Options: caseless  Options: caseless
3492  No first char  No first char
3493  No need char  No need char
3494    Subject length lower bound = 1
3495  Starting byte set: A B a b  Starting byte set: A B a b
3496    
3497  /[ab](?i)cd/IS  /[ab](?i)cd/IS
3498  Capturing subpattern count = 0  Capturing subpattern count = 0
3499  No options  No options
 Case state changes  
3500  No first char  No first char
3501  Need char = 'd' (caseless)  Need char = 'd' (caseless)
3502    Subject length lower bound = 3
3503  Starting byte set: a b  Starting byte set: a b
3504    
3505  /abc(?C)def/  /abc(?C)def/I
3506  Capturing subpattern count = 0  Capturing subpattern count = 0
3507  No options  No options
3508  First char = 'a'  First char = 'a'
# Line 3594  Need char = 'f' Line 3511  Need char = 'f'
3511  --->abcdef  --->abcdef
3512    0 ^  ^       d    0 ^  ^       d
3513   0: abcdef   0: abcdef
3514      1234abcdef      1234abcdef
3515  --->1234abcdef  --->1234abcdef
3516    0     ^  ^       d    0     ^  ^       d
3517   0: abcdef   0: abcdef
# Line 3602  Need char = 'f' Line 3519  Need char = 'f'
3519  No match  No match
3520      abcxyz      abcxyz
3521  No match  No match
3522      abcxyzf      abcxyzf
3523  --->abcxyzf  --->abcxyzf
3524    0 ^  ^        d    0 ^  ^        d
3525  No match  No match
3526    
3527  /abc(?C)de(?C1)f/  /abc(?C)de(?C1)f/I
3528  Capturing subpattern count = 0  Capturing subpattern count = 0
3529  No options  No options
3530  First char = 'a'  First char = 'a'
# Line 3617  Need char = 'f' Line 3534  Need char = 'f'
3534    0    ^  ^       d    0    ^  ^       d
3535    1    ^    ^     f    1    ^    ^     f
3536   0: abcdef   0: abcdef
3537    
3538  /(?C1)\dabc(?C2)def/  /(?C1)\dabc(?C2)def/I
3539  Capturing subpattern count = 0  Capturing subpattern count = 0
3540  No options  No options
3541  No first char  No first char
# Line 3633  Need char = 'f' Line 3550  Need char = 'f'
3550   0: 4abcdef   0: 4abcdef
3551      *** Failers      *** Failers
3552  No match  No match
3553      abcdef      abcdef
3554  --->abcdef  --->abcdef
3555    1 ^          \d    1 ^          \d
3556    1  ^         \d    1  ^         \d
# Line 3642  No match Line 3559  No match
3559    1     ^      \d    1     ^      \d
3560    1      ^     \d    1      ^     \d
3561  No match  No match
3562    
3563  /(?C255)ab/  /(?C255)ab/I
3564  Capturing subpattern count = 0  Capturing subpattern count = 0
3565  No options  No options
3566  First char = 'a'  First char = 'a'
3567  Need char = 'b'  Need char = 'b'
3568    
3569  /(?C256)ab/  /(?C256)ab/I
3570  Failed: number after (?C is > 255 at offset 6  Failed: number after (?C is > 255 at offset 6
3571    
3572  /(?Cab)xx/  /(?Cab)xx/I
3573  Failed: closing ) for (?C expected at offset 3  Failed: closing ) for (?C expected at offset 3
3574    
3575  /(?C12vr)x/  /(?C12vr)x/I
3576  Failed: closing ) for (?C expected at offset 5  Failed: closing ) for (?C expected at offset 5
3577    
3578  /abc(?C)def/  /abc(?C)def/I
3579  Capturing subpattern count = 0  Capturing subpattern count = 0
3580  No options  No options
3581  First char = 'a'  First char = 'a'
# Line 3670  No match Line 3587  No match
3587    0         ^  ^       d    0         ^  ^       d
3588   0: abcdef   0: abcdef
3589    
3590  /(abc)(?C)de(?C1)f/  /(abc)(?C)de(?C1)f/I
3591  Capturing subpattern count = 1  Capturing subpattern count = 1
3592  No options  No options
3593  First char = 'a'  First char = 'a'
# Line 3681  Need char = 'f' Line 3598  Need char = 'f'
3598    1    ^    ^     f    1    ^    ^     f
3599   0: abcdef   0: abcdef
3600   1: abc   1: abc
3601      123abcdef\C+      123abcdef\C+
3602  Callout 0: last capture = 1  Callout 0: last capture = 1
3603   0: <unset>   0: <unset>
3604   1: abc   1: abc
# Line 3694  Callout 1: last capture = 1 Line 3611  Callout 1: last capture = 1
3611         ^    ^     f         ^    ^     f
3612   0: abcdef   0: abcdef
3613   1: abc   1: abc
3614      123abcdef\C-      123abcdef\C-
3615   0: abcdef   0: abcdef
3616   1: abc   1: abc
3617      *** Failers      *** Failers
3618  No match  No match
3619      123abcdef\C!1      123abcdef\C!1
3620  --->123abcdef  --->123abcdef
3621    0    ^  ^       d    0    ^  ^       d
3622    1    ^    ^     f    1    ^    ^     f
3623  No match  No match
3624    
3625  /(?C0)(abc(?C1))*/  /(?C0)(abc(?C1))*/I
3626  Capturing subpattern count = 1  Capturing subpattern count = 1
3627  No options  No options
3628  No first char  No first char
# Line 3718  No need char Line 3635  No need char
3635    1 ^        ^    )    1 ^        ^    )
3636   0: abcabcabc   0: abcabcabc
3637   1: abc   1: abc
3638      abcabc\C!1!3      abcabc\C!1!3
3639  --->abcabc  --->abcabc
3640    0 ^          (abc(?C1))*    0 ^          (abc(?C1))*
3641    1 ^  ^       )    1 ^  ^       )
# Line 3729  No need char Line 3646  No need char
3646  --->*** Failers  --->*** Failers
3647    0 ^               (abc(?C1))*    0 ^               (abc(?C1))*
3648   0:   0:
3649      abcabcabc\C!1!3      abcabcabc\C!1!3
3650  --->abcabcabc  --->abcabcabc
3651    0 ^             (abc(?C1))*    0 ^             (abc(?C1))*
3652    1 ^  ^          )    1 ^  ^          )
# Line 3738  No need char Line 3655  No need char
3655   0: abcabc   0: abcabc
3656   1: abc   1: abc
3657    
3658  /(\d{3}(?C))*/  /(\d{3}(?C))*/I
3659  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3660  No options  No options
3661  No first char  No first char
3662  No need char  No need char
# Line 3763  Callout 0: last capture = 1 Line 3679  Callout 0: last capture = 1
3679      ^     ^    )      ^     ^    )
3680   0: 123456   0: 123456
3681   1: 456   1: 456
3682      123456789\C+      123456789\C+
3683  Callout 0: last capture = -1  Callout 0: last capture = -1
3684   0: <unset>   0: <unset>
3685  --->123456789  --->123456789
# Line 3781  Callout 0: last capture = 1 Line 3697  Callout 0: last capture = 1
3697   0: 123456789   0: 123456789
3698   1: 789   1: 789
3699    
3700  /((xyz)(?C)p|(?C1)xyzabc)/  /((xyz)(?C)p|(?C1)xyzabc)/I
3701  Capturing subpattern count = 2  Capturing subpattern count = 2
3702  No options  No options
3703  First char = 'x'  First char = 'x'
# Line 3800  Callout 1: last capture = -1 Line 3716  Callout 1: last capture = -1
3716   0: xyzabc   0: xyzabc
3717   1: xyzabc   1: xyzabc
3718    
3719  /(X)((xyz)(?C)p|(?C1)xyzabc)/  /(X)((xyz)(?C)p|(?C1)xyzabc)/I
3720  Capturing subpattern count = 3  Capturing subpattern count = 3
3721  No options  No options
3722  First char = 'X'  First char = 'X'
# Line 3822  Callout 1: last capture = 1 Line 3738  Callout 1: last capture = 1
3738   1: X   1: X
3739   2: xyzabc   2: xyzabc
3740    
3741  /(?=(abc))(?C)abcdef/  /(?=(abc))(?C)abcdef/I
3742  Capturing subpattern count = 1  Capturing subpattern count = 1
3743  No options  No options
3744  First char = 'a'  First char = 'a'
# Line 3835  Callout 0: last capture = 1 Line 3751  Callout 0: last capture = 1
3751      ^          a      ^          a
3752   0: abcdef   0: abcdef
3753   1: abc   1: abc
3754    
3755  /(?!(abc)(?C1)d)(?C2)abcxyz/  /(?!(abc)(?C1)d)(?C2)abcxyz/I
3756  Capturing subpattern count = 1  Capturing subpattern count = 1
3757  No options  No options
3758  First char = 'a'  First char = 'a'
3759  Need char = 'z'  Need char = 'z'
3760      abcxyz\C+      abcxyz\C+
3761  Callout 1: last capture = 1  Callout 1: last capture = 1
3762   0: <unset>   0: <unset>
3763   1: abc   1: abc
# Line 3853  Callout 2: last capture = -1 Line 3769  Callout 2: last capture = -1
3769      ^          a      ^          a
3770   0: abcxyz   0: abcxyz
3771    
3772  /(?<=(abc)(?C))xyz/  /(?<=(abc)(?C))xyz/I
3773  Capturing subpattern count = 1  Capturing subpattern count = 1
3774  No options  No options
3775  First char = 'x'  First char = 'x'
# Line 3866  Callout 0: last capture = 1 Line 3782  Callout 0: last capture = 1
3782         ^       )         ^       )
3783   0: xyz   0: xyz
3784   1: abc   1: abc
3785    
3786  /a(b+)(c*)(?C1)/  /a(b+)(c*)(?C1)/I
3787  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
3788  No options  No options
3789  First char = 'a'  First char = 'a'
3790  Need char = 'b'  Need char = 'b'
# Line 3893  Callout data = 1 Line 3808  Callout data = 1
3808  Callout data = 1  Callout data = 1
3809  No match  No match
3810    
3811  /a(b+?)(c*?)(?C1)/  /a(b+?)(c*?)(?C1)/I
3812  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
3813  No options  No options
3814  First char = 'a'  First char = 'a'
3815  Need char = 'b'  Need char = 'b'
# Line 3918  Callout data = 1 Line 3832  Callout data = 1
3832    1 ^        ^    1 ^        ^
3833  Callout data = 1  Callout data = 1
3834  No match  No match
3835    
3836  /(?C)abc/  /(?C)abc/I
3837  Capturing subpattern count = 0  Capturing subpattern count = 0
3838  No options  No options
3839  First char = 'a'  First char = 'a'
3840  Need char = 'c'  Need char = 'c'
3841    
3842  /(?C)^abc/  /(?C)^abc/I
3843  Capturing subpattern count = 0  Capturing subpattern count = 0
3844  Options: anchored  Options: anchored
3845  No first char  No first char
3846  No need char  No need char
3847    
3848  /(?C)a|b/S  /(?C)a|b/IS
3849  Capturing subpattern count = 0  Capturing subpattern count = 0
3850  No options  No options
3851  No first char  No first char
3852  No need char  No need char
3853    Subject length lower bound = 1
3854  Starting byte set: a b  Starting byte set: a b
3855    
3856  /(?R)/  /(?R)/I
3857  Failed: recursive call could loop indefinitely at offset 3  Failed: recursive call could loop indefinitely at offset 3
3858    
3859  /(a|(?R))/  /(a|(?R))/I
3860  Failed: recursive call could loop indefinitely at offset 6  Failed: recursive call could loop indefinitely at offset 6
3861    
3862  /(ab|(bc|(de|(?R))))/  /(ab|(bc|(de|(?R))))/I
3863  Failed: recursive call could loop indefinitely at offset 15  Failed: recursive call could loop indefinitely at offset 15
3864    
3865  /x(ab|(bc|(de|(?R))))/  /x(ab|(bc|(de|(?R))))/I
3866  Capturing subpattern count = 3  Capturing subpattern count = 3
3867  No options  No options
3868  First char = 'x'  First char = 'x'
# Line 3976  No need char Line 3891  No need char
3891   3: xxab   3: xxab
3892      *** Failers      *** Failers
3893  No match  No match
3894      xyab      xyab
3895  No match  No match
3896    
3897  /(ab|(bc|(de|(?1))))/  /(ab|(bc|(de|(?1))))/I
3898  Failed: recursive call could loop indefinitely at offset 15  Failed: recursive call could loop indefinitely at offset 15
3899    
3900  /x(ab|(bc|(de|(?1)x)x)x)/  /x(ab|(bc|(de|(?1)x)x)x)/I
3901  Failed: recursive call could loop indefinitely at offset 16  Failed: recursive call could loop indefinitely at offset 16
3902    
3903  /^([^()]|\((?1)*\))*$/  /^([^()]|\((?1)*\))*$/I
3904  Capturing subpattern count = 1  Capturing subpattern count = 1
3905  Options: anchored  Options: anchored
3906  No first char  No first char
# Line 3996  No need char Line 3911  No need char
3911      a(b)c      a(b)c
3912   0: a(b)c   0: a(b)c
3913   1: c   1: c
3914      a(b(c))d      a(b(c))d
3915   0: a(b(c))d   0: a(b(c))d
3916   1: d   1: d
3917      *** Failers)      *** Failers)
3918  No match  No match
3919      a(b(c)d      a(b(c)d
3920  No match  No match
3921    
3922  /^>abc>([^()]|\((?1)*\))*<xyz<$/  /^>abc>([^()]|\((?1)*\))*<xyz<$/I
3923  Capturing subpattern count = 1  Capturing subpattern count = 1
3924  Options: anchored  Options: anchored
3925  No first char  No first char
# Line 4019  Need char = '<' Line 3934  Need char = '<'
3934   0: >abc>(1(2)3)<xyz<   0: >abc>(1(2)3)<xyz<
3935   1: (1(2)3)   1: (1(2)3)
3936    
3937  /(a(?1)b)/D  /(a(?1)b)/DZ
3938  ------------------------------------------------------------------  ------------------------------------------------------------------
3939    0  22 Bra 0          Bra
3940    3  16 Bra 1          CBra 1
3941    6     a          a
3942    8   6 Once          Once
3943   11   3 Recurse          Recurse
3944   14   6 Ket          Ket
3945   17     b          b
3946   19  16 Ket          Ket
3947   22  22 Ket          Ket
3948   25     End          End
3949  ------------------------------------------------------------------  ------------------------------------------------------------------
3950  Capturing subpattern count = 1  Capturing subpattern count = 1
3951  No options  No options
3952  First char = 'a'  First char = 'a'
3953  Need char = 'b'  Need char = 'b'
3954    
3955  /(a(?1)+b)/D  /(a(?1)+b)/DZ
3956  ------------------------------------------------------------------  ------------------------------------------------------------------
3957    0  22 Bra 0          Bra
3958    3  16 Bra 1          CBra 1
3959    6     a          a
3960    8   6 Once          Once
3961   11   3 Recurse          Recurse
3962   14   6 KetRmax          KetRmax
3963   17     b          b
3964   19  16 Ket          Ket
3965   22  22 Ket          Ket
3966   25     End          End
3967  ------------------------------------------------------------------  ------------------------------------------------------------------
3968  Capturing subpattern count = 1  Capturing subpattern count = 1
3969  No options  No options
3970  First char = 'a'  First char = 'a'
3971  Need char = 'b'  Need char = 'b'
3972    
3973  /^\W*(?:((.)\W*(?1)\W*\2|)|((.)\W*(?3)\W*\4|\W*.\W*))\W*$/i  /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I
 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  
   
 /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/  
3974  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
3975  Options: anchored  Options: anchored
3976  No first char  No first char
3977  No need char  No need char
# Line 4109  No need char Line 3989  No need char
3989  No match  No match
3990      ((2+2)*-3)-7)      ((2+2)*-3)-7)
3991  No match  No match
3992    
3993  /^(x(y|(?1){2})z)/  /^(x(y|(?1){2})z)/I
3994  Capturing subpattern count = 2  Capturing subpattern count = 2
3995  Options: anchored  Options: anchored
3996  No first char  No first char
# Line 4119  No need char Line 3999  No need char
3999   0: xyz   0: xyz
4000   1: xyz   1: xyz
4001   2: y   2: y
4002      xxyzxyzz      xxyzxyzz
4003   0: xxyzxyzz   0: xxyzxyzz
4004   1: xxyzxyzz   1: xxyzxyzz
4005   2: xyzxyz   2: xyzxyz
# Line 4127  No need char Line 4007  No need char
4007  No match  No match
4008      xxyzz      xxyzz
4009  No match  No match
4010      xxyzxyzxyzz      xxyzxyzxyzz
4011  No match  No match
4012    
4013  /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/x  /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/Ix
4014  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
4015  Options: extended  Options: extended
4016  First char = '<'  First char = '<'
4017  Need char = '>'  Need char = '>'
# Line 4152  Need char = '>' Line 4031  Need char = '>'
4031   0: <def>   0: <def>
4032   1: <def>   1: <def>
4033   2: <def>   2: <def>
4034      <abc<>def>      <abc<>def>
4035   0: <abc<>def>   0: <abc<>def>
4036   1: <abc<>def>   1: <abc<>def>
4037   2: <abc<>def>   2: <abc<>def>
4038      <abc<>      <abc<>
4039   0: <>   0: <>
4040   1: <>   1: <>
4041   2: <>   2: <>
# Line 4165  No match Line 4044  No match
4044      <abc      <abc
4045  No match  No match
4046    
4047  /(?1)/  /(?1)/I
4048  Failed: reference to non-existent subpattern at offset 3  Failed: reference to non-existent subpattern at offset 3
4049    
4050  /((?2)(abc)/  /((?2)(abc)/I
4051  Failed: reference to non-existent subpattern at offset 4  Failed: missing ) at offset 10
4052    
4053  /^(abc)def(?1)/  /^(abc)def(?1)/I
4054  Capturing subpattern count = 1  Capturing subpattern count = 1
4055  Options: anchored  Options: anchored
4056  No first char  No first char
# Line 4180  No need char Line 4059  No need char
4059   0: abcdefabc   0: abcdefabc
4060   1: abc   1: abc
4061    
4062  /^(a|b|c)=(?1)+/  /^(a|b|c)=(?1)+/I
4063  Capturing subpattern count = 1  Capturing subpattern count = 1
4064  Options: anchored  Options: anchored
4065  No first char  No first char
# Line 4191  No need char Line 4070  No need char
4070      a=b      a=b
4071   0: a=b   0: a=b
4072   1: a   1: a
4073      a=bc      a=bc
4074   0: a=bc   0: a=bc
4075   1: a   1: a
4076    
4077  /^(a|b|c)=((?1))+/  /^(a|b|c)=((?1))+/I
4078  Capturing subpattern count = 2  Capturing subpattern count = 2
4079  Options: anchored  Options: anchored
4080  No first char  No first char
# Line 4208  No need char Line 4087  No need char
4087   0: a=b   0: a=b
4088   1: a   1: a
4089   2: b   2: b
4090      a=bc      a=bc
4091   0: a=bc   0: a=bc
4092   1: a   1: a
4093   2: c   2: c
4094    
4095  /a(?P<name1>b|c)d(?P<longername2>e)/D  /a(?P<name1>b|c)d(?P<longername2>e)/DZ
4096  ------------------------------------------------------------------  ------------------------------------------------------------------
4097    0  28 Bra 0          Bra
4098    3     a          a
4099    5   5 Bra 1          CBra 1
4100    8     b          b
4101   10   5 Alt          Alt
4102   13     c          c
4103   15  10 Ket          Ket
4104   18     d          d
4105   20   5 Bra 2          CBra 2
4106   23     e          e
4107   25   5 Ket          Ket
4108   28  28 Ket          Ket
4109   31     End          End
4110  ------------------------------------------------------------------  ------------------------------------------------------------------
4111  Capturing subpattern count = 2  Capturing subpattern count = 2
4112  Named capturing subpatterns:  Named capturing subpatterns:
# Line 4240  Need char = 'e' Line 4119  Need char = 'e'
4119   0: abde   0: abde
4120   1: b   1: b
4121   2: e   2: e
4122      acde      acde
4123   0: acde   0: acde
4124   1: c   1: c
4125   2: e   2: e
4126    
4127  /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/D  /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/DZ
4128  ------------------------------------------------------------------  ------------------------------------------------------------------
4129    0  35 Bra 0          Bra
4130    3  21 Bra 0          Bra
4131    6     a          a
4132    8  13 Bra 1          CBra 1
4133   11     c          c
4134   13   5 Bra 2          CBra 2
4135   16     d          d
4136   18   5 Ket          Ket
4137   21  13 Ket          Ket
4138   24  21 Ket          Ket
4139   27   5 Bra 3          CBra 3
4140   30     a          a