bottleneck testcase based on rubbos
[bottlenecks.git] / rubbos / app / tomcat-connectors-1.2.32-src / native / iis / pcre / testdata / testoutput2
1 PCRE version 5.0 13-Sep-2004
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 No need char
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 Partial matching not supported
46 No options
47 First char = 'a'
48 Need char = 'c'
49
50 /a*bc/
51 Capturing subpattern count = 0
52 Partial matching not supported
53 No options
54 No first char
55 Need char = 'c'
56
57 /a{3}bc/
58 Capturing subpattern count = 0
59 Partial matching not supported
60 No options
61 First char = 'a'
62 Need char = 'c'
63
64 /(abc|a+z)/
65 Capturing subpattern count = 1
66 Partial matching not supported
67 No options
68 First char = 'a'
69 No need char
70
71 /^abc$/
72 Capturing subpattern count = 0
73 Options: anchored
74 No first char
75 No need char
76     abc
77  0: abc
78     *** Failers
79 No match
80     def\nabc
81 No match
82
83 /ab\gdef/X
84 Failed: unrecognized character follows \ at offset 3
85
86 /(?X)ab\gdef/X
87 Failed: unrecognized character follows \ at offset 7
88
89 /x{5,4}/
90 Failed: numbers out of order in {} quantifier at offset 5
91
92 /z{65536}/
93 Failed: number too big in {} quantifier at offset 7
94
95 /[abcd/
96 Failed: missing terminating ] for character class at offset 5
97
98 /(?X)[\B]/
99 Failed: invalid escape sequence in character class at offset 6
100
101 /[z-a]/
102 Failed: range out of order in character class at offset 3
103
104 /^*/
105 Failed: nothing to repeat at offset 1
106
107 /(abc/
108 Failed: missing ) at offset 4
109
110 /(?# abc/
111 Failed: missing ) after comment at offset 7
112
113 /(?z)abc/
114 Failed: unrecognized character after (? at offset 2
115
116 /.*b/
117 Capturing subpattern count = 0
118 Partial matching not supported
119 No options
120 First char at start or follows \n
121 Need char = 'b'
122
123 /.*?b/
124 Capturing subpattern count = 0
125 Partial matching not supported
126 No options
127 First char at start or follows \n
128 Need char = 'b'
129
130 /cat|dog|elephant/
131 Capturing subpattern count = 0
132 No options
133 No first char
134 No need char
135     this sentence eventually mentions a cat
136  0: cat
137     this sentences rambles on and on for a while and then reaches elephant
138  0: elephant
139
140 /cat|dog|elephant/S
141 Capturing subpattern count = 0
142 No options
143 No first char
144 No need char
145 Starting byte set: c d e 
146     this sentence eventually mentions a cat
147  0: cat
148     this sentences rambles on and on for a while and then reaches elephant
149  0: elephant
150
151 /cat|dog|elephant/iS
152 Capturing subpattern count = 0
153 Options: caseless
154 No first char
155 No need char
156 Starting byte set: C D E c d e 
157     this sentence eventually mentions a CAT cat
158  0: CAT
159     this sentences rambles on and on for a while to elephant ElePhant
160  0: elephant
161
162 /a|[bcd]/S
163 Capturing subpattern count = 0
164 No options
165 No first char
166 No need char
167 Starting byte set: a b c d 
168
169 /(a|[^\dZ])/S
170 Capturing subpattern count = 1
171 No options
172 No first char
173 No need char
174 Starting byte set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a 
175   \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 
176   \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = > 
177   ? @ 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 
178   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 
179   \x84 \x85 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f \x90 \x91 \x92 
180   \x93 \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e \x9f \xa0 \xa1 
181   \xa2 \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae \xaf \xb0 
182   \xb1 \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd \xbe \xbf 
183   \xc0 \xc1 \xc2 \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc \xcd \xce 
184   \xcf \xd0 \xd1 \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb \xdc \xdd 
185   \xde \xdf \xe0 \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb \xec 
186   \xed \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb 
187   \xfc \xfd \xfe \xff 
188
189 /(a|b)*[\s]/S
190 Capturing subpattern count = 1
191 No options
192 No first char
193 No need char
194 Starting byte set: \x09 \x0a \x0c \x0d \x20 a b 
195
196 /(ab\2)/
197 Failed: reference to non-existent subpattern at offset 6
198
199 /{4,5}abc/
200 Failed: nothing to repeat at offset 4
201
202 /(a)(b)(c)\2/
203 Capturing subpattern count = 3
204 Max back reference = 2
205 No options
206 First char = 'a'
207 Need char = 'c'
208     abcb
209  0: abcb
210  1: a
211  2: b
212  3: c
213     \O0abcb
214 Matched, but too many substrings
215     \O3abcb
216 Matched, but too many substrings
217  0: abcb
218     \O6abcb
219 Matched, but too many substrings
220  0: abcb
221  1: a
222     \O9abcb
223 Matched, but too many substrings
224  0: abcb
225  1: a
226  2: b
227     \O12abcb 
228  0: abcb
229  1: a
230  2: b
231  3: c
232
233 /(a)bc|(a)(b)\2/
234 Capturing subpattern count = 3
235 Max back reference = 2
236 No options
237 First char = 'a'
238 No need char
239     abc
240  0: abc
241  1: a
242     \O0abc
243 Matched, but too many substrings
244     \O3abc
245 Matched, but too many substrings
246  0: abc
247     \O6abc
248  0: abc
249  1: a
250     aba
251  0: aba
252  1: <unset>
253  2: a
254  3: b
255     \O0aba
256 Matched, but too many substrings
257     \O3aba
258 Matched, but too many substrings
259  0: aba
260     \O6aba
261 Matched, but too many substrings
262  0: aba
263  1: <unset>
264     \O9aba
265 Matched, but too many substrings
266  0: aba
267  1: <unset>
268  2: a
269     \O12aba
270  0: aba
271  1: <unset>
272  2: a
273  3: b
274
275 /abc$/E
276 Capturing subpattern count = 0
277 Options: dollar_endonly
278 First char = 'a'
279 Need char = 'c'
280     abc
281  0: abc
282     *** Failers
283 No match
284     abc\n
285 No match
286     abc\ndef
287 No match
288
289 /(a)(b)(c)(d)(e)\6/
290 Failed: reference to non-existent subpattern at offset 17
291
292 /the quick brown fox/
293 Capturing subpattern count = 0
294 No options
295 First char = 't'
296 Need char = 'x'
297     the quick brown fox
298  0: the quick brown fox
299     this is a line with the quick brown fox
300  0: the quick brown fox
301
302 /the quick brown fox/A
303 Capturing subpattern count = 0
304 Options: anchored
305 No first char
306 No need char
307     the quick brown fox
308  0: the quick brown fox
309     *** Failers
310 No match
311     this is a line with the quick brown fox
312 No match
313
314 /ab(?z)cd/
315 Failed: unrecognized character after (? at offset 4
316
317 /^abc|def/
318 Capturing subpattern count = 0
319 No options
320 No first char
321 No need char
322     abcdef
323  0: abc
324     abcdef\B
325  0: def
326
327 /.*((abc)$|(def))/
328 Capturing subpattern count = 3
329 Partial matching not supported
330 No options
331 First char at start or follows \n
332 No need char
333     defabc
334  0: defabc
335  1: abc
336  2: abc
337     \Zdefabc
338  0: def
339  1: def
340  2: <unset>
341  3: def
342
343 /abc/P
344     abc
345  0: abc
346     *** Failers
347 No match: POSIX code 17: match failed
348     
349 /^abc|def/P
350     abcdef
351  0: abc
352     abcdef\B
353  0: def
354
355 /.*((abc)$|(def))/P
356     defabc
357  0: defabc
358  1: abc
359  2: abc
360     \Zdefabc
361  0: def
362  1: def
363  3: def
364   
365 /the quick brown fox/P
366     the quick brown fox
367  0: the quick brown fox
368     *** Failers 
369 No match: POSIX code 17: match failed
370     The Quick Brown Fox 
371 No match: POSIX code 17: match failed
372
373 /the quick brown fox/Pi
374     the quick brown fox
375  0: the quick brown fox
376     The Quick Brown Fox 
377  0: The Quick Brown Fox
378
379 /abc.def/P
380     *** Failers
381 No match: POSIX code 17: match failed
382     abc\ndef
383 No match: POSIX code 17: match failed
384     
385 /abc$/P
386     abc
387  0: abc
388     abc\n 
389  0: abc
390
391 /(abc)\2/P
392 Failed: POSIX code 15: bad back reference at offset 7     
393
394 /(abc\1)/P
395     abc
396 No match: POSIX code 17: match failed
397
398 /)/
399 Failed: unmatched parentheses at offset 0
400
401 /a[]b/
402 Failed: missing terminating ] for character class at offset 4
403
404 /[^aeiou ]{3,}/
405 Capturing subpattern count = 0
406 Partial matching not supported
407 No options
408 No first char
409 No need char
410     co-processors, and for 
411  0: -pr
412     
413 /<.*>/
414 Capturing subpattern count = 0
415 Partial matching not supported
416 No options
417 First char = '<'
418 Need char = '>'
419     abc<def>ghi<klm>nop
420  0: <def>ghi<klm>
421
422 /<.*?>/
423 Capturing subpattern count = 0
424 Partial matching not supported
425 No options
426 First char = '<'
427 Need char = '>'
428     abc<def>ghi<klm>nop
429  0: <def>
430
431 /<.*>/U
432 Capturing subpattern count = 0
433 Partial matching not supported
434 Options: ungreedy
435 First char = '<'
436 Need char = '>'
437     abc<def>ghi<klm>nop
438  0: <def>
439     
440 /(?U)<.*>/
441 Capturing subpattern count = 0
442 Partial matching not supported
443 Options: ungreedy
444 First char = '<'
445 Need char = '>'
446     abc<def>ghi<klm>nop
447  0: <def>
448
449 /<.*?>/U
450 Capturing subpattern count = 0
451 Partial matching not supported
452 Options: ungreedy
453 First char = '<'
454 Need char = '>'
455     abc<def>ghi<klm>nop
456  0: <def>ghi<klm>
457     
458 /={3,}/U
459 Capturing subpattern count = 0
460 Partial matching not supported
461 Options: ungreedy
462 First char = '='
463 Need char = '='
464     abc========def
465  0: ===
466     
467 /(?U)={3,}?/
468 Capturing subpattern count = 0
469 Partial matching not supported
470 Options: ungreedy
471 First char = '='
472 Need char = '='
473     abc========def
474  0: ========
475     
476 /(?<!bar|cattle)foo/
477 Capturing subpattern count = 0
478 No options
479 First char = 'f'
480 Need char = 'o'
481     foo
482  0: foo
483     catfoo 
484  0: foo
485     *** Failers
486 No match
487     the barfoo
488 No match
489     and cattlefoo   
490 No match
491
492 /(?<=a+)b/
493 Failed: lookbehind assertion is not fixed length at offset 6
494
495 /(?<=aaa|b{0,3})b/
496 Failed: lookbehind assertion is not fixed length at offset 14
497
498 /(?<!(foo)a\1)bar/
499 Failed: lookbehind assertion is not fixed length at offset 12
500
501 /(?i)abc/
502 Capturing subpattern count = 0
503 Options: caseless
504 First char = 'a' (caseless)
505 Need char = 'c' (caseless)
506
507 /(a|(?m)a)/
508 Capturing subpattern count = 1
509 No options
510 First char = 'a'
511 No need char
512
513 /(?i)^1234/
514 Capturing subpattern count = 0
515 Options: anchored caseless
516 No first char
517 No need char
518
519 /(^b|(?i)^d)/
520 Capturing subpattern count = 1
521 Options: anchored
522 Case state changes
523 No first char
524 No need char
525
526 /(?s).*/
527 Capturing subpattern count = 0
528 Partial matching not supported
529 Options: anchored dotall
530 No first char
531 No need char
532
533 /[abcd]/S
534 Capturing subpattern count = 0
535 No options
536 No first char
537 No need char
538 Starting byte set: a b c d 
539
540 /(?i)[abcd]/S
541 Capturing subpattern count = 0
542 Options: caseless
543 No first char
544 No need char
545 Starting byte set: A B C D a b c d 
546
547 /(?m)[xy]|(b|c)/S
548 Capturing subpattern count = 1
549 Options: multiline
550 No first char
551 No need char
552 Starting byte set: b c x y 
553
554 /(^a|^b)/m
555 Capturing subpattern count = 1
556 Options: multiline
557 First char at start or follows \n
558 No need char
559
560 /(?i)(^a|^b)/m
561 Capturing subpattern count = 1
562 Options: caseless multiline
563 First char at start or follows \n
564 No need char
565
566 /(a)(?(1)a|b|c)/
567 Failed: conditional group contains more than two branches at offset 13
568
569 /(?(?=a)a|b|c)/
570 Failed: conditional group contains more than two branches at offset 12
571
572 /(?(1a)/
573 Failed: malformed number after (?( at offset 4
574
575 /(?(?i))/
576 Failed: assertion expected after (?( at offset 3
577
578 /(?(abc))/
579 Failed: assertion expected after (?( at offset 3
580
581 /(?(?<ab))/
582 Failed: unrecognized character after (?< at offset 5
583
584 /((?s)blah)\s+\1/
585 Capturing subpattern count = 1
586 Max back reference = 1
587 Partial matching not supported
588 No options
589 First char = 'b'
590 Need char = 'h'
591
592 /((?i)blah)\s+\1/
593 Capturing subpattern count = 1
594 Max back reference = 1
595 Partial matching not supported
596 No options
597 Case state changes
598 First char = 'b' (caseless)
599 Need char = 'h' (caseless)
600
601 /((?i)b)/DS
602 ------------------------------------------------------------------
603   0  15 Bra 0
604   3   7 Bra 1
605   6  01 Opt
606   8  NC b
607  10   7 Ket
608  13  00 Opt
609  15  15 Ket
610  18     End
611 ------------------------------------------------------------------
612 Capturing subpattern count = 1
613 No options
614 Case state changes
615 First char = 'b' (caseless)
616 No need char
617 Study returned NULL
618
619 /(a*b|(?i:c*(?-i)d))/S
620 Capturing subpattern count = 1
621 Partial matching not supported
622 No options
623 Case state changes
624 No first char
625 No need char
626 Starting byte set: C a b c d 
627
628 /a$/
629 Capturing subpattern count = 0
630 No options
631 First char = 'a'
632 No need char
633     a
634  0: a
635     a\n
636  0: a
637     *** Failers 
638 No match
639     \Za
640 No match
641     \Za\n   
642 No match
643
644 /a$/m
645 Capturing subpattern count = 0
646 Options: multiline
647 First char = 'a'
648 No need char
649     a
650  0: a
651     a\n
652  0: a
653     \Za\n   
654  0: a
655     *** Failers 
656 No match
657     \Za
658 No match
659     
660 /\Aabc/m
661 Capturing subpattern count = 0
662 Options: anchored multiline
663 No first char
664 No need char
665
666 /^abc/m 
667 Capturing subpattern count = 0
668 Options: multiline
669 First char at start or follows \n
670 Need char = 'c'
671
672 /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/
673 Capturing subpattern count = 5
674 Partial matching not supported
675 Options: anchored
676 No first char
677 No need char
678   aaaaabbbbbcccccdef
679  0: aaaaabbbbbcccccdef
680  1: aaaaabbbbbcccccdef
681  2: aaaaa
682  3: b
683  4: bbbbccccc
684  5: def
685
686 /(?<=foo)[ab]/S
687 Capturing subpattern count = 0
688 No options
689 No first char
690 No need char
691 Starting byte set: a b 
692
693 /(?<!foo)(alpha|omega)/S
694 Capturing subpattern count = 1
695 No options
696 No first char
697 Need char = 'a'
698 Starting byte set: a o 
699
700 /(?!alphabet)[ab]/S
701 Capturing subpattern count = 0
702 No options
703 No first char
704 No need char
705 Starting byte set: a b 
706
707 /(?<=foo\n)^bar/m
708 Capturing subpattern count = 0
709 Options: multiline
710 No first char
711 Need char = 'r'
712     foo\nbarbar 
713  0: bar
714     ***Failers
715 No match
716     rhubarb 
717 No match
718     barbell
719 No match
720     abc\nbarton 
721 No match
722
723 /^(?<=foo\n)bar/m
724 Capturing subpattern count = 0
725 Options: multiline
726 First char at start or follows \n
727 Need char = 'r'
728     foo\nbarbar 
729  0: bar
730     ***Failers
731 No match
732     rhubarb 
733 No match
734     barbell
735 No match
736     abc\nbarton 
737 No match
738
739 /(?>^abc)/m
740 Capturing subpattern count = 0
741 Options: multiline
742 First char at start or follows \n
743 Need char = 'c'
744     abc
745  0: abc
746     def\nabc
747  0: abc
748     *** Failers
749 No match
750     defabc   
751 No match
752
753 /(?<=ab(c+)d)ef/
754 Failed: lookbehind assertion is not fixed length at offset 11
755
756 /(?<=ab(?<=c+)d)ef/
757 Failed: lookbehind assertion is not fixed length at offset 12
758
759 /(?<=ab(c|de)f)g/
760 Failed: lookbehind assertion is not fixed length at offset 13
761
762 /The next three are in testinput2 because they have variable length branches/
763 Capturing subpattern count = 0
764 No options
765 First char = 'T'
766 Need char = 's'
767
768 /(?<=bullock|donkey)-cart/
769 Capturing subpattern count = 0
770 No options
771 First char = '-'
772 Need char = 't'
773     the bullock-cart
774  0: -cart
775     a donkey-cart race
776  0: -cart
777     *** Failers
778 No match
779     cart
780 No match
781     horse-and-cart    
782 No match
783       
784 /(?<=ab(?i)x|y|z)/
785 Capturing subpattern count = 0
786 No options
787 Case state changes
788 No first char
789 No need char
790
791 /(?>.*)(?<=(abcd)|(xyz))/
792 Capturing subpattern count = 2
793 Partial matching not supported
794 No options
795 First char at start or follows \n
796 No need char
797     alphabetabcd
798  0: alphabetabcd
799  1: abcd
800     endingxyz
801  0: endingxyz
802  1: <unset>
803  2: xyz
804
805 /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/
806 Capturing subpattern count = 0
807 No options
808 Case state changes
809 First char = 'Z'
810 Need char = 'Z'
811     abxyZZ
812  0: ZZ
813     abXyZZ
814  0: ZZ
815     ZZZ
816  0: ZZ
817     zZZ
818  0: ZZ
819     bZZ
820  0: ZZ
821     BZZ     
822  0: ZZ
823     *** Failers
824 No match
825     ZZ 
826 No match
827     abXYZZ 
828 No match
829     zzz
830 No match
831     bzz  
832 No match
833
834 /(?<!(foo)a)bar/
835 Capturing subpattern count = 1
836 No options
837 First char = 'b'
838 Need char = 'r'
839     bar
840  0: bar
841     foobbar 
842  0: bar
843     *** Failers
844 No match
845     fooabar  
846 No match
847
848 /This one is here because Perl 5.005_02 doesn't fail it/
849 Capturing subpattern count = 0
850 No options
851 First char = 'T'
852 Need char = 't'
853
854 /^(a)?(?(1)a|b)+$/
855 Capturing subpattern count = 1
856 Options: anchored
857 No first char
858 No need char
859     *** Failers
860 No match
861     a 
862 No match
863
864 /This one is here because I think Perl 5.005_02 gets the setting of $1 wrong/
865 Capturing subpattern count = 0
866 No options
867 First char = 'T'
868 Need char = 'g'
869
870 /^(a\1?){4}$/
871 Capturing subpattern count = 1
872 Max back reference = 1
873 Options: anchored
874 No first char
875 No need char
876     aaaaaa
877  0: aaaaaa
878  1: aa
879     
880 /These are syntax tests from Perl 5.005/
881 Capturing subpattern count = 0
882 No options
883 First char = 'T'
884 Need char = '5'
885
886 /a[b-a]/
887 Failed: range out of order in character class at offset 4
888
889 /a[]b/
890 Failed: missing terminating ] for character class at offset 4
891
892 /a[/
893 Failed: missing terminating ] for character class at offset 2
894
895 /*a/
896 Failed: nothing to repeat at offset 0
897
898 /(*)b/
899 Failed: nothing to repeat at offset 1
900
901 /abc)/
902 Failed: unmatched parentheses at offset 3
903
904 /(abc/
905 Failed: missing ) at offset 4
906
907 /a**/
908 Failed: nothing to repeat at offset 2
909
910 /)(/
911 Failed: unmatched parentheses at offset 0
912
913 /\1/
914 Failed: reference to non-existent subpattern at offset 2
915
916 /\2/
917 Failed: reference to non-existent subpattern at offset 2
918
919 /(a)|\2/
920 Failed: reference to non-existent subpattern at offset 6
921
922 /a[b-a]/i
923 Failed: range out of order in character class at offset 4
924
925 /a[]b/i
926 Failed: missing terminating ] for character class at offset 4
927
928 /a[/i
929 Failed: missing terminating ] for character class at offset 2
930
931 /*a/i
932 Failed: nothing to repeat at offset 0
933
934 /(*)b/i
935 Failed: nothing to repeat at offset 1
936
937 /abc)/i
938 Failed: unmatched parentheses at offset 3
939
940 /(abc/i
941 Failed: missing ) at offset 4
942
943 /a**/i
944 Failed: nothing to repeat at offset 2
945
946 /)(/i
947 Failed: unmatched parentheses at offset 0
948
949 /:(?:/
950 Failed: missing ) at offset 4
951
952 /(?<%)b/
953 Failed: unrecognized character after (?< at offset 3
954
955 /a(?{)b/
956 Failed: unrecognized character after (? at offset 3
957
958 /a(?{{})b/
959 Failed: unrecognized character after (? at offset 3
960
961 /a(?{}})b/
962 Failed: unrecognized character after (? at offset 3
963
964 /a(?{"{"})b/
965 Failed: unrecognized character after (? at offset 3
966
967 /a(?{"{"}})b/
968 Failed: unrecognized character after (? at offset 3
969
970 /(?(1?)a|b)/
971 Failed: malformed number after (?( at offset 4
972
973 /(?(1)a|b|c)/
974 Failed: conditional group contains more than two branches at offset 10
975
976 /[a[:xyz:/
977 Failed: missing terminating ] for character class at offset 8
978
979 /(?<=x+)y/
980 Failed: lookbehind assertion is not fixed length at offset 6
981
982 /a{37,17}/
983 Failed: numbers out of order in {} quantifier at offset 7
984
985 /abc/\
986 Failed: \ at end of pattern at offset 4
987
988 /abc/\P
989 Failed: POSIX code 9: bad escape sequence at offset 4     
990
991 /abc/\i
992 Failed: \ at end of pattern at offset 4
993
994 /(a)bc(d)/
995 Capturing subpattern count = 2
996 No options
997 First char = 'a'
998 Need char = 'd'
999     abcd
1000  0: abcd
1001  1: a
1002  2: d
1003     abcd\C2
1004  0: abcd
1005  1: a
1006  2: d
1007  2C d (1)
1008     abcd\C5
1009  0: abcd
1010  1: a
1011  2: d
1012 copy substring 5 failed -7
1013      
1014 /(.{20})/
1015 Capturing subpattern count = 1
1016 Partial matching not supported
1017 No options
1018 No first char
1019 No need char
1020     abcdefghijklmnopqrstuvwxyz
1021  0: abcdefghijklmnopqrst
1022  1: abcdefghijklmnopqrst
1023     abcdefghijklmnopqrstuvwxyz\C1
1024  0: abcdefghijklmnopqrst
1025  1: abcdefghijklmnopqrst
1026 copy substring 1 failed -6
1027     abcdefghijklmnopqrstuvwxyz\G1
1028  0: abcdefghijklmnopqrst
1029  1: abcdefghijklmnopqrst
1030  1G abcdefghijklmnopqrst (20)
1031      
1032 /(.{15})/
1033 Capturing subpattern count = 1
1034 Partial matching not supported
1035 No options
1036 No first char
1037 No need char
1038     abcdefghijklmnopqrstuvwxyz
1039  0: abcdefghijklmno
1040  1: abcdefghijklmno
1041     abcdefghijklmnopqrstuvwxyz\C1\G1
1042  0: abcdefghijklmno
1043  1: abcdefghijklmno
1044  1C abcdefghijklmno (15)
1045  1G abcdefghijklmno (15)
1046
1047 /(.{16})/
1048 Capturing subpattern count = 1
1049 Partial matching not supported
1050 No options
1051 No first char
1052 No need char
1053     abcdefghijklmnopqrstuvwxyz
1054  0: abcdefghijklmnop
1055  1: abcdefghijklmnop
1056     abcdefghijklmnopqrstuvwxyz\C1\G1\L
1057  0: abcdefghijklmnop
1058  1: abcdefghijklmnop
1059 copy substring 1 failed -6
1060  1G abcdefghijklmnop (16)
1061  0L abcdefghijklmnop
1062  1L abcdefghijklmnop
1063     
1064 /^(a|(bc))de(f)/
1065 Capturing subpattern count = 3
1066 Options: anchored
1067 No first char
1068 No need char
1069     adef\G1\G2\G3\G4\L 
1070  0: adef
1071  1: a
1072  2: <unset>
1073  3: f
1074  1G a (1)
1075  2G  (0)
1076  3G f (1)
1077 get substring 4 failed -7
1078  0L adef
1079  1L a
1080  2L 
1081  3L f
1082     bcdef\G1\G2\G3\G4\L 
1083  0: bcdef
1084  1: bc
1085  2: bc
1086  3: f
1087  1G bc (2)
1088  2G bc (2)
1089  3G f (1)
1090 get substring 4 failed -7
1091  0L bcdef
1092  1L bc
1093  2L bc
1094  3L f
1095     adefghijk\C0 
1096  0: adef
1097  1: a
1098  2: <unset>
1099  3: f
1100  0C adef (4)
1101     
1102 /^abc\00def/
1103 Capturing subpattern count = 0
1104 Options: anchored
1105 No first char
1106 No need char
1107     abc\00def\L\C0 
1108  0: abc\x00def
1109  0C abc (7)
1110  0L abc
1111     
1112 /word ((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ 
1113 )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ 
1114 )?)?)?)?)?)?)?)?)?otherword/M
1115 Memory allocation (code space): 432
1116 Capturing subpattern count = 8
1117 Partial matching not supported
1118 No options
1119 First char = 'w'
1120 Need char = 'd'
1121
1122 /.*X/D
1123 ------------------------------------------------------------------
1124   0   7 Bra 0
1125   3     Any*
1126   5     X
1127   7   7 Ket
1128  10     End
1129 ------------------------------------------------------------------
1130 Capturing subpattern count = 0
1131 Partial matching not supported
1132 No options
1133 First char at start or follows \n
1134 Need char = 'X'
1135
1136 /.*X/Ds
1137 ------------------------------------------------------------------
1138   0   7 Bra 0
1139   3     Any*
1140   5     X
1141   7   7 Ket
1142  10     End
1143 ------------------------------------------------------------------
1144 Capturing subpattern count = 0
1145 Partial matching not supported
1146 Options: anchored dotall
1147 No first char
1148 Need char = 'X'
1149
1150 /(.*X|^B)/D
1151 ------------------------------------------------------------------
1152   0  19 Bra 0
1153   3   7 Bra 1
1154   6     Any*
1155   8     X
1156  10   6 Alt
1157  13     ^
1158  14     B
1159  16  13 Ket
1160  19  19 Ket
1161  22     End
1162 ------------------------------------------------------------------
1163 Capturing subpattern count = 1
1164 Partial matching not supported
1165 No options
1166 First char at start or follows \n
1167 No need char
1168
1169 /(.*X|^B)/Ds
1170 ------------------------------------------------------------------
1171   0  19 Bra 0
1172   3   7 Bra 1
1173   6     Any*
1174   8     X
1175  10   6 Alt
1176  13     ^
1177  14     B
1178  16  13 Ket
1179  19  19 Ket
1180  22     End
1181 ------------------------------------------------------------------
1182 Capturing subpattern count = 1
1183 Partial matching not supported
1184 Options: anchored dotall
1185 No first char
1186 No need char
1187     
1188 /(?s)(.*X|^B)/D
1189 ------------------------------------------------------------------
1190   0  19 Bra 0
1191   3   7 Bra 1
1192   6     Any*
1193   8     X
1194  10   6 Alt
1195  13     ^
1196  14     B
1197  16  13 Ket
1198  19  19 Ket
1199  22     End
1200 ------------------------------------------------------------------
1201 Capturing subpattern count = 1
1202 Partial matching not supported
1203 Options: anchored dotall
1204 No first char
1205 No need char
1206
1207 /(?s:.*X|^B)/D
1208 ------------------------------------------------------------------
1209   0  25 Bra 0
1210   3   9 Bra 0
1211   6  04 Opt
1212   8     Any*
1213  10     X
1214  12   8 Alt
1215  15  04 Opt
1216  17     ^
1217  18     B
1218  20  17 Ket
1219  23  00 Opt
1220  25  25 Ket
1221  28     End
1222 ------------------------------------------------------------------
1223 Capturing subpattern count = 0
1224 Partial matching not supported
1225 No options
1226 First char at start or follows \n
1227 No need char
1228
1229 /\Biss\B/+
1230 Capturing subpattern count = 0
1231 No options
1232 First char = 'i'
1233 Need char = 's'
1234     Mississippi
1235  0: iss
1236  0+ issippi
1237
1238 /\Biss\B/+P
1239     Mississippi
1240  0: iss
1241  0+ issippi
1242
1243 /iss/G+
1244 Capturing subpattern count = 0
1245 No options
1246 First char = 'i'
1247 Need char = 's'
1248     Mississippi
1249  0: iss
1250  0+ issippi
1251  0: iss
1252  0+ ippi
1253
1254 /\Biss\B/G+
1255 Capturing subpattern count = 0
1256 No options
1257 First char = 'i'
1258 Need char = 's'
1259     Mississippi
1260  0: iss
1261  0+ issippi
1262
1263 /\Biss\B/g+
1264 Capturing subpattern count = 0
1265 No options
1266 First char = 'i'
1267 Need char = 's'
1268     Mississippi
1269  0: iss
1270  0+ issippi
1271  0: iss
1272  0+ ippi
1273     *** Failers
1274 No match
1275     Mississippi\A
1276 No match
1277
1278 /(?<=[Ms])iss/g+
1279 Capturing subpattern count = 0
1280 No options
1281 First char = 'i'
1282 Need char = 's'
1283     Mississippi
1284  0: iss
1285  0+ issippi
1286  0: iss
1287  0+ ippi
1288
1289 /(?<=[Ms])iss/G+
1290 Capturing subpattern count = 0
1291 No options
1292 First char = 'i'
1293 Need char = 's'
1294     Mississippi
1295  0: iss
1296  0+ issippi
1297
1298 /^iss/g+
1299 Capturing subpattern count = 0
1300 Options: anchored
1301 No first char
1302 No need char
1303     ississippi
1304  0: iss
1305  0+ issippi
1306     
1307 /.*iss/g+
1308 Capturing subpattern count = 0
1309 Partial matching not supported
1310 No options
1311 First char at start or follows \n
1312 Need char = 's'
1313     abciss\nxyzisspqr 
1314  0: abciss
1315  0+ \x0axyzisspqr
1316  0: xyziss
1317  0+ pqr
1318
1319 /.i./+g
1320 Capturing subpattern count = 0
1321 No options
1322 No first char
1323 Need char = 'i'
1324     Mississippi
1325  0: Mis
1326  0+ sissippi
1327  0: sis
1328  0+ sippi
1329  0: sip
1330  0+ pi
1331     Mississippi\A
1332  0: Mis
1333  0+ sissippi
1334  0: sis
1335  0+ sippi
1336  0: sip
1337  0+ pi
1338     Missouri river
1339  0: Mis
1340  0+ souri river
1341  0: ri 
1342  0+ river
1343  0: riv
1344  0+ er
1345     Missouri river\A  
1346  0: Mis
1347  0+ souri river
1348
1349 /^.is/+g
1350 Capturing subpattern count = 0
1351 Options: anchored
1352 No first char
1353 No need char
1354     Mississippi
1355  0: Mis
1356  0+ sissippi
1357
1358 /^ab\n/g+
1359 Capturing subpattern count = 0
1360 Options: anchored
1361 No first char
1362 No need char
1363     ab\nab\ncd
1364  0: ab\x0a
1365  0+ ab\x0acd
1366
1367 /^ab\n/mg+
1368 Capturing subpattern count = 0
1369 Options: multiline
1370 First char at start or follows \n
1371 Need char = 10
1372     ab\nab\ncd
1373  0: ab\x0a
1374  0+ ab\x0acd
1375  0: ab\x0a
1376  0+ cd
1377
1378 /abc/
1379 Capturing subpattern count = 0
1380 No options
1381 First char = 'a'
1382 Need char = 'c'
1383
1384 /abc|bac/
1385 Capturing subpattern count = 0
1386 No options
1387 No first char
1388 Need char = 'c'
1389
1390 /(abc|bac)/
1391 Capturing subpattern count = 1
1392 No options
1393 No first char
1394 Need char = 'c'
1395
1396 /(abc|(c|dc))/
1397 Capturing subpattern count = 2
1398 No options
1399 No first char
1400 Need char = 'c'
1401
1402 /(abc|(d|de)c)/
1403 Capturing subpattern count = 2
1404 No options
1405 No first char
1406 Need char = 'c'
1407
1408 /a*/
1409 Capturing subpattern count = 0
1410 Partial matching not supported
1411 No options
1412 No first char
1413 No need char
1414
1415 /a+/
1416 Capturing subpattern count = 0
1417 Partial matching not supported
1418 No options
1419 First char = 'a'
1420 No need char
1421
1422 /(baa|a+)/
1423 Capturing subpattern count = 1
1424 Partial matching not supported
1425 No options
1426 No first char
1427 Need char = 'a'
1428
1429 /a{0,3}/
1430 Capturing subpattern count = 0
1431 Partial matching not supported
1432 No options
1433 No first char
1434 No need char
1435
1436 /baa{3,}/
1437 Capturing subpattern count = 0
1438 Partial matching not supported
1439 No options
1440 First char = 'b'
1441 Need char = 'a'
1442
1443 /"([^\\"]+|\\.)*"/
1444 Capturing subpattern count = 1
1445 Partial matching not supported
1446 No options
1447 First char = '"'
1448 Need char = '"'
1449
1450 /(abc|ab[cd])/
1451 Capturing subpattern count = 1
1452 No options
1453 First char = 'a'
1454 No need char
1455
1456 /(a|.)/
1457 Capturing subpattern count = 1
1458 No options
1459 No first char
1460 No need char
1461
1462 /a|ba|\w/
1463 Capturing subpattern count = 0
1464 No options
1465 No first char
1466 No need char
1467
1468 /abc(?=pqr)/
1469 Capturing subpattern count = 0
1470 No options
1471 First char = 'a'
1472 Need char = 'r'
1473
1474 /...(?<=abc)/
1475 Capturing subpattern count = 0
1476 No options
1477 No first char
1478 No need char
1479
1480 /abc(?!pqr)/
1481 Capturing subpattern count = 0
1482 No options
1483 First char = 'a'
1484 Need char = 'c'
1485
1486 /ab./
1487 Capturing subpattern count = 0
1488 No options
1489 First char = 'a'
1490 Need char = 'b'
1491
1492 /ab[xyz]/
1493 Capturing subpattern count = 0
1494 No options
1495 First char = 'a'
1496 Need char = 'b'
1497
1498 /abc*/
1499 Capturing subpattern count = 0
1500 Partial matching not supported
1501 No options
1502 First char = 'a'
1503 Need char = 'b'
1504
1505 /ab.c*/
1506 Capturing subpattern count = 0
1507 Partial matching not supported
1508 No options
1509 First char = 'a'
1510 Need char = 'b'
1511
1512 /a.c*/
1513 Capturing subpattern count = 0
1514 Partial matching not supported
1515 No options
1516 First char = 'a'
1517 No need char
1518
1519 /.c*/
1520 Capturing subpattern count = 0
1521 Partial matching not supported
1522 No options
1523 No first char
1524 No need char
1525
1526 /ac*/
1527 Capturing subpattern count = 0
1528 Partial matching not supported
1529 No options
1530 First char = 'a'
1531 No need char
1532
1533 /(a.c*|b.c*)/
1534 Capturing subpattern count = 1
1535 Partial matching not supported
1536 No options
1537 No first char
1538 No need char
1539
1540 /a.c*|aba/
1541 Capturing subpattern count = 0
1542 Partial matching not supported
1543 No options
1544 First char = 'a'
1545 No need char
1546
1547 /.+a/
1548 Capturing subpattern count = 0
1549 Partial matching not supported
1550 No options
1551 No first char
1552 Need char = 'a'
1553
1554 /(?=abcda)a.*/
1555 Capturing subpattern count = 0
1556 Partial matching not supported
1557 No options
1558 First char = 'a'
1559 Need char = 'a'
1560
1561 /(?=a)a.*/
1562 Capturing subpattern count = 0
1563 Partial matching not supported
1564 No options
1565 First char = 'a'
1566 No need char
1567
1568 /a(b)*/
1569 Capturing subpattern count = 1
1570 No options
1571 First char = 'a'
1572 No need char
1573
1574 /a\d*/
1575 Capturing subpattern count = 0
1576 Partial matching not supported
1577 No options
1578 First char = 'a'
1579 No need char
1580
1581 /ab\d*/
1582 Capturing subpattern count = 0
1583 Partial matching not supported
1584 No options
1585 First char = 'a'
1586 Need char = 'b'
1587
1588 /a(\d)*/
1589 Capturing subpattern count = 1
1590 No options
1591 First char = 'a'
1592 No need char
1593
1594 /abcde{0,0}/
1595 Capturing subpattern count = 0
1596 No options
1597 First char = 'a'
1598 Need char = 'd'
1599
1600 /ab\d+/
1601 Capturing subpattern count = 0
1602 Partial matching not supported
1603 No options
1604 First char = 'a'
1605 Need char = 'b'
1606
1607 /a(?(1)b)/
1608 Capturing subpattern count = 0
1609 No options
1610 First char = 'a'
1611 No need char
1612
1613 /a(?(1)bag|big)/
1614 Capturing subpattern count = 0
1615 No options
1616 First char = 'a'
1617 Need char = 'g'
1618
1619 /a(?(1)bag|big)*/
1620 Capturing subpattern count = 0
1621 No options
1622 First char = 'a'
1623 No need char
1624
1625 /a(?(1)bag|big)+/
1626 Capturing subpattern count = 0
1627 No options
1628 First char = 'a'
1629 Need char = 'g'
1630
1631 /a(?(1)b..|b..)/
1632 Capturing subpattern count = 0
1633 No options
1634 First char = 'a'
1635 Need char = 'b'
1636
1637 /ab\d{0}e/
1638 Capturing subpattern count = 0
1639 No options
1640 First char = 'a'
1641 Need char = 'e'
1642
1643 /a?b?/
1644 Capturing subpattern count = 0
1645 No options
1646 No first char
1647 No need char
1648     a
1649  0: a
1650     b
1651  0: b
1652     ab
1653  0: ab
1654     \
1655  0: 
1656     *** Failers
1657  0: 
1658     \N     
1659 No match
1660     
1661 /|-/
1662 Capturing subpattern count = 0
1663 No options
1664 No first char
1665 No need char
1666     abcd
1667  0: 
1668     -abc
1669  0: 
1670     \Nab-c
1671  0: -
1672     *** Failers
1673  0: 
1674     \Nabc     
1675 No match
1676
1677 /a*(b+)(z)(z)/P
1678     aaaabbbbzzzz
1679  0: aaaabbbbzz
1680  1: bbbb
1681  2: z
1682  3: z
1683     aaaabbbbzzzz\O0
1684     aaaabbbbzzzz\O1
1685  0: aaaabbbbzz
1686     aaaabbbbzzzz\O2
1687  0: aaaabbbbzz
1688  1: bbbb
1689     aaaabbbbzzzz\O3
1690  0: aaaabbbbzz
1691  1: bbbb
1692  2: z
1693     aaaabbbbzzzz\O4
1694  0: aaaabbbbzz
1695  1: bbbb
1696  2: z
1697  3: z
1698     aaaabbbbzzzz\O5
1699  0: aaaabbbbzz
1700  1: bbbb
1701  2: z
1702  3: z
1703     
1704 /^.?abcd/S 
1705 Capturing subpattern count = 0
1706 Options: anchored
1707 No first char
1708 Need char = 'd'
1709 Study returned NULL
1710
1711 /\(             # ( at start
1712   (?:           # Non-capturing bracket
1713   (?>[^()]+)    # Either a sequence of non-brackets (no backtracking)
1714   |             # Or
1715   (?R)          # Recurse - i.e. nested bracketed string
1716   )*            # Zero or more contents
1717   \)            # Closing )
1718   /x
1719 Capturing subpattern count = 0
1720 Partial matching not supported
1721 Options: extended
1722 First char = '('
1723 Need char = ')'
1724     (abcd)
1725  0: (abcd)
1726     (abcd)xyz
1727  0: (abcd)
1728     xyz(abcd)
1729  0: (abcd)
1730     (ab(xy)cd)pqr 
1731  0: (ab(xy)cd)
1732     (ab(xycd)pqr 
1733  0: (xycd)
1734     () abc () 
1735  0: ()
1736     12(abcde(fsh)xyz(foo(bar))lmno)89
1737  0: (abcde(fsh)xyz(foo(bar))lmno)
1738     *** Failers
1739 No match
1740     abcd 
1741 No match
1742     abcd)
1743 No match
1744     (abcd  
1745 No match
1746
1747 /\(  ( (?>[^()]+) | (?R) )* \) /xg
1748 Capturing subpattern count = 1
1749 Partial matching not supported
1750 Options: extended
1751 First char = '('
1752 Need char = ')'
1753     (ab(xy)cd)pqr 
1754  0: (ab(xy)cd)
1755  1: cd
1756     1(abcd)(x(y)z)pqr
1757  0: (abcd)
1758  1: abcd
1759  0: (x(y)z)
1760  1: z
1761
1762 /\(  (?: (?>[^()]+) | (?R) ) \) /x
1763 Capturing subpattern count = 0
1764 Partial matching not supported
1765 Options: extended
1766 First char = '('
1767 Need char = ')'
1768     (abcd)
1769  0: (abcd)
1770     (ab(xy)cd)
1771  0: (xy)
1772     (a(b(c)d)e) 
1773  0: (c)
1774     ((ab)) 
1775  0: ((ab))
1776     *** Failers
1777 No match
1778     ()   
1779 No match
1780
1781 /\(  (?: (?>[^()]+) | (?R) )? \) /x
1782 Capturing subpattern count = 0
1783 Partial matching not supported
1784 Options: extended
1785 First char = '('
1786 Need char = ')'
1787     ()
1788  0: ()
1789     12(abcde(fsh)xyz(foo(bar))lmno)89
1790  0: (fsh)
1791
1792 /\(  ( (?>[^()]+) | (?R) )* \) /x
1793 Capturing subpattern count = 1
1794 Partial matching not supported
1795 Options: extended
1796 First char = '('
1797 Need char = ')'
1798     (ab(xy)cd)
1799  0: (ab(xy)cd)
1800  1: cd
1801
1802 /\( ( ( (?>[^()]+) | (?R) )* ) \) /x
1803 Capturing subpattern count = 2
1804 Partial matching not supported
1805 Options: extended
1806 First char = '('
1807 Need char = ')'
1808     (ab(xy)cd)
1809  0: (ab(xy)cd)
1810  1: ab(xy)cd
1811  2: cd
1812
1813 /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /x
1814 Capturing subpattern count = 3
1815 Partial matching not supported
1816 Options: extended
1817 First char = '('
1818 Need char = ')'
1819     (ab(xy)cd)
1820  0: (ab(xy)cd)
1821  1: <unset>
1822  2: ab(xy)cd
1823  3: cd
1824     (123ab(xy)cd)
1825  0: (123ab(xy)cd)
1826  1: 123
1827  2: ab(xy)cd
1828  3: cd
1829
1830 /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /x
1831 Capturing subpattern count = 3
1832 Partial matching not supported
1833 Options: extended
1834 First char = '('
1835 Need char = ')'
1836     (ab(xy)cd)
1837  0: (ab(xy)cd)
1838  1: ab(xy)cd
1839  2: <unset>
1840  3: cd
1841     (123ab(xy)cd)
1842  0: (123ab(xy)cd)
1843  1: 123ab(xy)cd
1844  2: 123
1845  3: cd
1846
1847 /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /x
1848 Capturing subpattern count = 11
1849 Partial matching not supported
1850 Options: extended
1851 First char = '('
1852 Need char = ')'
1853     (ab(xy)cd)
1854  0: (ab(xy)cd)
1855  1: ab(xy)cd
1856  2: ab(xy)cd
1857  3: ab(xy)cd
1858  4: ab(xy)cd
1859  5: ab(xy)cd
1860  6: ab(xy)cd
1861  7: ab(xy)cd
1862  8: ab(xy)cd
1863  9: ab(xy)cd
1864 10: ab(xy)cd
1865 11: cd
1866
1867 /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /x
1868 Capturing subpattern count = 3
1869 Partial matching not supported
1870 Options: extended
1871 First char = '('
1872 Need char = ')'
1873     (abcd(xyz<p>qrs)123)
1874  0: (abcd(xyz<p>qrs)123)
1875  1: abcd(xyz<p>qrs)123
1876  2: 123
1877  3: <unset>
1878
1879 /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /x
1880 Capturing subpattern count = 3
1881 Partial matching not supported
1882 Options: extended
1883 First char = '('
1884 Need char = ')'
1885     (ab(cd)ef)
1886  0: (ab(cd)ef)
1887  1: ab(cd)ef
1888  2: ef
1889  3: (cd)
1890     (ab(cd(ef)gh)ij)
1891  0: (ab(cd(ef)gh)ij)
1892  1: ab(cd(ef)gh)ij
1893  2: ij
1894  3: (cd(ef)gh)
1895
1896 /^[[:alnum:]]/D
1897 ------------------------------------------------------------------
1898   0  37 Bra 0
1899   3     ^
1900   4     [0-9A-Za-z]
1901  37  37 Ket
1902  40     End
1903 ------------------------------------------------------------------
1904 Capturing subpattern count = 0
1905 Options: anchored
1906 No first char
1907 No need char
1908
1909 /^[[:^alnum:]]/D
1910 ------------------------------------------------------------------
1911   0  37 Bra 0
1912   3     ^
1913   4     [\x00-/:-@[-`{-\xff]
1914  37  37 Ket
1915  40     End
1916 ------------------------------------------------------------------
1917 Capturing subpattern count = 0
1918 Options: anchored
1919 No first char
1920 No need char
1921
1922 /^[[:alpha:]]/D
1923 ------------------------------------------------------------------
1924   0  37 Bra 0
1925   3     ^
1926   4     [A-Za-z]
1927  37  37 Ket
1928  40     End
1929 ------------------------------------------------------------------
1930 Capturing subpattern count = 0
1931 Options: anchored
1932 No first char
1933 No need char
1934
1935 /^[[:^alpha:]]/D
1936 ------------------------------------------------------------------
1937   0  37 Bra 0
1938   3     ^
1939   4     [\x00-@[-`{-\xff]
1940  37  37 Ket
1941  40     End
1942 ------------------------------------------------------------------
1943 Capturing subpattern count = 0
1944 Options: anchored
1945 No first char
1946 No need char
1947              
1948 /^[[:ascii:]]/D
1949 ------------------------------------------------------------------
1950   0  37 Bra 0
1951   3     ^
1952   4     [\x00-\x7f]
1953  37  37 Ket
1954  40     End
1955 ------------------------------------------------------------------
1956 Capturing subpattern count = 0
1957 Options: anchored
1958 No first char
1959 No need char
1960
1961 /^[[:^ascii:]]/D
1962 ------------------------------------------------------------------
1963   0  37 Bra 0
1964   3     ^
1965   4     [\x80-\xff]
1966  37  37 Ket
1967  40     End
1968 ------------------------------------------------------------------
1969 Capturing subpattern count = 0
1970 Options: anchored
1971 No first char
1972 No need char
1973
1974 /^[[:blank:]]/D
1975 ------------------------------------------------------------------
1976   0  37 Bra 0
1977   3     ^
1978   4     [\x09 ]
1979  37  37 Ket
1980  40     End
1981 ------------------------------------------------------------------
1982 Capturing subpattern count = 0
1983 Options: anchored
1984 No first char
1985 No need char
1986
1987 /^[[:cntrl:]]/D
1988 ------------------------------------------------------------------
1989   0  37 Bra 0
1990   3     ^
1991   4     [\x00-\x1f\x7f]
1992  37  37 Ket
1993  40     End
1994 ------------------------------------------------------------------
1995 Capturing subpattern count = 0
1996 Options: anchored
1997 No first char
1998 No need char
1999
2000 /^[[:digit:]]/D
2001 ------------------------------------------------------------------
2002   0  37 Bra 0
2003   3     ^
2004   4     [0-9]
2005  37  37 Ket
2006  40     End
2007 ------------------------------------------------------------------
2008 Capturing subpattern count = 0
2009 Options: anchored
2010 No first char
2011 No need char
2012
2013 /^[[:graph:]]/D
2014 ------------------------------------------------------------------
2015   0  37 Bra 0
2016   3     ^
2017   4     [!-~]
2018  37  37 Ket
2019  40     End
2020 ------------------------------------------------------------------
2021 Capturing subpattern count = 0
2022 Options: anchored
2023 No first char
2024 No need char
2025
2026 /^[[:lower:]]/D
2027 ------------------------------------------------------------------
2028   0  37 Bra 0
2029   3     ^
2030   4     [a-z]
2031  37  37 Ket
2032  40     End
2033 ------------------------------------------------------------------
2034 Capturing subpattern count = 0
2035 Options: anchored
2036 No first char
2037 No need char
2038
2039 /^[[:print:]]/D
2040 ------------------------------------------------------------------
2041   0  37 Bra 0
2042   3     ^
2043   4     [ -~]
2044  37  37 Ket
2045  40     End
2046 ------------------------------------------------------------------
2047 Capturing subpattern count = 0
2048 Options: anchored
2049 No first char
2050 No need char
2051
2052 /^[[:punct:]]/D
2053 ------------------------------------------------------------------
2054   0  37 Bra 0
2055   3     ^
2056   4     [!-/:-@[-`{-~]
2057  37  37 Ket
2058  40     End
2059 ------------------------------------------------------------------
2060 Capturing subpattern count = 0
2061 Options: anchored
2062 No first char
2063 No need char
2064
2065 /^[[:space:]]/D
2066 ------------------------------------------------------------------
2067   0  37 Bra 0
2068   3     ^
2069   4     [\x09-\x0d ]
2070  37  37 Ket
2071  40     End
2072 ------------------------------------------------------------------
2073 Capturing subpattern count = 0
2074 Options: anchored
2075 No first char
2076 No need char
2077
2078 /^[[:upper:]]/D
2079 ------------------------------------------------------------------
2080   0  37 Bra 0
2081   3     ^
2082   4     [A-Z]
2083  37  37 Ket
2084  40     End
2085 ------------------------------------------------------------------
2086 Capturing subpattern count = 0
2087 Options: anchored
2088 No first char
2089 No need char
2090
2091 /^[[:xdigit:]]/D
2092 ------------------------------------------------------------------
2093   0  37 Bra 0
2094   3     ^
2095   4     [0-9A-Fa-f]
2096  37  37 Ket
2097  40     End
2098 ------------------------------------------------------------------
2099 Capturing subpattern count = 0
2100 Options: anchored
2101 No first char
2102 No need char
2103
2104 /^[[:word:]]/D
2105 ------------------------------------------------------------------
2106   0  37 Bra 0
2107   3     ^
2108   4     [0-9A-Z_a-z]
2109  37  37 Ket
2110  40     End
2111 ------------------------------------------------------------------
2112 Capturing subpattern count = 0
2113 Options: anchored
2114 No first char
2115 No need char
2116
2117 /^[[:^cntrl:]]/D
2118 ------------------------------------------------------------------
2119   0  37 Bra 0
2120   3     ^
2121   4     [ -~\x80-\xff]
2122  37  37 Ket
2123  40     End
2124 ------------------------------------------------------------------
2125 Capturing subpattern count = 0
2126 Options: anchored
2127 No first char
2128 No need char
2129
2130 /^[12[:^digit:]]/D
2131 ------------------------------------------------------------------
2132   0  37 Bra 0
2133   3     ^
2134   4     [\x00-/12:-\xff]
2135  37  37 Ket
2136  40     End
2137 ------------------------------------------------------------------
2138 Capturing subpattern count = 0
2139 Options: anchored
2140 No first char
2141 No need char
2142
2143 /^[[:^blank:]]/D
2144 ------------------------------------------------------------------
2145   0  37 Bra 0
2146   3     ^
2147   4     [\x00-\x08\x0a-\x1f!-\xff]
2148  37  37 Ket
2149  40     End
2150 ------------------------------------------------------------------
2151 Capturing subpattern count = 0
2152 Options: anchored
2153 No first char
2154 No need char
2155
2156 /[01[:alpha:]%]/D
2157 ------------------------------------------------------------------
2158   0  36 Bra 0
2159   3     [%01A-Za-z]
2160  36  36 Ket
2161  39     End
2162 ------------------------------------------------------------------
2163 Capturing subpattern count = 0
2164 No options
2165 No first char
2166 No need char
2167
2168 /[[.ch.]]/
2169 Failed: POSIX collating elements are not supported at offset 1
2170
2171 /[[=ch=]]/
2172 Failed: POSIX collating elements are not supported at offset 1
2173
2174 /[[:rhubarb:]]/
2175 Failed: unknown POSIX class name at offset 3
2176
2177 /[[:upper:]]/i
2178 Capturing subpattern count = 0
2179 Options: caseless
2180 No first char
2181 No need char
2182     A
2183  0: A
2184     a 
2185  0: a
2186     
2187 /[[:lower:]]/i
2188 Capturing subpattern count = 0
2189 Options: caseless
2190 No first char
2191 No need char
2192     A
2193  0: A
2194     a 
2195  0: a
2196
2197 /((?-i)[[:lower:]])[[:lower:]]/i
2198 Capturing subpattern count = 1
2199 Options: caseless
2200 Case state changes
2201 No first char
2202 No need char
2203     ab
2204  0: ab
2205  1: a
2206     aB
2207  0: aB
2208  1: a
2209     *** Failers
2210  0: ai
2211  1: a
2212     Ab
2213 No match
2214     AB        
2215 No match
2216
2217 /[\200-\410]/
2218 Failed: range out of order in character class at offset 9
2219
2220 /^(?(0)f|b)oo/
2221 Failed: invalid condition (?(0) at offset 5
2222
2223 /This one's here because of the large output vector needed/
2224 Capturing subpattern count = 0
2225 No options
2226 First char = 'T'
2227 Need char = 'd'
2228
2229 /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\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)/
2230 Capturing subpattern count = 271
2231 Max back reference = 270
2232 Partial matching not supported
2233 No options
2234 No first char
2235 No need char
2236     \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
2237  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
2238  1: 1 
2239  2: 2 
2240  3: 3 
2241  4: 4 
2242  5: 5 
2243  6: 6 
2244  7: 7 
2245  8: 8 
2246  9: 9 
2247 10: 10 
2248 11: 11 
2249 12: 12 
2250 13: 13 
2251 14: 14 
2252 15: 15 
2253 16: 16 
2254 17: 17 
2255 18: 18 
2256 19: 19 
2257 20: 20 
2258 21: 21 
2259 22: 22 
2260 23: 23 
2261 24: 24 
2262 25: 25 
2263 26: 26 
2264 27: 27 
2265 28: 28 
2266 29: 29 
2267 30: 30 
2268 31: 31 
2269 32: 32 
2270 33: 33 
2271 34: 34 
2272 35: 35 
2273 36: 36 
2274 37: 37 
2275 38: 38 
2276 39: 39 
2277 40: 40 
2278 41: 41 
2279 42: 42 
2280 43: 43 
2281 44: 44 
2282 45: 45 
2283 46: 46 
2284 47: 47 
2285 48: 48 
2286 49: 49 
2287 50: 50 
2288 51: 51 
2289 52: 52 
2290 53: 53 
2291 54: 54 
2292 55: 55 
2293 56: 56 
2294 57: 57 
2295 58: 58 
2296 59: 59 
2297 60: 60 
2298 61: 61 
2299 62: 62 
2300 63: 63 
2301 64: 64 
2302 65: 65 
2303 66: 66 
2304 67: 67 
2305 68: 68 
2306 69: 69 
2307 70: 70 
2308 71: 71 
2309 72: 72 
2310 73: 73 
2311 74: 74 
2312 75: 75 
2313 76: 76 
2314 77: 77 
2315 78: 78 
2316 79: 79 
2317 80: 80 
2318 81: 81 
2319 82: 82 
2320 83: 83 
2321 84: 84 
2322 85: 85 
2323 86: 86 
2324 87: 87 
2325 88: 88 
2326 89: 89 
2327 90: 90 
2328 91: 91 
2329 92: 92 
2330 93: 93 
2331 94: 94 
2332 95: 95 
2333 96: 96 
2334 97: 97 
2335 98: 98 
2336 99: 99 
2337 100: 100 
2338 101: 101 
2339 102: 102 
2340 103: 103 
2341 104: 104 
2342 105: 105 
2343 106: 106 
2344 107: 107 
2345 108: 108 
2346 109: 109 
2347 110: 110 
2348 111: 111 
2349 112: 112 
2350 113: 113 
2351 114: 114 
2352 115: 115 
2353 116: 116 
2354 117: 117 
2355 118: 118 
2356 119: 119 
2357 120: 120 
2358 121: 121 
2359 122: 122 
2360 123: 123 
2361 124: 124 
2362 125: 125 
2363 126: 126 
2364 127: 127 
2365 128: 128 
2366 129: 129 
2367 130: 130 
2368 131: 131 
2369 132: 132 
2370 133: 133 
2371 134: 134 
2372 135: 135 
2373 136: 136 
2374 137: 137 
2375 138: 138 
2376 139: 139 
2377 140: 140 
2378 141: 141 
2379 142: 142 
2380 143: 143 
2381 144: 144 
2382 145: 145 
2383 146: 146 
2384 147: 147 
2385 148: 148 
2386 149: 149 
2387 150: 150 
2388 151: 151 
2389 152: 152 
2390 153: 153 
2391 154: 154 
2392 155: 155 
2393 156: 156 
2394 157: 157 
2395 158: 158 
2396 159: 159 
2397 160: 160 
2398 161: 161 
2399 162: 162 
2400 163: 163 
2401 164: 164 
2402 165: 165 
2403 166: 166 
2404 167: 167 
2405 168: 168 
2406 169: 169 
2407 170: 170 
2408 171: 171 
2409 172: 172 
2410 173: 173 
2411 174: 174 
2412 175: 175 
2413 176: 176 
2414 177: 177 
2415 178: 178 
2416 179: 179 
2417 180: 180 
2418 181: 181 
2419 182: 182 
2420 183: 183 
2421 184: 184 
2422 185: 185 
2423 186: 186 
2424 187: 187 
2425 188: 188 
2426 189: 189 
2427 190: 190 
2428 191: 191 
2429 192: 192 
2430 193: 193 
2431 194: 194 
2432 195: 195 
2433 196: 196 
2434 197: 197 
2435 198: 198 
2436 199: 199 
2437 200: 200 
2438 201: 201 
2439 202: 202 
2440 203: 203 
2441 204: 204 
2442 205: 205 
2443 206: 206 
2444 207: 207 
2445 208: 208 
2446 209: 209 
2447 210: 210 
2448 211: 211 
2449 212: 212 
2450 213: 213 
2451 214: 214 
2452 215: 215 
2453 216: 216 
2454 217: 217 
2455 218: 218 
2456 219: 219 
2457 220: 220 
2458 221: 221 
2459 222: 222 
2460 223: 223 
2461 224: 224 
2462 225: 225 
2463 226: 226 
2464 227: 227 
2465 228: 228 
2466 229: 229 
2467 230: 230 
2468 231: 231 
2469 232: 232 
2470 233: 233 
2471 234: 234 
2472 235: 235 
2473 236: 236 
2474 237: 237 
2475 238: 238 
2476 239: 239 
2477 240: 240 
2478 241: 241 
2479 242: 242 
2480 243: 243 
2481 244: 244 
2482 245: 245 
2483 246: 246 
2484 247: 247 
2485 248: 248 
2486 249: 249 
2487 250: 250 
2488 251: 251 
2489 252: 252 
2490 253: 253 
2491 254: 254 
2492 255: 255 
2493 256: 256 
2494 257: 257 
2495 258: 258 
2496 259: 259 
2497 260: 260 
2498 261: 261 
2499 262: 262 
2500 263: 263 
2501 264: 264 
2502 265: 265 
2503 266: 266 
2504 267: 267 
2505 268: 268 
2506 269: 269 
2507 270: ABC
2508 271: ABC
2509
2510 /This one's here because Perl does this differently and PCRE can't at present/
2511 Capturing subpattern count = 0
2512 No options
2513 First char = 'T'
2514 Need char = 't'
2515
2516 /(main(O)?)+/
2517 Capturing subpattern count = 2
2518 No options
2519 First char = 'm'
2520 Need char = 'n'
2521     mainmain
2522  0: mainmain
2523  1: main
2524     mainOmain
2525  0: mainOmain
2526  1: main
2527  2: O
2528     
2529 /These are all cases where Perl does it differently (nested captures)/
2530 Capturing subpattern count = 1
2531 No options
2532 First char = 'T'
2533 Need char = 's'
2534
2535 /^(a(b)?)+$/
2536 Capturing subpattern count = 2
2537 Options: anchored
2538 No first char
2539 No need char
2540     aba
2541  0: aba
2542  1: a
2543  2: b
2544    
2545 /^(aa(bb)?)+$/
2546 Capturing subpattern count = 2
2547 Options: anchored
2548 No first char
2549 No need char
2550     aabbaa    
2551  0: aabbaa
2552  1: aa
2553  2: bb
2554     
2555 /^(aa|aa(bb))+$/
2556 Capturing subpattern count = 2
2557 Options: anchored
2558 No first char
2559 No need char
2560     aabbaa 
2561  0: aabbaa
2562  1: aa
2563  2: bb
2564     
2565 /^(aa(bb)??)+$/
2566 Capturing subpattern count = 2
2567 Options: anchored
2568 No first char
2569 No need char
2570     aabbaa    
2571  0: aabbaa
2572  1: aa
2573  2: bb
2574     
2575 /^(?:aa(bb)?)+$/
2576 Capturing subpattern count = 1
2577 Options: anchored
2578 No first char
2579 No need char
2580     aabbaa    
2581  0: aabbaa
2582  1: bb
2583     
2584 /^(aa(b(b))?)+$/
2585 Capturing subpattern count = 3
2586 Options: anchored
2587 No first char
2588 No need char
2589     aabbaa    
2590  0: aabbaa
2591  1: aa
2592  2: bb
2593  3: b
2594
2595 /^(?:aa(b(b))?)+$/
2596 Capturing subpattern count = 2
2597 Options: anchored
2598 No first char
2599 No need char
2600     aabbaa    
2601  0: aabbaa
2602  1: bb
2603  2: b
2604
2605 /^(?:aa(b(?:b))?)+$/
2606 Capturing subpattern count = 1
2607 Options: anchored
2608 No first char
2609 No need char
2610     aabbaa    
2611  0: aabbaa
2612  1: bb
2613
2614 /^(?:aa(bb(?:b))?)+$/
2615 Capturing subpattern count = 1
2616 Options: anchored
2617 No first char
2618 No need char
2619     aabbbaa    
2620  0: aabbbaa
2621  1: bbb
2622     
2623 /^(?:aa(b(?:bb))?)+$/
2624 Capturing subpattern count = 1
2625 Options: anchored
2626 No first char
2627 No need char
2628     aabbbaa    
2629  0: aabbbaa
2630  1: bbb
2631
2632 /^(?:aa(?:b(b))?)+$/
2633 Capturing subpattern count = 1
2634 Options: anchored
2635 No first char
2636 No need char
2637     aabbaa    
2638  0: aabbaa
2639  1: b
2640
2641 /^(?:aa(?:b(bb))?)+$/
2642 Capturing subpattern count = 1
2643 Options: anchored
2644 No first char
2645 No need char
2646     aabbbaa    
2647  0: aabbbaa
2648  1: bb
2649
2650 /^(aa(b(bb))?)+$/
2651 Capturing subpattern count = 3
2652 Options: anchored
2653 No first char
2654 No need char
2655     aabbbaa    
2656  0: aabbbaa
2657  1: aa
2658  2: bbb
2659  3: bb
2660
2661 /^(aa(bb(bb))?)+$/
2662 Capturing subpattern count = 3
2663 Options: anchored
2664 No first char
2665 No need char
2666     aabbbbaa    
2667  0: aabbbbaa
2668  1: aa
2669  2: bbbb
2670  3: bb
2671
2672 /--------------------------------------------------------------------/ 
2673 Capturing subpattern count = 0
2674 No options
2675 First char = '-'
2676 Need char = '-'
2677     
2678 /#/xMD
2679 Memory allocation (code space): 7
2680 ------------------------------------------------------------------
2681   0   3 Bra 0
2682   3   3 Ket
2683   6     End
2684 ------------------------------------------------------------------
2685 Capturing subpattern count = 0
2686 Options: extended
2687 No first char
2688 No need char
2689
2690 /a#/xMD
2691 Memory allocation (code space): 9
2692 ------------------------------------------------------------------
2693   0   5 Bra 0
2694   3     a
2695   5   5 Ket
2696   8     End
2697 ------------------------------------------------------------------
2698 Capturing subpattern count = 0
2699 Options: extended
2700 First char = 'a'
2701 No need char
2702
2703 /[\s]/D
2704 ------------------------------------------------------------------
2705   0  36 Bra 0
2706   3     [\x09\x0a\x0c\x0d ]
2707  36  36 Ket
2708  39     End
2709 ------------------------------------------------------------------
2710 Capturing subpattern count = 0
2711 No options
2712 No first char
2713 No need char
2714
2715 /[\S]/D
2716 ------------------------------------------------------------------
2717   0  36 Bra 0
2718   3     [\x00-\x08\x0b\x0e-\x1f!-\xff]
2719  36  36 Ket
2720  39     End
2721 ------------------------------------------------------------------
2722 Capturing subpattern count = 0
2723 No options
2724 No first char
2725 No need char
2726
2727 /a(?i)b/D
2728 ------------------------------------------------------------------
2729   0   9 Bra 0
2730   3     a
2731   5  01 Opt
2732   7  NC b
2733   9   9 Ket
2734  12     End
2735 ------------------------------------------------------------------
2736 Capturing subpattern count = 0
2737 No options
2738 Case state changes
2739 First char = 'a'
2740 Need char = 'b' (caseless)
2741     ab
2742  0: ab
2743     aB
2744  0: aB
2745     *** Failers 
2746 No match
2747     AB  
2748 No match
2749
2750 /(a(?i)b)/D
2751 ------------------------------------------------------------------
2752   0  17 Bra 0
2753   3   9 Bra 1
2754   6     a
2755   8  01 Opt
2756  10  NC b
2757  12   9 Ket
2758  15  00 Opt
2759  17  17 Ket
2760  20     End
2761 ------------------------------------------------------------------
2762 Capturing subpattern count = 1
2763 No options
2764 Case state changes
2765 First char = 'a'
2766 Need char = 'b' (caseless)
2767     ab
2768  0: ab
2769  1: ab
2770     aB
2771  0: aB
2772  1: aB
2773     *** Failers 
2774 No match
2775     AB  
2776 No match
2777     
2778 /   (?i)abc/xD
2779 ------------------------------------------------------------------
2780   0   9 Bra 0
2781   3  NC abc
2782   9   9 Ket
2783  12     End
2784 ------------------------------------------------------------------
2785 Capturing subpattern count = 0
2786 Options: caseless extended
2787 First char = 'a' (caseless)
2788 Need char = 'c' (caseless)
2789
2790 /#this is a comment
2791   (?i)abc/xD
2792 ------------------------------------------------------------------
2793   0   9 Bra 0
2794   3  NC abc
2795   9   9 Ket
2796  12     End
2797 ------------------------------------------------------------------
2798 Capturing subpattern count = 0
2799 Options: caseless extended
2800 First char = 'a' (caseless)
2801 Need char = 'c' (caseless)
2802
2803 /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/D
2804 ------------------------------------------------------------------
2805   0 603 Bra 0
2806   3     123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
2807 603 603 Ket
2808 606     End
2809 ------------------------------------------------------------------
2810 Capturing subpattern count = 0
2811 No options
2812 First char = '1'
2813 Need char = '0'
2814
2815 /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/D
2816 ------------------------------------------------------------------
2817   0 603 Bra 0
2818   3     123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
2819 603 603 Ket
2820 606     End
2821 ------------------------------------------------------------------
2822 Capturing subpattern count = 0
2823 No options
2824 First char = '1'
2825 Need char = '0'
2826
2827 /\Q\E/D
2828 ------------------------------------------------------------------
2829   0   3 Bra 0
2830   3   3 Ket
2831   6     End
2832 ------------------------------------------------------------------
2833 Capturing subpattern count = 0
2834 No options
2835 No first char
2836 No need char
2837     \
2838  0: 
2839
2840 /\Q\Ex/D
2841 ------------------------------------------------------------------
2842   0   5 Bra 0
2843   3     x
2844   5   5 Ket
2845   8     End
2846 ------------------------------------------------------------------
2847 Capturing subpattern count = 0
2848 No options
2849 First char = 'x'
2850 No need char
2851
2852 / \Q\E/D
2853 ------------------------------------------------------------------
2854   0   5 Bra 0
2855   3      
2856   5   5 Ket
2857   8     End
2858 ------------------------------------------------------------------
2859 Capturing subpattern count = 0
2860 No options
2861 First char = ' '
2862 No need char
2863
2864 /a\Q\E/D
2865 ------------------------------------------------------------------
2866   0   5 Bra 0
2867   3     a
2868   5   5 Ket
2869   8     End
2870 ------------------------------------------------------------------
2871 Capturing subpattern count = 0
2872 No options
2873 First char = 'a'
2874 No need char
2875   abc
2876  0: a
2877   bca
2878  0: a
2879   bac  
2880  0: a
2881
2882 /a\Q\Eb/D
2883 ------------------------------------------------------------------
2884   0   7 Bra 0
2885   3     ab
2886   7   7 Ket
2887  10     End
2888 ------------------------------------------------------------------
2889 Capturing subpattern count = 0
2890 No options
2891 First char = 'a'
2892 Need char = 'b'
2893   abc
2894  0: ab
2895
2896 /\Q\Eabc/D
2897 ------------------------------------------------------------------
2898   0   9 Bra 0
2899   3     abc
2900   9   9 Ket
2901  12     End
2902 ------------------------------------------------------------------
2903 Capturing subpattern count = 0
2904 No options
2905 First char = 'a'
2906 Need char = 'c'
2907
2908 /x*+\w/D
2909 ------------------------------------------------------------------
2910   0  12 Bra 0
2911   3   5 Once
2912   6     x*
2913   8   5 Ket
2914  11     \w
2915  12  12 Ket
2916  15     End
2917 ------------------------------------------------------------------
2918 Capturing subpattern count = 0
2919 Partial matching not supported
2920 No options
2921 No first char
2922 No need char
2923     *** Failers
2924  0: F
2925     xxxxx
2926 No match
2927     
2928 /x?+/D
2929 ------------------------------------------------------------------
2930   0  11 Bra 0
2931   3   5 Once
2932   6     x?
2933   8   5 Ket
2934  11  11 Ket
2935  14     End
2936 ------------------------------------------------------------------
2937 Capturing subpattern count = 0
2938 No options
2939 No first char
2940 No need char
2941
2942 /x++/D
2943 ------------------------------------------------------------------
2944   0  11 Bra 0
2945   3   5 Once
2946   6     x+
2947   8   5 Ket
2948  11  11 Ket
2949  14     End
2950 ------------------------------------------------------------------
2951 Capturing subpattern count = 0
2952 Partial matching not supported
2953 No options
2954 First char = 'x'
2955 No need char
2956
2957 /x{1,3}+/D 
2958 ------------------------------------------------------------------
2959   0  15 Bra 0
2960   3   9 Once
2961   6     x
2962   8     x{,2}
2963  12   9 Ket
2964  15  15 Ket
2965  18     End
2966 ------------------------------------------------------------------
2967 Capturing subpattern count = 0
2968 Partial matching not supported
2969 No options
2970 First char = 'x'
2971 No need char
2972
2973 /(x)*+/D
2974 ------------------------------------------------------------------
2975   0  18 Bra 0
2976   3  12 Once
2977   6     Brazero
2978   7   5 Bra 1
2979  10     x
2980  12   5 KetRmax
2981  15  12 Ket
2982  18  18 Ket
2983  21     End
2984 ------------------------------------------------------------------
2985 Capturing subpattern count = 1
2986 No options
2987 No first char
2988 No need char
2989
2990 /^(\w++|\s++)*$/
2991 Capturing subpattern count = 1
2992 Partial matching not supported
2993 Options: anchored
2994 No first char
2995 No need char
2996     now is the time for all good men to come to the aid of the party
2997  0: now is the time for all good men to come to the aid of the party
2998  1: party
2999     *** Failers
3000 No match
3001     this is not a line with only words and spaces!
3002 No match
3003     
3004 /(\d++)(\w)/
3005 Capturing subpattern count = 2
3006 Partial matching not supported
3007 No options
3008 No first char
3009 No need char
3010     12345a
3011  0: 12345a
3012  1: 12345
3013  2: a
3014     *** Failers
3015 No match
3016     12345+ 
3017 No match
3018
3019 /a++b/
3020 Capturing subpattern count = 0
3021 Partial matching not supported
3022 No options
3023 First char = 'a'
3024 Need char = 'b'
3025     aaab
3026  0: aaab
3027
3028 /(a++b)/
3029 Capturing subpattern count = 1
3030 Partial matching not supported
3031 No options
3032 First char = 'a'
3033 Need char = 'b'
3034     aaab
3035  0: aaab
3036  1: aaab
3037
3038 /(a++)b/
3039 Capturing subpattern count = 1
3040 Partial matching not supported
3041 No options
3042 First char = 'a'
3043 Need char = 'b'
3044     aaab
3045  0: aaab
3046  1: aaa
3047
3048 /([^()]++|\([^()]*\))+/
3049 Capturing subpattern count = 1
3050 Partial matching not supported
3051 No options
3052 No first char
3053 No need char
3054     ((abc(ade)ufh()()x
3055  0: abc(ade)ufh()()x
3056  1: x
3057     
3058 /\(([^()]++|\([^()]+\))+\)/ 
3059 Capturing subpattern count = 1
3060 Partial matching not supported
3061 No options
3062 First char = '('
3063 Need char = ')'
3064     (abc)
3065  0: (abc)
3066  1: abc
3067     (abc(def)xyz)
3068  0: (abc(def)xyz)
3069  1: xyz
3070     *** Failers
3071 No match
3072     ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa   
3073 No match
3074
3075 /(abc){1,3}+/D
3076 ------------------------------------------------------------------
3077   0  53 Bra 0
3078   3  47 Once
3079   6   9 Bra 1
3080   9     abc
3081  15   9 Ket
3082  18     Brazero
3083  19  28 Bra 0
3084  22   9 Bra 1
3085  25     abc
3086  31   9 Ket
3087  34     Brazero
3088  35   9 Bra 1
3089  38     abc
3090  44   9 Ket
3091  47  28 Ket
3092  50  47 Ket
3093  53  53 Ket
3094  56     End
3095 ------------------------------------------------------------------
3096 Capturing subpattern count = 1
3097 No options
3098 First char = 'a'
3099 Need char = 'c'
3100
3101 /a+?+/
3102 Failed: nothing to repeat at offset 3
3103
3104 /a{2,3}?+b/
3105 Failed: nothing to repeat at offset 7
3106
3107 /(?U)a+?+/
3108 Failed: nothing to repeat at offset 7
3109
3110 /a{2,3}?+b/U
3111 Failed: nothing to repeat at offset 7
3112
3113 /x(?U)a++b/D
3114 ------------------------------------------------------------------
3115   0  15 Bra 0
3116   3     x
3117   5   5 Once
3118   8     a+
3119  10   5 Ket
3120  13     b
3121  15  15 Ket
3122  18     End
3123 ------------------------------------------------------------------
3124 Capturing subpattern count = 0
3125 Partial matching not supported
3126 No options
3127 First char = 'x'
3128 Need char = 'b'
3129     xaaaab
3130  0: xaaaab
3131
3132 /(?U)xa++b/D
3133 ------------------------------------------------------------------
3134   0  15 Bra 0
3135   3     x
3136   5   5 Once
3137   8     a+
3138  10   5 Ket
3139  13     b
3140  15  15 Ket
3141  18     End
3142 ------------------------------------------------------------------
3143 Capturing subpattern count = 0
3144 Partial matching not supported
3145 Options: ungreedy
3146 First char = 'x'
3147 Need char = 'b'
3148     xaaaab
3149  0: xaaaab
3150
3151 /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/D
3152 ------------------------------------------------------------------
3153   0 106 Bra 0
3154   3     ^
3155   4  99 Bra 1
3156   7   5 Bra 2
3157  10     a+
3158  12   5 Ket
3159  15  37 Bra 3
3160  18     [ab]+?
3161  52  37 Ket
3162  55  37 Bra 4
3163  58     [bc]+
3164  92  37 Ket
3165  95   5 Bra 5
3166  98     \w*
3167 100   5 Ket
3168 103  99 Ket
3169 106 106 Ket
3170 109     End
3171 ------------------------------------------------------------------
3172 Capturing subpattern count = 5
3173 Partial matching not supported
3174 Options: anchored
3175 No first char
3176 No need char
3177
3178 /^x(?U)a+b/D
3179 ------------------------------------------------------------------
3180   0  10 Bra 0
3181   3     ^
3182   4     x
3183   6     a+?
3184   8     b
3185  10  10 Ket
3186  13     End
3187 ------------------------------------------------------------------
3188 Capturing subpattern count = 0
3189 Partial matching not supported
3190 Options: anchored
3191 No first char
3192 Need char = 'b'
3193
3194 /^x(?U)(a+)b/D
3195 ------------------------------------------------------------------
3196   0  16 Bra 0
3197   3     ^
3198   4     x
3199   6   5 Bra 1
3200   9     a+?
3201  11   5 Ket
3202  14     b
3203  16  16 Ket
3204  19     End
3205 ------------------------------------------------------------------
3206 Capturing subpattern count = 1
3207 Partial matching not supported
3208 Options: anchored
3209 No first char
3210 Need char = 'b'
3211
3212 /[.x.]/
3213 Failed: POSIX collating elements are not supported at offset 0
3214
3215 /[=x=]/
3216 Failed: POSIX collating elements are not supported at offset 0
3217
3218 /[:x:]/
3219 Failed: POSIX named classes are supported only within a class at offset 0
3220
3221 /\l/
3222 Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1
3223
3224 /\L/
3225 Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1
3226
3227 /\N{name}/
3228 Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1
3229
3230 /\u/
3231 Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1
3232
3233 /\U/
3234 Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1
3235
3236 /[/
3237 Failed: missing terminating ] for character class at offset 1
3238
3239 /[a-/
3240 Failed: missing terminating ] for character class at offset 3
3241
3242 /[[:space:]/
3243 Failed: missing terminating ] for character class at offset 10
3244
3245 /[\s]/DM
3246 Memory allocation (code space): 40
3247 ------------------------------------------------------------------
3248   0  36 Bra 0
3249   3     [\x09\x0a\x0c\x0d ]
3250  36  36 Ket
3251  39     End
3252 ------------------------------------------------------------------
3253 Capturing subpattern count = 0
3254 No options
3255 No first char
3256 No need char
3257
3258 /[[:space:]]/DM
3259 Memory allocation (code space): 40
3260 ------------------------------------------------------------------
3261   0  36 Bra 0
3262   3     [\x09-\x0d ]
3263  36  36 Ket
3264  39     End
3265 ------------------------------------------------------------------
3266 Capturing subpattern count = 0
3267 No options
3268 No first char
3269 No need char
3270
3271 /[[:space:]abcde]/DM
3272 Memory allocation (code space): 40
3273 ------------------------------------------------------------------
3274   0  36 Bra 0
3275   3     [\x09-\x0d a-e]
3276  36  36 Ket
3277  39     End
3278 ------------------------------------------------------------------
3279 Capturing subpattern count = 0
3280 No options
3281 No first char
3282 No need char
3283
3284 /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/x
3285 Capturing subpattern count = 0
3286 Partial matching not supported
3287 Options: extended
3288 First char = '<'
3289 Need char = '>'
3290     <>
3291  0: <>
3292     <abcd>
3293  0: <abcd>
3294     <abc <123> hij>
3295  0: <abc <123> hij>
3296     <abc <def> hij>
3297  0: <def>
3298     <abc<>def> 
3299  0: <abc<>def>
3300     <abc<>      
3301  0: <>
3302     *** Failers
3303 No match
3304     <abc
3305 No match
3306
3307 |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
3308 Memory allocation (code space): 826
3309 ------------------------------------------------------------------
3310   0 822 Bra 0
3311   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
3312 821     \b
3313 822 822 Ket
3314 825     End
3315 ------------------------------------------------------------------
3316 Capturing subpattern count = 0
3317 No options
3318 First char = '8'
3319 Need char = 'X'
3320
3321 |\$\<\.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
3322 Memory allocation (code space): 816
3323 ------------------------------------------------------------------
3324   0 812 Bra 0
3325   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
3326 811     \b
3327 812 812 Ket
3328 815     End
3329 ------------------------------------------------------------------
3330 Capturing subpattern count = 0
3331 No options
3332 First char = '$'
3333 Need char = 'X'
3334
3335 /(.*)\d+\1/I
3336 Capturing subpattern count = 1
3337 Max back reference = 1
3338 Partial matching not supported
3339 No options
3340 No first char
3341 No need char
3342
3343 /(.*)\d+/I
3344 Capturing subpattern count = 1
3345 Partial matching not supported
3346 No options
3347 First char at start or follows \n
3348 No need char
3349     
3350 /(.*)\d+\1/Is
3351 Capturing subpattern count = 1
3352 Max back reference = 1
3353 Partial matching not supported
3354 Options: dotall
3355 No first char
3356 No need char
3357
3358 /(.*)\d+/Is
3359 Capturing subpattern count = 1
3360 Partial matching not supported
3361 Options: anchored dotall
3362 No first char
3363 No need char
3364
3365 /(.*(xyz))\d+\2/I
3366 Capturing subpattern count = 2
3367 Max back reference = 2
3368 Partial matching not supported
3369 No options
3370 First char at start or follows \n
3371 Need char = 'z'
3372
3373 /((.*))\d+\1/I
3374 Capturing subpattern count = 2
3375 Max back reference = 1
3376 Partial matching not supported
3377 No options
3378 No first char
3379 No need char
3380     abc123bc
3381  0: bc123bc
3382  1: bc
3383  2: bc
3384     
3385 /a[b]/I
3386 Capturing subpattern count = 0
3387 No options
3388 First char = 'a'
3389 Need char = 'b'
3390
3391 /(?=a).*/I
3392 Capturing subpattern count = 0
3393 Partial matching not supported
3394 No options
3395 First char = 'a'
3396 No need char
3397
3398 /(?=abc).xyz/iI
3399 Capturing subpattern count = 0
3400 Options: caseless
3401 First char = 'a' (caseless)
3402 Need char = 'z' (caseless)
3403
3404 /(?=abc)(?i).xyz/I
3405 Capturing subpattern count = 0
3406 No options
3407 Case state changes
3408 First char = 'a'
3409 Need char = 'z' (caseless)
3410
3411 /(?=a)(?=b)/I
3412 Capturing subpattern count = 0
3413 No options
3414 First char = 'a'
3415 No need char
3416
3417 /(?=.)a/I
3418 Capturing subpattern count = 0
3419 No options
3420 First char = 'a'
3421 No need char
3422
3423 /((?=abcda)a)/I
3424 Capturing subpattern count = 1
3425 No options
3426 First char = 'a'
3427 Need char = 'a'
3428
3429 /((?=abcda)ab)/I
3430 Capturing subpattern count = 1
3431 No options
3432 First char = 'a'
3433 Need char = 'b'
3434
3435 /()a/I
3436 Capturing subpattern count = 1
3437 No options
3438 No first char
3439 Need char = 'a'
3440
3441 /(?(1)ab|ac)/I
3442 Capturing subpattern count = 0
3443 No options
3444 First char = 'a'
3445 No need char
3446
3447 /(?(1)abz|acz)/I
3448 Capturing subpattern count = 0
3449 No options
3450 First char = 'a'
3451 Need char = 'z'
3452
3453 /(?(1)abz)/I
3454 Capturing subpattern count = 0
3455 No options
3456 No first char
3457 No need char
3458
3459 /(?(1)abz)123/I
3460 Capturing subpattern count = 0
3461 No options
3462 No first char
3463 Need char = '3'
3464
3465 /(a)+/I
3466 Capturing subpattern count = 1
3467 No options
3468 First char = 'a'
3469 No need char
3470
3471 /(a){2,3}/I
3472 Capturing subpattern count = 1
3473 No options
3474 First char = 'a'
3475 Need char = 'a'
3476
3477 /(a)*/I
3478 Capturing subpattern count = 1
3479 No options
3480 No first char
3481 No need char
3482
3483 /[a]/I
3484 Capturing subpattern count = 0
3485 No options
3486 First char = 'a'
3487 No need char
3488
3489 /[ab]/I
3490 Capturing subpattern count = 0
3491 No options
3492 No first char
3493 No need char
3494
3495 /[ab]/IS
3496 Capturing subpattern count = 0
3497 No options
3498 No first char
3499 No need char
3500 Starting byte set: a b 
3501
3502 /[^a]/I
3503 Capturing subpattern count = 0
3504 No options
3505 No first char
3506 No need char
3507
3508 /\d456/I
3509 Capturing subpattern count = 0
3510 No options
3511 No first char
3512 Need char = '6'
3513
3514 /\d456/IS
3515 Capturing subpattern count = 0
3516 No options
3517 No first char
3518 Need char = '6'
3519 Starting byte set: 0 1 2 3 4 5 6 7 8 9 
3520
3521 /a^b/I
3522 Capturing subpattern count = 0
3523 No options
3524 First char = 'a'
3525 Need char = 'b'
3526
3527 /^a/mI
3528 Capturing subpattern count = 0
3529 Options: multiline
3530 First char at start or follows \n
3531 Need char = 'a'
3532   abcde
3533  0: a
3534   xy\nabc 
3535  0: a
3536   *** Failers 
3537 No match
3538   xyabc 
3539 No match
3540
3541 /c|abc/I
3542 Capturing subpattern count = 0
3543 No options
3544 No first char
3545 Need char = 'c'
3546
3547 /(?i)[ab]/IS
3548 Capturing subpattern count = 0
3549 Options: caseless
3550 No first char
3551 No need char
3552 Starting byte set: A B a b 
3553
3554 /[ab](?i)cd/IS
3555 Capturing subpattern count = 0
3556 No options
3557 Case state changes
3558 No first char
3559 Need char = 'd' (caseless)
3560 Starting byte set: a b 
3561
3562 /abc(?C)def/
3563 Capturing subpattern count = 0
3564 No options
3565 First char = 'a'
3566 Need char = 'f'
3567     abcdef
3568 --->abcdef
3569   0 ^  ^       d
3570  0: abcdef
3571     1234abcdef 
3572 --->1234abcdef
3573   0     ^  ^       d
3574  0: abcdef
3575     *** Failers
3576 No match
3577     abcxyz
3578 No match
3579     abcxyzf   
3580 --->abcxyzf
3581   0 ^  ^        d
3582 No match
3583
3584 /abc(?C)de(?C1)f/
3585 Capturing subpattern count = 0
3586 No options
3587 First char = 'a'
3588 Need char = 'f'
3589     123abcdef
3590 --->123abcdef
3591   0    ^  ^       d
3592   1    ^    ^     f
3593  0: abcdef
3594     
3595 /(?C1)\dabc(?C2)def/ 
3596 Capturing subpattern count = 0
3597 No options
3598 No first char
3599 Need char = 'f'
3600     1234abcdef
3601 --->1234abcdef
3602   1 ^              \d
3603   1  ^             \d
3604   1   ^            \d
3605   1    ^           \d
3606   2    ^   ^       d
3607  0: 4abcdef
3608     *** Failers
3609 No match
3610     abcdef 
3611 --->abcdef
3612   1 ^          \d
3613   1  ^         \d
3614   1   ^        \d
3615   1    ^       \d
3616   1     ^      \d
3617   1      ^     \d
3618 No match
3619     
3620 /(?C255)ab/
3621 Capturing subpattern count = 0
3622 No options
3623 First char = 'a'
3624 Need char = 'b'
3625
3626 /(?C256)ab/
3627 Failed: number after (?C is > 255 at offset 6
3628
3629 /(?Cab)xx/ 
3630 Failed: closing ) for (?C expected at offset 3
3631
3632 /(?C12vr)x/
3633 Failed: closing ) for (?C expected at offset 5
3634
3635 /abc(?C)def/
3636 Capturing subpattern count = 0
3637 No options
3638 First char = 'a'
3639 Need char = 'f'
3640     *** Failers
3641 No match
3642     \x83\x0\x61bcdef
3643 --->\x83\x00abcdef
3644   0         ^  ^       d
3645  0: abcdef
3646
3647 /(abc)(?C)de(?C1)f/
3648 Capturing subpattern count = 1
3649 No options
3650 First char = 'a'
3651 Need char = 'f'
3652     123abcdef
3653 --->123abcdef
3654   0    ^  ^       d
3655   1    ^    ^     f
3656  0: abcdef
3657  1: abc
3658     123abcdef\C+ 
3659 Callout 0: last capture = 1
3660  0: <unset>
3661  1: abc
3662 --->123abcdef
3663        ^  ^       d
3664 Callout 1: last capture = 1
3665  0: <unset>
3666  1: abc
3667 --->123abcdef
3668        ^    ^     f
3669  0: abcdef
3670  1: abc
3671     123abcdef\C- 
3672  0: abcdef
3673  1: abc
3674     *** Failers
3675 No match
3676     123abcdef\C!1 
3677 --->123abcdef
3678   0    ^  ^       d
3679   1    ^    ^     f
3680 No match
3681     
3682 /(?C0)(abc(?C1))*/
3683 Capturing subpattern count = 1
3684 No options
3685 No first char
3686 No need char
3687     abcabcabc
3688 --->abcabcabc
3689   0 ^             (abc(?C1))*
3690   1 ^  ^          )
3691   1 ^     ^       )
3692   1 ^        ^    )
3693  0: abcabcabc
3694  1: abc
3695     abcabc\C!1!3   
3696 --->abcabc
3697   0 ^          (abc(?C1))*
3698   1 ^  ^       )
3699   1 ^     ^    )
3700  0: abcabc
3701  1: abc
3702     *** Failers
3703 --->*** Failers
3704   0 ^               (abc(?C1))*
3705  0: 
3706     abcabcabc\C!1!3   
3707 --->abcabcabc
3708   0 ^             (abc(?C1))*
3709   1 ^  ^          )
3710   1 ^     ^       )
3711   1 ^        ^    )
3712  0: abcabc
3713  1: abc
3714
3715 /(\d{3}(?C))*/
3716 Capturing subpattern count = 1
3717 Partial matching not supported
3718 No options
3719 No first char
3720 No need char
3721     123\C+
3722 Callout 0: last capture = -1
3723  0: <unset>
3724 --->123
3725     ^  ^    )
3726  0: 123
3727  1: 123
3728     123456\C+
3729 Callout 0: last capture = -1
3730  0: <unset>
3731 --->123456
3732     ^  ^       )
3733 Callout 0: last capture = 1
3734  0: <unset>
3735  1: 123
3736 --->123456
3737     ^     ^    )
3738  0: 123456
3739  1: 456
3740     123456789\C+  
3741 Callout 0: last capture = -1
3742  0: <unset>
3743 --->123456789
3744     ^  ^          )
3745 Callout 0: last capture = 1
3746  0: <unset>
3747  1: 123
3748 --->123456789
3749     ^     ^       )
3750 Callout 0: last capture = 1
3751  0: <unset>
3752  1: 456
3753 --->123456789
3754     ^        ^    )
3755  0: 123456789
3756  1: 789
3757
3758 /((xyz)(?C)p|(?C1)xyzabc)/
3759 Capturing subpattern count = 2
3760 No options
3761 First char = 'x'
3762 No need char
3763     xyzabc\C+
3764 Callout 0: last capture = 2
3765  0: <unset>
3766  1: <unset>
3767  2: xyz
3768 --->xyzabc
3769     ^  ^       p
3770 Callout 1: last capture = -1
3771  0: <unset>
3772 --->xyzabc
3773     ^          x
3774  0: xyzabc
3775  1: xyzabc
3776
3777 /(X)((xyz)(?C)p|(?C1)xyzabc)/
3778 Capturing subpattern count = 3
3779 No options
3780 First char = 'X'
3781 Need char = 'x'
3782     Xxyzabc\C+
3783 Callout 0: last capture = 3
3784  0: <unset>
3785  1: X
3786  2: <unset>
3787  3: xyz
3788 --->Xxyzabc
3789     ^   ^       p
3790 Callout 1: last capture = 1
3791  0: <unset>
3792  1: X
3793 --->Xxyzabc
3794     ^^          x
3795  0: Xxyzabc
3796  1: X
3797  2: xyzabc
3798
3799 /(?=(abc))(?C)abcdef/
3800 Capturing subpattern count = 1
3801 No options
3802 First char = 'a'
3803 Need char = 'f'
3804     abcdef\C+
3805 Callout 0: last capture = 1
3806  0: <unset>
3807  1: abc
3808 --->abcdef
3809     ^          a
3810  0: abcdef
3811  1: abc
3812     
3813 /(?!(abc)(?C1)d)(?C2)abcxyz/
3814 Capturing subpattern count = 1
3815 No options
3816 First char = 'a'
3817 Need char = 'z'
3818     abcxyz\C+ 
3819 Callout 1: last capture = 1
3820  0: <unset>
3821  1: abc
3822 --->abcxyz
3823     ^  ^       d
3824 Callout 2: last capture = -1
3825  0: <unset>
3826 --->abcxyz
3827     ^          a
3828  0: abcxyz
3829
3830 /(?<=(abc)(?C))xyz/
3831 Capturing subpattern count = 1
3832 No options
3833 First char = 'x'
3834 Need char = 'z'
3835    abcxyz\C+
3836 Callout 0: last capture = 1
3837  0: <unset>
3838  1: abc
3839 --->abcxyz
3840        ^       )
3841  0: xyz
3842  1: abc
3843    
3844 /(?C)abc/ 
3845 Capturing subpattern count = 0
3846 No options
3847 First char = 'a'
3848 Need char = 'c'
3849
3850 /(?C)^abc/
3851 Capturing subpattern count = 0
3852 Options: anchored
3853 No first char
3854 No need char
3855
3856 /(?C)a|b/S
3857 Capturing subpattern count = 0
3858 No options
3859 No first char
3860 No need char
3861 Starting byte set: a b 
3862
3863 /(?R)/
3864 Failed: recursive call could loop indefinitely at offset 3
3865
3866 /(a|(?R))/
3867 Failed: recursive call could loop indefinitely at offset 6
3868
3869 /(ab|(bc|(de|(?R))))/
3870 Failed: recursive call could loop indefinitely at offset 15
3871
3872 /x(ab|(bc|(de|(?R))))/
3873 Capturing subpattern count = 3
3874 No options
3875 First char = 'x'
3876 No need char
3877     xab
3878  0: xab
3879  1: ab
3880     xbc
3881  0: xbc
3882  1: bc
3883  2: bc
3884     xde
3885  0: xde
3886  1: de
3887  2: de
3888  3: de
3889     xxab
3890  0: xxab
3891  1: xab
3892  2: xab
3893  3: xab
3894     xxxab
3895  0: xxxab
3896  1: xxab
3897  2: xxab
3898  3: xxab
3899     *** Failers
3900 No match
3901     xyab   
3902 No match
3903
3904 /(ab|(bc|(de|(?1))))/
3905 Failed: recursive call could loop indefinitely at offset 15
3906
3907 /x(ab|(bc|(de|(?1)x)x)x)/
3908 Failed: recursive call could loop indefinitely at offset 16
3909
3910 /^([^()]|\((?1)*\))*$/
3911 Capturing subpattern count = 1
3912 Options: anchored
3913 No first char
3914 No need char
3915     abc
3916  0: abc
3917  1: c
3918     a(b)c
3919  0: a(b)c
3920  1: c
3921     a(b(c))d  
3922  0: a(b(c))d
3923  1: d
3924     *** Failers)
3925 No match
3926     a(b(c)d  
3927 No match
3928
3929 /^>abc>([^()]|\((?1)*\))*<xyz<$/
3930 Capturing subpattern count = 1
3931 Options: anchored
3932 No first char
3933 Need char = '<'
3934    >abc>123<xyz<
3935  0: >abc>123<xyz<
3936  1: 3
3937    >abc>1(2)3<xyz<
3938  0: >abc>1(2)3<xyz<
3939  1: 3
3940    >abc>(1(2)3)<xyz<
3941  0: >abc>(1(2)3)<xyz<
3942  1: (1(2)3)
3943
3944 /(a(?1)b)/D
3945 ------------------------------------------------------------------
3946   0  16 Bra 0
3947   3  10 Bra 1
3948   6     a
3949   8   3 Recurse
3950  11     b
3951  13  10 Ket
3952  16  16 Ket
3953  19     End
3954 ------------------------------------------------------------------
3955 Capturing subpattern count = 1
3956 No options
3957 First char = 'a'
3958 Need char = 'b'
3959
3960 /(a(?1)+b)/D
3961 ------------------------------------------------------------------
3962   0  22 Bra 0
3963   3  16 Bra 1
3964   6     a
3965   8   6 Bra 0
3966  11   3 Recurse
3967  14   6 KetRmax
3968  17     b
3969  19  16 Ket
3970  22  22 Ket
3971  25     End
3972 ------------------------------------------------------------------
3973 Capturing subpattern count = 1
3974 No options
3975 First char = 'a'
3976 Need char = 'b'
3977
3978 /^\W*(?:((.)\W*(?1)\W*\2|)|((.)\W*(?3)\W*\4|\W*.\W*))\W*$/i
3979 Capturing subpattern count = 4
3980 Max back reference = 4
3981 Partial matching not supported
3982 Options: anchored caseless
3983 No first char
3984 No need char
3985     1221
3986  0: 1221
3987  1: 1221
3988  2: 1
3989     Satan, oscillate my metallic sonatas!
3990  0: Satan, oscillate my metallic sonatas!
3991  1: <unset>
3992  2: <unset>
3993  3: Satan, oscillate my metallic sonatas
3994  4: S
3995     A man, a plan, a canal: Panama!
3996  0: A man, a plan, a canal: Panama!
3997  1: <unset>
3998  2: <unset>
3999  3: A man, a plan, a canal: Panama
4000  4: A
4001     Able was I ere I saw Elba. 
4002  0: Able was I ere I saw Elba.
4003  1: <unset>
4004  2: <unset>
4005  3: Able was I ere I saw Elba
4006  4: A
4007     *** Failers
4008 No match
4009     The quick brown fox  
4010 No match
4011     
4012 /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/
4013 Capturing subpattern count = 2
4014 Partial matching not supported
4015 Options: anchored
4016 No first char
4017 No need char
4018     12
4019  0: 12
4020  1: 12
4021     (((2+2)*-3)-7)
4022  0: (((2+2)*-3)-7)
4023  1: (((2+2)*-3)-7)
4024  2: -
4025     -12
4026  0: -12
4027  1: -12
4028     *** Failers
4029 No match
4030     ((2+2)*-3)-7)
4031 No match
4032          
4033 /^(x(y|(?1){2})z)/
4034 Capturing subpattern count = 2
4035 Options: anchored
4036 No first char
4037 No need char
4038     xyz
4039  0: xyz
4040  1: xyz
4041  2: y
4042     xxyzxyzz 
4043  0: xxyzxyzz
4044  1: xxyzxyzz
4045  2: xyzxyz
4046     *** Failers
4047 No match
4048     xxyzz
4049 No match
4050     xxyzxyzxyzz   
4051 No match
4052
4053 /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/x
4054 Capturing subpattern count = 2
4055 Partial matching not supported
4056 Options: extended
4057 First char = '<'
4058 Need char = '>'
4059     <>
4060  0: <>
4061  1: <>
4062  2: <>
4063     <abcd>
4064  0: <abcd>
4065  1: <abcd>
4066  2: <abcd>
4067     <abc <123> hij>
4068  0: <abc <123> hij>
4069  1: <abc <123> hij>
4070  2: <abc <123> hij>
4071     <abc <def> hij>
4072  0: <def>
4073  1: <def>
4074  2: <def>
4075     <abc<>def> 
4076  0: <abc<>def>
4077  1: <abc<>def>
4078  2: <abc<>def>
4079     <abc<>      
4080  0: <>
4081  1: <>
4082  2: <>
4083     *** Failers
4084 No match
4085     <abc
4086 No match
4087
4088 /(?1)/
4089 Failed: reference to non-existent subpattern at offset 3
4090
4091 /((?2)(abc)/
4092 Failed: reference to non-existent subpattern at offset 4
4093
4094 /^(abc)def(?1)/
4095 Capturing subpattern count = 1
4096 Options: anchored
4097 No first char
4098 No need char
4099     abcdefabc
4100  0: abcdefabc
4101  1: abc
4102
4103 /^(a|b|c)=(?1)+/
4104 Capturing subpattern count = 1
4105 Options: anchored
4106 No first char
4107 No need char
4108     a=a
4109  0: a=a
4110  1: a
4111     a=b
4112  0: a=b
4113  1: a
4114     a=bc  
4115  0: a=bc
4116  1: a
4117
4118 /^(a|b|c)=((?1))+/
4119 Capturing subpattern count = 2
4120 Options: anchored
4121 No first char
4122 No need char
4123     a=a
4124  0: a=a
4125  1: a
4126  2: a
4127     a=b
4128  0: a=b
4129  1: a
4130  2: b
4131     a=bc  
4132  0: a=bc
4133  1: a
4134  2: c
4135
4136 /a(?P<name1>b|c)d(?P<longername2>e)/D
4137 ------------------------------------------------------------------
4138   0  28 Bra 0
4139   3     a
4140   5   5 Bra 1
4141   8     b
4142  10   5 Alt
4143  13     c
4144  15  10 Ket
4145  18     d
4146  20   5 Bra 2
4147  23     e
4148  25   5 Ket
4149  28  28 Ket
4150  31     End
4151 ------------------------------------------------------------------
4152 Capturing subpattern count = 2
4153 Named capturing subpatterns:
4154   longername2   2
4155   name1         1
4156 No options
4157 First char = 'a'
4158 Need char = 'e'
4159     abde
4160  0: abde
4161  1: b
4162  2: e
4163     acde 
4164  0: acde
4165  1: c
4166  2: e
4167
4168 /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/D
4169 ------------------------------------------------------------------
4170   0  35 Bra 0
4171   3  21 Bra 0
4172   6     a
4173   8  13 Bra 1
4174  11     c
4175  13   5 Bra 2
4176  16     d
4177  18   5 Ket
4178  21  13 Ket
4179  24  21 Ket
4180  27   5 Bra 3
4181  30     a
4182  32   5 Ket
4183  35  35 Ket
4184  38     End
4185 ------------------------------------------------------------------
4186 Capturing subpattern count = 3
4187 Named capturing subpatterns:
4188   a   3
4189   c   1
4190   d   2
4191 No options
4192 First char = 'a'
4193 Need char = 'a'
4194
4195 /(?P<a>a)...(?P=a)bbb(?P>a)d/D
4196 ------------------------------------------------------------------
4197   0  28 Bra 0
4198   3   5 Bra 1
4199   6     a
4200   8   5 Ket
4201  11     Any
4202  12     Any
4203  13     Any
4204  14     \1
4205  17     bbb
4206  23   3 Recurse
4207  26     d
4208  28  28 Ket
4209  31     End
4210 ------------------------------------------------------------------
4211 Capturing subpattern count = 1
4212 Max back reference = 1
4213 Named capturing subpatterns:
4214   a   1
4215 No options
4216 First char = 'a'
4217 Need char = 'd'
4218
4219 /^\W*(?:(?P<one>(?P<two>.)\W*(?P>one)\W*(?P=two)|)|(?P<three>(?P<four>.)\W*(?P>three)\W*(?P=four)|\W*.\W*))\W*$/i
4220 Capturing subpattern count = 4
4221 Max back reference = 4
4222 Named capturing subpatterns:
4223   four    4
4224   one     1
4225   three   3
4226   two     2
4227 Partial matching not supported
4228 Options: anchored caseless
4229 No first char
4230 No need char
4231     1221
4232  0: 1221
4233  1: 1221
4234  2: 1
4235     Satan, oscillate my metallic sonatas!
4236  0: Satan, oscillate my metallic sonatas!
4237  1: <unset>
4238  2: <unset>
4239  3: Satan, oscillate my metallic sonatas
4240  4: S
4241     A man, a plan, a canal: Panama!
4242  0: A man, a plan, a canal: Panama!
4243  1: <unset>
4244  2: <unset>
4245  3: A man, a plan, a canal: Panama
4246  4: A
4247     Able was I ere I saw Elba. 
4248  0: Able was I ere I saw Elba.
4249  1: <unset>
4250  2: <unset>
4251  3: Able was I ere I saw Elba
4252  4: A
4253     *** Failers
4254 No match
4255     The quick brown fox  
4256 No match
4257     
4258 /((?(R)a|b))\1(?1)?/
4259 Capturing subpattern count = 1
4260 Max back reference = 1
4261 No options
4262 No first char
4263 No need char
4264   bb
4265  0: bb
4266  1: b
4267   bbaa 
4268  0: bba
4269  1: b
4270
4271 /(.*)a/sI
4272 Capturing subpattern count = 1
4273 Partial matching not supported
4274 Options: anchored dotall
4275 No first char
4276 Need char = 'a'
4277
4278 /(.*)a\1/sI
4279 Capturing subpattern count = 1
4280 Max back reference = 1
4281 Partial matching not supported
4282 Options: dotall
4283 No first char
4284 Need char = 'a'
4285
4286 /(.*)a(b)\2/sI
4287 Capturing subpattern count = 2
4288 Max back reference = 2
4289 Partial matching not supported
4290 Options: anchored dotall
4291 No first char
4292 Need char = 'b'
4293
4294 /((.*)a|(.*)b)z/sI
4295 Capturing subpattern count = 3
4296 Partial matching not supported
4297 Options: anchored dotall
4298 No first char
4299 Need char = 'z'
4300
4301 /((.*)a|(.*)b)z\1/sI
4302 Capturing subpattern count = 3
4303 Max back reference = 1
4304 Partial matching not supported
4305 Options: dotall
4306 No first char
4307 Need char = 'z'
4308
4309 /((.*)a|(.*)b)z\2/sI
4310 Capturing subpattern count = 3
4311 Max back reference = 2
4312 Partial matching not supported
4313 Options: dotall
4314 No first char
4315 Need char = 'z'
4316
4317 /((.*)a|(.*)b)z\3/sI
4318 Capturing subpattern count = 3
4319 Max back reference = 3
4320 Partial matching not supported
4321 Options: dotall
4322 No first char
4323 Need char = 'z'
4324
4325 /((.*)a|^(.*)b)z\3/sI
4326 Capturing subpattern count = 3
4327 Max back reference = 3
4328 Partial matching not supported
4329 Options: anchored dotall
4330 No first char
4331 Need char = 'z'
4332
4333 /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/sI
4334 Capturing subpattern count = 31
4335 Partial matching not supported
4336 Options: anchored dotall
4337 No first char
4338 No need char
4339
4340 /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/sI
4341 Capturing subpattern count = 31
4342 Max back reference = 31
4343 Partial matching not supported
4344 Options: dotall
4345 No first char
4346 No need char
4347
4348 /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/sI
4349 Capturing subpattern count = 32
4350 Max back reference = 32
4351 Partial matching not supported
4352 Options: dotall
4353 No first char
4354 No need char
4355
4356 /(a)(bc)/ND
4357 ------------------------------------------------------------------
4358   0  21 Bra 0
4359   3   5 Bra 0
4360   6     a
4361   8   5 Ket
4362  11   7 Bra 0
4363  14     bc
4364  18   7 Ket
4365  21  21 Ket
4366  24     End
4367 ------------------------------------------------------------------
4368 Capturing subpattern count = 0
4369 Options:
4370 First char = 'a'
4371 Need char = 'c'
4372   abc
4373  0: abc
4374
4375 /(?P<one>a)(bc)/ND
4376 ------------------------------------------------------------------
4377   0  21 Bra 0
4378   3   5 Bra 1
4379   6     a
4380   8   5 Ket
4381  11   7 Bra 0
4382  14     bc
4383  18   7 Ket
4384  21  21 Ket
4385  24     End
4386 ------------------------------------------------------------------
4387 Capturing subpattern count = 1
4388 Named capturing subpatterns:
4389   one   1
4390 Options:
4391 First char = 'a'
4392 Need char = 'c'
4393   abc
4394  0: abc
4395  1: a
4396
4397 /(a)(?P<named>bc)/ND
4398 ------------------------------------------------------------------
4399   0  21 Bra 0
4400   3   5 Bra 0
4401   6     a
4402   8   5 Ket
4403  11   7 Bra 1
4404  14     bc
4405  18   7 Ket
4406  21  21 Ket
4407  24     End
4408 ------------------------------------------------------------------
4409 Capturing subpattern count = 1
4410 Named capturing subpatterns:
4411   named   1
4412 Options:
4413 First char = 'a'
4414 Need char = 'c'
4415
4416 /(a+)*zz/
4417 Capturing subpattern count = 1
4418 Partial matching not supported
4419 No options
4420 No first char
4421 Need char = 'z'
4422   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzbbbbbb\M
4423 Minimum match limit = 8
4424  0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazz
4425  1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
4426   aaaaaaaaaaaaaz\M
4427 Minimum match limit = 32768
4428 No match
4429
4430 /(aaa(?C1)bbb|ab)/
4431 Capturing subpattern count = 1
4432 No options
4433 First char = 'a'
4434 Need char = 'b'
4435    aaabbb
4436 --->aaabbb
4437   1 ^  ^       b
4438  0: aaabbb
4439  1: aaabbb
4440    aaabbb\C*0
4441 --->aaabbb
4442   1 ^  ^       b
4443  0: aaabbb
4444  1: aaabbb
4445    aaabbb\C*1
4446 --->aaabbb
4447   1 ^  ^       b
4448 Callout data = 1
4449  0: ab
4450  1: ab
4451    aaabbb\C*-1
4452 --->aaabbb
4453   1 ^  ^       b
4454 Callout data = -1
4455 No match
4456
4457 /ab(?P<one>cd)ef(?P<two>gh)/
4458 Capturing subpattern count = 2
4459 Named capturing subpatterns:
4460   one   1
4461   two   2
4462 No options
4463 First char = 'a'
4464 Need char = 'h'
4465     abcdefgh
4466  0: abcdefgh
4467  1: cd
4468  2: gh
4469     abcdefgh\C1\Gtwo
4470  0: abcdefgh
4471  1: cd
4472  2: gh
4473  1C cd (2)
4474  2G gh (2)
4475     abcdefgh\Cone\Ctwo
4476  0: abcdefgh
4477  1: cd
4478  2: gh
4479  1C cd (2)
4480  2C gh (2)
4481     abcdefgh\Cthree  
4482 no parentheses with name "three"
4483  0: abcdefgh
4484  1: cd
4485  2: gh
4486
4487 /(?P<Tes>)(?P<Test>)/D
4488 ------------------------------------------------------------------
4489   0  15 Bra 0
4490   3   3 Bra 1
4491   6   3 Ket
4492   9   3 Bra 2
4493  12   3 Ket
4494  15  15 Ket
4495  18     End
4496 ------------------------------------------------------------------
4497 Capturing subpattern count = 2
4498 Named capturing subpatterns:
4499   Tes    1
4500   Test   2
4501 No options
4502 No first char
4503 No need char
4504
4505 /(?P<Test>)(?P<Tes>)/D
4506 ------------------------------------------------------------------
4507   0  15 Bra 0
4508   3   3 Bra 1
4509   6   3 Ket
4510   9   3 Bra 2
4511  12   3 Ket
4512  15  15 Ket
4513  18     End
4514 ------------------------------------------------------------------
4515 Capturing subpattern count = 2
4516 Named capturing subpatterns:
4517   Tes    2
4518   Test   1
4519 No options
4520 No first char
4521 No need char
4522
4523 /(?P<Z>zz)(?P<A>aa)/
4524 Capturing subpattern count = 2
4525 Named capturing subpatterns:
4526   A   2
4527   Z   1
4528 No options
4529 First char = 'z'
4530 Need char = 'a'
4531     zzaa\CZ
4532  0: zzaa
4533  1: zz
4534  2: aa
4535  1C zz (2)
4536     zzaa\CA
4537  0: zzaa
4538  1: zz
4539  2: aa
4540  2C aa (2)
4541
4542 /(?P<x>eks)(?P<x>eccs)/
4543 Failed: two named groups have the same name at offset 16
4544
4545 /(?P<abc>abc(?P<def>def)(?P<abc>xyz))/
4546 Failed: two named groups have the same name at offset 31
4547
4548 "\[((?P<elem>\d+)(,(?P>elem))*)\]"
4549 Capturing subpattern count = 3
4550 Named capturing subpatterns:
4551   elem   2
4552 Partial matching not supported
4553 No options
4554 First char = '['
4555 Need char = ']'
4556     [10,20,30,5,5,4,4,2,43,23,4234]
4557  0: [10,20,30,5,5,4,4,2,43,23,4234]
4558  1: 10,20,30,5,5,4,4,2,43,23,4234
4559  2: 10
4560  3: ,4234
4561     *** Failers
4562 No match
4563     []  
4564 No match
4565
4566 "\[((?P<elem>\d+)(,(?P>elem))*)?\]"
4567 Capturing subpattern count = 3
4568 Named capturing subpatterns:
4569   elem   2
4570 Partial matching not supported
4571 No options
4572 First char = '['
4573 Need char = ']'
4574     [10,20,30,5,5,4,4,2,43,23,4234]
4575  0: [10,20,30,5,5,4,4,2,43,23,4234]
4576  1: 10,20,30,5,5,4,4,2,43,23,4234
4577  2: 10
4578  3: ,4234
4579     [] 
4580  0: []
4581
4582 /(a(b(?2)c))?/D
4583 ------------------------------------------------------------------
4584   0  25 Bra 0
4585   3     Brazero
4586   4  18 Bra 1
4587   7     a
4588   9  10 Bra 2
4589  12     b
4590  14   9 Recurse
4591  17     c
4592  19  10 Ket
4593  22  18 Ket
4594  25  25 Ket
4595  28     End
4596 ------------------------------------------------------------------
4597 Capturing subpattern count = 2
4598 No options
4599 No first char
4600 No need char
4601
4602 /(a(b(?2)c))*/D
4603 ------------------------------------------------------------------
4604   0  25 Bra 0
4605   3     Brazero
4606   4  18 Bra 1
4607   7     a
4608   9  10 Bra 2
4609  12     b
4610  14   9 Recurse
4611  17     c
4612  19  10 Ket
4613  22  18 KetRmax
4614  25  25 Ket
4615  28     End
4616 ------------------------------------------------------------------
4617 Capturing subpattern count = 2
4618 No options
4619 No first char
4620 No need char
4621
4622 /(a(b(?2)c)){0,2}/D
4623 ------------------------------------------------------------------
4624   0  53 Bra 0
4625   3     Brazero
4626   4  46 Bra 0
4627   7  18 Bra 1
4628  10     a
4629  12  10 Bra 2
4630  15     b
4631  17  12 Recurse
4632  20     c
4633  22  10 Ket
4634  25  18 Ket
4635  28     Brazero
4636  29  18 Bra 1
4637  32     a
4638  34  10 Bra 2
4639  37     b
4640  39  12 Recurse
4641  42     c
4642  44  10 Ket
4643  47  18 Ket
4644  50  46 Ket
4645  53  53 Ket
4646  56     End
4647 ------------------------------------------------------------------
4648 Capturing subpattern count = 2
4649 No options
4650 No first char
4651 No need char
4652
4653 /[ab]{1}+/D
4654 ------------------------------------------------------------------
4655   0  47 Bra 0
4656   3  41 Once
4657   6     [ab]{1,1}
4658  44  41 Ket
4659  47  47 Ket
4660  50     End
4661 ------------------------------------------------------------------
4662 Capturing subpattern count = 0
4663 No options
4664 No first char
4665 No need char
4666
4667 /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/i
4668 Capturing subpattern count = 3
4669 Partial matching not supported
4670 Options: caseless
4671 No first char
4672 Need char = 'g' (caseless)
4673      Baby Bjorn Active Carrier - With free SHIPPING!!
4674  0: Baby Bjorn Active Carrier - With free SHIPPING!!
4675  1: Baby Bjorn Active Carrier - With free SHIPPING!!
4676
4677 /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/iS
4678 Capturing subpattern count = 3
4679 Partial matching not supported
4680 Options: caseless
4681 No first char
4682 Need char = 'g' (caseless)
4683 Study returned NULL
4684      Baby Bjorn Active Carrier - With free SHIPPING!!
4685  0: Baby Bjorn Active Carrier - With free SHIPPING!!
4686  1: Baby Bjorn Active Carrier - With free SHIPPING!!
4687      
4688 /a*.*b/SD
4689 ------------------------------------------------------------------
4690   0   9 Bra 0
4691   3     a*
4692   5     Any*
4693   7     b
4694   9   9 Ket
4695  12     End
4696 ------------------------------------------------------------------
4697 Capturing subpattern count = 0
4698 Partial matching not supported
4699 No options
4700 No first char
4701 Need char = 'b'
4702 Study returned NULL
4703
4704 /(a|b)*.?c/SD 
4705 ------------------------------------------------------------------
4706   0  21 Bra 0
4707   3     Brazero
4708   4   5 Bra 1
4709   7     a
4710   9   5 Alt
4711  12     b
4712  14  10 KetRmax
4713  17     Any?
4714  19     c
4715  21  21 Ket
4716  24     End
4717 ------------------------------------------------------------------
4718 Capturing subpattern count = 1
4719 No options
4720 No first char
4721 Need char = 'c'
4722 Study returned NULL
4723
4724 /abc(?C255)de(?C)f/D
4725 ------------------------------------------------------------------
4726   0  27 Bra 0
4727   3     abc
4728   9     Callout 255 10 1
4729  15     de
4730  19     Callout 0 16 1
4731  25     f
4732  27  27 Ket
4733  30     End
4734 ------------------------------------------------------------------
4735 Capturing subpattern count = 0
4736 No options
4737 First char = 'a'
4738 Need char = 'f'
4739
4740 /abcde/CD
4741 ------------------------------------------------------------------
4742   0  49 Bra 0
4743   3     Callout 255 0 1
4744   9     a
4745  11     Callout 255 1 1
4746  17     b
4747  19     Callout 255 2 1
4748  25     c
4749  27     Callout 255 3 1
4750  33     d
4751  35     Callout 255 4 1
4752  41     e
4753  43     Callout 255 5 0
4754  49  49 Ket
4755  52     End
4756 ------------------------------------------------------------------
4757 Capturing subpattern count = 0
4758 Options:
4759 First char = 'a'
4760 Need char = 'e'
4761   abcde
4762 --->abcde
4763  +0 ^         a
4764  +1 ^^        b
4765  +2 ^ ^       c
4766  +3 ^  ^      d
4767  +4 ^   ^     e
4768  +5 ^    ^    
4769  0: abcde
4770   abcdfe 
4771 --->abcdfe
4772  +0 ^          a
4773  +1 ^^         b
4774  +2 ^ ^        c
4775  +3 ^  ^       d
4776  +4 ^   ^      e
4777 No match
4778   
4779 /a*b/CD
4780 ------------------------------------------------------------------
4781   0  25 Bra 0
4782   3     Callout 255 0 2
4783   9     a*
4784  11     Callout 255 2 1
4785  17     b
4786  19     Callout 255 3 0
4787  25  25 Ket
4788  28     End
4789 ------------------------------------------------------------------
4790 Capturing subpattern count = 0
4791 Partial matching not supported
4792 Options:
4793 No first char
4794 Need char = 'b'
4795   ab
4796 --->ab
4797  +0 ^      a*
4798  +2 ^^     b
4799  +3 ^ ^    
4800  0: ab
4801   aaaab
4802 --->aaaab
4803  +0 ^         a*
4804  +2 ^   ^     b
4805  +3 ^    ^    
4806  0: aaaab
4807   aaaacb   
4808 --->aaaacb
4809  +0 ^          a*
4810  +2 ^   ^      b
4811  +2 ^  ^       b
4812  +2 ^ ^        b
4813  +2 ^^         b
4814  +2 ^          b
4815  +0  ^         a*
4816  +2  ^  ^      b
4817  +2  ^ ^       b
4818  +2  ^^        b
4819  +2  ^         b
4820  +0   ^        a*
4821  +2   ^ ^      b
4822  +2   ^^       b
4823  +2   ^        b
4824  +0    ^       a*
4825  +2    ^^      b
4826  +2    ^       b
4827  +0     ^      a*
4828  +2     ^      b
4829  +0      ^     a*
4830  +2      ^     b
4831  +3      ^^    
4832  0: b
4833
4834 /a+b/CD
4835 ------------------------------------------------------------------
4836   0  25 Bra 0
4837   3     Callout 255 0 2
4838   9     a+
4839  11     Callout 255 2 1
4840  17     b
4841  19     Callout 255 3 0
4842  25  25 Ket
4843  28     End
4844 ------------------------------------------------------------------
4845 Capturing subpattern count = 0
4846 Partial matching not supported
4847 Options:
4848 First char = 'a'
4849 Need char = 'b'
4850   ab
4851 --->ab
4852  +0 ^      a+
4853  +2 ^^     b
4854  +3 ^ ^    
4855  0: ab
4856   aaaab
4857 --->aaaab
4858  +0 ^         a+
4859  +2 ^   ^     b
4860  +3 ^    ^    
4861  0: aaaab
4862   aaaacb   
4863 --->aaaacb
4864  +0 ^          a+
4865  +2 ^   ^      b
4866  +2 ^  ^       b
4867  +2 ^ ^        b
4868  +2 ^^         b
4869  +0  ^         a+
4870  +2  ^  ^      b
4871  +2  ^ ^       b
4872  +2  ^^        b
4873  +0   ^        a+
4874  +2   ^ ^      b
4875  +2   ^^       b
4876  +0    ^       a+
4877  +2    ^^      b
4878 No match
4879
4880 /(abc|def)x/CD
4881 ------------------------------------------------------------------
4882   0  92 Bra 0
4883   3     Callout 255 0 9
4884   9  33 Bra 1
4885  12     Callout 255 1 1
4886  18     a
4887  20     Callout 255 2 1
4888  26     b
4889  28     Callout 255 3 1
4890  34     c
4891  36     Callout 255 4 0
4892  42  33 Alt
4893  45     Callout 255 5 1
4894  51     d
4895  53     Callout 255 6 1
4896  59     e
4897  61     Callout 255 7 1
4898  67     f
4899  69     Callout 255 8 0
4900  75  66 Ket
4901  78     Callout 255 9 1
4902  84     x
4903  86     Callout 255 10 0
4904  92  92 Ket
4905  95     End
4906 ------------------------------------------------------------------
4907 Capturing subpattern count = 1
4908 Options:
4909 No first char
4910 Need char = 'x'
4911   abcx
4912 --->abcx
4913  +0 ^        (abc|def)
4914  +1 ^        a
4915  +2 ^^       b
4916  +3 ^ ^      c
4917  +4 ^  ^     |
4918  +9 ^  ^     x
4919 +10 ^   ^    
4920  0: abcx
4921  1: abc
4922   defx
4923 --->defx
4924  +0 ^        (abc|def)
4925  +1 ^        a
4926  +5 ^        d
4927  +6 ^^       e
4928  +7 ^ ^      f
4929  +8 ^  ^     )
4930  +9 ^  ^     x
4931 +10 ^   ^    
4932  0: defx
4933  1: def
4934   abcdefzx
4935 --->abcdefzx
4936  +0 ^            (abc|def)
4937  +1 ^            a
4938  +2 ^^           b
4939  +3 ^ ^          c
4940  +4 ^  ^         |
4941  +9 ^  ^         x
4942  +5 ^            d
4943  +0  ^           (abc|def)
4944  +1  ^           a
4945  +5  ^           d
4946  +0   ^          (abc|def)
4947  +1   ^          a
4948  +5   ^          d
4949  +0    ^         (abc|def)
4950  +1    ^         a
4951  +5    ^         d
4952  +6    ^^        e
4953  +7    ^ ^       f
4954  +8    ^  ^      )
4955  +9    ^  ^      x
4956  +0     ^        (abc|def)
4957  +1     ^        a
4958  +5     ^        d
4959  +0      ^       (abc|def)
4960  +1      ^       a
4961  +5      ^       d
4962  +0       ^      (abc|def)
4963  +1       ^      a
4964  +5       ^      d
4965  +0        ^     (abc|def)
4966  +1        ^     a
4967  +5        ^     d
4968 No match
4969
4970 /(ab|cd){3,4}/C
4971 Capturing subpattern count = 1
4972 Options:
4973 No first char
4974 No need char
4975   ababab
4976 --->ababab
4977  +0 ^          (ab|cd){3,4}
4978  +1 ^          a
4979  +2 ^^         b
4980  +3 ^ ^        |
4981  +1 ^ ^        a
4982  +2 ^  ^       b
4983  +3 ^   ^      |
4984  +1 ^   ^      a
4985  +2 ^    ^     b
4986  +3 ^     ^    |
4987  +1 ^     ^    a
4988  +4 ^     ^    c
4989 +12 ^     ^    
4990  0: ababab
4991  1: ab
4992   abcdabcd
4993 --->abcdabcd
4994  +0 ^            (ab|cd){3,4}
4995  +1 ^            a
4996  +2 ^^           b
4997  +3 ^ ^          |
4998  +1 ^ ^          a
4999  +4 ^ ^          c
5000  +5 ^  ^         d
5001  +6 ^   ^        )
5002  +1 ^   ^        a
5003  +2 ^    ^       b
5004  +3 ^     ^      |
5005  +1 ^     ^      a
5006  +4 ^     ^      c
5007  +5 ^      ^     d
5008  +6 ^       ^    )
5009 +12 ^       ^    
5010  0: abcdabcd
5011  1: cd
5012   abcdcdcdcdcd  
5013 --->abcdcdcdcdcd
5014  +0 ^                (ab|cd){3,4}
5015  +1 ^                a
5016  +2 ^^               b
5017  +3 ^ ^              |
5018  +1 ^ ^              a
5019  +4 ^ ^              c
5020  +5 ^  ^             d
5021  +6 ^   ^            )
5022  +1 ^   ^            a
5023  +4 ^   ^            c
5024  +5 ^    ^           d
5025  +6 ^     ^          )
5026  +1 ^     ^          a
5027  +4 ^     ^          c
5028  +5 ^      ^         d
5029  +6 ^       ^        )
5030 +12 ^       ^        
5031  0: abcdcdcd
5032  1: cd
5033
5034 /([ab]{,4}c|xy)/CD
5035 ------------------------------------------------------------------
5036   0 131 Bra 0
5037   3     Callout 255 0 14
5038   9  88 Bra 1
5039  12     Callout 255 1 4
5040  18     [ab]
5041  51     Callout 255 5 1
5042  57     {
5043  59     Callout 255 6 1
5044  65     ,
5045  67     Callout 255 7 1
5046  73     4
5047  75     Callout 255 8 1
5048  81     }
5049  83     Callout 255 9 1
5050  89     c
5051  91     Callout 255 10 0
5052  97  25 Alt
5053 100     Callout 255 11 1
5054 106     x
5055 108     Callout 255 12 1
5056 114     y
5057 116     Callout 255 13 0
5058 122 113 Ket
5059 125     Callout 255 14 0
5060 131 131 Ket
5061 134     End
5062 ------------------------------------------------------------------
5063 Capturing subpattern count = 1
5064 Options:
5065 No first char
5066 No need char
5067     Note: that { does NOT introduce a quantifier
5068 --->Note: that { does NOT introduce a quantifier
5069  +0 ^                                                ([ab]{,4}c|xy)
5070  +1 ^                                                [ab]
5071 +11 ^                                                x
5072  +0  ^                                               ([ab]{,4}c|xy)
5073  +1  ^                                               [ab]
5074 +11  ^                                               x
5075  +0   ^                                              ([ab]{,4}c|xy)
5076  +1   ^                                              [ab]
5077 +11   ^                                              x
5078  +0    ^                                             ([ab]{,4}c|xy)
5079  +1    ^                                             [ab]
5080 +11    ^                                             x
5081  +0     ^                                            ([ab]{,4}c|xy)
5082  +1     ^                                            [ab]
5083 +11     ^                                            x
5084  +0      ^                                           ([ab]{,4}c|xy)
5085  +1      ^                                           [ab]
5086 +11      ^                                           x
5087  +0       ^                                          ([ab]{,4}c|xy)
5088  +1       ^                                          [ab]
5089 +11       ^                                          x
5090  +0        ^                                         ([ab]{,4}c|xy)
5091  +1        ^                                         [ab]
5092 +11        ^                                         x
5093  +0         ^                                        ([ab]{,4}c|xy)
5094  +1         ^                                        [ab]
5095  +5         ^^                                       {
5096 +11         ^                                        x
5097  +0          ^                                       ([ab]{,4}c|xy)
5098  +1          ^                                       [ab]
5099 +11          ^                                       x
5100  +0           ^                                      ([ab]{,4}c|xy)
5101  +1           ^                                      [ab]
5102 +11           ^                                      x
5103  +0            ^                                     ([ab]{,4}c|xy)
5104  +1            ^                                     [ab]
5105 +11            ^                                     x
5106  +0             ^                                    ([ab]{,4}c|xy)
5107  +1             ^                                    [ab]
5108 +11             ^                                    x
5109  +0              ^                                   ([ab]{,4}c|xy)
5110  +1              ^                                   [ab]
5111 +11              ^                                   x
5112  +0               ^                                  ([ab]{,4}c|xy)
5113  +1               ^                                  [ab]
5114 +11               ^                                  x
5115  +0                ^                                 ([ab]{,4}c|xy)
5116  +1                ^                                 [ab]
5117 +11                ^                                 x
5118  +0                 ^                                ([ab]{,4}c|xy)
5119  +1                 ^                                [ab]
5120 +11                 ^                                x
5121  +0                  ^                               ([ab]{,4}c|xy)
5122  +1                  ^                               [ab]
5123 +11                  ^                               x
5124  +0                   ^                              ([ab]{,4}c|xy)
5125  +1                   ^                              [ab]
5126 +11                   ^                              x
5127  +0                    ^                             ([ab]{,4}c|xy)
5128  +1                    ^                             [ab]
5129 +11                    ^                             x
5130  +0                     ^                            ([ab]{,4}c|xy)
5131  +1                     ^                            [ab]
5132 +11                     ^                            x
5133  +0                      ^                           ([ab]{,4}c|xy)
5134  +1                      ^                           [ab]
5135 +11                      ^                           x
5136  +0                       ^                          ([ab]{,4}c|xy)
5137  +1                       ^                          [ab]
5138 +11                       ^                          x
5139  +0                        ^                         ([ab]{,4}c|xy)
5140  +1                        ^                         [ab]
5141 +11                        ^                         x
5142  +0                         ^                        ([ab]{,4}c|xy)
5143  +1                         ^                        [ab]
5144 +11                         ^                        x
5145  +0                          ^                       ([ab]{,4}c|xy)
5146  +1                          ^                       [ab]
5147 +11                          ^                       x
5148  +0                           ^                      ([ab]{,4}c|xy)
5149  +1                           ^                      [ab]
5150 +11                           ^                      x
5151  +0                            ^                     ([ab]{,4}c|xy)
5152  +1                            ^                     [ab]
5153 +11                            ^                     x
5154  +0                             ^                    ([ab]{,4}c|xy)
5155  +1                             ^                    [ab]
5156 +11                             ^                    x
5157  +0                              ^                   ([ab]{,4}c|xy)
5158  +1                              ^                   [ab]
5159 +11                              ^                   x
5160  +0                               ^                  ([ab]{,4}c|xy)
5161  +1                               ^                  [ab]
5162 +11                               ^                  x
5163  +0                                ^                 ([ab]{,4}c|xy)
5164  +1                                ^                 [ab]
5165 +11                                ^                 x
5166  +0                                 ^                ([ab]{,4}c|xy)
5167  +1                                 ^                [ab]
5168  +5                                 ^^               {
5169 +11                                 ^                x
5170  +0                                  ^               ([ab]{,4}c|xy)
5171  +1                                  ^               [ab]
5172 +11                                  ^               x
5173  +0                                   ^              ([ab]{,4}c|xy)
5174  +1                                   ^              [ab]
5175 +11                                   ^              x
5176  +0                                    ^             ([ab]{,4}c|xy)
5177  +1                                    ^             [ab]
5178 +11                                    ^             x
5179  +0                                     ^            ([ab]{,4}c|xy)
5180  +1                                     ^            [ab]
5181  +5                                     ^^           {
5182 +11                                     ^            x
5183  +0                                      ^           ([ab]{,4}c|xy)
5184  +1                                      ^           [ab]
5185 +11                                      ^           x
5186  +0                                       ^          ([ab]{,4}c|xy)
5187  +1                                       ^          [ab]
5188 +11                                       ^          x
5189  +0                                        ^         ([ab]{,4}c|xy)
5190  +1                                        ^         [ab]
5191 +11                                        ^         x
5192  +0                                         ^        ([ab]{,4}c|xy)
5193  +1                                         ^        [ab]
5194 +11                                         ^        x
5195  +0                                          ^       ([ab]{,4}c|xy)
5196  +1                                          ^       [ab]
5197 +11                                          ^       x
5198  +0                                           ^      ([ab]{,4}c|xy)
5199  +1                                           ^      [ab]
5200 +11                                           ^      x
5201  +0                                            ^     ([ab]{,4}c|xy)
5202  +1                                            ^     [ab]
5203 +11                                            ^     x
5204  +0                                             ^    ([ab]{,4}c|xy)
5205  +1                                             ^    [ab]
5206 +11                                             ^    x
5207 No match
5208
5209 /([ab]{1,4}c|xy){4,5}?123/CD
5210 ------------------------------------------------------------------
5211   0 485 Bra 0
5212   3     Callout 255 0 21
5213   9  61 Bra 1
5214  12     Callout 255 1 9
5215  18     [ab]{1,4}
5216  56     Callout 255 10 1
5217  62     c
5218  64     Callout 255 11 0
5219  70  25 Alt
5220  73     Callout 255 12 1
5221  79     x
5222  81     Callout 255 13 1
5223  87     y
5224  89     Callout 255 14 0
5225  95  86 Ket
5226  98  61 Bra 1
5227 101     Callout 255 1 9
5228 107     [ab]{1,4}
5229 145     Callout 255 10 1
5230 151     c
5231 153     Callout 255 11 0
5232 159  25 Alt
5233 162     Callout 255 12 1
5234 168     x
5235 170     Callout 255 13 1
5236 176     y
5237 178     Callout 255 14 0
5238 184  86 Ket
5239 187  61 Bra 1
5240 190     Callout 255 1 9
5241 196     [ab]{1,4}
5242 234     Callout 255 10 1
5243 240     c
5244 242     Callout 255 11 0
5245 248  25 Alt
5246 251     Callout 255 12 1
5247 257     x
5248 259     Callout 255 13 1
5249 265     y
5250 267     Callout 255 14 0
5251 273  86 Ket
5252 276  61 Bra 1
5253 279     Callout 255 1 9
5254 285     [ab]{1,4}
5255 323     Callout 255 10 1
5256 329     c
5257 331     Callout 255 11 0
5258 337  25 Alt
5259 340     Callout 255 12 1
5260 346     x
5261 348     Callout 255 13 1
5262 354     y
5263 356     Callout 255 14 0
5264 362  86 Ket
5265 365     Braminzero
5266 366  61 Bra 1
5267 369     Callout 255 1 9
5268 375     [ab]{1,4}
5269 413     Callout 255 10 1
5270 419     c
5271 421     Callout 255 11 0
5272 427  25 Alt
5273 430     Callout 255 12 1
5274 436     x
5275 438     Callout 255 13 1
5276 444     y
5277 446     Callout 255 14 0
5278 452  86 Ket
5279 455     Callout 255 21 1
5280 461     1
5281 463     Callout 255 22 1
5282 469     2
5283 471     Callout 255 23 1
5284 477     3
5285 479     Callout 255 24 0
5286 485 485 Ket
5287 488     End
5288 ------------------------------------------------------------------
5289 Capturing subpattern count = 1
5290 Partial matching not supported
5291 Options:
5292 No first char
5293 Need char = '3'
5294     aacaacaacaacaac123
5295 --->aacaacaacaacaac123
5296  +0 ^                      ([ab]{1,4}c|xy){4,5}?
5297  +1 ^                      [ab]{1,4}
5298 +10 ^ ^                    c
5299 +11 ^  ^                   |
5300  +1 ^  ^                   [ab]{1,4}
5301 +10 ^    ^                 c
5302 +11 ^     ^                |
5303  +1 ^     ^                [ab]{1,4}
5304 +10 ^       ^              c
5305 +11 ^        ^             |
5306  +1 ^        ^             [ab]{1,4}
5307 +10 ^          ^           c
5308 +11 ^           ^          |
5309 +21 ^           ^          1
5310  +1 ^           ^          [ab]{1,4}
5311 +10 ^             ^        c
5312 +11 ^              ^       |
5313 +21 ^              ^       1
5314 +22 ^               ^      2
5315 +23 ^                ^     3
5316 +24 ^                 ^    
5317  0: aacaacaacaacaac123
5318  1: aac
5319
5320 /\b.*/I
5321 Capturing subpattern count = 0
5322 Partial matching not supported
5323 No options
5324 No first char
5325 No need char
5326   ab cd\>1
5327  0:  cd
5328   
5329 /\b.*/Is 
5330 Capturing subpattern count = 0
5331 Partial matching not supported
5332 Options: dotall
5333 No first char
5334 No need char
5335   ab cd\>1
5336  0:  cd
5337   
5338 /(?!.bcd).*/I
5339 Capturing subpattern count = 0
5340 Partial matching not supported
5341 No options
5342 No first char
5343 No need char
5344   Xbcd12345 
5345  0: bcd12345
5346
5347 /abcde/
5348 Capturing subpattern count = 0
5349 No options
5350 First char = 'a'
5351 Need char = 'e'
5352     ab\P
5353 Partial match
5354     abc\P
5355 Partial match
5356     abcd\P
5357 Partial match
5358     abcde\P   
5359  0: abcde
5360     the quick brown abc\P
5361 Partial match
5362     ** Failers\P
5363 No match
5364     the quick brown abxyz fox\P
5365 No match
5366     
5367 "^(0?[1-9]|[12][0-9]|3[01])/(0?[1-9]|1[012])/(20)?\d\d$"
5368 Capturing subpattern count = 3
5369 Options: anchored
5370 No first char
5371 Need char = '/'
5372     13/05/04\P
5373  0: 13/05/04
5374  1: 13
5375  2: 05
5376     13/5/2004\P
5377  0: 13/5/2004
5378  1: 13
5379  2: 5
5380  3: 20
5381     02/05/09\P 
5382  0: 02/05/09
5383  1: 02
5384  2: 05
5385     1\P
5386 Partial match
5387     1/2\P
5388 Partial match
5389     1/2/0\P
5390 Partial match
5391     1/2/04\P    
5392  0: 1/2/04
5393  1: 1
5394  2: 2
5395     0\P
5396 Partial match
5397     02/\P
5398 Partial match
5399     02/0\P   
5400 Partial match
5401     02/1\P
5402 Partial match
5403     ** Failers\P
5404 No match
5405     \P
5406 No match
5407     123\P
5408 No match
5409     33/4/04\P
5410 No match
5411     3/13/04\P
5412 No match
5413     0/1/2003\P
5414 No match
5415     0/\P 
5416 No match
5417     02/0/\P 
5418 No match
5419     02/13\P  
5420 No match
5421
5422 /0{0,2}ABC/I
5423 Capturing subpattern count = 0
5424 Partial matching not supported
5425 No options
5426 No first char
5427 Need char = 'C'
5428     
5429 /\d{3,}ABC/I
5430 Capturing subpattern count = 0
5431 Partial matching not supported
5432 No options
5433 No first char
5434 Need char = 'C'
5435     
5436 /\d*ABC/I
5437 Capturing subpattern count = 0
5438 Partial matching not supported
5439 No options
5440 No first char
5441 Need char = 'C'
5442
5443 /[abc]+DE/I
5444 Capturing subpattern count = 0
5445 Partial matching not supported
5446 No options
5447 No first char
5448 Need char = 'E'
5449
5450 /[abc]?123/
5451 Capturing subpattern count = 0
5452 No options
5453 No first char
5454 Need char = '3'
5455     123\P
5456  0: 123
5457     a\P
5458 Partial match
5459     b\P
5460 Partial match
5461     c\P
5462 Partial match
5463     c12\P
5464 Partial match
5465     c123\P      
5466  0: c123
5467
5468 /^(?:\d){3,5}X/
5469 Capturing subpattern count = 0
5470 Options: anchored
5471 No first char
5472 Need char = 'X'
5473     1\P
5474 Partial match
5475     123\P
5476 Partial match
5477     123X
5478  0: 123X
5479     1234\P
5480 Partial match
5481     1234X
5482  0: 1234X
5483     12345\P
5484 Partial match
5485     12345X      
5486  0: 12345X
5487     *** Failers 
5488 No match
5489     1X 
5490 No match
5491     123456\P 
5492 No match
5493
5494 /abc/>testsavedregex
5495 Capturing subpattern count = 0
5496 No options
5497 First char = 'a'
5498 Need char = 'c'
5499 Compiled regex written to testsavedregex
5500 <testsavedregex
5501 Compiled regex loaded from testsavedregex
5502 No study data
5503 Capturing subpattern count = 0
5504 No options
5505 First char = 'a'
5506 Need char = 'c'
5507     abc
5508  0: abc
5509     ** Failers
5510 No match
5511     bca
5512 No match
5513     
5514 /abc/F>testsavedregex
5515 Capturing subpattern count = 0
5516 No options
5517 First char = 'a'
5518 Need char = 'c'
5519 Compiled regex written to testsavedregex
5520 <testsavedregex
5521 Compiled regex (byte-inverted) loaded from testsavedregex
5522 No study data
5523 Capturing subpattern count = 0
5524 No options
5525 First char = 'a'
5526 Need char = 'c'
5527     abc
5528  0: abc
5529     ** Failers
5530 No match
5531     bca
5532 No match
5533
5534 /(a|b)/S>testsavedregex
5535 Capturing subpattern count = 1
5536 No options
5537 No first char
5538 No need char
5539 Starting byte set: a b 
5540 Compiled regex written to testsavedregex
5541 Study data written to testsavedregex
5542 <testsavedregex
5543 Compiled regex loaded from testsavedregex
5544 Study data loaded from testsavedregex
5545 Capturing subpattern count = 1
5546 No options
5547 No first char
5548 No need char
5549 Starting byte set: a b 
5550     abc
5551  0: a
5552  1: a
5553     ** Failers
5554  0: a
5555  1: a
5556     def  
5557 No match
5558     
5559 /(a|b)/SF>testsavedregex
5560 Capturing subpattern count = 1
5561 No options
5562 No first char
5563 No need char
5564 Starting byte set: a b 
5565 Compiled regex written to testsavedregex
5566 Study data written to testsavedregex
5567 <testsavedregex
5568 Compiled regex (byte-inverted) loaded from testsavedregex
5569 Study data loaded from testsavedregex
5570 Capturing subpattern count = 1
5571 No options
5572 No first char
5573 No need char
5574 Starting byte set: a b 
5575     abc
5576  0: a
5577  1: a
5578     ** Failers
5579  0: a
5580  1: a
5581     def  
5582 No match
5583     
5584 ~<(\w+)/?>(.)*</(\1)>~smg
5585 Capturing subpattern count = 3
5586 Max back reference = 1
5587 Partial matching not supported
5588 Options: multiline dotall
5589 First char = '<'
5590 Need char = '>'
5591     <!DOCTYPE seite SYSTEM "http://www.lco.lineas.de/xmlCms.dtd">\n<seite>\n<dokumenteninformation>\n<seitentitel>Partner der LCO</seitentitel>\n<sprache>de</sprache>\n<seitenbeschreibung>Partner der LINEAS Consulting\nGmbH</seitenbeschreibung>\n<schluesselworte>LINEAS Consulting GmbH Hamburg\nPartnerfirmen</schluesselworte>\n<revisit>30 days</revisit>\n<robots>index,follow</robots>\n<menueinformation>\n<aktiv>ja</aktiv>\n<menueposition>3</menueposition>\n<menuetext>Partner</menuetext>\n</menueinformation>\n<lastedited>\n<autor>LCO</autor>\n<firma>LINEAS Consulting</firma>\n<datum>15.10.2003</datum>\n</lastedited>\n</dokumenteninformation>\n<inhalt>\n\n<absatzueberschrift>Die Partnerfirmen der LINEAS Consulting\nGmbH</absatzueberschrift>\n\n<absatz><link ziel="http://www.ca.com/" zielfenster="_blank">\n<bild name="logo_ca.gif" rahmen="no"/></link> <link\nziel="http://www.ey.com/" zielfenster="_blank"><bild\nname="logo_euy.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><link ziel="http://www.cisco.de/" zielfenster="_blank">\n<bild name="logo_cisco.gif" rahmen="ja"/></link></absatz>\n\n<absatz><link ziel="http://www.atelion.de/"\nzielfenster="_blank"><bild\nname="logo_atelion.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><link ziel="http://www.line-information.de/"\nzielfenster="_blank">\n<bild name="logo_line_information.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><bild name="logo_aw.gif" rahmen="no"/></absatz>\n\n<absatz><link ziel="http://www.incognis.de/"\nzielfenster="_blank"><bild\nname="logo_incognis.gif" rahmen="no"/></link></absatz>\n\n<absatz><link ziel="http://www.addcraft.com/"\nzielfenster="_blank"><bild\nname="logo_addcraft.gif" rahmen="no"/></link></absatz>\n\n<absatz><link ziel="http://www.comendo.com/"\nzielfenster="_blank"><bild\nname="logo_comendo.gif" rahmen="no"/></link></absatz>\n\n</inhalt>\n</seite>
5592  0: <seite>\x0a<dokumenteninformation>\x0a<seitentitel>Partner der LCO</seitentitel>\x0a<sprache>de</sprache>\x0a<seitenbeschreibung>Partner der LINEAS Consulting\x0aGmbH</seitenbeschreibung>\x0a<schluesselworte>LINEAS Consulting GmbH Hamburg\x0aPartnerfirmen</schluesselworte>\x0a<revisit>30 days</revisit>\x0a<robots>index,follow</robots>\x0a<menueinformation>\x0a<aktiv>ja</aktiv>\x0a<menueposition>3</menueposition>\x0a<menuetext>Partner</menuetext>\x0a</menueinformation>\x0a<lastedited>\x0a<autor>LCO</autor>\x0a<firma>LINEAS Consulting</firma>\x0a<datum>15.10.2003</datum>\x0a</lastedited>\x0a</dokumenteninformation>\x0a<inhalt>\x0a\x0a<absatzueberschrift>Die Partnerfirmen der LINEAS Consulting\x0aGmbH</absatzueberschrift>\x0a\x0a<absatz><link ziel="http://www.ca.com/" zielfenster="_blank">\x0a<bild name="logo_ca.gif" rahmen="no"/></link> <link\x0aziel="http://www.ey.com/" zielfenster="_blank"><bild\x0aname="logo_euy.gif" rahmen="no"/></link>\x0a</absatz>\x0a\x0a<absatz><link ziel="http://www.cisco.de/" zielfenster="_blank">\x0a<bild name="logo_cisco.gif" rahmen="ja"/></link></absatz>\x0a\x0a<absatz><link ziel="http://www.atelion.de/"\x0azielfenster="_blank"><bild\x0aname="logo_atelion.gif" rahmen="no"/></link>\x0a</absatz>\x0a\x0a<absatz><link ziel="http://www.line-information.de/"\x0azielfenster="_blank">\x0a<bild name="logo_line_information.gif" rahmen="no"/></link>\x0a</absatz>\x0a\x0a<absatz><bild name="logo_aw.gif" rahmen="no"/></absatz>\x0a\x0a<absatz><link ziel="http://www.incognis.de/"\x0azielfenster="_blank"><bild\x0aname="logo_incognis.gif" rahmen="no"/></link></absatz>\x0a\x0a<absatz><link ziel="http://www.addcraft.com/"\x0azielfenster="_blank"><bild\x0aname="logo_addcraft.gif" rahmen="no"/></link></absatz>\x0a\x0a<absatz><link ziel="http://www.comendo.com/"\x0azielfenster="_blank"><bild\x0aname="logo_comendo.gif" rahmen="no"/></link></absatz>\x0a\x0a</inhalt>\x0a</seite>
5593  1: seite
5594  2: \x0a
5595  3: seite
5596
5597 /^a/IF
5598 Capturing subpattern count = 0
5599 Options: anchored
5600 No first char
5601 No need char
5602
5603 / End of testinput2 /
5604 Capturing subpattern count = 0
5605 No options
5606 First char = ' '
5607 Need char = ' '