upload http
[bottlenecks.git] / rubbos / app / httpd-2.0.64 / srclib / pcre / testdata / testoutput2
1 PCRE version 3.9 02-Jan-2002
2
3 /(a)b|/
4 Capturing subpattern count = 1
5 No options
6 No first char
7 No need char
8
9 /abc/
10 Capturing subpattern count = 0
11 No options
12 First char = 'a'
13 Need char = 'c'
14     abc
15  0: abc
16     defabc
17  0: abc
18     \Aabc
19  0: abc
20     *** Failers
21 No match
22     \Adefabc
23 No match
24     ABC
25 No match
26
27 /^abc/
28 Capturing subpattern count = 0
29 Options: anchored
30 No first char
31 Need char = 'c'
32     abc
33  0: abc
34     \Aabc
35  0: abc
36     *** Failers
37 No match
38     defabc
39 No match
40     \Adefabc
41 No match
42
43 /a+bc/
44 Capturing subpattern count = 0
45 No options
46 First char = 'a'
47 Need char = 'c'
48
49 /a*bc/
50 Capturing subpattern count = 0
51 No options
52 No first char
53 Need char = 'c'
54
55 /a{3}bc/
56 Capturing subpattern count = 0
57 No options
58 First char = 'a'
59 Need char = 'c'
60
61 /(abc|a+z)/
62 Capturing subpattern count = 1
63 No options
64 First char = 'a'
65 No need char
66
67 /^abc$/
68 Capturing subpattern count = 0
69 Options: anchored
70 No first char
71 Need char = 'c'
72     abc
73  0: abc
74     *** Failers
75 No match
76     def\nabc
77 No match
78
79 /ab\gdef/X
80 Failed: unrecognized character follows \ at offset 3
81
82 /(?X)ab\gdef/X
83 Failed: unrecognized character follows \ at offset 7
84
85 /x{5,4}/
86 Failed: numbers out of order in {} quantifier at offset 5
87
88 /z{65536}/
89 Failed: number too big in {} quantifier at offset 7
90
91 /[abcd/
92 Failed: missing terminating ] for character class at offset 5
93
94 /[\B]/
95 Failed: invalid escape sequence in character class at offset 2
96
97 /[z-a]/
98 Failed: range out of order in character class at offset 3
99
100 /^*/
101 Failed: nothing to repeat at offset 1
102
103 /(abc/
104 Failed: missing ) at offset 4
105
106 /(?# abc/
107 Failed: missing ) after comment at offset 7
108
109 /(?z)abc/
110 Failed: unrecognized character after (? at offset 2
111
112 /.*b/
113 Capturing subpattern count = 0
114 No options
115 First char at start or follows \n
116 Need char = 'b'
117
118 /.*?b/
119 Capturing subpattern count = 0
120 No options
121 First char at start or follows \n
122 Need char = 'b'
123
124 /cat|dog|elephant/
125 Capturing subpattern count = 0
126 No options
127 No first char
128 No need char
129     this sentence eventually mentions a cat
130  0: cat
131     this sentences rambles on and on for a while and then reaches elephant
132  0: elephant
133
134 /cat|dog|elephant/S
135 Capturing subpattern count = 0
136 No options
137 No first char
138 No need char
139 Starting character set: c d e 
140     this sentence eventually mentions a cat
141  0: cat
142     this sentences rambles on and on for a while and then reaches elephant
143  0: elephant
144
145 /cat|dog|elephant/iS
146 Capturing subpattern count = 0
147 Options: caseless
148 No first char
149 No need char
150 Starting character set: C D E c d e 
151     this sentence eventually mentions a CAT cat
152  0: CAT
153     this sentences rambles on and on for a while to elephant ElePhant
154  0: elephant
155
156 /a|[bcd]/S
157 Capturing subpattern count = 0
158 No options
159 No first char
160 No need char
161 Starting character set: a b c d 
162
163 /(a|[^\dZ])/S
164 Capturing subpattern count = 1
165 No options
166 No first char
167 No need char
168 Starting character set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a 
169   \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 
170   \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = > 
171   ? @ 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 [ \ ] ^ _ ` a b c d 
172   e f g h i j k l m n o p q r s t u v w x y z { | } ~ \x7f \x80 \x81 \x82 \x83 
173   \x84 \x85 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f \x90 \x91 \x92 
174   \x93 \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e \x9f \xa0 \xa1 
175   \xa2 \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae \xaf \xb0 
176   \xb1 \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd \xbe \xbf 
177   \xc0 \xc1 \xc2 \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc \xcd \xce 
178   \xcf \xd0 \xd1 \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb \xdc \xdd 
179   \xde \xdf \xe0 \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb \xec 
180   \xed \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb 
181   \xfc \xfd \xfe \xff 
182
183 /(a|b)*[\s]/S
184 Capturing subpattern count = 1
185 No options
186 No first char
187 No need char
188 Starting character set: \x09 \x0a \x0b \x0c \x0d \x20 a b 
189
190 /(ab\2)/
191 Failed: back reference to non-existent subpattern at offset 6
192
193 /{4,5}abc/
194 Failed: nothing to repeat at offset 4
195
196 /(a)(b)(c)\2/
197 Capturing subpattern count = 3
198 Max back reference = 2
199 No options
200 First char = 'a'
201 Need char = 'c'
202     abcb
203  0: abcb
204  1: a
205  2: b
206  3: c
207     \O0abcb
208 Matched, but too many substrings
209     \O3abcb
210 Matched, but too many substrings
211  0: abcb
212     \O6abcb
213 Matched, but too many substrings
214  0: abcb
215  1: a
216     \O9abcb
217 Matched, but too many substrings
218  0: abcb
219  1: a
220  2: b
221     \O12abcb 
222  0: abcb
223  1: a
224  2: b
225  3: c
226
227 /(a)bc|(a)(b)\2/
228 Capturing subpattern count = 3
229 Max back reference = 2
230 No options
231 First char = 'a'
232 No need char
233     abc
234  0: abc
235  1: a
236     \O0abc
237 Matched, but too many substrings
238     \O3abc
239 Matched, but too many substrings
240  0: abc
241     \O6abc
242  0: abc
243  1: a
244     aba
245  0: aba
246  1: <unset>
247  2: a
248  3: b
249     \O0aba
250 Matched, but too many substrings
251     \O3aba
252 Matched, but too many substrings
253  0: aba
254     \O6aba
255 Matched, but too many substrings
256  0: aba
257  1: <unset>
258     \O9aba
259 Matched, but too many substrings
260  0: aba
261  1: <unset>
262  2: a
263     \O12aba
264  0: aba
265  1: <unset>
266  2: a
267  3: b
268
269 /abc$/E
270 Capturing subpattern count = 0
271 Options: dollar_endonly
272 First char = 'a'
273 Need char = 'c'
274     abc
275  0: abc
276     *** Failers
277 No match
278     abc\n
279 No match
280     abc\ndef
281 No match
282
283 /(a)(b)(c)(d)(e)\6/
284 Failed: back reference to non-existent subpattern at offset 17
285
286 /the quick brown fox/
287 Capturing subpattern count = 0
288 No options
289 First char = 't'
290 Need char = 'x'
291     the quick brown fox
292  0: the quick brown fox
293     this is a line with the quick brown fox
294  0: the quick brown fox
295
296 /the quick brown fox/A
297 Capturing subpattern count = 0
298 Options: anchored
299 No first char
300 Need char = 'x'
301     the quick brown fox
302  0: the quick brown fox
303     *** Failers
304 No match
305     this is a line with the quick brown fox
306 No match
307
308 /ab(?z)cd/
309 Failed: unrecognized character after (? at offset 4
310
311 /^abc|def/
312 Capturing subpattern count = 0
313 No options
314 No first char
315 No need char
316     abcdef
317  0: abc
318     abcdef\B
319  0: def
320
321 /.*((abc)$|(def))/
322 Capturing subpattern count = 3
323 No options
324 First char at start or follows \n
325 No need char
326     defabc
327  0: defabc
328  1: abc
329  2: abc
330     \Zdefabc
331  0: def
332  1: def
333  2: <unset>
334  3: def
335
336 /abc/P
337     abc
338  0: abc
339     *** Failers
340 No match: POSIX code 17: match failed
341     
342 /^abc|def/P
343     abcdef
344  0: abc
345     abcdef\B
346  0: def
347
348 /.*((abc)$|(def))/P
349     defabc
350  0: defabc
351  1: abc
352  2: abc
353     \Zdefabc
354  0: def
355  1: def
356  3: def
357   
358 /the quick brown fox/P
359     the quick brown fox
360  0: the quick brown fox
361     *** Failers 
362 No match: POSIX code 17: match failed
363     The Quick Brown Fox 
364 No match: POSIX code 17: match failed
365
366 /the quick brown fox/Pi
367     the quick brown fox
368  0: the quick brown fox
369     The Quick Brown Fox 
370  0: The Quick Brown Fox
371
372 /abc.def/P
373     *** Failers
374 No match: POSIX code 17: match failed
375     abc\ndef
376 No match: POSIX code 17: match failed
377     
378 /abc$/P
379     abc
380  0: abc
381     abc\n 
382  0: abc
383
384 /(abc)\2/P
385 Failed: POSIX code 15: bad back reference at offset 7     
386
387 /(abc\1)/P
388     abc
389 No match: POSIX code 17: match failed
390
391 /)/
392 Failed: unmatched parentheses at offset 0
393
394 /a[]b/
395 Failed: missing terminating ] for character class at offset 4
396
397 /[^aeiou ]{3,}/
398 Capturing subpattern count = 0
399 No options
400 No first char
401 No need char
402     co-processors, and for 
403  0: -pr
404     
405 /<.*>/
406 Capturing subpattern count = 0
407 No options
408 First char = '<'
409 Need char = '>'
410     abc<def>ghi<klm>nop
411  0: <def>ghi<klm>
412
413 /<.*?>/
414 Capturing subpattern count = 0
415 No options
416 First char = '<'
417 Need char = '>'
418     abc<def>ghi<klm>nop
419  0: <def>
420
421 /<.*>/U
422 Capturing subpattern count = 0
423 Options: ungreedy
424 First char = '<'
425 Need char = '>'
426     abc<def>ghi<klm>nop
427  0: <def>
428     
429 /<.*>(?U)/
430 Capturing subpattern count = 0
431 Options: ungreedy
432 First char = '<'
433 Need char = '>'
434     abc<def>ghi<klm>nop
435  0: <def>
436
437 /<.*?>/U
438 Capturing subpattern count = 0
439 Options: ungreedy
440 First char = '<'
441 Need char = '>'
442     abc<def>ghi<klm>nop
443  0: <def>ghi<klm>
444     
445 /={3,}/U
446 Capturing subpattern count = 0
447 Options: ungreedy
448 First char = '='
449 Need char = '='
450     abc========def
451  0: ===
452     
453 /(?U)={3,}?/
454 Capturing subpattern count = 0
455 Options: ungreedy
456 First char = '='
457 Need char = '='
458     abc========def
459  0: ========
460     
461 /(?<!bar|cattle)foo/
462 Capturing subpattern count = 0
463 No options
464 First char = 'f'
465 Need char = 'o'
466     foo
467  0: foo
468     catfoo 
469  0: foo
470     *** Failers
471 No match
472     the barfoo
473 No match
474     and cattlefoo   
475 No match
476
477 /(?<=a+)b/
478 Failed: lookbehind assertion is not fixed length at offset 6
479
480 /(?<=aaa|b{0,3})b/
481 Failed: lookbehind assertion is not fixed length at offset 14
482
483 /(?<!(foo)a\1)bar/
484 Failed: lookbehind assertion is not fixed length at offset 12
485
486 /(?i)abc/
487 Capturing subpattern count = 0
488 Options: caseless
489 First char = 'a'
490 Need char = 'c'
491
492 /(a|(?m)a)/
493 Capturing subpattern count = 1
494 No options
495 First char = 'a'
496 No need char
497
498 /(?i)^1234/
499 Capturing subpattern count = 0
500 Options: anchored caseless
501 No first char
502 Need char = '4'
503
504 /(^b|(?i)^d)/
505 Capturing subpattern count = 1
506 Options: anchored
507 Case state changes
508 No first char
509 No need char
510
511 /(?s).*/
512 Capturing subpattern count = 0
513 Options: anchored dotall
514 No first char
515 No need char
516
517 /[abcd]/S
518 Capturing subpattern count = 0
519 No options
520 No first char
521 No need char
522 Starting character set: a b c d 
523
524 /(?i)[abcd]/S
525 Capturing subpattern count = 0
526 Options: caseless
527 No first char
528 No need char
529 Starting character set: A B C D a b c d 
530
531 /(?m)[xy]|(b|c)/S
532 Capturing subpattern count = 1
533 Options: multiline
534 No first char
535 No need char
536 Starting character set: b c x y 
537
538 /(^a|^b)/m
539 Capturing subpattern count = 1
540 Options: multiline
541 First char at start or follows \n
542 No need char
543
544 /(?i)(^a|^b)/m
545 Capturing subpattern count = 1
546 Options: caseless multiline
547 First char at start or follows \n
548 No need char
549
550 /(a)(?(1)a|b|c)/
551 Failed: conditional group contains more than two branches at offset 13
552
553 /(?(?=a)a|b|c)/
554 Failed: conditional group contains more than two branches at offset 12
555
556 /(?(1a)/
557 Failed: malformed number after (?( at offset 4
558
559 /(?(?i))/
560 Failed: assertion expected after (?( at offset 3
561
562 /(?(abc))/
563 Failed: assertion expected after (?( at offset 3
564
565 /(?(?<ab))/
566 Failed: unrecognized character after (?< at offset 2
567
568 /((?s)blah)\s+\1/
569 Capturing subpattern count = 1
570 Max back reference = 1
571 No options
572 First char = 'b'
573 Need char = 'h'
574
575 /((?i)blah)\s+\1/
576 Capturing subpattern count = 1
577 Max back reference = 1
578 No options
579 Case state changes
580 No first char
581 Need char = 'h'
582
583 /((?i)b)/DS
584 ------------------------------------------------------------------
585   0  16 Bra 0
586   3   8 Bra 1
587   6  01 Opt
588   8   1 b
589  11   8 Ket
590  14  00 Opt
591  16  16 Ket
592  19     End
593 ------------------------------------------------------------------
594 Capturing subpattern count = 1
595 No options
596 Case state changes
597 No first char
598 Need char = 'b'
599 Starting character set: B b 
600
601 /(a*b|(?i:c*(?-i)d))/S
602 Capturing subpattern count = 1
603 No options
604 Case state changes
605 No first char
606 No need char
607 Starting character set: C a b c d 
608
609 /a$/
610 Capturing subpattern count = 0
611 No options
612 First char = 'a'
613 No need char
614     a
615  0: a
616     a\n
617  0: a
618     *** Failers 
619 No match
620     \Za
621 No match
622     \Za\n   
623 No match
624
625 /a$/m
626 Capturing subpattern count = 0
627 Options: multiline
628 First char = 'a'
629 No need char
630     a
631  0: a
632     a\n
633  0: a
634     \Za\n   
635  0: a
636     *** Failers 
637 No match
638     \Za
639 No match
640     
641 /\Aabc/m
642 Capturing subpattern count = 0
643 Options: anchored multiline
644 No first char
645 Need char = 'c'
646
647 /^abc/m 
648 Capturing subpattern count = 0
649 Options: multiline
650 First char at start or follows \n
651 Need char = 'c'
652
653 /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/
654 Capturing subpattern count = 5
655 Options: anchored
656 No first char
657 Need char = 'a'
658   aaaaabbbbbcccccdef
659  0: aaaaabbbbbcccccdef
660  1: aaaaabbbbbcccccdef
661  2: aaaaa
662  3: b
663  4: bbbbccccc
664  5: def
665
666 /(?<=foo)[ab]/S
667 Capturing subpattern count = 0
668 No options
669 No first char
670 No need char
671 Starting character set: a b 
672
673 /(?<!foo)(alpha|omega)/S
674 Capturing subpattern count = 1
675 No options
676 No first char
677 Need char = 'a'
678 Starting character set: a o 
679
680 /(?!alphabet)[ab]/S
681 Capturing subpattern count = 0
682 No options
683 No first char
684 No need char
685 Starting character set: a b 
686
687 /(?<=foo\n)^bar/m
688 Capturing subpattern count = 0
689 Options: multiline
690 First char at start or follows \n
691 Need char = 'r'
692
693 /(?>^abc)/m
694 Capturing subpattern count = 0
695 Options: multiline
696 First char at start or follows \n
697 Need char = 'c'
698     abc
699  0: abc
700     def\nabc
701  0: abc
702     *** Failers
703 No match
704     defabc   
705 No match
706
707 /(?<=ab(c+)d)ef/
708 Failed: lookbehind assertion is not fixed length at offset 11
709
710 /(?<=ab(?<=c+)d)ef/
711 Failed: lookbehind assertion is not fixed length at offset 12
712
713 /(?<=ab(c|de)f)g/
714 Failed: lookbehind assertion is not fixed length at offset 13
715
716 /The next three are in testinput2 because they have variable length branches/
717 Capturing subpattern count = 0
718 No options
719 First char = 'T'
720 Need char = 's'
721
722 /(?<=bullock|donkey)-cart/
723 Capturing subpattern count = 0
724 No options
725 First char = '-'
726 Need char = 't'
727     the bullock-cart
728  0: -cart
729     a donkey-cart race
730  0: -cart
731     *** Failers
732 No match
733     cart
734 No match
735     horse-and-cart    
736 No match
737       
738 /(?<=ab(?i)x|y|z)/
739 Capturing subpattern count = 0
740 No options
741 Case state changes
742 No first char
743 No need char
744
745 /(?>.*)(?<=(abcd)|(xyz))/
746 Capturing subpattern count = 2
747 No options
748 First char at start or follows \n
749 No need char
750     alphabetabcd
751  0: alphabetabcd
752  1: abcd
753     endingxyz
754  0: endingxyz
755  1: <unset>
756  2: xyz
757
758 /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/
759 Capturing subpattern count = 0
760 No options
761 Case state changes
762 First char = 'Z'
763 Need char = 'Z'
764     abxyZZ
765  0: ZZ
766     abXyZZ
767  0: ZZ
768     ZZZ
769  0: ZZ
770     zZZ
771  0: ZZ
772     bZZ
773  0: ZZ
774     BZZ     
775  0: ZZ
776     *** Failers
777 No match
778     ZZ 
779 No match
780     abXYZZ 
781 No match
782     zzz
783 No match
784     bzz  
785 No match
786
787 /(?<!(foo)a)bar/
788 Capturing subpattern count = 1
789 No options
790 First char = 'b'
791 Need char = 'r'
792     bar
793  0: bar
794     foobbar 
795  0: bar
796     *** Failers
797 No match
798     fooabar  
799 No match
800
801 /This one is here because Perl 5.005_02 doesn't fail it/
802 Capturing subpattern count = 0
803 No options
804 First char = 'T'
805 Need char = 't'
806
807 /^(a)?(?(1)a|b)+$/
808 Capturing subpattern count = 1
809 Options: anchored
810 No first char
811 No need char
812     *** Failers
813 No match
814     a 
815 No match
816
817 /This one is here because I think Perl 5.005_02 gets the setting of $1 wrong/
818 Capturing subpattern count = 0
819 No options
820 First char = 'T'
821 Need char = 'g'
822
823 /^(a\1?){4}$/
824 Capturing subpattern count = 1
825 Max back reference = 1
826 Options: anchored
827 No first char
828 Need char = 'a'
829     aaaaaa
830  0: aaaaaa
831  1: aa
832     
833 /These are syntax tests from Perl 5.005/
834 Capturing subpattern count = 0
835 No options
836 First char = 'T'
837 Need char = '5'
838
839 /a[b-a]/
840 Failed: range out of order in character class at offset 4
841
842 /a[]b/
843 Failed: missing terminating ] for character class at offset 4
844
845 /a[/
846 Failed: missing terminating ] for character class at offset 2
847
848 /*a/
849 Failed: nothing to repeat at offset 0
850
851 /(*)b/
852 Failed: nothing to repeat at offset 1
853
854 /abc)/
855 Failed: unmatched parentheses at offset 3
856
857 /(abc/
858 Failed: missing ) at offset 4
859
860 /a**/
861 Failed: nothing to repeat at offset 2
862
863 /)(/
864 Failed: unmatched parentheses at offset 0
865
866 /\1/
867 Failed: back reference to non-existent subpattern at offset 2
868
869 /\2/
870 Failed: back reference to non-existent subpattern at offset 2
871
872 /(a)|\2/
873 Failed: back reference to non-existent subpattern at offset 6
874
875 /a[b-a]/i
876 Failed: range out of order in character class at offset 4
877
878 /a[]b/i
879 Failed: missing terminating ] for character class at offset 4
880
881 /a[/i
882 Failed: missing terminating ] for character class at offset 2
883
884 /*a/i
885 Failed: nothing to repeat at offset 0
886
887 /(*)b/i
888 Failed: nothing to repeat at offset 1
889
890 /abc)/i
891 Failed: unmatched parentheses at offset 3
892
893 /(abc/i
894 Failed: missing ) at offset 4
895
896 /a**/i
897 Failed: nothing to repeat at offset 2
898
899 /)(/i
900 Failed: unmatched parentheses at offset 0
901
902 /:(?:/
903 Failed: missing ) at offset 4
904
905 /(?<%)b/
906 Failed: unrecognized character after (?< at offset 0
907
908 /a(?{)b/
909 Failed: unrecognized character after (? at offset 3
910
911 /a(?{{})b/
912 Failed: unrecognized character after (? at offset 3
913
914 /a(?{}})b/
915 Failed: unrecognized character after (? at offset 3
916
917 /a(?{"{"})b/
918 Failed: unrecognized character after (? at offset 3
919
920 /a(?{"{"}})b/
921 Failed: unrecognized character after (? at offset 3
922
923 /(?(1?)a|b)/
924 Failed: malformed number after (?( at offset 4
925
926 /(?(1)a|b|c)/
927 Failed: conditional group contains more than two branches at offset 10
928
929 /[a[:xyz:/
930 Failed: missing terminating ] for character class at offset 8
931
932 /(?<=x+)y/
933 Failed: lookbehind assertion is not fixed length at offset 6
934
935 /a{37,17}/
936 Failed: numbers out of order in {} quantifier at offset 7
937
938 /abc/\
939 Failed: \ at end of pattern at offset 4
940
941 /abc/\P
942 Failed: POSIX code 9: bad escape sequence at offset 4     
943
944 /abc/\i
945 Failed: \ at end of pattern at offset 4
946
947 /(a)bc(d)/
948 Capturing subpattern count = 2
949 No options
950 First char = 'a'
951 Need char = 'd'
952     abcd
953  0: abcd
954  1: a
955  2: d
956     abcd\C2
957  0: abcd
958  1: a
959  2: d
960  2C d (1)
961     abcd\C5
962  0: abcd
963  1: a
964  2: d
965 copy substring 5 failed -7
966      
967 /(.{20})/
968 Capturing subpattern count = 1
969 No options
970 No first char
971 No need char
972     abcdefghijklmnopqrstuvwxyz
973  0: abcdefghijklmnopqrst
974  1: abcdefghijklmnopqrst
975     abcdefghijklmnopqrstuvwxyz\C1
976  0: abcdefghijklmnopqrst
977  1: abcdefghijklmnopqrst
978 copy substring 1 failed -6
979     abcdefghijklmnopqrstuvwxyz\G1
980  0: abcdefghijklmnopqrst
981  1: abcdefghijklmnopqrst
982  1G abcdefghijklmnopqrst (20)
983      
984 /(.{15})/
985 Capturing subpattern count = 1
986 No options
987 No first char
988 No need char
989     abcdefghijklmnopqrstuvwxyz
990  0: abcdefghijklmno
991  1: abcdefghijklmno
992     abcdefghijklmnopqrstuvwxyz\C1\G1
993  0: abcdefghijklmno
994  1: abcdefghijklmno
995  1C abcdefghijklmno (15)
996  1G abcdefghijklmno (15)
997
998 /(.{16})/
999 Capturing subpattern count = 1
1000 No options
1001 No first char
1002 No need char
1003     abcdefghijklmnopqrstuvwxyz
1004  0: abcdefghijklmnop
1005  1: abcdefghijklmnop
1006     abcdefghijklmnopqrstuvwxyz\C1\G1\L
1007  0: abcdefghijklmnop
1008  1: abcdefghijklmnop
1009 copy substring 1 failed -6
1010  1G abcdefghijklmnop (16)
1011  0L abcdefghijklmnop
1012  1L abcdefghijklmnop
1013     
1014 /^(a|(bc))de(f)/
1015 Capturing subpattern count = 3
1016 Options: anchored
1017 No first char
1018 Need char = 'f'
1019     adef\G1\G2\G3\G4\L 
1020  0: adef
1021  1: a
1022  2: <unset>
1023  3: f
1024  1G a (1)
1025  2G  (0)
1026  3G f (1)
1027 get substring 4 failed -7
1028  0L adef
1029  1L a
1030  2L 
1031  3L f
1032     bcdef\G1\G2\G3\G4\L 
1033  0: bcdef
1034  1: bc
1035  2: bc
1036  3: f
1037  1G bc (2)
1038  2G bc (2)
1039  3G f (1)
1040 get substring 4 failed -7
1041  0L bcdef
1042  1L bc
1043  2L bc
1044  3L f
1045     adefghijk\C0 
1046  0: adef
1047  1: a
1048  2: <unset>
1049  3: f
1050  0C adef (4)
1051     
1052 /^abc\00def/
1053 Capturing subpattern count = 0
1054 Options: anchored
1055 No first char
1056 Need char = 'f'
1057     abc\00def\L\C0 
1058  0: abc\x00def
1059  0C abc (7)
1060  0L abc
1061     
1062 /word ((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ 
1063 )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ 
1064 )?)?)?)?)?)?)?)?)?otherword/M
1065 Memory allocation (code space): 428
1066 Capturing subpattern count = 8
1067 No options
1068 First char = 'w'
1069 Need char = 'd'
1070
1071 /.*X/D
1072 ------------------------------------------------------------------
1073   0   8 Bra 0
1074   3     Any*
1075   5   1 X
1076   8   8 Ket
1077  11     End
1078 ------------------------------------------------------------------
1079 Capturing subpattern count = 0
1080 No options
1081 First char at start or follows \n
1082 Need char = 'X'
1083
1084 /.*X/Ds
1085 ------------------------------------------------------------------
1086   0   8 Bra 0
1087   3     Any*
1088   5   1 X
1089   8   8 Ket
1090  11     End
1091 ------------------------------------------------------------------
1092 Capturing subpattern count = 0
1093 Options: anchored dotall
1094 No first char
1095 Need char = 'X'
1096
1097 /(.*X|^B)/D
1098 ------------------------------------------------------------------
1099   0  21 Bra 0
1100   3   8 Bra 1
1101   6     Any*
1102   8   1 X
1103  11   7 Alt
1104  14     ^
1105  15   1 B
1106  18  15 Ket
1107  21  21 Ket
1108  24     End
1109 ------------------------------------------------------------------
1110 Capturing subpattern count = 1
1111 No options
1112 First char at start or follows \n
1113 No need char
1114
1115 /(.*X|^B)/Ds
1116 ------------------------------------------------------------------
1117   0  21 Bra 0
1118   3   8 Bra 1
1119   6     Any*
1120   8   1 X
1121  11   7 Alt
1122  14     ^
1123  15   1 B
1124  18  15 Ket
1125  21  21 Ket
1126  24     End
1127 ------------------------------------------------------------------
1128 Capturing subpattern count = 1
1129 Options: anchored dotall
1130 No first char
1131 No need char
1132     
1133 /(?s)(.*X|^B)/D
1134 ------------------------------------------------------------------
1135   0  21 Bra 0
1136   3   8 Bra 1
1137   6     Any*
1138   8   1 X
1139  11   7 Alt
1140  14     ^
1141  15   1 B
1142  18  15 Ket
1143  21  21 Ket
1144  24     End
1145 ------------------------------------------------------------------
1146 Capturing subpattern count = 1
1147 Options: anchored dotall
1148 No first char
1149 No need char
1150
1151 /(?s:.*X|^B)/D
1152 ------------------------------------------------------------------
1153   0  27 Bra 0
1154   3  10 Bra 0
1155   6  04 Opt
1156   8     Any*
1157  10   1 X
1158  13   9 Alt
1159  16  04 Opt
1160  18     ^
1161  19   1 B
1162  22  19 Ket
1163  25  00 Opt
1164  27  27 Ket
1165  30     End
1166 ------------------------------------------------------------------
1167 Capturing subpattern count = 0
1168 No options
1169 First char at start or follows \n
1170 No need char
1171
1172 /\Biss\B/+
1173 Capturing subpattern count = 0
1174 No options
1175 First char = 'i'
1176 Need char = 's'
1177     Mississippi
1178  0: iss
1179  0+ issippi
1180
1181 /\Biss\B/+P
1182     Mississippi
1183  0: iss
1184  0+ issippi
1185
1186 /iss/G+
1187 Capturing subpattern count = 0
1188 No options
1189 First char = 'i'
1190 Need char = 's'
1191     Mississippi
1192  0: iss
1193  0+ issippi
1194  0: iss
1195  0+ ippi
1196
1197 /\Biss\B/G+
1198 Capturing subpattern count = 0
1199 No options
1200 First char = 'i'
1201 Need char = 's'
1202     Mississippi
1203  0: iss
1204  0+ issippi
1205
1206 /\Biss\B/g+
1207 Capturing subpattern count = 0
1208 No options
1209 First char = 'i'
1210 Need char = 's'
1211     Mississippi
1212  0: iss
1213  0+ issippi
1214  0: iss
1215  0+ ippi
1216     *** Failers
1217 No match
1218     Mississippi\A
1219 No match
1220
1221 /(?<=[Ms])iss/g+
1222 Capturing subpattern count = 0
1223 No options
1224 First char = 'i'
1225 Need char = 's'
1226     Mississippi
1227  0: iss
1228  0+ issippi
1229  0: iss
1230  0+ ippi
1231
1232 /(?<=[Ms])iss/G+
1233 Capturing subpattern count = 0
1234 No options
1235 First char = 'i'
1236 Need char = 's'
1237     Mississippi
1238  0: iss
1239  0+ issippi
1240
1241 /^iss/g+
1242 Capturing subpattern count = 0
1243 Options: anchored
1244 No first char
1245 Need char = 's'
1246     ississippi
1247  0: iss
1248  0+ issippi
1249     
1250 /.*iss/g+
1251 Capturing subpattern count = 0
1252 No options
1253 First char at start or follows \n
1254 Need char = 's'
1255     abciss\nxyzisspqr 
1256  0: abciss
1257  0+ \x0axyzisspqr
1258  0: xyziss
1259  0+ pqr
1260
1261 /.i./+g
1262 Capturing subpattern count = 0
1263 No options
1264 No first char
1265 Need char = 'i'
1266     Mississippi
1267  0: Mis
1268  0+ sissippi
1269  0: sis
1270  0+ sippi
1271  0: sip
1272  0+ pi
1273     Mississippi\A
1274  0: Mis
1275  0+ sissippi
1276  0: sis
1277  0+ sippi
1278  0: sip
1279  0+ pi
1280     Missouri river
1281  0: Mis
1282  0+ souri river
1283  0: ri 
1284  0+ river
1285  0: riv
1286  0+ er
1287     Missouri river\A  
1288  0: Mis
1289  0+ souri river
1290
1291 /^.is/+g
1292 Capturing subpattern count = 0
1293 Options: anchored
1294 No first char
1295 Need char = 's'
1296     Mississippi
1297  0: Mis
1298  0+ sissippi
1299
1300 /^ab\n/g+
1301 Capturing subpattern count = 0
1302 Options: anchored
1303 No first char
1304 Need char = 10
1305     ab\nab\ncd
1306  0: ab\x0a
1307  0+ ab\x0acd
1308
1309 /^ab\n/mg+
1310 Capturing subpattern count = 0
1311 Options: multiline
1312 First char at start or follows \n
1313 Need char = 10
1314     ab\nab\ncd
1315  0: ab\x0a
1316  0+ ab\x0acd
1317  0: ab\x0a
1318  0+ cd
1319
1320 /abc/
1321 Capturing subpattern count = 0
1322 No options
1323 First char = 'a'
1324 Need char = 'c'
1325
1326 /abc|bac/
1327 Capturing subpattern count = 0
1328 No options
1329 No first char
1330 Need char = 'c'
1331
1332 /(abc|bac)/
1333 Capturing subpattern count = 1
1334 No options
1335 No first char
1336 Need char = 'c'
1337
1338 /(abc|(c|dc))/
1339 Capturing subpattern count = 2
1340 No options
1341 No first char
1342 Need char = 'c'
1343
1344 /(abc|(d|de)c)/
1345 Capturing subpattern count = 2
1346 No options
1347 No first char
1348 Need char = 'c'
1349
1350 /a*/
1351 Capturing subpattern count = 0
1352 No options
1353 No first char
1354 No need char
1355
1356 /a+/
1357 Capturing subpattern count = 0
1358 No options
1359 First char = 'a'
1360 No need char
1361
1362 /(baa|a+)/
1363 Capturing subpattern count = 1
1364 No options
1365 No first char
1366 Need char = 'a'
1367
1368 /a{0,3}/
1369 Capturing subpattern count = 0
1370 No options
1371 No first char
1372 No need char
1373
1374 /baa{3,}/
1375 Capturing subpattern count = 0
1376 No options
1377 First char = 'b'
1378 Need char = 'a'
1379
1380 /"([^\\"]+|\\.)*"/
1381 Capturing subpattern count = 1
1382 No options
1383 First char = '"'
1384 Need char = '"'
1385
1386 /(abc|ab[cd])/
1387 Capturing subpattern count = 1
1388 No options
1389 First char = 'a'
1390 No need char
1391
1392 /(a|.)/
1393 Capturing subpattern count = 1
1394 No options
1395 No first char
1396 No need char
1397
1398 /a|ba|\w/
1399 Capturing subpattern count = 0
1400 No options
1401 No first char
1402 No need char
1403
1404 /abc(?=pqr)/
1405 Capturing subpattern count = 0
1406 No options
1407 First char = 'a'
1408 Need char = 'r'
1409
1410 /...(?<=abc)/
1411 Capturing subpattern count = 0
1412 No options
1413 No first char
1414 No need char
1415
1416 /abc(?!pqr)/
1417 Capturing subpattern count = 0
1418 No options
1419 First char = 'a'
1420 Need char = 'c'
1421
1422 /ab./
1423 Capturing subpattern count = 0
1424 No options
1425 First char = 'a'
1426 Need char = 'b'
1427
1428 /ab[xyz]/
1429 Capturing subpattern count = 0
1430 No options
1431 First char = 'a'
1432 Need char = 'b'
1433
1434 /abc*/
1435 Capturing subpattern count = 0
1436 No options
1437 First char = 'a'
1438 Need char = 'b'
1439
1440 /ab.c*/
1441 Capturing subpattern count = 0
1442 No options
1443 First char = 'a'
1444 Need char = 'b'
1445
1446 /a.c*/
1447 Capturing subpattern count = 0
1448 No options
1449 First char = 'a'
1450 No need char
1451
1452 /.c*/
1453 Capturing subpattern count = 0
1454 No options
1455 No first char
1456 No need char
1457
1458 /ac*/
1459 Capturing subpattern count = 0
1460 No options
1461 First char = 'a'
1462 No need char
1463
1464 /(a.c*|b.c*)/
1465 Capturing subpattern count = 1
1466 No options
1467 No first char
1468 No need char
1469
1470 /a.c*|aba/
1471 Capturing subpattern count = 0
1472 No options
1473 First char = 'a'
1474 No need char
1475
1476 /.+a/
1477 Capturing subpattern count = 0
1478 No options
1479 No first char
1480 Need char = 'a'
1481
1482 /(?=abcda)a.*/
1483 Capturing subpattern count = 0
1484 No options
1485 First char = 'a'
1486 No need char
1487
1488 /(?=a)a.*/
1489 Capturing subpattern count = 0
1490 No options
1491 First char = 'a'
1492 No need char
1493
1494 /a(b)*/
1495 Capturing subpattern count = 1
1496 No options
1497 First char = 'a'
1498 No need char
1499
1500 /a\d*/
1501 Capturing subpattern count = 0
1502 No options
1503 First char = 'a'
1504 No need char
1505
1506 /ab\d*/
1507 Capturing subpattern count = 0
1508 No options
1509 First char = 'a'
1510 Need char = 'b'
1511
1512 /a(\d)*/
1513 Capturing subpattern count = 1
1514 No options
1515 First char = 'a'
1516 No need char
1517
1518 /abcde{0,0}/
1519 Capturing subpattern count = 0
1520 No options
1521 First char = 'a'
1522 Need char = 'd'
1523
1524 /ab\d+/
1525 Capturing subpattern count = 0
1526 No options
1527 First char = 'a'
1528 Need char = 'b'
1529
1530 /a(?(1)b)/
1531 Capturing subpattern count = 0
1532 No options
1533 First char = 'a'
1534 No need char
1535
1536 /a(?(1)bag|big)/
1537 Capturing subpattern count = 0
1538 No options
1539 First char = 'a'
1540 Need char = 'g'
1541
1542 /a(?(1)bag|big)*/
1543 Capturing subpattern count = 0
1544 No options
1545 First char = 'a'
1546 No need char
1547
1548 /a(?(1)bag|big)+/
1549 Capturing subpattern count = 0
1550 No options
1551 First char = 'a'
1552 Need char = 'g'
1553
1554 /a(?(1)b..|b..)/
1555 Capturing subpattern count = 0
1556 No options
1557 First char = 'a'
1558 Need char = 'b'
1559
1560 /ab\d{0}e/
1561 Capturing subpattern count = 0
1562 No options
1563 First char = 'a'
1564 Need char = 'e'
1565
1566 /a?b?/
1567 Capturing subpattern count = 0
1568 No options
1569 No first char
1570 No need char
1571     a
1572  0: a
1573     b
1574  0: b
1575     ab
1576  0: ab
1577     \
1578  0: 
1579     *** Failers
1580  0: 
1581     \N     
1582 No match
1583     
1584 /|-/
1585 Capturing subpattern count = 0
1586 No options
1587 No first char
1588 No need char
1589     abcd
1590  0: 
1591     -abc
1592  0: 
1593     \Nab-c
1594  0: -
1595     *** Failers
1596  0: 
1597     \Nabc     
1598 No match
1599
1600 /a*(b+)(z)(z)/P
1601     aaaabbbbzzzz
1602  0: aaaabbbbzz
1603  1: bbbb
1604  2: z
1605  3: z
1606     aaaabbbbzzzz\O0
1607     aaaabbbbzzzz\O1
1608  0: aaaabbbbzz
1609     aaaabbbbzzzz\O2
1610  0: aaaabbbbzz
1611  1: bbbb
1612     aaaabbbbzzzz\O3
1613  0: aaaabbbbzz
1614  1: bbbb
1615  2: z
1616     aaaabbbbzzzz\O4
1617  0: aaaabbbbzz
1618  1: bbbb
1619  2: z
1620  3: z
1621     aaaabbbbzzzz\O5
1622  0: aaaabbbbzz
1623  1: bbbb
1624  2: z
1625  3: z
1626     
1627 /^.?abcd/S 
1628 Capturing subpattern count = 0
1629 Options: anchored
1630 No first char
1631 Need char = 'd'
1632 Study returned NULL
1633
1634 /\(             # ( at start
1635   (?:           # Non-capturing bracket
1636   (?>[^()]+)    # Either a sequence of non-brackets (no backtracking)
1637   |             # Or
1638   (?R)          # Recurse - i.e. nested bracketed string
1639   )*            # Zero or more contents
1640   \)            # Closing )
1641   /x
1642 Capturing subpattern count = 0
1643 Options: extended
1644 First char = '('
1645 Need char = ')'
1646     (abcd)
1647  0: (abcd)
1648     (abcd)xyz
1649  0: (abcd)
1650     xyz(abcd)
1651  0: (abcd)
1652     (ab(xy)cd)pqr 
1653  0: (ab(xy)cd)
1654     (ab(xycd)pqr 
1655  0: (xycd)
1656     () abc () 
1657  0: ()
1658     12(abcde(fsh)xyz(foo(bar))lmno)89
1659  0: (abcde(fsh)xyz(foo(bar))lmno)
1660     *** Failers
1661 No match
1662     abcd 
1663 No match
1664     abcd)
1665 No match
1666     (abcd  
1667 No match
1668
1669 /\(  ( (?>[^()]+) | (?R) )* \) /xg
1670 Capturing subpattern count = 1
1671 Options: extended
1672 First char = '('
1673 Need char = ')'
1674     (ab(xy)cd)pqr 
1675  0: (ab(xy)cd)
1676  1: cd
1677     1(abcd)(x(y)z)pqr
1678  0: (abcd)
1679  1: abcd
1680  0: (x(y)z)
1681  1: z
1682
1683 /\(  (?: (?>[^()]+) | (?R) ) \) /x
1684 Capturing subpattern count = 0
1685 Options: extended
1686 First char = '('
1687 Need char = ')'
1688     (abcd)
1689  0: (abcd)
1690     (ab(xy)cd)
1691  0: (xy)
1692     (a(b(c)d)e) 
1693  0: (c)
1694     ((ab)) 
1695  0: ((ab))
1696     *** Failers
1697 No match
1698     ()   
1699 No match
1700
1701 /\(  (?: (?>[^()]+) | (?R) )? \) /x
1702 Capturing subpattern count = 0
1703 Options: extended
1704 First char = '('
1705 Need char = ')'
1706     ()
1707  0: ()
1708     12(abcde(fsh)xyz(foo(bar))lmno)89
1709  0: (fsh)
1710
1711 /\(  ( (?>[^()]+) | (?R) )* \) /x
1712 Capturing subpattern count = 1
1713 Options: extended
1714 First char = '('
1715 Need char = ')'
1716     (ab(xy)cd)
1717  0: (ab(xy)cd)
1718  1: cd
1719
1720 /\( ( ( (?>[^()]+) | (?R) )* ) \) /x
1721 Capturing subpattern count = 2
1722 Options: extended
1723 First char = '('
1724 Need char = ')'
1725     (ab(xy)cd)
1726  0: (ab(xy)cd)
1727  1: ab(xy)cd
1728  2: cd
1729
1730 /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /x
1731 Capturing subpattern count = 3
1732 Options: extended
1733 First char = '('
1734 Need char = ')'
1735     (ab(xy)cd)
1736  0: (ab(xy)cd)
1737  1: <unset>
1738  2: ab(xy)cd
1739  3: cd
1740     (123ab(xy)cd)
1741  0: (123ab(xy)cd)
1742  1: 123
1743  2: ab(xy)cd
1744  3: cd
1745
1746 /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /x
1747 Capturing subpattern count = 3
1748 Options: extended
1749 First char = '('
1750 Need char = ')'
1751     (ab(xy)cd)
1752  0: (ab(xy)cd)
1753  1: ab(xy)cd
1754  2: <unset>
1755  3: cd
1756     (123ab(xy)cd)
1757  0: (123ab(xy)cd)
1758  1: 123ab(xy)cd
1759  2: 123
1760  3: cd
1761
1762 /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /x
1763 Capturing subpattern count = 11
1764 Options: extended
1765 First char = '('
1766 Need char = ')'
1767     (ab(xy)cd)
1768  0: (ab(xy)cd)
1769  1: ab(xy)cd
1770  2: ab(xy)cd
1771  3: ab(xy)cd
1772  4: ab(xy)cd
1773  5: ab(xy)cd
1774  6: ab(xy)cd
1775  7: ab(xy)cd
1776  8: ab(xy)cd
1777  9: ab(xy)cd
1778 10: ab(xy)cd
1779 11: cd
1780
1781 /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /x
1782 Capturing subpattern count = 3
1783 Options: extended
1784 First char = '('
1785 Need char = ')'
1786     (abcd(xyz<p>qrs)123)
1787  0: (abcd(xyz<p>qrs)123)
1788  1: abcd(xyz<p>qrs)123
1789  2: 123
1790  3: <p>qrs
1791
1792 /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /x
1793 Capturing subpattern count = 3
1794 Options: extended
1795 First char = '('
1796 Need char = ')'
1797     (ab(cd)ef)
1798  0: (ab(cd)ef)
1799  1: ab(cd)ef
1800  2: ef
1801  3: (cd)
1802     (ab(cd(ef)gh)ij)
1803  0: (ab(cd(ef)gh)ij)
1804  1: ab(cd(ef)gh)ij
1805  2: ij
1806  3: (cd(ef)gh)
1807
1808 /^[[:alnum:]]/D
1809 ------------------------------------------------------------------
1810   0  37 Bra 0
1811   3     ^
1812   4     [0-9A-Za-z]
1813  37  37 Ket
1814  40     End
1815 ------------------------------------------------------------------
1816 Capturing subpattern count = 0
1817 Options: anchored
1818 No first char
1819 No need char
1820
1821 /^[[:alpha:]]/D
1822 ------------------------------------------------------------------
1823   0  37 Bra 0
1824   3     ^
1825   4     [A-Za-z]
1826  37  37 Ket
1827  40     End
1828 ------------------------------------------------------------------
1829 Capturing subpattern count = 0
1830 Options: anchored
1831 No first char
1832 No need char
1833              
1834 /^[[:ascii:]]/D
1835 ------------------------------------------------------------------
1836   0  37 Bra 0
1837   3     ^
1838   4     [\x00-\x7f]
1839  37  37 Ket
1840  40     End
1841 ------------------------------------------------------------------
1842 Capturing subpattern count = 0
1843 Options: anchored
1844 No first char
1845 No need char
1846
1847 /^[[:cntrl:]]/D
1848 ------------------------------------------------------------------
1849   0  37 Bra 0
1850   3     ^
1851   4     [\x00-\x1f\x7f]
1852  37  37 Ket
1853  40     End
1854 ------------------------------------------------------------------
1855 Capturing subpattern count = 0
1856 Options: anchored
1857 No first char
1858 No need char
1859
1860 /^[[:digit:]]/D
1861 ------------------------------------------------------------------
1862   0  37 Bra 0
1863   3     ^
1864   4     [0-9]
1865  37  37 Ket
1866  40     End
1867 ------------------------------------------------------------------
1868 Capturing subpattern count = 0
1869 Options: anchored
1870 No first char
1871 No need char
1872
1873 /^[[:graph:]]/D
1874 ------------------------------------------------------------------
1875   0  37 Bra 0
1876   3     ^
1877   4     [!-~]
1878  37  37 Ket
1879  40     End
1880 ------------------------------------------------------------------
1881 Capturing subpattern count = 0
1882 Options: anchored
1883 No first char
1884 No need char
1885
1886 /^[[:lower:]]/D
1887 ------------------------------------------------------------------
1888   0  37 Bra 0
1889   3     ^
1890   4     [a-z]
1891  37  37 Ket
1892  40     End
1893 ------------------------------------------------------------------
1894 Capturing subpattern count = 0
1895 Options: anchored
1896 No first char
1897 No need char
1898
1899 /^[[:print:]]/D
1900 ------------------------------------------------------------------
1901   0  37 Bra 0
1902   3     ^
1903   4     [ -~]
1904  37  37 Ket
1905  40     End
1906 ------------------------------------------------------------------
1907 Capturing subpattern count = 0
1908 Options: anchored
1909 No first char
1910 No need char
1911
1912 /^[[:punct:]]/D
1913 ------------------------------------------------------------------
1914   0  37 Bra 0
1915   3     ^
1916   4     [!-/:-@[-`{-~]
1917  37  37 Ket
1918  40     End
1919 ------------------------------------------------------------------
1920 Capturing subpattern count = 0
1921 Options: anchored
1922 No first char
1923 No need char
1924
1925 /^[[:space:]]/D
1926 ------------------------------------------------------------------
1927   0  37 Bra 0
1928   3     ^
1929   4     [\x09-\x0d ]
1930  37  37 Ket
1931  40     End
1932 ------------------------------------------------------------------
1933 Capturing subpattern count = 0
1934 Options: anchored
1935 No first char
1936 No need char
1937
1938 /^[[:upper:]]/D
1939 ------------------------------------------------------------------
1940   0  37 Bra 0
1941   3     ^
1942   4     [A-Z]
1943  37  37 Ket
1944  40     End
1945 ------------------------------------------------------------------
1946 Capturing subpattern count = 0
1947 Options: anchored
1948 No first char
1949 No need char
1950
1951 /^[[:xdigit:]]/D
1952 ------------------------------------------------------------------
1953   0  37 Bra 0
1954   3     ^
1955   4     [0-9A-Fa-f]
1956  37  37 Ket
1957  40     End
1958 ------------------------------------------------------------------
1959 Capturing subpattern count = 0
1960 Options: anchored
1961 No first char
1962 No need char
1963
1964 /^[[:word:]]/D
1965 ------------------------------------------------------------------
1966   0  37 Bra 0
1967   3     ^
1968   4     [0-9A-Z_a-z]
1969  37  37 Ket
1970  40     End
1971 ------------------------------------------------------------------
1972 Capturing subpattern count = 0
1973 Options: anchored
1974 No first char
1975 No need char
1976
1977 /^[[:^cntrl:]]/D
1978 ------------------------------------------------------------------
1979   0  37 Bra 0
1980   3     ^
1981   4     [ -~\x80-\xff]
1982  37  37 Ket
1983  40     End
1984 ------------------------------------------------------------------
1985 Capturing subpattern count = 0
1986 Options: anchored
1987 No first char
1988 No need char
1989
1990 /^[12[:^digit:]]/D
1991 ------------------------------------------------------------------
1992   0  37 Bra 0
1993   3     ^
1994   4     [\x00-/1-2:-\xff]
1995  37  37 Ket
1996  40     End
1997 ------------------------------------------------------------------
1998 Capturing subpattern count = 0
1999 Options: anchored
2000 No first char
2001 No need char
2002
2003 /[01[:alpha:]%]/D
2004 ------------------------------------------------------------------
2005   0  36 Bra 0
2006   3     [%0-1A-Za-z]
2007  36  36 Ket
2008  39     End
2009 ------------------------------------------------------------------
2010 Capturing subpattern count = 0
2011 No options
2012 No first char
2013 No need char
2014
2015 /[[.ch.]]/
2016 Failed: POSIX collating elements are not supported at offset 1
2017
2018 /[[=ch=]]/
2019 Failed: POSIX collating elements are not supported at offset 1
2020
2021 /[[:rhubarb:]]/
2022 Failed: unknown POSIX class name at offset 3
2023
2024 /[[:upper:]]/i
2025 Capturing subpattern count = 0
2026 Options: caseless
2027 No first char
2028 No need char
2029     A
2030  0: A
2031     a 
2032  0: a
2033     
2034 /[[:lower:]]/i
2035 Capturing subpattern count = 0
2036 Options: caseless
2037 No first char
2038 No need char
2039     A
2040  0: A
2041     a 
2042  0: a
2043
2044 /((?-i)[[:lower:]])[[:lower:]]/i
2045 Capturing subpattern count = 1
2046 Options: caseless
2047 Case state changes
2048 No first char
2049 No need char
2050     ab
2051  0: ab
2052  1: a
2053     aB
2054  0: aB
2055  1: a
2056     *** Failers
2057  0: ai
2058  1: a
2059     Ab
2060 No match
2061     AB        
2062 No match
2063
2064 /[\200-\410]/
2065 Failed: range out of order in character class at offset 9
2066
2067 /^(?(0)f|b)oo/
2068 Failed: invalid condition (?(0) at offset 5
2069
2070 /This one's here because of the large output vector needed/
2071 Capturing subpattern count = 0
2072 No options
2073 First char = 'T'
2074 Need char = 'd'
2075
2076 /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\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)/
2077 Capturing subpattern count = 271
2078 Max back reference = 270
2079 No options
2080 No first char
2081 No need char
2082     \O900 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 ABC ABC
2083  0: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 ABC ABC
2084  1: 1 
2085  2: 2 
2086  3: 3 
2087  4: 4 
2088  5: 5 
2089  6: 6 
2090  7: 7 
2091  8: 8 
2092  9: 9 
2093 10: 10 
2094 11: 11 
2095 12: 12 
2096 13: 13 
2097 14: 14 
2098 15: 15 
2099 16: 16 
2100 17: 17 
2101 18: 18 
2102 19: 19 
2103 20: 20 
2104 21: 21 
2105 22: 22 
2106 23: 23 
2107 24: 24 
2108 25: 25 
2109 26: 26 
2110 27: 27 
2111 28: 28 
2112 29: 29 
2113 30: 30 
2114 31: 31 
2115 32: 32 
2116 33: 33 
2117 34: 34 
2118 35: 35 
2119 36: 36 
2120 37: 37 
2121 38: 38 
2122 39: 39 
2123 40: 40 
2124 41: 41 
2125 42: 42 
2126 43: 43 
2127 44: 44 
2128 45: 45 
2129 46: 46 
2130 47: 47 
2131 48: 48 
2132 49: 49 
2133 50: 50 
2134 51: 51 
2135 52: 52 
2136 53: 53 
2137 54: 54 
2138 55: 55 
2139 56: 56 
2140 57: 57 
2141 58: 58 
2142 59: 59 
2143 60: 60 
2144 61: 61 
2145 62: 62 
2146 63: 63 
2147 64: 64 
2148 65: 65 
2149 66: 66 
2150 67: 67 
2151 68: 68 
2152 69: 69 
2153 70: 70 
2154 71: 71 
2155 72: 72 
2156 73: 73 
2157 74: 74 
2158 75: 75 
2159 76: 76 
2160 77: 77 
2161 78: 78 
2162 79: 79 
2163 80: 80 
2164 81: 81 
2165 82: 82 
2166 83: 83 
2167 84: 84 
2168 85: 85 
2169 86: 86 
2170 87: 87 
2171 88: 88 
2172 89: 89 
2173 90: 90 
2174 91: 91 
2175 92: 92 
2176 93: 93 
2177 94: 94 
2178 95: 95 
2179 96: 96 
2180 97: 97 
2181 98: 98 
2182 99: 99 
2183 100: 100 
2184 101: 101 
2185 102: 102 
2186 103: 103 
2187 104: 104 
2188 105: 105 
2189 106: 106 
2190 107: 107 
2191 108: 108 
2192 109: 109 
2193 110: 110 
2194 111: 111 
2195 112: 112 
2196 113: 113 
2197 114: 114 
2198 115: 115 
2199 116: 116 
2200 117: 117 
2201 118: 118 
2202 119: 119 
2203 120: 120 
2204 121: 121 
2205 122: 122 
2206 123: 123 
2207 124: 124 
2208 125: 125 
2209 126: 126 
2210 127: 127 
2211 128: 128 
2212 129: 129 
2213 130: 130 
2214 131: 131 
2215 132: 132 
2216 133: 133 
2217 134: 134 
2218 135: 135 
2219 136: 136 
2220 137: 137 
2221 138: 138 
2222 139: 139 
2223 140: 140 
2224 141: 141 
2225 142: 142 
2226 143: 143 
2227 144: 144 
2228 145: 145 
2229 146: 146 
2230 147: 147 
2231 148: 148 
2232 149: 149 
2233 150: 150 
2234 151: 151 
2235 152: 152 
2236 153: 153 
2237 154: 154 
2238 155: 155 
2239 156: 156 
2240 157: 157 
2241 158: 158 
2242 159: 159 
2243 160: 160 
2244 161: 161 
2245 162: 162 
2246 163: 163 
2247 164: 164 
2248 165: 165 
2249 166: 166 
2250 167: 167 
2251 168: 168 
2252 169: 169 
2253 170: 170 
2254 171: 171 
2255 172: 172 
2256 173: 173 
2257 174: 174 
2258 175: 175 
2259 176: 176 
2260 177: 177 
2261 178: 178 
2262 179: 179 
2263 180: 180 
2264 181: 181 
2265 182: 182 
2266 183: 183 
2267 184: 184 
2268 185: 185 
2269 186: 186 
2270 187: 187 
2271 188: 188 
2272 189: 189 
2273 190: 190 
2274 191: 191 
2275 192: 192 
2276 193: 193 
2277 194: 194 
2278 195: 195 
2279 196: 196 
2280 197: 197 
2281 198: 198 
2282 199: 199 
2283 200: 200 
2284 201: 201 
2285 202: 202 
2286 203: 203 
2287 204: 204 
2288 205: 205 
2289 206: 206 
2290 207: 207 
2291 208: 208 
2292 209: 209 
2293 210: 210 
2294 211: 211 
2295 212: 212 
2296 213: 213 
2297 214: 214 
2298 215: 215 
2299 216: 216 
2300 217: 217 
2301 218: 218 
2302 219: 219 
2303 220: 220 
2304 221: 221 
2305 222: 222 
2306 223: 223 
2307 224: 224 
2308 225: 225 
2309 226: 226 
2310 227: 227 
2311 228: 228 
2312 229: 229 
2313 230: 230 
2314 231: 231 
2315 232: 232 
2316 233: 233 
2317 234: 234 
2318 235: 235 
2319 236: 236 
2320 237: 237 
2321 238: 238 
2322 239: 239 
2323 240: 240 
2324 241: 241 
2325 242: 242 
2326 243: 243 
2327 244: 244 
2328 245: 245 
2329 246: 246 
2330 247: 247 
2331 248: 248 
2332 249: 249 
2333 250: 250 
2334 251: 251 
2335 252: 252 
2336 253: 253 
2337 254: 254 
2338 255: 255 
2339 256: 256 
2340 257: 257 
2341 258: 258 
2342 259: 259 
2343 260: 260 
2344 261: 261 
2345 262: 262 
2346 263: 263 
2347 264: 264 
2348 265: 265 
2349 266: 266 
2350 267: 267 
2351 268: 268 
2352 269: 269 
2353 270: ABC
2354 271: ABC
2355
2356 /This one's here because Perl does this differently and PCRE can't at present/
2357 Capturing subpattern count = 0
2358 No options
2359 First char = 'T'
2360 Need char = 't'
2361
2362 /(main(O)?)+/
2363 Capturing subpattern count = 2
2364 No options
2365 First char = 'm'
2366 Need char = 'n'
2367     mainmain
2368  0: mainmain
2369  1: main
2370     mainOmain
2371  0: mainOmain
2372  1: main
2373  2: O
2374     
2375 / End of testinput2 /
2376 Capturing subpattern count = 0
2377 No options
2378 First char = ' '
2379 Need char = ' '
2380