usbmodeswitch: Updated to v.1.2.6 from shibby's branch.
[tomato.git] / release / src / router / pcre / testdata / testoutput2
blobe9cddf80d1130001d2dbc54e10b0c5992a9abd4c
1 /-- This set of tests is not Perl-compatible. It checks on special features
2     of PCRE's API, error diagnostics, and the compiled code of some patterns.
3     It also checks the non-Perl syntax the PCRE supports (Python, .NET, 
4     Oniguruma). Finally, there are some tests where PCRE and Perl differ, 
5     either because PCRE can't be compatible, or there is a possible Perl 
6     bug.
7     
8     NOTE: This is a non-UTF set of tests. When UTF support is needed, use
9     test 5, and if Unicode Property Support is needed, use test 7. --/
10   
11 /(a)b|/I
12 Capturing subpattern count = 1
13 No options
14 No first char
15 No need char
17 /abc/I
18 Capturing subpattern count = 0
19 No options
20 First char = 'a'
21 Need char = 'c'
22     abc
23  0: abc
24     defabc
25  0: abc
26     \Aabc
27  0: abc
28     *** Failers
29 No match
30     \Adefabc
31 No match
32     ABC
33 No match
35 /^abc/I
36 Capturing subpattern count = 0
37 Options: anchored
38 No first char
39 No need char
40     abc
41  0: abc
42     \Aabc
43  0: abc
44     *** Failers
45 No match
46     defabc
47 No match
48     \Adefabc
49 No match
51 /a+bc/I
52 Capturing subpattern count = 0
53 No options
54 First char = 'a'
55 Need char = 'c'
57 /a*bc/I
58 Capturing subpattern count = 0
59 No options
60 No first char
61 Need char = 'c'
63 /a{3}bc/I
64 Capturing subpattern count = 0
65 No options
66 First char = 'a'
67 Need char = 'c'
69 /(abc|a+z)/I
70 Capturing subpattern count = 1
71 No options
72 First char = 'a'
73 No need char
75 /^abc$/I
76 Capturing subpattern count = 0
77 Options: anchored
78 No first char
79 No need char
80     abc
81  0: abc
82     *** Failers
83 No match
84     def\nabc
85 No match
87 /ab\idef/X
88 Failed: unrecognized character follows \ at offset 3
90 /(?X)ab\idef/X
91 Failed: unrecognized character follows \ at offset 7
93 /x{5,4}/
94 Failed: numbers out of order in {} quantifier at offset 5
96 /z{65536}/
97 Failed: number too big in {} quantifier at offset 7
99 /[abcd/
100 Failed: missing terminating ] for character class at offset 5
102 /(?X)[\B]/
103 Failed: invalid escape sequence in character class at offset 6
105 /(?X)[\R]/
106 Failed: invalid escape sequence in character class at offset 6
108 /(?X)[\X]/
109 Failed: invalid escape sequence in character class at offset 6
111 /[\B]/BZ
112 ------------------------------------------------------------------
113         Bra
114         B
115         Ket
116         End
117 ------------------------------------------------------------------
119 /[\R]/BZ
120 ------------------------------------------------------------------
121         Bra
122         R
123         Ket
124         End
125 ------------------------------------------------------------------
127 /[\X]/BZ
128 ------------------------------------------------------------------
129         Bra
130         X
131         Ket
132         End
133 ------------------------------------------------------------------
135 /[z-a]/
136 Failed: range out of order in character class at offset 3
138 /^*/
139 Failed: nothing to repeat at offset 1
141 /(abc/
142 Failed: missing ) at offset 4
144 /(?# abc/
145 Failed: missing ) after comment at offset 7
147 /(?z)abc/
148 Failed: unrecognized character after (? or (?- at offset 2
150 /.*b/I
151 Capturing subpattern count = 0
152 No options
153 First char at start or follows newline
154 Need char = 'b'
156 /.*?b/I
157 Capturing subpattern count = 0
158 No options
159 First char at start or follows newline
160 Need char = 'b'
162 /cat|dog|elephant/I
163 Capturing subpattern count = 0
164 No options
165 No first char
166 No need char
167     this sentence eventually mentions a cat
168  0: cat
169     this sentences rambles on and on for a while and then reaches elephant
170  0: elephant
172 /cat|dog|elephant/IS
173 Capturing subpattern count = 0
174 No options
175 No first char
176 No need char
177 Subject length lower bound = 3
178 Starting byte set: c d e 
179     this sentence eventually mentions a cat
180  0: cat
181     this sentences rambles on and on for a while and then reaches elephant
182  0: elephant
184 /cat|dog|elephant/IiS
185 Capturing subpattern count = 0
186 Options: caseless
187 No first char
188 No need char
189 Subject length lower bound = 3
190 Starting byte set: C D E c d e 
191     this sentence eventually mentions a CAT cat
192  0: CAT
193     this sentences rambles on and on for a while to elephant ElePhant
194  0: elephant
196 /a|[bcd]/IS
197 Capturing subpattern count = 0
198 No options
199 No first char
200 No need char
201 Subject length lower bound = 1
202 Starting byte set: a b c d 
204 /(a|[^\dZ])/IS
205 Capturing subpattern count = 1
206 No options
207 No first char
208 No need char
209 Subject length lower bound = 1
210 Starting byte set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a 
211   \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 
212   \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = > 
213   ? @ 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 
214   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 
215   \x84 \x85 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f \x90 \x91 \x92 
216   \x93 \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e \x9f \xa0 \xa1 
217   \xa2 \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae \xaf \xb0 
218   \xb1 \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd \xbe \xbf 
219   \xc0 \xc1 \xc2 \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc \xcd \xce 
220   \xcf \xd0 \xd1 \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb \xdc \xdd 
221   \xde \xdf \xe0 \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb \xec 
222   \xed \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb 
223   \xfc \xfd \xfe \xff 
225 /(a|b)*[\s]/IS
226 Capturing subpattern count = 1
227 No options
228 No first char
229 No need char
230 Subject length lower bound = 1
231 Starting byte set: \x09 \x0a \x0c \x0d \x20 a b 
233 /(ab\2)/
234 Failed: reference to non-existent subpattern at offset 6
236 /{4,5}abc/
237 Failed: nothing to repeat at offset 4
239 /(a)(b)(c)\2/I
240 Capturing subpattern count = 3
241 Max back reference = 2
242 No options
243 First char = 'a'
244 Need char = 'c'
245     abcb
246  0: abcb
247  1: a
248  2: b
249  3: c
250     \O0abcb
251 Matched, but too many substrings
252     \O3abcb
253 Matched, but too many substrings
254  0: abcb
255     \O6abcb
256 Matched, but too many substrings
257  0: abcb
258  1: a
259     \O9abcb
260 Matched, but too many substrings
261  0: abcb
262  1: a
263  2: b
264     \O12abcb
265  0: abcb
266  1: a
267  2: b
268  3: c
270 /(a)bc|(a)(b)\2/I
271 Capturing subpattern count = 3
272 Max back reference = 2
273 No options
274 First char = 'a'
275 No need char
276     abc
277  0: abc
278  1: a
279     \O0abc
280 Matched, but too many substrings
281     \O3abc
282 Matched, but too many substrings
283  0: abc
284     \O6abc
285  0: abc
286  1: a
287     aba
288  0: aba
289  1: <unset>
290  2: a
291  3: b
292     \O0aba
293 Matched, but too many substrings
294     \O3aba
295 Matched, but too many substrings
296  0: aba
297     \O6aba
298 Matched, but too many substrings
299  0: aba
300  1: <unset>
301     \O9aba
302 Matched, but too many substrings
303  0: aba
304  1: <unset>
305  2: a
306     \O12aba
307  0: aba
308  1: <unset>
309  2: a
310  3: b
312 /abc$/IE
313 Capturing subpattern count = 0
314 Options: dollar_endonly
315 First char = 'a'
316 Need char = 'c'
317     abc
318  0: abc
319     *** Failers
320 No match
321     abc\n
322 No match
323     abc\ndef
324 No match
326 /(a)(b)(c)(d)(e)\6/
327 Failed: reference to non-existent subpattern at offset 17
329 /the quick brown fox/I
330 Capturing subpattern count = 0
331 No options
332 First char = 't'
333 Need char = 'x'
334     the quick brown fox
335  0: the quick brown fox
336     this is a line with the quick brown fox
337  0: the quick brown fox
339 /the quick brown fox/IA
340 Capturing subpattern count = 0
341 Options: anchored
342 No first char
343 No need char
344     the quick brown fox
345  0: the quick brown fox
346     *** Failers
347 No match
348     this is a line with the quick brown fox
349 No match
351 /ab(?z)cd/
352 Failed: unrecognized character after (? or (?- at offset 4
354 /^abc|def/I
355 Capturing subpattern count = 0
356 No options
357 No first char
358 No need char
359     abcdef
360  0: abc
361     abcdef\B
362  0: def
364 /.*((abc)$|(def))/I
365 Capturing subpattern count = 3
366 No options
367 First char at start or follows newline
368 No need char
369     defabc
370  0: defabc
371  1: abc
372  2: abc
373     \Zdefabc
374  0: def
375  1: def
376  2: <unset>
377  3: def
380 Failed: unmatched parentheses at offset 0
382 /a[]b/
383 Failed: missing terminating ] for character class at offset 4
385 /[^aeiou ]{3,}/I
386 Capturing subpattern count = 0
387 No options
388 No first char
389 No need char
390     co-processors, and for
391  0: -pr
393 /<.*>/I
394 Capturing subpattern count = 0
395 No options
396 First char = '<'
397 Need char = '>'
398     abc<def>ghi<klm>nop
399  0: <def>ghi<klm>
401 /<.*?>/I
402 Capturing subpattern count = 0
403 No options
404 First char = '<'
405 Need char = '>'
406     abc<def>ghi<klm>nop
407  0: <def>
409 /<.*>/IU
410 Capturing subpattern count = 0
411 Options: ungreedy
412 First char = '<'
413 Need char = '>'
414     abc<def>ghi<klm>nop
415  0: <def>
417 /(?U)<.*>/I
418 Capturing subpattern count = 0
419 Options: ungreedy
420 First char = '<'
421 Need char = '>'
422     abc<def>ghi<klm>nop
423  0: <def>
425 /<.*?>/IU
426 Capturing subpattern count = 0
427 Options: ungreedy
428 First char = '<'
429 Need char = '>'
430     abc<def>ghi<klm>nop
431  0: <def>ghi<klm>
433 /={3,}/IU
434 Capturing subpattern count = 0
435 Options: ungreedy
436 First char = '='
437 Need char = '='
438     abc========def
439  0: ===
441 /(?U)={3,}?/I
442 Capturing subpattern count = 0
443 Options: ungreedy
444 First char = '='
445 Need char = '='
446     abc========def
447  0: ========
449 /(?<!bar|cattle)foo/I
450 Capturing subpattern count = 0
451 No options
452 First char = 'f'
453 Need char = 'o'
454 Max lookbehind = 6
455     foo
456  0: foo
457     catfoo
458  0: foo
459     *** Failers
460 No match
461     the barfoo
462 No match
463     and cattlefoo
464 No match
466 /(?<=a+)b/
467 Failed: lookbehind assertion is not fixed length at offset 6
469 /(?<=aaa|b{0,3})b/
470 Failed: lookbehind assertion is not fixed length at offset 14
472 /(?<!(foo)a\1)bar/
473 Failed: lookbehind assertion is not fixed length at offset 12
475 /(?i)abc/I
476 Capturing subpattern count = 0
477 Options: caseless
478 First char = 'a' (caseless)
479 Need char = 'c' (caseless)
481 /(a|(?m)a)/I
482 Capturing subpattern count = 1
483 No options
484 First char = 'a'
485 No need char
487 /(?i)^1234/I
488 Capturing subpattern count = 0
489 Options: anchored caseless
490 No first char
491 No need char
493 /(^b|(?i)^d)/I
494 Capturing subpattern count = 1
495 Options: anchored
496 No first char
497 No need char
499 /(?s).*/I
500 Capturing subpattern count = 0
501 Options: anchored dotall
502 No first char
503 No need char
505 /[abcd]/IS
506 Capturing subpattern count = 0
507 No options
508 No first char
509 No need char
510 Subject length lower bound = 1
511 Starting byte set: a b c d 
513 /(?i)[abcd]/IS
514 Capturing subpattern count = 0
515 Options: caseless
516 No first char
517 No need char
518 Subject length lower bound = 1
519 Starting byte set: A B C D a b c d 
521 /(?m)[xy]|(b|c)/IS
522 Capturing subpattern count = 1
523 Options: multiline
524 No first char
525 No need char
526 Subject length lower bound = 1
527 Starting byte set: b c x y 
529 /(^a|^b)/Im
530 Capturing subpattern count = 1
531 Options: multiline
532 First char at start or follows newline
533 No need char
535 /(?i)(^a|^b)/Im
536 Capturing subpattern count = 1
537 Options: caseless multiline
538 First char at start or follows newline
539 No need char
541 /(a)(?(1)a|b|c)/
542 Failed: conditional group contains more than two branches at offset 13
544 /(?(?=a)a|b|c)/
545 Failed: conditional group contains more than two branches at offset 12
547 /(?(1a)/
548 Failed: missing ) at offset 6
550 /(?(1a))/
551 Failed: reference to non-existent subpattern at offset 6
553 /(?(?i))/
554 Failed: assertion expected after (?( at offset 3
556 /(?(abc))/
557 Failed: reference to non-existent subpattern at offset 7
559 /(?(?<ab))/
560 Failed: syntax error in subpattern name (missing terminator) at offset 7
562 /((?s)blah)\s+\1/I
563 Capturing subpattern count = 1
564 Max back reference = 1
565 No options
566 First char = 'b'
567 Need char = 'h'
569 /((?i)blah)\s+\1/I
570 Capturing subpattern count = 1
571 Max back reference = 1
572 No options
573 First char = 'b' (caseless)
574 Need char = 'h' (caseless)
576 /((?i)b)/IDZS
577 ------------------------------------------------------------------
578         Bra
579         CBra 1
580      /i b
581         Ket
582         Ket
583         End
584 ------------------------------------------------------------------
585 Capturing subpattern count = 1
586 No options
587 First char = 'b' (caseless)
588 No need char
589 Subject length lower bound = 1
590 No set of starting bytes
592 /(a*b|(?i:c*(?-i)d))/IS
593 Capturing subpattern count = 1
594 No options
595 No first char
596 No need char
597 Subject length lower bound = 1
598 Starting byte set: C a b c d 
600 /a$/I
601 Capturing subpattern count = 0
602 No options
603 First char = 'a'
604 No need char
605     a
606  0: a
607     a\n
608  0: a
609     *** Failers
610 No match
611     \Za
612 No match
613     \Za\n
614 No match
616 /a$/Im
617 Capturing subpattern count = 0
618 Options: multiline
619 First char = 'a'
620 No need char
621     a
622  0: a
623     a\n
624  0: a
625     \Za\n
626  0: a
627     *** Failers
628 No match
629     \Za
630 No match
632 /\Aabc/Im
633 Capturing subpattern count = 0
634 Options: anchored multiline
635 No first char
636 No need char
638 /^abc/Im
639 Capturing subpattern count = 0
640 Options: multiline
641 First char at start or follows newline
642 Need char = 'c'
644 /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I
645 Capturing subpattern count = 5
646 Options: anchored
647 No first char
648 No need char
649   aaaaabbbbbcccccdef
650  0: aaaaabbbbbcccccdef
651  1: aaaaabbbbbcccccdef
652  2: aaaaa
653  3: b
654  4: bbbbccccc
655  5: def
657 /(?<=foo)[ab]/IS
658 Capturing subpattern count = 0
659 No options
660 No first char
661 No need char
662 Max lookbehind = 3
663 Subject length lower bound = 1
664 Starting byte set: a b 
666 /(?<!foo)(alpha|omega)/IS
667 Capturing subpattern count = 1
668 No options
669 No first char
670 Need char = 'a'
671 Max lookbehind = 3
672 Subject length lower bound = 5
673 Starting byte set: a o 
675 /(?!alphabet)[ab]/IS
676 Capturing subpattern count = 0
677 No options
678 No first char
679 No need char
680 Subject length lower bound = 1
681 Starting byte set: a b 
683 /(?<=foo\n)^bar/Im
684 Capturing subpattern count = 0
685 Contains explicit CR or LF match
686 Options: multiline
687 No first char
688 Need char = 'r'
689 Max lookbehind = 4
690     foo\nbarbar
691  0: bar
692     ***Failers
693 No match
694     rhubarb
695 No match
696     barbell
697 No match
698     abc\nbarton
699 No match
701 /^(?<=foo\n)bar/Im
702 Capturing subpattern count = 0
703 Contains explicit CR or LF match
704 Options: multiline
705 First char at start or follows newline
706 Need char = 'r'
707 Max lookbehind = 4
708     foo\nbarbar
709  0: bar
710     ***Failers
711 No match
712     rhubarb
713 No match
714     barbell
715 No match
716     abc\nbarton
717 No match
719 /(?>^abc)/Im
720 Capturing subpattern count = 0
721 Options: multiline
722 First char at start or follows newline
723 Need char = 'c'
724     abc
725  0: abc
726     def\nabc
727  0: abc
728     *** Failers
729 No match
730     defabc
731 No match
733 /(?<=ab(c+)d)ef/
734 Failed: lookbehind assertion is not fixed length at offset 11
736 /(?<=ab(?<=c+)d)ef/
737 Failed: lookbehind assertion is not fixed length at offset 12
739 /(?<=ab(c|de)f)g/
740 Failed: lookbehind assertion is not fixed length at offset 13
742 /The next three are in testinput2 because they have variable length branches/
744 /(?<=bullock|donkey)-cart/I
745 Capturing subpattern count = 0
746 No options
747 First char = '-'
748 Need char = 't'
749 Max lookbehind = 7
750     the bullock-cart
751  0: -cart
752     a donkey-cart race
753  0: -cart
754     *** Failers
755 No match
756     cart
757 No match
758     horse-and-cart
759 No match
761 /(?<=ab(?i)x|y|z)/I
762 Capturing subpattern count = 0
763 No options
764 No first char
765 No need char
766 Max lookbehind = 3
768 /(?>.*)(?<=(abcd)|(xyz))/I
769 Capturing subpattern count = 2
770 No options
771 No first char
772 No need char
773 Max lookbehind = 4
774     alphabetabcd
775  0: alphabetabcd
776  1: abcd
777     endingxyz
778  0: endingxyz
779  1: <unset>
780  2: xyz
782 /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/I
783 Capturing subpattern count = 0
784 No options
785 First char = 'Z'
786 Need char = 'Z'
787 Max lookbehind = 4
788     abxyZZ
789  0: ZZ
790     abXyZZ
791  0: ZZ
792     ZZZ
793  0: ZZ
794     zZZ
795  0: ZZ
796     bZZ
797  0: ZZ
798     BZZ
799  0: ZZ
800     *** Failers
801 No match
802     ZZ
803 No match
804     abXYZZ
805 No match
806     zzz
807 No match
808     bzz
809 No match
811 /(?<!(foo)a)bar/I
812 Capturing subpattern count = 1
813 No options
814 First char = 'b'
815 Need char = 'r'
816 Max lookbehind = 4
817     bar
818  0: bar
819     foobbar
820  0: bar
821     *** Failers
822 No match
823     fooabar
824 No match
826 /This one is here because Perl 5.005_02 doesn't fail it/I
827 Capturing subpattern count = 0
828 No options
829 First char = 'T'
830 Need char = 't'
832 /^(a)?(?(1)a|b)+$/I
833 Capturing subpattern count = 1
834 Options: anchored
835 No first char
836 No need char
837     *** Failers
838 No match
839     a
840 No match
842 /This one is here because Perl behaves differently; see also the following/I
843 Capturing subpattern count = 0
844 No options
845 First char = 'T'
846 Need char = 'g'
848 /^(a\1?){4}$/I
849 Capturing subpattern count = 1
850 Max back reference = 1
851 Options: anchored
852 No first char
853 No need char
854     aaaa
855 No match
856     aaaaaa
857 No match
858     
859 /Perl does not fail these two for the final subjects. Neither did PCRE until/
860 /release 8.01. The problem is in backtracking into a subpattern that contains/
861 No match
862 /a recursive reference to itself. PCRE has now made these into atomic patterns./
863 No match
865 /^(xa|=?\1a){2}$/
866     xa=xaa
867  0: xa=xaa
868  1: =xaa
869     ** Failers
870 No match
871     xa=xaaa
872 No match
874 /^(xa|=?\1a)+$/
875     xa=xaa
876  0: xa=xaa
877  1: =xaa
878     ** Failers
879 No match
880     xa=xaaa
881 No match
883 /These are syntax tests from Perl 5.005/I
884 Capturing subpattern count = 0
885 No options
886 First char = 'T'
887 Need char = '5'
889 /a[b-a]/
890 Failed: range out of order in character class at offset 4
892 /a[]b/
893 Failed: missing terminating ] for character class at offset 4
895 /a[/
896 Failed: missing terminating ] for character class at offset 2
898 /*a/
899 Failed: nothing to repeat at offset 0
901 /(*)b/
902 Failed: nothing to repeat at offset 1
904 /abc)/
905 Failed: unmatched parentheses at offset 3
907 /(abc/
908 Failed: missing ) at offset 4
910 /a**/
911 Failed: nothing to repeat at offset 2
913 /)(/
914 Failed: unmatched parentheses at offset 0
916 /\1/
917 Failed: reference to non-existent subpattern at offset 2
919 /\2/
920 Failed: reference to non-existent subpattern at offset 2
922 /(a)|\2/
923 Failed: reference to non-existent subpattern at offset 6
925 /a[b-a]/Ii
926 Failed: range out of order in character class at offset 4
928 /a[]b/Ii
929 Failed: missing terminating ] for character class at offset 4
931 /a[/Ii
932 Failed: missing terminating ] for character class at offset 2
934 /*a/Ii
935 Failed: nothing to repeat at offset 0
937 /(*)b/Ii
938 Failed: nothing to repeat at offset 1
940 /abc)/Ii
941 Failed: unmatched parentheses at offset 3
943 /(abc/Ii
944 Failed: missing ) at offset 4
946 /a**/Ii
947 Failed: nothing to repeat at offset 2
949 /)(/Ii
950 Failed: unmatched parentheses at offset 0
952 /:(?:/
953 Failed: missing ) at offset 4
955 /(?<%)b/
956 Failed: unrecognized character after (?< at offset 3
958 /a(?{)b/
959 Failed: unrecognized character after (? or (?- at offset 3
961 /a(?{{})b/
962 Failed: unrecognized character after (? or (?- at offset 3
964 /a(?{}})b/
965 Failed: unrecognized character after (? or (?- at offset 3
967 /a(?{"{"})b/
968 Failed: unrecognized character after (? or (?- at offset 3
970 /a(?{"{"}})b/
971 Failed: unrecognized character after (? or (?- at offset 3
973 /(?(1?)a|b)/
974 Failed: malformed number or name after (?( at offset 4
976 /[a[:xyz:/
977 Failed: missing terminating ] for character class at offset 8
979 /(?<=x+)y/
980 Failed: lookbehind assertion is not fixed length at offset 6
982 /a{37,17}/
983 Failed: numbers out of order in {} quantifier at offset 7
985 /abc/\
986 Failed: \ at end of pattern at offset 4
988 /abc/\i
989 Failed: \ at end of pattern at offset 4
991 /(a)bc(d)/I
992 Capturing subpattern count = 2
993 No options
994 First char = 'a'
995 Need char = 'd'
996     abcd
997  0: abcd
998  1: a
999  2: d
1000     abcd\C2
1001  0: abcd
1002  1: a
1003  2: d
1004  2C d (1)
1005     abcd\C5
1006  0: abcd
1007  1: a
1008  2: d
1009 copy substring 5 failed -7
1011 /(.{20})/I
1012 Capturing subpattern count = 1
1013 No options
1014 No first char
1015 No need char
1016     abcdefghijklmnopqrstuvwxyz
1017  0: abcdefghijklmnopqrst
1018  1: abcdefghijklmnopqrst
1019     abcdefghijklmnopqrstuvwxyz\C1
1020  0: abcdefghijklmnopqrst
1021  1: abcdefghijklmnopqrst
1022  1C abcdefghijklmnopqrst (20)
1023     abcdefghijklmnopqrstuvwxyz\G1
1024  0: abcdefghijklmnopqrst
1025  1: abcdefghijklmnopqrst
1026  1G abcdefghijklmnopqrst (20)
1028 /(.{15})/I
1029 Capturing subpattern count = 1
1030 No options
1031 No first char
1032 No need char
1033     abcdefghijklmnopqrstuvwxyz
1034  0: abcdefghijklmno
1035  1: abcdefghijklmno
1036     abcdefghijklmnopqrstuvwxyz\C1\G1
1037  0: abcdefghijklmno
1038  1: abcdefghijklmno
1039  1C abcdefghijklmno (15)
1040  1G abcdefghijklmno (15)
1042 /(.{16})/I
1043 Capturing subpattern count = 1
1044 No options
1045 No first char
1046 No need char
1047     abcdefghijklmnopqrstuvwxyz
1048  0: abcdefghijklmnop
1049  1: abcdefghijklmnop
1050     abcdefghijklmnopqrstuvwxyz\C1\G1\L
1051  0: abcdefghijklmnop
1052  1: abcdefghijklmnop
1053  1C abcdefghijklmnop (16)
1054  1G abcdefghijklmnop (16)
1055  0L abcdefghijklmnop
1056  1L abcdefghijklmnop
1058 /^(a|(bc))de(f)/I
1059 Capturing subpattern count = 3
1060 Options: anchored
1061 No first char
1062 No need char
1063     adef\G1\G2\G3\G4\L
1064  0: adef
1065  1: a
1066  2: <unset>
1067  3: f
1068  1G a (1)
1069  2G  (0)
1070  3G f (1)
1071 get substring 4 failed -7
1072  0L adef
1073  1L a
1074  2L 
1075  3L f
1076     bcdef\G1\G2\G3\G4\L
1077  0: bcdef
1078  1: bc
1079  2: bc
1080  3: f
1081  1G bc (2)
1082  2G bc (2)
1083  3G f (1)
1084 get substring 4 failed -7
1085  0L bcdef
1086  1L bc
1087  2L bc
1088  3L f
1089     adefghijk\C0
1090  0: adef
1091  1: a
1092  2: <unset>
1093  3: f
1094  0C adef (4)
1096 /^abc\00def/I
1097 Capturing subpattern count = 0
1098 Options: anchored
1099 No first char
1100 No need char
1101     abc\00def\L\C0
1102  0: abc\x00def
1103  0C abc\x00def (7)
1104  0L abc
1106 /word ((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
1107 )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
1108 )?)?)?)?)?)?)?)?)?otherword/I
1109 Capturing subpattern count = 8
1110 Contains explicit CR or LF match
1111 No options
1112 First char = 'w'
1113 Need char = 'd'
1115 /.*X/IDZ
1116 ------------------------------------------------------------------
1117         Bra
1118         Any*
1119         X
1120         Ket
1121         End
1122 ------------------------------------------------------------------
1123 Capturing subpattern count = 0
1124 No options
1125 First char at start or follows newline
1126 Need char = 'X'
1128 /.*X/IDZs
1129 ------------------------------------------------------------------
1130         Bra
1131         AllAny*
1132         X
1133         Ket
1134         End
1135 ------------------------------------------------------------------
1136 Capturing subpattern count = 0
1137 Options: anchored dotall
1138 No first char
1139 Need char = 'X'
1141 /(.*X|^B)/IDZ
1142 ------------------------------------------------------------------
1143         Bra
1144         CBra 1
1145         Any*
1146         X
1147         Alt
1148         ^
1149         B
1150         Ket
1151         Ket
1152         End
1153 ------------------------------------------------------------------
1154 Capturing subpattern count = 1
1155 No options
1156 First char at start or follows newline
1157 No need char
1159 /(.*X|^B)/IDZs
1160 ------------------------------------------------------------------
1161         Bra
1162         CBra 1
1163         AllAny*
1164         X
1165         Alt
1166         ^
1167         B
1168         Ket
1169         Ket
1170         End
1171 ------------------------------------------------------------------
1172 Capturing subpattern count = 1
1173 Options: anchored dotall
1174 No first char
1175 No need char
1177 /(?s)(.*X|^B)/IDZ
1178 ------------------------------------------------------------------
1179         Bra
1180         CBra 1
1181         AllAny*
1182         X
1183         Alt
1184         ^
1185         B
1186         Ket
1187         Ket
1188         End
1189 ------------------------------------------------------------------
1190 Capturing subpattern count = 1
1191 Options: anchored dotall
1192 No first char
1193 No need char
1195 /(?s:.*X|^B)/IDZ
1196 ------------------------------------------------------------------
1197         Bra
1198         Bra
1199         AllAny*
1200         X
1201         Alt
1202         ^
1203         B
1204         Ket
1205         Ket
1206         End
1207 ------------------------------------------------------------------
1208 Capturing subpattern count = 0
1209 Options: anchored
1210 No first char
1211 No need char
1213 /\Biss\B/I+
1214 Capturing subpattern count = 0
1215 No options
1216 First char = 'i'
1217 Need char = 's'
1218 Max lookbehind = 1
1219     Mississippi
1220  0: iss
1221  0+ issippi
1223 /iss/IG+
1224 Capturing subpattern count = 0
1225 No options
1226 First char = 'i'
1227 Need char = 's'
1228     Mississippi
1229  0: iss
1230  0+ issippi
1231  0: iss
1232  0+ ippi
1234 /\Biss\B/IG+
1235 Capturing subpattern count = 0
1236 No options
1237 First char = 'i'
1238 Need char = 's'
1239 Max lookbehind = 1
1240     Mississippi
1241  0: iss
1242  0+ issippi
1244 /\Biss\B/Ig+
1245 Capturing subpattern count = 0
1246 No options
1247 First char = 'i'
1248 Need char = 's'
1249 Max lookbehind = 1
1250     Mississippi
1251  0: iss
1252  0+ issippi
1253  0: iss
1254  0+ ippi
1255     *** Failers
1256 No match
1257     Mississippi\A
1258 No match
1260 /(?<=[Ms])iss/Ig+
1261 Capturing subpattern count = 0
1262 No options
1263 First char = 'i'
1264 Need char = 's'
1265 Max lookbehind = 1
1266     Mississippi
1267  0: iss
1268  0+ issippi
1269  0: iss
1270  0+ ippi
1272 /(?<=[Ms])iss/IG+
1273 Capturing subpattern count = 0
1274 No options
1275 First char = 'i'
1276 Need char = 's'
1277 Max lookbehind = 1
1278     Mississippi
1279  0: iss
1280  0+ issippi
1282 /^iss/Ig+
1283 Capturing subpattern count = 0
1284 Options: anchored
1285 No first char
1286 No need char
1287     ississippi
1288  0: iss
1289  0+ issippi
1291 /.*iss/Ig+
1292 Capturing subpattern count = 0
1293 No options
1294 First char at start or follows newline
1295 Need char = 's'
1296     abciss\nxyzisspqr
1297  0: abciss
1298  0+ \x0axyzisspqr
1299  0: xyziss
1300  0+ pqr
1302 /.i./I+g
1303 Capturing subpattern count = 0
1304 No options
1305 No first char
1306 Need char = 'i'
1307     Mississippi
1308  0: Mis
1309  0+ sissippi
1310  0: sis
1311  0+ sippi
1312  0: sip
1313  0+ pi
1314     Mississippi\A
1315  0: Mis
1316  0+ sissippi
1317  0: sis
1318  0+ sippi
1319  0: sip
1320  0+ pi
1321     Missouri river
1322  0: Mis
1323  0+ souri river
1324  0: ri 
1325  0+ river
1326  0: riv
1327  0+ er
1328     Missouri river\A
1329  0: Mis
1330  0+ souri river
1332 /^.is/I+g
1333 Capturing subpattern count = 0
1334 Options: anchored
1335 No first char
1336 No need char
1337     Mississippi
1338  0: Mis
1339  0+ sissippi
1341 /^ab\n/Ig+
1342 Capturing subpattern count = 0
1343 Contains explicit CR or LF match
1344 Options: anchored
1345 No first char
1346 No need char
1347     ab\nab\ncd
1348  0: ab\x0a
1349  0+ ab\x0acd
1351 /^ab\n/Img+
1352 Capturing subpattern count = 0
1353 Contains explicit CR or LF match
1354 Options: multiline
1355 First char at start or follows newline
1356 Need char = \x0a
1357     ab\nab\ncd
1358  0: ab\x0a
1359  0+ ab\x0acd
1360  0: ab\x0a
1361  0+ cd
1363 /abc/I
1364 Capturing subpattern count = 0
1365 No options
1366 First char = 'a'
1367 Need char = 'c'
1369 /abc|bac/I
1370 Capturing subpattern count = 0
1371 No options
1372 No first char
1373 Need char = 'c'
1375 /(abc|bac)/I
1376 Capturing subpattern count = 1
1377 No options
1378 No first char
1379 Need char = 'c'
1381 /(abc|(c|dc))/I
1382 Capturing subpattern count = 2
1383 No options
1384 No first char
1385 Need char = 'c'
1387 /(abc|(d|de)c)/I
1388 Capturing subpattern count = 2
1389 No options
1390 No first char
1391 Need char = 'c'
1393 /a*/I
1394 Capturing subpattern count = 0
1395 No options
1396 No first char
1397 No need char
1399 /a+/I
1400 Capturing subpattern count = 0
1401 No options
1402 First char = 'a'
1403 No need char
1405 /(baa|a+)/I
1406 Capturing subpattern count = 1
1407 No options
1408 No first char
1409 Need char = 'a'
1411 /a{0,3}/I
1412 Capturing subpattern count = 0
1413 No options
1414 No first char
1415 No need char
1417 /baa{3,}/I
1418 Capturing subpattern count = 0
1419 No options
1420 First char = 'b'
1421 Need char = 'a'
1423 /"([^\\"]+|\\.)*"/I
1424 Capturing subpattern count = 1
1425 No options
1426 First char = '"'
1427 Need char = '"'
1429 /(abc|ab[cd])/I
1430 Capturing subpattern count = 1
1431 No options
1432 First char = 'a'
1433 No need char
1435 /(a|.)/I
1436 Capturing subpattern count = 1
1437 No options
1438 No first char
1439 No need char
1441 /a|ba|\w/I
1442 Capturing subpattern count = 0
1443 No options
1444 No first char
1445 No need char
1447 /abc(?=pqr)/I
1448 Capturing subpattern count = 0
1449 No options
1450 First char = 'a'
1451 Need char = 'r'
1453 /...(?<=abc)/I
1454 Capturing subpattern count = 0
1455 No options
1456 No first char
1457 No need char
1458 Max lookbehind = 3
1460 /abc(?!pqr)/I
1461 Capturing subpattern count = 0
1462 No options
1463 First char = 'a'
1464 Need char = 'c'
1466 /ab./I
1467 Capturing subpattern count = 0
1468 No options
1469 First char = 'a'
1470 Need char = 'b'
1472 /ab[xyz]/I
1473 Capturing subpattern count = 0
1474 No options
1475 First char = 'a'
1476 Need char = 'b'
1478 /abc*/I
1479 Capturing subpattern count = 0
1480 No options
1481 First char = 'a'
1482 Need char = 'b'
1484 /ab.c*/I
1485 Capturing subpattern count = 0
1486 No options
1487 First char = 'a'
1488 Need char = 'b'
1490 /a.c*/I
1491 Capturing subpattern count = 0
1492 No options
1493 First char = 'a'
1494 No need char
1496 /.c*/I
1497 Capturing subpattern count = 0
1498 No options
1499 No first char
1500 No need char
1502 /ac*/I
1503 Capturing subpattern count = 0
1504 No options
1505 First char = 'a'
1506 No need char
1508 /(a.c*|b.c*)/I
1509 Capturing subpattern count = 1
1510 No options
1511 No first char
1512 No need char
1514 /a.c*|aba/I
1515 Capturing subpattern count = 0
1516 No options
1517 First char = 'a'
1518 No need char
1520 /.+a/I
1521 Capturing subpattern count = 0
1522 No options
1523 No first char
1524 Need char = 'a'
1526 /(?=abcda)a.*/I
1527 Capturing subpattern count = 0
1528 No options
1529 First char = 'a'
1530 Need char = 'a'
1532 /(?=a)a.*/I
1533 Capturing subpattern count = 0
1534 No options
1535 First char = 'a'
1536 No need char
1538 /a(b)*/I
1539 Capturing subpattern count = 1
1540 No options
1541 First char = 'a'
1542 No need char
1544 /a\d*/I
1545 Capturing subpattern count = 0
1546 No options
1547 First char = 'a'
1548 No need char
1550 /ab\d*/I
1551 Capturing subpattern count = 0
1552 No options
1553 First char = 'a'
1554 Need char = 'b'
1556 /a(\d)*/I
1557 Capturing subpattern count = 1
1558 No options
1559 First char = 'a'
1560 No need char
1562 /abcde{0,0}/I
1563 Capturing subpattern count = 0
1564 No options
1565 First char = 'a'
1566 Need char = 'd'
1568 /ab\d+/I
1569 Capturing subpattern count = 0
1570 No options
1571 First char = 'a'
1572 Need char = 'b'
1574 /a(?(1)b)(.)/I
1575 Capturing subpattern count = 1
1576 No options
1577 First char = 'a'
1578 No need char
1580 /a(?(1)bag|big)(.)/I
1581 Capturing subpattern count = 1
1582 No options
1583 First char = 'a'
1584 Need char = 'g'
1586 /a(?(1)bag|big)*(.)/I
1587 Capturing subpattern count = 1
1588 No options
1589 First char = 'a'
1590 No need char
1592 /a(?(1)bag|big)+(.)/I
1593 Capturing subpattern count = 1
1594 No options
1595 First char = 'a'
1596 Need char = 'g'
1598 /a(?(1)b..|b..)(.)/I
1599 Capturing subpattern count = 1
1600 No options
1601 First char = 'a'
1602 Need char = 'b'
1604 /ab\d{0}e/I
1605 Capturing subpattern count = 0
1606 No options
1607 First char = 'a'
1608 Need char = 'e'
1610 /a?b?/I
1611 Capturing subpattern count = 0
1612 No options
1613 No first char
1614 No need char
1615     a
1616  0: a
1617     b
1618  0: b
1619     ab
1620  0: ab
1621     \
1622  0: 
1623     *** Failers
1624  0: 
1625     \N
1626 No match
1628 /|-/I
1629 Capturing subpattern count = 0
1630 No options
1631 No first char
1632 No need char
1633     abcd
1634  0: 
1635     -abc
1636  0: 
1637     \Nab-c
1638  0: -
1639     *** Failers
1640  0: 
1641     \Nabc
1642 No match
1644 /^.?abcd/IS
1645 Capturing subpattern count = 0
1646 Options: anchored
1647 No first char
1648 Need char = 'd'
1649 Subject length lower bound = 4
1650 No set of starting bytes
1652 /\(             # ( at start
1653   (?:           # Non-capturing bracket
1654   (?>[^()]+)    # Either a sequence of non-brackets (no backtracking)
1655   |             # Or
1656   (?R)          # Recurse - i.e. nested bracketed string
1657   )*            # Zero or more contents
1658   \)            # Closing )
1659   /Ix
1660 Capturing subpattern count = 0
1661 Options: extended
1662 First char = '('
1663 Need char = ')'
1664     (abcd)
1665  0: (abcd)
1666     (abcd)xyz
1667  0: (abcd)
1668     xyz(abcd)
1669  0: (abcd)
1670     (ab(xy)cd)pqr
1671  0: (ab(xy)cd)
1672     (ab(xycd)pqr
1673  0: (xycd)
1674     () abc ()
1675  0: ()
1676     12(abcde(fsh)xyz(foo(bar))lmno)89
1677  0: (abcde(fsh)xyz(foo(bar))lmno)
1678     *** Failers
1679 No match
1680     abcd
1681 No match
1682     abcd)
1683 No match
1684     (abcd
1685 No match
1687 /\(  ( (?>[^()]+) | (?R) )* \) /Ixg
1688 Capturing subpattern count = 1
1689 Options: extended
1690 First char = '('
1691 Need char = ')'
1692     (ab(xy)cd)pqr
1693  0: (ab(xy)cd)
1694  1: cd
1695     1(abcd)(x(y)z)pqr
1696  0: (abcd)
1697  1: abcd
1698  0: (x(y)z)
1699  1: z
1701 /\(  (?: (?>[^()]+) | (?R) ) \) /Ix
1702 Capturing subpattern count = 0
1703 Options: extended
1704 First char = '('
1705 Need char = ')'
1706     (abcd)
1707  0: (abcd)
1708     (ab(xy)cd)
1709  0: (xy)
1710     (a(b(c)d)e)
1711  0: (c)
1712     ((ab))
1713  0: ((ab))
1714     *** Failers
1715 No match
1716     ()
1717 No match
1719 /\(  (?: (?>[^()]+) | (?R) )? \) /Ix
1720 Capturing subpattern count = 0
1721 Options: extended
1722 First char = '('
1723 Need char = ')'
1724     ()
1725  0: ()
1726     12(abcde(fsh)xyz(foo(bar))lmno)89
1727  0: (fsh)
1729 /\(  ( (?>[^()]+) | (?R) )* \) /Ix
1730 Capturing subpattern count = 1
1731 Options: extended
1732 First char = '('
1733 Need char = ')'
1734     (ab(xy)cd)
1735  0: (ab(xy)cd)
1736  1: cd
1738 /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix
1739 Capturing subpattern count = 2
1740 Options: extended
1741 First char = '('
1742 Need char = ')'
1743     (ab(xy)cd)
1744  0: (ab(xy)cd)
1745  1: ab(xy)cd
1746  2: cd
1748 /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix
1749 Capturing subpattern count = 3
1750 Options: extended
1751 First char = '('
1752 Need char = ')'
1753     (ab(xy)cd)
1754  0: (ab(xy)cd)
1755  1: <unset>
1756  2: ab(xy)cd
1757  3: cd
1758     (123ab(xy)cd)
1759  0: (123ab(xy)cd)
1760  1: 123
1761  2: ab(xy)cd
1762  3: cd
1764 /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix
1765 Capturing subpattern count = 3
1766 Options: extended
1767 First char = '('
1768 Need char = ')'
1769     (ab(xy)cd)
1770  0: (ab(xy)cd)
1771  1: ab(xy)cd
1772  2: <unset>
1773  3: cd
1774     (123ab(xy)cd)
1775  0: (123ab(xy)cd)
1776  1: 123ab(xy)cd
1777  2: 123
1778  3: cd
1780 /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix
1781 Capturing subpattern count = 11
1782 Options: extended
1783 First char = '('
1784 Need char = ')'
1785     (ab(xy)cd)
1786  0: (ab(xy)cd)
1787  1: ab(xy)cd
1788  2: ab(xy)cd
1789  3: ab(xy)cd
1790  4: ab(xy)cd
1791  5: ab(xy)cd
1792  6: ab(xy)cd
1793  7: ab(xy)cd
1794  8: ab(xy)cd
1795  9: ab(xy)cd
1796 10: ab(xy)cd
1797 11: cd
1799 /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix
1800 Capturing subpattern count = 3
1801 Options: extended
1802 First char = '('
1803 Need char = ')'
1804     (abcd(xyz<p>qrs)123)
1805  0: (abcd(xyz<p>qrs)123)
1806  1: abcd(xyz<p>qrs)123
1807  2: 123
1809 /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix
1810 Capturing subpattern count = 3
1811 Options: extended
1812 First char = '('
1813 Need char = ')'
1814     (ab(cd)ef)
1815  0: (ab(cd)ef)
1816  1: ab(cd)ef
1817  2: ef
1818  3: (cd)
1819     (ab(cd(ef)gh)ij)
1820  0: (ab(cd(ef)gh)ij)
1821  1: ab(cd(ef)gh)ij
1822  2: ij
1823  3: (cd(ef)gh)
1825 /^[[:alnum:]]/DZ
1826 ------------------------------------------------------------------
1827         Bra
1828         ^
1829         [0-9A-Za-z]
1830         Ket
1831         End
1832 ------------------------------------------------------------------
1833 Capturing subpattern count = 0
1834 Options: anchored
1835 No first char
1836 No need char
1838 /^[[:^alnum:]]/DZ
1839 ------------------------------------------------------------------
1840         Bra
1841         ^
1842         [\x00-/:-@[-`{-\xff] (neg)
1843         Ket
1844         End
1845 ------------------------------------------------------------------
1846 Capturing subpattern count = 0
1847 Options: anchored
1848 No first char
1849 No need char
1851 /^[[:alpha:]]/DZ
1852 ------------------------------------------------------------------
1853         Bra
1854         ^
1855         [A-Za-z]
1856         Ket
1857         End
1858 ------------------------------------------------------------------
1859 Capturing subpattern count = 0
1860 Options: anchored
1861 No first char
1862 No need char
1864 /^[[:^alpha:]]/DZ
1865 ------------------------------------------------------------------
1866         Bra
1867         ^
1868         [\x00-@[-`{-\xff] (neg)
1869         Ket
1870         End
1871 ------------------------------------------------------------------
1872 Capturing subpattern count = 0
1873 Options: anchored
1874 No first char
1875 No need char
1877 /[_[:alpha:]]/IS
1878 Capturing subpattern count = 0
1879 No options
1880 No first char
1881 No need char
1882 Subject length lower bound = 1
1883 Starting byte set: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 
1884   _ a b c d e f g h i j k l m n o p q r s t u v w x y z 
1886 /^[[:ascii:]]/DZ
1887 ------------------------------------------------------------------
1888         Bra
1889         ^
1890         [\x00-\x7f]
1891         Ket
1892         End
1893 ------------------------------------------------------------------
1894 Capturing subpattern count = 0
1895 Options: anchored
1896 No first char
1897 No need char
1899 /^[[:^ascii:]]/DZ
1900 ------------------------------------------------------------------
1901         Bra
1902         ^
1903         [\x80-\xff] (neg)
1904         Ket
1905         End
1906 ------------------------------------------------------------------
1907 Capturing subpattern count = 0
1908 Options: anchored
1909 No first char
1910 No need char
1912 /^[[:blank:]]/DZ
1913 ------------------------------------------------------------------
1914         Bra
1915         ^
1916         [\x09 ]
1917         Ket
1918         End
1919 ------------------------------------------------------------------
1920 Capturing subpattern count = 0
1921 Options: anchored
1922 No first char
1923 No need char
1925 /^[[:^blank:]]/DZ
1926 ------------------------------------------------------------------
1927         Bra
1928         ^
1929         [\x00-\x08\x0a-\x1f!-\xff] (neg)
1930         Ket
1931         End
1932 ------------------------------------------------------------------
1933 Capturing subpattern count = 0
1934 Options: anchored
1935 No first char
1936 No need char
1938 /[\n\x0b\x0c\x0d[:blank:]]/IS
1939 Capturing subpattern count = 0
1940 Contains explicit CR or LF match
1941 No options
1942 No first char
1943 No need char
1944 Subject length lower bound = 1
1945 Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20 
1947 /^[[:cntrl:]]/DZ
1948 ------------------------------------------------------------------
1949         Bra
1950         ^
1951         [\x00-\x1f\x7f]
1952         Ket
1953         End
1954 ------------------------------------------------------------------
1955 Capturing subpattern count = 0
1956 Options: anchored
1957 No first char
1958 No need char
1960 /^[[:digit:]]/DZ
1961 ------------------------------------------------------------------
1962         Bra
1963         ^
1964         [0-9]
1965         Ket
1966         End
1967 ------------------------------------------------------------------
1968 Capturing subpattern count = 0
1969 Options: anchored
1970 No first char
1971 No need char
1973 /^[[:graph:]]/DZ
1974 ------------------------------------------------------------------
1975         Bra
1976         ^
1977         [!-~]
1978         Ket
1979         End
1980 ------------------------------------------------------------------
1981 Capturing subpattern count = 0
1982 Options: anchored
1983 No first char
1984 No need char
1986 /^[[:lower:]]/DZ
1987 ------------------------------------------------------------------
1988         Bra
1989         ^
1990         [a-z]
1991         Ket
1992         End
1993 ------------------------------------------------------------------
1994 Capturing subpattern count = 0
1995 Options: anchored
1996 No first char
1997 No need char
1999 /^[[:print:]]/DZ
2000 ------------------------------------------------------------------
2001         Bra
2002         ^
2003         [ -~]
2004         Ket
2005         End
2006 ------------------------------------------------------------------
2007 Capturing subpattern count = 0
2008 Options: anchored
2009 No first char
2010 No need char
2012 /^[[:punct:]]/DZ
2013 ------------------------------------------------------------------
2014         Bra
2015         ^
2016         [!-/:-@[-`{-~]
2017         Ket
2018         End
2019 ------------------------------------------------------------------
2020 Capturing subpattern count = 0
2021 Options: anchored
2022 No first char
2023 No need char
2025 /^[[:space:]]/DZ
2026 ------------------------------------------------------------------
2027         Bra
2028         ^
2029         [\x09-\x0d ]
2030         Ket
2031         End
2032 ------------------------------------------------------------------
2033 Capturing subpattern count = 0
2034 Options: anchored
2035 No first char
2036 No need char
2038 /^[[:upper:]]/DZ
2039 ------------------------------------------------------------------
2040         Bra
2041         ^
2042         [A-Z]
2043         Ket
2044         End
2045 ------------------------------------------------------------------
2046 Capturing subpattern count = 0
2047 Options: anchored
2048 No first char
2049 No need char
2051 /^[[:xdigit:]]/DZ
2052 ------------------------------------------------------------------
2053         Bra
2054         ^
2055         [0-9A-Fa-f]
2056         Ket
2057         End
2058 ------------------------------------------------------------------
2059 Capturing subpattern count = 0
2060 Options: anchored
2061 No first char
2062 No need char
2064 /^[[:word:]]/DZ
2065 ------------------------------------------------------------------
2066         Bra
2067         ^
2068         [0-9A-Z_a-z]
2069         Ket
2070         End
2071 ------------------------------------------------------------------
2072 Capturing subpattern count = 0
2073 Options: anchored
2074 No first char
2075 No need char
2077 /^[[:^cntrl:]]/DZ
2078 ------------------------------------------------------------------
2079         Bra
2080         ^
2081         [ -~\x80-\xff] (neg)
2082         Ket
2083         End
2084 ------------------------------------------------------------------
2085 Capturing subpattern count = 0
2086 Options: anchored
2087 No first char
2088 No need char
2090 /^[12[:^digit:]]/DZ
2091 ------------------------------------------------------------------
2092         Bra
2093         ^
2094         [\x00-/12:-\xff] (neg)
2095         Ket
2096         End
2097 ------------------------------------------------------------------
2098 Capturing subpattern count = 0
2099 Options: anchored
2100 No first char
2101 No need char
2103 /^[[:^blank:]]/DZ
2104 ------------------------------------------------------------------
2105         Bra
2106         ^
2107         [\x00-\x08\x0a-\x1f!-\xff] (neg)
2108         Ket
2109         End
2110 ------------------------------------------------------------------
2111 Capturing subpattern count = 0
2112 Options: anchored
2113 No first char
2114 No need char
2116 /[01[:alpha:]%]/DZ
2117 ------------------------------------------------------------------
2118         Bra
2119         [%01A-Za-z]
2120         Ket
2121         End
2122 ------------------------------------------------------------------
2123 Capturing subpattern count = 0
2124 No options
2125 No first char
2126 No need char
2128 /[[.ch.]]/I
2129 Failed: POSIX collating elements are not supported at offset 1
2131 /[[=ch=]]/I
2132 Failed: POSIX collating elements are not supported at offset 1
2134 /[[:rhubarb:]]/I
2135 Failed: unknown POSIX class name at offset 3
2137 /[[:upper:]]/Ii
2138 Capturing subpattern count = 0
2139 Options: caseless
2140 No first char
2141 No need char
2142     A
2143  0: A
2144     a
2145  0: a
2147 /[[:lower:]]/Ii
2148 Capturing subpattern count = 0
2149 Options: caseless
2150 No first char
2151 No need char
2152     A
2153  0: A
2154     a
2155  0: a
2157 /((?-i)[[:lower:]])[[:lower:]]/Ii
2158 Capturing subpattern count = 1
2159 Options: caseless
2160 No first char
2161 No need char
2162     ab
2163  0: ab
2164  1: a
2165     aB
2166  0: aB
2167  1: a
2168     *** Failers
2169  0: ai
2170  1: a
2171     Ab
2172 No match
2173     AB
2174 No match
2176 /[\200-\110]/I
2177 Failed: range out of order in character class at offset 9
2179 /^(?(0)f|b)oo/I
2180 Failed: invalid condition (?(0) at offset 6
2182 /This one's here because of the large output vector needed/I
2183 Capturing subpattern count = 0
2184 No options
2185 First char = 'T'
2186 Need char = 'd'
2188 /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\w+)\s+(\270)/I
2189 Capturing subpattern count = 271
2190 Max back reference = 270
2191 No options
2192 No first char
2193 No need char
2194     \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
2195  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
2196  1: 1 
2197  2: 2 
2198  3: 3 
2199  4: 4 
2200  5: 5 
2201  6: 6 
2202  7: 7 
2203  8: 8 
2204  9: 9 
2205 10: 10 
2206 11: 11 
2207 12: 12 
2208 13: 13 
2209 14: 14 
2210 15: 15 
2211 16: 16 
2212 17: 17 
2213 18: 18 
2214 19: 19 
2215 20: 20 
2216 21: 21 
2217 22: 22 
2218 23: 23 
2219 24: 24 
2220 25: 25 
2221 26: 26 
2222 27: 27 
2223 28: 28 
2224 29: 29 
2225 30: 30 
2226 31: 31 
2227 32: 32 
2228 33: 33 
2229 34: 34 
2230 35: 35 
2231 36: 36 
2232 37: 37 
2233 38: 38 
2234 39: 39 
2235 40: 40 
2236 41: 41 
2237 42: 42 
2238 43: 43 
2239 44: 44 
2240 45: 45 
2241 46: 46 
2242 47: 47 
2243 48: 48 
2244 49: 49 
2245 50: 50 
2246 51: 51 
2247 52: 52 
2248 53: 53 
2249 54: 54 
2250 55: 55 
2251 56: 56 
2252 57: 57 
2253 58: 58 
2254 59: 59 
2255 60: 60 
2256 61: 61 
2257 62: 62 
2258 63: 63 
2259 64: 64 
2260 65: 65 
2261 66: 66 
2262 67: 67 
2263 68: 68 
2264 69: 69 
2265 70: 70 
2266 71: 71 
2267 72: 72 
2268 73: 73 
2269 74: 74 
2270 75: 75 
2271 76: 76 
2272 77: 77 
2273 78: 78 
2274 79: 79 
2275 80: 80 
2276 81: 81 
2277 82: 82 
2278 83: 83 
2279 84: 84 
2280 85: 85 
2281 86: 86 
2282 87: 87 
2283 88: 88 
2284 89: 89 
2285 90: 90 
2286 91: 91 
2287 92: 92 
2288 93: 93 
2289 94: 94 
2290 95: 95 
2291 96: 96 
2292 97: 97 
2293 98: 98 
2294 99: 99 
2295 100: 100 
2296 101: 101 
2297 102: 102 
2298 103: 103 
2299 104: 104 
2300 105: 105 
2301 106: 106 
2302 107: 107 
2303 108: 108 
2304 109: 109 
2305 110: 110 
2306 111: 111 
2307 112: 112 
2308 113: 113 
2309 114: 114 
2310 115: 115 
2311 116: 116 
2312 117: 117 
2313 118: 118 
2314 119: 119 
2315 120: 120 
2316 121: 121 
2317 122: 122 
2318 123: 123 
2319 124: 124 
2320 125: 125 
2321 126: 126 
2322 127: 127 
2323 128: 128 
2324 129: 129 
2325 130: 130 
2326 131: 131 
2327 132: 132 
2328 133: 133 
2329 134: 134 
2330 135: 135 
2331 136: 136 
2332 137: 137 
2333 138: 138 
2334 139: 139 
2335 140: 140 
2336 141: 141 
2337 142: 142 
2338 143: 143 
2339 144: 144 
2340 145: 145 
2341 146: 146 
2342 147: 147 
2343 148: 148 
2344 149: 149 
2345 150: 150 
2346 151: 151 
2347 152: 152 
2348 153: 153 
2349 154: 154 
2350 155: 155 
2351 156: 156 
2352 157: 157 
2353 158: 158 
2354 159: 159 
2355 160: 160 
2356 161: 161 
2357 162: 162 
2358 163: 163 
2359 164: 164 
2360 165: 165 
2361 166: 166 
2362 167: 167 
2363 168: 168 
2364 169: 169 
2365 170: 170 
2366 171: 171 
2367 172: 172 
2368 173: 173 
2369 174: 174 
2370 175: 175 
2371 176: 176 
2372 177: 177 
2373 178: 178 
2374 179: 179 
2375 180: 180 
2376 181: 181 
2377 182: 182 
2378 183: 183 
2379 184: 184 
2380 185: 185 
2381 186: 186 
2382 187: 187 
2383 188: 188 
2384 189: 189 
2385 190: 190 
2386 191: 191 
2387 192: 192 
2388 193: 193 
2389 194: 194 
2390 195: 195 
2391 196: 196 
2392 197: 197 
2393 198: 198 
2394 199: 199 
2395 200: 200 
2396 201: 201 
2397 202: 202 
2398 203: 203 
2399 204: 204 
2400 205: 205 
2401 206: 206 
2402 207: 207 
2403 208: 208 
2404 209: 209 
2405 210: 210 
2406 211: 211 
2407 212: 212 
2408 213: 213 
2409 214: 214 
2410 215: 215 
2411 216: 216 
2412 217: 217 
2413 218: 218 
2414 219: 219 
2415 220: 220 
2416 221: 221 
2417 222: 222 
2418 223: 223 
2419 224: 224 
2420 225: 225 
2421 226: 226 
2422 227: 227 
2423 228: 228 
2424 229: 229 
2425 230: 230 
2426 231: 231 
2427 232: 232 
2428 233: 233 
2429 234: 234 
2430 235: 235 
2431 236: 236 
2432 237: 237 
2433 238: 238 
2434 239: 239 
2435 240: 240 
2436 241: 241 
2437 242: 242 
2438 243: 243 
2439 244: 244 
2440 245: 245 
2441 246: 246 
2442 247: 247 
2443 248: 248 
2444 249: 249 
2445 250: 250 
2446 251: 251 
2447 252: 252 
2448 253: 253 
2449 254: 254 
2450 255: 255 
2451 256: 256 
2452 257: 257 
2453 258: 258 
2454 259: 259 
2455 260: 260 
2456 261: 261 
2457 262: 262 
2458 263: 263 
2459 264: 264 
2460 265: 265 
2461 266: 266 
2462 267: 267 
2463 268: 268 
2464 269: 269 
2465 270: ABC
2466 271: ABC
2468 /This one's here because Perl does this differently and PCRE can't at present/I
2469 Capturing subpattern count = 0
2470 No options
2471 First char = 'T'
2472 Need char = 't'
2474 /(main(O)?)+/I
2475 Capturing subpattern count = 2
2476 No options
2477 First char = 'm'
2478 Need char = 'n'
2479     mainmain
2480  0: mainmain
2481  1: main
2482     mainOmain
2483  0: mainOmain
2484  1: main
2485  2: O
2487 /These are all cases where Perl does it differently (nested captures)/I
2488 Capturing subpattern count = 1
2489 No options
2490 First char = 'T'
2491 Need char = 's'
2493 /^(a(b)?)+$/I
2494 Capturing subpattern count = 2
2495 Options: anchored
2496 No first char
2497 No need char
2498     aba
2499  0: aba
2500  1: a
2501  2: b
2503 /^(aa(bb)?)+$/I
2504 Capturing subpattern count = 2
2505 Options: anchored
2506 No first char
2507 No need char
2508     aabbaa
2509  0: aabbaa
2510  1: aa
2511  2: bb
2513 /^(aa|aa(bb))+$/I
2514 Capturing subpattern count = 2
2515 Options: anchored
2516 No first char
2517 No need char
2518     aabbaa
2519  0: aabbaa
2520  1: aa
2521  2: bb
2523 /^(aa(bb)??)+$/I
2524 Capturing subpattern count = 2
2525 Options: anchored
2526 No first char
2527 No need char
2528     aabbaa
2529  0: aabbaa
2530  1: aa
2531  2: bb
2533 /^(?:aa(bb)?)+$/I
2534 Capturing subpattern count = 1
2535 Options: anchored
2536 No first char
2537 No need char
2538     aabbaa
2539  0: aabbaa
2540  1: bb
2542 /^(aa(b(b))?)+$/I
2543 Capturing subpattern count = 3
2544 Options: anchored
2545 No first char
2546 No need char
2547     aabbaa
2548  0: aabbaa
2549  1: aa
2550  2: bb
2551  3: b
2553 /^(?:aa(b(b))?)+$/I
2554 Capturing subpattern count = 2
2555 Options: anchored
2556 No first char
2557 No need char
2558     aabbaa
2559  0: aabbaa
2560  1: bb
2561  2: b
2563 /^(?:aa(b(?:b))?)+$/I
2564 Capturing subpattern count = 1
2565 Options: anchored
2566 No first char
2567 No need char
2568     aabbaa
2569  0: aabbaa
2570  1: bb
2572 /^(?:aa(bb(?:b))?)+$/I
2573 Capturing subpattern count = 1
2574 Options: anchored
2575 No first char
2576 No need char
2577     aabbbaa
2578  0: aabbbaa
2579  1: bbb
2581 /^(?:aa(b(?:bb))?)+$/I
2582 Capturing subpattern count = 1
2583 Options: anchored
2584 No first char
2585 No need char
2586     aabbbaa
2587  0: aabbbaa
2588  1: bbb
2590 /^(?:aa(?:b(b))?)+$/I
2591 Capturing subpattern count = 1
2592 Options: anchored
2593 No first char
2594 No need char
2595     aabbaa
2596  0: aabbaa
2597  1: b
2599 /^(?:aa(?:b(bb))?)+$/I
2600 Capturing subpattern count = 1
2601 Options: anchored
2602 No first char
2603 No need char
2604     aabbbaa
2605  0: aabbbaa
2606  1: bb
2608 /^(aa(b(bb))?)+$/I
2609 Capturing subpattern count = 3
2610 Options: anchored
2611 No first char
2612 No need char
2613     aabbbaa
2614  0: aabbbaa
2615  1: aa
2616  2: bbb
2617  3: bb
2619 /^(aa(bb(bb))?)+$/I
2620 Capturing subpattern count = 3
2621 Options: anchored
2622 No first char
2623 No need char
2624     aabbbbaa
2625  0: aabbbbaa
2626  1: aa
2627  2: bbbb
2628  3: bb
2630 /--------------------------------------------------------------------/I
2631 Capturing subpattern count = 0
2632 No options
2633 First char = '-'
2634 Need char = '-'
2636 /#/IxDZ
2637 ------------------------------------------------------------------
2638         Bra
2639         Ket
2640         End
2641 ------------------------------------------------------------------
2642 Capturing subpattern count = 0
2643 Options: extended
2644 No first char
2645 No need char
2647 /a#/IxDZ
2648 ------------------------------------------------------------------
2649         Bra
2650         a
2651         Ket
2652         End
2653 ------------------------------------------------------------------
2654 Capturing subpattern count = 0
2655 Options: extended
2656 First char = 'a'
2657 No need char
2659 /[\s]/DZ
2660 ------------------------------------------------------------------
2661         Bra
2662         [\x09\x0a\x0c\x0d ]
2663         Ket
2664         End
2665 ------------------------------------------------------------------
2666 Capturing subpattern count = 0
2667 No options
2668 No first char
2669 No need char
2671 /[\S]/DZ
2672 ------------------------------------------------------------------
2673         Bra
2674         [\x00-\x08\x0b\x0e-\x1f!-\xff] (neg)
2675         Ket
2676         End
2677 ------------------------------------------------------------------
2678 Capturing subpattern count = 0
2679 No options
2680 No first char
2681 No need char
2683 /a(?i)b/DZ
2684 ------------------------------------------------------------------
2685         Bra
2686         a
2687      /i b
2688         Ket
2689         End
2690 ------------------------------------------------------------------
2691 Capturing subpattern count = 0
2692 No options
2693 First char = 'a'
2694 Need char = 'b' (caseless)
2695     ab
2696  0: ab
2697     aB
2698  0: aB
2699     *** Failers
2700 No match
2701     AB
2702 No match
2704 /(a(?i)b)/DZ
2705 ------------------------------------------------------------------
2706         Bra
2707         CBra 1
2708         a
2709      /i b
2710         Ket
2711         Ket
2712         End
2713 ------------------------------------------------------------------
2714 Capturing subpattern count = 1
2715 No options
2716 First char = 'a'
2717 Need char = 'b' (caseless)
2718     ab
2719  0: ab
2720  1: ab
2721     aB
2722  0: aB
2723  1: aB
2724     *** Failers
2725 No match
2726     AB
2727 No match
2729 /   (?i)abc/IxDZ
2730 ------------------------------------------------------------------
2731         Bra
2732      /i abc
2733         Ket
2734         End
2735 ------------------------------------------------------------------
2736 Capturing subpattern count = 0
2737 Options: caseless extended
2738 First char = 'a' (caseless)
2739 Need char = 'c' (caseless)
2741 /#this is a comment
2742   (?i)abc/IxDZ
2743 ------------------------------------------------------------------
2744         Bra
2745      /i abc
2746         Ket
2747         End
2748 ------------------------------------------------------------------
2749 Capturing subpattern count = 0
2750 Options: caseless extended
2751 First char = 'a' (caseless)
2752 Need char = 'c' (caseless)
2754 /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
2755 ------------------------------------------------------------------
2756         Bra
2757         123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
2758         Ket
2759         End
2760 ------------------------------------------------------------------
2761 Capturing subpattern count = 0
2762 No options
2763 First char = '1'
2764 Need char = '0'
2766 /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
2767 ------------------------------------------------------------------
2768         Bra
2769         123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
2770         Ket
2771         End
2772 ------------------------------------------------------------------
2773 Capturing subpattern count = 0
2774 No options
2775 First char = '1'
2776 Need char = '0'
2778 /\Q\E/DZ
2779 ------------------------------------------------------------------
2780         Bra
2781         Ket
2782         End
2783 ------------------------------------------------------------------
2784 Capturing subpattern count = 0
2785 No options
2786 No first char
2787 No need char
2788     \
2789  0: 
2791 /\Q\Ex/DZ
2792 ------------------------------------------------------------------
2793         Bra
2794         x
2795         Ket
2796         End
2797 ------------------------------------------------------------------
2798 Capturing subpattern count = 0
2799 No options
2800 First char = 'x'
2801 No need char
2803 / \Q\E/DZ
2804 ------------------------------------------------------------------
2805         Bra
2806          
2807         Ket
2808         End
2809 ------------------------------------------------------------------
2810 Capturing subpattern count = 0
2811 No options
2812 First char = ' '
2813 No need char
2815 /a\Q\E/DZ
2816 ------------------------------------------------------------------
2817         Bra
2818         a
2819         Ket
2820         End
2821 ------------------------------------------------------------------
2822 Capturing subpattern count = 0
2823 No options
2824 First char = 'a'
2825 No need char
2826   abc
2827  0: a
2828   bca
2829  0: a
2830   bac
2831  0: a
2833 /a\Q\Eb/DZ
2834 ------------------------------------------------------------------
2835         Bra
2836         ab
2837         Ket
2838         End
2839 ------------------------------------------------------------------
2840 Capturing subpattern count = 0
2841 No options
2842 First char = 'a'
2843 Need char = 'b'
2844   abc
2845  0: ab
2847 /\Q\Eabc/DZ
2848 ------------------------------------------------------------------
2849         Bra
2850         abc
2851         Ket
2852         End
2853 ------------------------------------------------------------------
2854 Capturing subpattern count = 0
2855 No options
2856 First char = 'a'
2857 Need char = 'c'
2859 /x*+\w/DZ
2860 ------------------------------------------------------------------
2861         Bra
2862         x*+
2863         \w
2864         Ket
2865         End
2866 ------------------------------------------------------------------
2867 Capturing subpattern count = 0
2868 No options
2869 No first char
2870 No need char
2871     *** Failers
2872  0: F
2873     xxxxx
2874 No match
2876 /x?+/DZ
2877 ------------------------------------------------------------------
2878         Bra
2879         x?+
2880         Ket
2881         End
2882 ------------------------------------------------------------------
2883 Capturing subpattern count = 0
2884 No options
2885 No first char
2886 No need char
2888 /x++/DZ
2889 ------------------------------------------------------------------
2890         Bra
2891         x++
2892         Ket
2893         End
2894 ------------------------------------------------------------------
2895 Capturing subpattern count = 0
2896 No options
2897 First char = 'x'
2898 No need char
2900 /x{1,3}+/DZ
2901 ------------------------------------------------------------------
2902         Bra
2903         Once
2904         x
2905         x{0,2}
2906         Ket
2907         Ket
2908         End
2909 ------------------------------------------------------------------
2910 Capturing subpattern count = 0
2911 No options
2912 First char = 'x'
2913 No need char
2915 /(x)*+/DZ
2916 ------------------------------------------------------------------
2917         Bra
2918         Braposzero
2919         CBraPos 1
2920         x
2921         KetRpos
2922         Ket
2923         End
2924 ------------------------------------------------------------------
2925 Capturing subpattern count = 1
2926 No options
2927 No first char
2928 No need char
2930 /^(\w++|\s++)*$/I
2931 Capturing subpattern count = 1
2932 Options: anchored
2933 No first char
2934 No need char
2935     now is the time for all good men to come to the aid of the party
2936  0: now is the time for all good men to come to the aid of the party
2937  1: party
2938     *** Failers
2939 No match
2940     this is not a line with only words and spaces!
2941 No match
2943 /(\d++)(\w)/I
2944 Capturing subpattern count = 2
2945 No options
2946 No first char
2947 No need char
2948     12345a
2949  0: 12345a
2950  1: 12345
2951  2: a
2952     *** Failers
2953 No match
2954     12345+
2955 No match
2957 /a++b/I
2958 Capturing subpattern count = 0
2959 No options
2960 First char = 'a'
2961 Need char = 'b'
2962     aaab
2963  0: aaab
2965 /(a++b)/I
2966 Capturing subpattern count = 1
2967 No options
2968 First char = 'a'
2969 Need char = 'b'
2970     aaab
2971  0: aaab
2972  1: aaab
2974 /(a++)b/I
2975 Capturing subpattern count = 1
2976 No options
2977 First char = 'a'
2978 Need char = 'b'
2979     aaab
2980  0: aaab
2981  1: aaa
2983 /([^()]++|\([^()]*\))+/I
2984 Capturing subpattern count = 1
2985 No options
2986 No first char
2987 No need char
2988     ((abc(ade)ufh()()x
2989  0: abc(ade)ufh()()x
2990  1: x
2992 /\(([^()]++|\([^()]+\))+\)/I
2993 Capturing subpattern count = 1
2994 No options
2995 First char = '('
2996 Need char = ')'
2997     (abc)
2998  0: (abc)
2999  1: abc
3000     (abc(def)xyz)
3001  0: (abc(def)xyz)
3002  1: xyz
3003     *** Failers
3004 No match
3005     ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
3006 No match
3008 /(abc){1,3}+/DZ
3009 ------------------------------------------------------------------
3010         Bra
3011         Once
3012         CBra 1
3013         abc
3014         Ket
3015         Brazero
3016         Bra
3017         CBra 1
3018         abc
3019         Ket
3020         Brazero
3021         CBra 1
3022         abc
3023         Ket
3024         Ket
3025         Ket
3026         Ket
3027         End
3028 ------------------------------------------------------------------
3029 Capturing subpattern count = 1
3030 No options
3031 First char = 'a'
3032 Need char = 'c'
3034 /a+?+/I
3035 Failed: nothing to repeat at offset 3
3037 /a{2,3}?+b/I
3038 Failed: nothing to repeat at offset 7
3040 /(?U)a+?+/I
3041 Failed: nothing to repeat at offset 7
3043 /a{2,3}?+b/IU
3044 Failed: nothing to repeat at offset 7
3046 /x(?U)a++b/DZ
3047 ------------------------------------------------------------------
3048         Bra
3049         x
3050         a++
3051         b
3052         Ket
3053         End
3054 ------------------------------------------------------------------
3055 Capturing subpattern count = 0
3056 No options
3057 First char = 'x'
3058 Need char = 'b'
3059     xaaaab
3060  0: xaaaab
3062 /(?U)xa++b/DZ
3063 ------------------------------------------------------------------
3064         Bra
3065         x
3066         a++
3067         b
3068         Ket
3069         End
3070 ------------------------------------------------------------------
3071 Capturing subpattern count = 0
3072 Options: ungreedy
3073 First char = 'x'
3074 Need char = 'b'
3075     xaaaab
3076  0: xaaaab
3078 /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/DZ
3079 ------------------------------------------------------------------
3080         Bra
3081         ^
3082         CBra 1
3083         CBra 2
3084         a+
3085         Ket
3086         CBra 3
3087         [ab]+?
3088         Ket
3089         CBra 4
3090         [bc]+
3091         Ket
3092         CBra 5
3093         \w*
3094         Ket
3095         Ket
3096         Ket
3097         End
3098 ------------------------------------------------------------------
3099 Capturing subpattern count = 5
3100 Options: anchored
3101 No first char
3102 No need char
3104 /^x(?U)a+b/DZ
3105 ------------------------------------------------------------------
3106         Bra
3107         ^
3108         x
3109         a++
3110         b
3111         Ket
3112         End
3113 ------------------------------------------------------------------
3114 Capturing subpattern count = 0
3115 Options: anchored
3116 No first char
3117 Need char = 'b'
3119 /^x(?U)(a+)b/DZ
3120 ------------------------------------------------------------------
3121         Bra
3122         ^
3123         x
3124         CBra 1
3125         a+?
3126         Ket
3127         b
3128         Ket
3129         End
3130 ------------------------------------------------------------------
3131 Capturing subpattern count = 1
3132 Options: anchored
3133 No first char
3134 Need char = 'b'
3136 /[.x.]/I
3137 Failed: POSIX collating elements are not supported at offset 0
3139 /[=x=]/I
3140 Failed: POSIX collating elements are not supported at offset 0
3142 /[:x:]/I
3143 Failed: POSIX named classes are supported only within a class at offset 0
3145 /\l/I
3146 Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
3148 /\L/I
3149 Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
3151 /\N{name}/I
3152 Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
3154 /\u/I
3155 Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
3157 /\U/I
3158 Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
3160 /[/I
3161 Failed: missing terminating ] for character class at offset 1
3163 /[a-/I
3164 Failed: missing terminating ] for character class at offset 3
3166 /[[:space:]/I
3167 Failed: missing terminating ] for character class at offset 10
3169 /[\s]/IDZ
3170 ------------------------------------------------------------------
3171         Bra
3172         [\x09\x0a\x0c\x0d ]
3173         Ket
3174         End
3175 ------------------------------------------------------------------
3176 Capturing subpattern count = 0
3177 No options
3178 No first char
3179 No need char
3181 /[[:space:]]/IDZ
3182 ------------------------------------------------------------------
3183         Bra
3184         [\x09-\x0d ]
3185         Ket
3186         End
3187 ------------------------------------------------------------------
3188 Capturing subpattern count = 0
3189 No options
3190 No first char
3191 No need char
3193 /[[:space:]abcde]/IDZ
3194 ------------------------------------------------------------------
3195         Bra
3196         [\x09-\x0d a-e]
3197         Ket
3198         End
3199 ------------------------------------------------------------------
3200 Capturing subpattern count = 0
3201 No options
3202 No first char
3203 No need char
3205 /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/Ix
3206 Capturing subpattern count = 0
3207 Options: extended
3208 First char = '<'
3209 Need char = '>'
3210     <>
3211  0: <>
3212     <abcd>
3213  0: <abcd>
3214     <abc <123> hij>
3215  0: <abc <123> hij>
3216     <abc <def> hij>
3217  0: <def>
3218     <abc<>def>
3219  0: <abc<>def>
3220     <abc<>
3221  0: <>
3222     *** Failers
3223 No match
3224     <abc
3225 No match
3227 |8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|IDZ
3228 ------------------------------------------------------------------
3229         Bra
3230         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
3231         \b
3232         Ket
3233         End
3234 ------------------------------------------------------------------
3235 Capturing subpattern count = 0
3236 No options
3237 First char = '8'
3238 Need char = 'X'
3239 Max lookbehind = 1
3241 |\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|IDZ
3242 ------------------------------------------------------------------
3243         Bra
3244         $<.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
3245         \b
3246         Ket
3247         End
3248 ------------------------------------------------------------------
3249 Capturing subpattern count = 0
3250 No options
3251 First char = '$'
3252 Need char = 'X'
3253 Max lookbehind = 1
3255 /(.*)\d+\1/I
3256 Capturing subpattern count = 1
3257 Max back reference = 1
3258 No options
3259 No first char
3260 No need char
3262 /(.*)\d+/I
3263 Capturing subpattern count = 1
3264 No options
3265 First char at start or follows newline
3266 No need char
3268 /(.*)\d+\1/Is
3269 Capturing subpattern count = 1
3270 Max back reference = 1
3271 Options: dotall
3272 No first char
3273 No need char
3275 /(.*)\d+/Is
3276 Capturing subpattern count = 1
3277 Options: anchored dotall
3278 No first char
3279 No need char
3281 /(.*(xyz))\d+\2/I
3282 Capturing subpattern count = 2
3283 Max back reference = 2
3284 No options
3285 First char at start or follows newline
3286 Need char = 'z'
3288 /((.*))\d+\1/I
3289 Capturing subpattern count = 2
3290 Max back reference = 1
3291 No options
3292 No first char
3293 No need char
3294     abc123bc
3295  0: bc123bc
3296  1: bc
3297  2: bc
3299 /a[b]/I
3300 Capturing subpattern count = 0
3301 No options
3302 First char = 'a'
3303 Need char = 'b'
3305 /(?=a).*/I
3306 Capturing subpattern count = 0
3307 No options
3308 First char = 'a'
3309 No need char
3311 /(?=abc).xyz/IiI
3312 Capturing subpattern count = 0
3313 Options: caseless
3314 First char = 'a' (caseless)
3315 Need char = 'z' (caseless)
3317 /(?=abc)(?i).xyz/I
3318 Capturing subpattern count = 0
3319 No options
3320 First char = 'a'
3321 Need char = 'z' (caseless)
3323 /(?=a)(?=b)/I
3324 Capturing subpattern count = 0
3325 No options
3326 First char = 'a'
3327 No need char
3329 /(?=.)a/I
3330 Capturing subpattern count = 0
3331 No options
3332 First char = 'a'
3333 No need char
3335 /((?=abcda)a)/I
3336 Capturing subpattern count = 1
3337 No options
3338 First char = 'a'
3339 Need char = 'a'
3341 /((?=abcda)ab)/I
3342 Capturing subpattern count = 1
3343 No options
3344 First char = 'a'
3345 Need char = 'b'
3347 /()a/I
3348 Capturing subpattern count = 1
3349 No options
3350 No first char
3351 Need char = 'a'
3353 /(?(1)ab|ac)(.)/I
3354 Capturing subpattern count = 1
3355 No options
3356 First char = 'a'
3357 No need char
3359 /(?(1)abz|acz)(.)/I
3360 Capturing subpattern count = 1
3361 No options
3362 First char = 'a'
3363 Need char = 'z'
3365 /(?(1)abz)(.)/I
3366 Capturing subpattern count = 1
3367 No options
3368 No first char
3369 No need char
3371 /(?(1)abz)(1)23/I
3372 Capturing subpattern count = 1
3373 No options
3374 No first char
3375 Need char = '3'
3377 /(a)+/I
3378 Capturing subpattern count = 1
3379 No options
3380 First char = 'a'
3381 No need char
3383 /(a){2,3}/I
3384 Capturing subpattern count = 1
3385 No options
3386 First char = 'a'
3387 Need char = 'a'
3389 /(a)*/I
3390 Capturing subpattern count = 1
3391 No options
3392 No first char
3393 No need char
3395 /[a]/I
3396 Capturing subpattern count = 0
3397 No options
3398 First char = 'a'
3399 No need char
3401 /[ab]/I
3402 Capturing subpattern count = 0
3403 No options
3404 No first char
3405 No need char
3407 /[ab]/IS
3408 Capturing subpattern count = 0
3409 No options
3410 No first char
3411 No need char
3412 Subject length lower bound = 1
3413 Starting byte set: a b 
3415 /[^a]/I
3416 Capturing subpattern count = 0
3417 No options
3418 No first char
3419 No need char
3421 /\d456/I
3422 Capturing subpattern count = 0
3423 No options
3424 No first char
3425 Need char = '6'
3427 /\d456/IS
3428 Capturing subpattern count = 0
3429 No options
3430 No first char
3431 Need char = '6'
3432 Subject length lower bound = 4
3433 Starting byte set: 0 1 2 3 4 5 6 7 8 9 
3435 /a^b/I
3436 Capturing subpattern count = 0
3437 No options
3438 First char = 'a'
3439 Need char = 'b'
3441 /^a/Im
3442 Capturing subpattern count = 0
3443 Options: multiline
3444 First char at start or follows newline
3445 Need char = 'a'
3446   abcde
3447  0: a
3448   xy\nabc
3449  0: a
3450   *** Failers
3451 No match
3452   xyabc
3453 No match
3455 /c|abc/I
3456 Capturing subpattern count = 0
3457 No options
3458 No first char
3459 Need char = 'c'
3461 /(?i)[ab]/IS
3462 Capturing subpattern count = 0
3463 Options: caseless
3464 No first char
3465 No need char
3466 Subject length lower bound = 1
3467 Starting byte set: A B a b 
3469 /[ab](?i)cd/IS
3470 Capturing subpattern count = 0
3471 No options
3472 No first char
3473 Need char = 'd' (caseless)
3474 Subject length lower bound = 3
3475 Starting byte set: a b 
3477 /abc(?C)def/I
3478 Capturing subpattern count = 0
3479 No options
3480 First char = 'a'
3481 Need char = 'f'
3482     abcdef
3483 --->abcdef
3484   0 ^  ^       d
3485  0: abcdef
3486     1234abcdef
3487 --->1234abcdef
3488   0     ^  ^       d
3489  0: abcdef
3490     *** Failers
3491 No match
3492     abcxyz
3493 No match
3494     abcxyzf
3495 --->abcxyzf
3496   0 ^  ^        d
3497 No match
3499 /abc(?C)de(?C1)f/I
3500 Capturing subpattern count = 0
3501 No options
3502 First char = 'a'
3503 Need char = 'f'
3504     123abcdef
3505 --->123abcdef
3506   0    ^  ^       d
3507   1    ^    ^     f
3508  0: abcdef
3510 /(?C1)\dabc(?C2)def/IS
3511 Capturing subpattern count = 0
3512 No options
3513 No first char
3514 Need char = 'f'
3515 Subject length lower bound = 7
3516 Starting byte set: 0 1 2 3 4 5 6 7 8 9 
3517     1234abcdef
3518 --->1234abcdef
3519   1 ^              \d
3520   1  ^             \d
3521   1   ^            \d
3522   1    ^           \d
3523   2    ^   ^       d
3524  0: 4abcdef
3525     *** Failers
3526 No match
3527     abcdef
3528 No match
3530 /(?C1)\dabc(?C2)def/ISS
3531 Capturing subpattern count = 0
3532 No options
3533 No first char
3534 Need char = 'f'
3535     1234abcdef
3536 --->1234abcdef
3537   1 ^              \d
3538   1  ^             \d
3539   1   ^            \d
3540   1    ^           \d
3541   2    ^   ^       d
3542  0: 4abcdef
3543     *** Failers
3544 No match
3545     abcdef
3546 --->abcdef
3547   1 ^          \d
3548   1  ^         \d
3549   1   ^        \d
3550   1    ^       \d
3551   1     ^      \d
3552   1      ^     \d
3553 No match
3555 /(?C255)ab/I
3556 Capturing subpattern count = 0
3557 No options
3558 First char = 'a'
3559 Need char = 'b'
3561 /(?C256)ab/I
3562 Failed: number after (?C is > 255 at offset 6
3564 /(?Cab)xx/I
3565 Failed: closing ) for (?C expected at offset 3
3567 /(?C12vr)x/I
3568 Failed: closing ) for (?C expected at offset 5
3570 /abc(?C)def/I
3571 Capturing subpattern count = 0
3572 No options
3573 First char = 'a'
3574 Need char = 'f'
3575     *** Failers
3576 No match
3577     \x83\x0\x61bcdef
3578 --->\x83\x00abcdef
3579   0         ^  ^       d
3580  0: abcdef
3582 /(abc)(?C)de(?C1)f/I
3583 Capturing subpattern count = 1
3584 No options
3585 First char = 'a'
3586 Need char = 'f'
3587     123abcdef
3588 --->123abcdef
3589   0    ^  ^       d
3590   1    ^    ^     f
3591  0: abcdef
3592  1: abc
3593     123abcdef\C+
3594 Callout 0: last capture = 1
3595  0: <unset>
3596  1: abc
3597 --->123abcdef
3598        ^  ^       d
3599 Callout 1: last capture = 1
3600  0: <unset>
3601  1: abc
3602 --->123abcdef
3603        ^    ^     f
3604  0: abcdef
3605  1: abc
3606     123abcdef\C-
3607  0: abcdef
3608  1: abc
3609     *** Failers
3610 No match
3611     123abcdef\C!1
3612 --->123abcdef
3613   0    ^  ^       d
3614   1    ^    ^     f
3615 No match
3617 /(?C0)(abc(?C1))*/I
3618 Capturing subpattern count = 1
3619 No options
3620 No first char
3621 No need char
3622     abcabcabc
3623 --->abcabcabc
3624   0 ^             (abc(?C1))*
3625   1 ^  ^          )
3626   1 ^     ^       )
3627   1 ^        ^    )
3628  0: abcabcabc
3629  1: abc
3630     abcabc\C!1!3
3631 --->abcabc
3632   0 ^          (abc(?C1))*
3633   1 ^  ^       )
3634   1 ^     ^    )
3635  0: abcabc
3636  1: abc
3637     *** Failers
3638 --->*** Failers
3639   0 ^               (abc(?C1))*
3640  0: 
3641     abcabcabc\C!1!3
3642 --->abcabcabc
3643   0 ^             (abc(?C1))*
3644   1 ^  ^          )
3645   1 ^     ^       )
3646   1 ^        ^    )
3647  0: abcabc
3648  1: abc
3650 /(\d{3}(?C))*/I
3651 Capturing subpattern count = 1
3652 No options
3653 No first char
3654 No need char
3655     123\C+
3656 Callout 0: last capture = -1
3657  0: <unset>
3658 --->123
3659     ^  ^    )
3660  0: 123
3661  1: 123
3662     123456\C+
3663 Callout 0: last capture = -1
3664  0: <unset>
3665 --->123456
3666     ^  ^       )
3667 Callout 0: last capture = 1
3668  0: <unset>
3669  1: 123
3670 --->123456
3671     ^     ^    )
3672  0: 123456
3673  1: 456
3674     123456789\C+
3675 Callout 0: last capture = -1
3676  0: <unset>
3677 --->123456789
3678     ^  ^          )
3679 Callout 0: last capture = 1
3680  0: <unset>
3681  1: 123
3682 --->123456789
3683     ^     ^       )
3684 Callout 0: last capture = 1
3685  0: <unset>
3686  1: 456
3687 --->123456789
3688     ^        ^    )
3689  0: 123456789
3690  1: 789
3692 /((xyz)(?C)p|(?C1)xyzabc)/I
3693 Capturing subpattern count = 2
3694 No options
3695 First char = 'x'
3696 No need char
3697     xyzabc\C+
3698 Callout 0: last capture = 2
3699  0: <unset>
3700  1: <unset>
3701  2: xyz
3702 --->xyzabc
3703     ^  ^       p
3704 Callout 1: last capture = -1
3705  0: <unset>
3706 --->xyzabc
3707     ^          x
3708  0: xyzabc
3709  1: xyzabc
3711 /(X)((xyz)(?C)p|(?C1)xyzabc)/I
3712 Capturing subpattern count = 3
3713 No options
3714 First char = 'X'
3715 Need char = 'x'
3716     Xxyzabc\C+
3717 Callout 0: last capture = 3
3718  0: <unset>
3719  1: X
3720  2: <unset>
3721  3: xyz
3722 --->Xxyzabc
3723     ^   ^       p
3724 Callout 1: last capture = 1
3725  0: <unset>
3726  1: X
3727 --->Xxyzabc
3728     ^^          x
3729  0: Xxyzabc
3730  1: X
3731  2: xyzabc
3733 /(?=(abc))(?C)abcdef/I
3734 Capturing subpattern count = 1
3735 No options
3736 First char = 'a'
3737 Need char = 'f'
3738     abcdef\C+
3739 Callout 0: last capture = 1
3740  0: <unset>
3741  1: abc
3742 --->abcdef
3743     ^          a
3744  0: abcdef
3745  1: abc
3747 /(?!(abc)(?C1)d)(?C2)abcxyz/I
3748 Capturing subpattern count = 1
3749 No options
3750 First char = 'a'
3751 Need char = 'z'
3752     abcxyz\C+
3753 Callout 1: last capture = 1
3754  0: <unset>
3755  1: abc
3756 --->abcxyz
3757     ^  ^       d
3758 Callout 2: last capture = -1
3759  0: <unset>
3760 --->abcxyz
3761     ^          a
3762  0: abcxyz
3764 /(?<=(abc)(?C))xyz/I
3765 Capturing subpattern count = 1
3766 No options
3767 First char = 'x'
3768 Need char = 'z'
3769 Max lookbehind = 3
3770    abcxyz\C+
3771 Callout 0: last capture = 1
3772  0: <unset>
3773  1: abc
3774 --->abcxyz
3775        ^       )
3776  0: xyz
3777  1: abc
3779 /a(b+)(c*)(?C1)/I
3780 Capturing subpattern count = 2
3781 No options
3782 First char = 'a'
3783 Need char = 'b'
3784     abbbbbccc\C*1
3785 --->abbbbbccc
3786   1 ^        ^    
3787 Callout data = 1
3788   1 ^       ^     
3789 Callout data = 1
3790   1 ^      ^      
3791 Callout data = 1
3792   1 ^     ^       
3793 Callout data = 1
3794   1 ^    ^        
3795 Callout data = 1
3796   1 ^   ^         
3797 Callout data = 1
3798   1 ^  ^          
3799 Callout data = 1
3800   1 ^ ^           
3801 Callout data = 1
3802 No match
3804 /a(b+?)(c*?)(?C1)/I
3805 Capturing subpattern count = 2
3806 No options
3807 First char = 'a'
3808 Need char = 'b'
3809     abbbbbccc\C*1
3810 --->abbbbbccc
3811   1 ^ ^           
3812 Callout data = 1
3813   1 ^  ^          
3814 Callout data = 1
3815   1 ^   ^         
3816 Callout data = 1
3817   1 ^    ^        
3818 Callout data = 1
3819   1 ^     ^       
3820 Callout data = 1
3821   1 ^      ^      
3822 Callout data = 1
3823   1 ^       ^     
3824 Callout data = 1
3825   1 ^        ^    
3826 Callout data = 1
3827 No match
3829 /(?C)abc/I
3830 Capturing subpattern count = 0
3831 No options
3832 First char = 'a'
3833 Need char = 'c'
3835 /(?C)^abc/I
3836 Capturing subpattern count = 0
3837 Options: anchored
3838 No first char
3839 No need char
3841 /(?C)a|b/IS
3842 Capturing subpattern count = 0
3843 No options
3844 No first char
3845 No need char
3846 Subject length lower bound = 1
3847 Starting byte set: a b 
3849 /(?R)/I
3850 Failed: recursive call could loop indefinitely at offset 3
3852 /(a|(?R))/I
3853 Failed: recursive call could loop indefinitely at offset 6
3855 /(ab|(bc|(de|(?R))))/I
3856 Failed: recursive call could loop indefinitely at offset 15
3858 /x(ab|(bc|(de|(?R))))/I
3859 Capturing subpattern count = 3
3860 No options
3861 First char = 'x'
3862 No need char
3863     xab
3864  0: xab
3865  1: ab
3866     xbc
3867  0: xbc
3868  1: bc
3869  2: bc
3870     xde
3871  0: xde
3872  1: de
3873  2: de
3874  3: de
3875     xxab
3876  0: xxab
3877  1: xab
3878  2: xab
3879  3: xab
3880     xxxab
3881  0: xxxab
3882  1: xxab
3883  2: xxab
3884  3: xxab
3885     *** Failers
3886 No match
3887     xyab
3888 No match
3890 /(ab|(bc|(de|(?1))))/I
3891 Failed: recursive call could loop indefinitely at offset 15
3893 /x(ab|(bc|(de|(?1)x)x)x)/I
3894 Failed: recursive call could loop indefinitely at offset 16
3896 /^([^()]|\((?1)*\))*$/I
3897 Capturing subpattern count = 1
3898 Options: anchored
3899 No first char
3900 No need char
3901     abc
3902  0: abc
3903  1: c
3904     a(b)c
3905  0: a(b)c
3906  1: c
3907     a(b(c))d
3908  0: a(b(c))d
3909  1: d
3910     *** Failers)
3911 No match
3912     a(b(c)d
3913 No match
3915 /^>abc>([^()]|\((?1)*\))*<xyz<$/I
3916 Capturing subpattern count = 1
3917 Options: anchored
3918 No first char
3919 Need char = '<'
3920    >abc>123<xyz<
3921  0: >abc>123<xyz<
3922  1: 3
3923    >abc>1(2)3<xyz<
3924  0: >abc>1(2)3<xyz<
3925  1: 3
3926    >abc>(1(2)3)<xyz<
3927  0: >abc>(1(2)3)<xyz<
3928  1: (1(2)3)
3930 /(a(?1)b)/DZ
3931 ------------------------------------------------------------------
3932         Bra
3933         CBra 1
3934         a
3935         Recurse
3936         b
3937         Ket
3938         Ket
3939         End
3940 ------------------------------------------------------------------
3941 Capturing subpattern count = 1
3942 No options
3943 First char = 'a'
3944 Need char = 'b'
3946 /(a(?1)+b)/DZ
3947 ------------------------------------------------------------------
3948         Bra
3949         CBra 1
3950         a
3951         Once
3952         Recurse
3953         KetRmax
3954         b
3955         Ket
3956         Ket
3957         End
3958 ------------------------------------------------------------------
3959 Capturing subpattern count = 1
3960 No options
3961 First char = 'a'
3962 Need char = 'b'
3964 /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I
3965 Capturing subpattern count = 2
3966 Options: anchored
3967 No first char
3968 No need char
3969     12
3970  0: 12
3971  1: 12
3972     (((2+2)*-3)-7)
3973  0: (((2+2)*-3)-7)
3974  1: (((2+2)*-3)-7)
3975  2: -
3976     -12
3977  0: -12
3978  1: -12
3979     *** Failers
3980 No match
3981     ((2+2)*-3)-7)
3982 No match
3984 /^(x(y|(?1){2})z)/I
3985 Capturing subpattern count = 2
3986 Options: anchored
3987 No first char
3988 No need char
3989     xyz
3990  0: xyz
3991  1: xyz
3992  2: y
3993     xxyzxyzz
3994  0: xxyzxyzz
3995  1: xxyzxyzz
3996  2: xyzxyz
3997     *** Failers
3998 No match
3999     xxyzz
4000 No match
4001     xxyzxyzxyzz
4002 No match
4004 /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/Ix
4005 Capturing subpattern count = 2
4006 Options: extended
4007 First char = '<'
4008 Need char = '>'
4009     <>
4010  0: <>
4011  1: <>
4012  2: <>
4013     <abcd>
4014  0: <abcd>
4015  1: <abcd>
4016  2: <abcd>
4017     <abc <123> hij>
4018  0: <abc <123> hij>
4019  1: <abc <123> hij>
4020  2: <abc <123> hij>
4021     <abc <def> hij>
4022  0: <def>
4023  1: <def>
4024  2: <def>
4025     <abc<>def>
4026  0: <abc<>def>
4027  1: <abc<>def>
4028  2: <abc<>def>
4029     <abc<>
4030  0: <>
4031  1: <>
4032  2: <>
4033     *** Failers
4034 No match
4035     <abc
4036 No match
4038 /(?1)/I
4039 Failed: reference to non-existent subpattern at offset 3
4041 /((?2)(abc)/I
4042 Failed: missing ) at offset 10
4044 /^(abc)def(?1)/I
4045 Capturing subpattern count = 1
4046 Options: anchored
4047 No first char
4048 No need char
4049     abcdefabc
4050  0: abcdefabc
4051  1: abc
4053 /^(a|b|c)=(?1)+/I
4054 Capturing subpattern count = 1
4055 Options: anchored
4056 No first char
4057 No need char
4058     a=a
4059  0: a=a
4060  1: a
4061     a=b
4062  0: a=b
4063  1: a
4064     a=bc
4065  0: a=bc
4066  1: a
4068 /^(a|b|c)=((?1))+/I
4069 Capturing subpattern count = 2
4070 Options: anchored
4071 No first char
4072 No need char
4073     a=a
4074  0: a=a
4075  1: a
4076  2: a
4077     a=b
4078  0: a=b
4079  1: a
4080  2: b
4081     a=bc
4082  0: a=bc
4083  1: a
4084  2: c
4086 /a(?P<name1>b|c)d(?P<longername2>e)/DZ
4087 ------------------------------------------------------------------
4088         Bra
4089         a
4090         CBra 1
4091         b
4092         Alt
4093         c
4094         Ket
4095         d
4096         CBra 2
4097         e
4098         Ket
4099         Ket
4100         End
4101 ------------------------------------------------------------------
4102 Capturing subpattern count = 2
4103 Named capturing subpatterns:
4104   longername2   2
4105   name1         1
4106 No options
4107 First char = 'a'
4108 Need char = 'e'
4109     abde
4110  0: abde
4111  1: b
4112  2: e
4113     acde
4114  0: acde
4115  1: c
4116  2: e
4118 /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/DZ
4119 ------------------------------------------------------------------
4120         Bra
4121         Bra
4122         a
4123         CBra 1
4124         c
4125         CBra 2
4126         d
4127         Ket
4128         Ket
4129         Ket
4130         CBra 3
4131         a
4132         Ket
4133         Ket
4134         End
4135 ------------------------------------------------------------------
4136 Capturing subpattern count = 3
4137 Named capturing subpatterns:
4138   a   3
4139   c   1
4140   d   2
4141 No options
4142 First char = 'a'
4143 Need char = 'a'
4145 /(?P<a>a)...(?P=a)bbb(?P>a)d/DZ
4146 ------------------------------------------------------------------
4147         Bra
4148         CBra 1
4149         a
4150         Ket
4151         Any
4152         Any
4153         Any
4154         \1
4155         bbb
4156         Recurse
4157         d
4158         Ket
4159         End
4160 ------------------------------------------------------------------
4161 Capturing subpattern count = 1
4162 Max back reference = 1
4163 Named capturing subpatterns:
4164   a   1
4165 No options
4166 First char = 'a'
4167 Need char = 'd'
4169 /^\W*(?:(?P<one>(?P<two>.)\W*(?P>one)\W*(?P=two)|)|(?P<three>(?P<four>.)\W*(?P>three)\W*(?P=four)|\W*.\W*))\W*$/Ii
4170 Capturing subpattern count = 4
4171 Max back reference = 4
4172 Named capturing subpatterns:
4173   four    4
4174   one     1
4175   three   3
4176   two     2
4177 Options: anchored caseless
4178 No first char
4179 No need char
4180     1221
4181  0: 1221
4182  1: 1221
4183  2: 1
4184     Satan, oscillate my metallic sonatas!
4185  0: Satan, oscillate my metallic sonatas!
4186  1: <unset>
4187  2: <unset>
4188  3: Satan, oscillate my metallic sonatas
4189  4: S
4190     A man, a plan, a canal: Panama!
4191  0: A man, a plan, a canal: Panama!
4192  1: <unset>
4193  2: <unset>
4194  3: A man, a plan, a canal: Panama
4195  4: A
4196     Able was I ere I saw Elba.
4197  0: Able was I ere I saw Elba.
4198  1: <unset>
4199  2: <unset>
4200  3: Able was I ere I saw Elba
4201  4: A
4202     *** Failers
4203 No match
4204     The quick brown fox
4205 No match
4207 /((?(R)a|b))\1(?1)?/I
4208 Capturing subpattern count = 1
4209 Max back reference = 1
4210 No options
4211 No first char
4212 No need char
4213   bb
4214  0: bb
4215  1: b
4216   bbaa
4217  0: bba
4218  1: b
4220 /(.*)a/Is
4221 Capturing subpattern count = 1
4222 Options: anchored dotall
4223 No first char
4224 Need char = 'a'
4226 /(.*)a\1/Is
4227 Capturing subpattern count = 1
4228 Max back reference = 1
4229 Options: dotall
4230 No first char
4231 Need char = 'a'
4233 /(.*)a(b)\2/Is
4234 Capturing subpattern count = 2
4235 Max back reference = 2
4236 Options: anchored dotall
4237 No first char
4238 Need char = 'b'
4240 /((.*)a|(.*)b)z/Is
4241 Capturing subpattern count = 3
4242 Options: anchored dotall
4243 No first char
4244 Need char = 'z'
4246 /((.*)a|(.*)b)z\1/Is
4247 Capturing subpattern count = 3
4248 Max back reference = 1
4249 Options: dotall
4250 No first char
4251 Need char = 'z'
4253 /((.*)a|(.*)b)z\2/Is
4254 Capturing subpattern count = 3
4255 Max back reference = 2
4256 Options: dotall
4257 No first char
4258 Need char = 'z'
4260 /((.*)a|(.*)b)z\3/Is
4261 Capturing subpattern count = 3
4262 Max back reference = 3
4263 Options: dotall
4264 No first char
4265 Need char = 'z'
4267 /((.*)a|^(.*)b)z\3/Is
4268 Capturing subpattern count = 3
4269 Max back reference = 3
4270 Options: anchored dotall
4271 No first char
4272 Need char = 'z'
4274 /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is
4275 Capturing subpattern count = 31
4276 Options: anchored dotall
4277 No first char
4278 No need char
4280 /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is
4281 Capturing subpattern count = 31
4282 Max back reference = 31
4283 Options: dotall
4284 No first char
4285 No need char
4287 /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is
4288 Capturing subpattern count = 32
4289 Max back reference = 32
4290 Options: dotall
4291 No first char
4292 No need char
4294 /(a)(bc)/INDZ
4295 ------------------------------------------------------------------
4296         Bra
4297         Bra
4298         a
4299         Ket
4300         Bra
4301         bc
4302         Ket
4303         Ket
4304         End
4305 ------------------------------------------------------------------
4306 Capturing subpattern count = 0
4307 Options: no_auto_capture
4308 First char = 'a'
4309 Need char = 'c'
4310   abc
4311  0: abc
4313 /(?P<one>a)(bc)/INDZ
4314 ------------------------------------------------------------------
4315         Bra
4316         CBra 1
4317         a
4318         Ket
4319         Bra
4320         bc
4321         Ket
4322         Ket
4323         End
4324 ------------------------------------------------------------------
4325 Capturing subpattern count = 1
4326 Named capturing subpatterns:
4327   one   1
4328 Options: no_auto_capture
4329 First char = 'a'
4330 Need char = 'c'
4331   abc
4332  0: abc
4333  1: a
4335 /(a)(?P<named>bc)/INDZ
4336 ------------------------------------------------------------------
4337         Bra
4338         Bra
4339         a
4340         Ket
4341         CBra 1
4342         bc
4343         Ket
4344         Ket
4345         End
4346 ------------------------------------------------------------------
4347 Capturing subpattern count = 1
4348 Named capturing subpatterns:
4349   named   1
4350 Options: no_auto_capture
4351 First char = 'a'
4352 Need char = 'c'
4354 /(a+)*zz/I
4355 Capturing subpattern count = 1
4356 No options
4357 No first char
4358 Need char = 'z'
4359   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzbbbbbb\M
4360 Minimum match() limit = 8
4361 Minimum match() recursion limit = 6
4362  0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazz
4363  1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
4364   aaaaaaaaaaaaaz\M
4365 Minimum match() limit = 32768
4366 Minimum match() recursion limit = 42
4367 No match
4369 /(aaa(?C1)bbb|ab)/I
4370 Capturing subpattern count = 1
4371 No options
4372 First char = 'a'
4373 Need char = 'b'
4374    aaabbb
4375 --->aaabbb
4376   1 ^  ^       b
4377  0: aaabbb
4378  1: aaabbb
4379    aaabbb\C*0
4380 --->aaabbb
4381   1 ^  ^       b
4382  0: aaabbb
4383  1: aaabbb
4384    aaabbb\C*1
4385 --->aaabbb
4386   1 ^  ^       b
4387 Callout data = 1
4388  0: ab
4389  1: ab
4390    aaabbb\C*-1
4391 --->aaabbb
4392   1 ^  ^       b
4393 Callout data = -1
4394 No match
4396 /ab(?P<one>cd)ef(?P<two>gh)/I
4397 Capturing subpattern count = 2
4398 Named capturing subpatterns:
4399   one   1
4400   two   2
4401 No options
4402 First char = 'a'
4403 Need char = 'h'
4404     abcdefgh
4405  0: abcdefgh
4406  1: cd
4407  2: gh
4408     abcdefgh\C1\Gtwo
4409  0: abcdefgh
4410  1: cd
4411  2: gh
4412  1C cd (2)
4413   G gh (2) two
4414     abcdefgh\Cone\Ctwo
4415  0: abcdefgh
4416  1: cd
4417  2: gh
4418   C cd (2) one
4419   C gh (2) two
4420     abcdefgh\Cthree
4421 no parentheses with name "three"
4422  0: abcdefgh
4423  1: cd
4424  2: gh
4425 copy substring three failed -7
4427 /(?P<Tes>)(?P<Test>)/DZ
4428 ------------------------------------------------------------------
4429         Bra
4430         CBra 1
4431         Ket
4432         CBra 2
4433         Ket
4434         Ket
4435         End
4436 ------------------------------------------------------------------
4437 Capturing subpattern count = 2
4438 Named capturing subpatterns:
4439   Tes    1
4440   Test   2
4441 No options
4442 No first char
4443 No need char
4445 /(?P<Test>)(?P<Tes>)/DZ
4446 ------------------------------------------------------------------
4447         Bra
4448         CBra 1
4449         Ket
4450         CBra 2
4451         Ket
4452         Ket
4453         End
4454 ------------------------------------------------------------------
4455 Capturing subpattern count = 2
4456 Named capturing subpatterns:
4457   Tes    2
4458   Test   1
4459 No options
4460 No first char
4461 No need char
4463 /(?P<Z>zz)(?P<A>aa)/I
4464 Capturing subpattern count = 2
4465 Named capturing subpatterns:
4466   A   2
4467   Z   1
4468 No options
4469 First char = 'z'
4470 Need char = 'a'
4471     zzaa\CZ
4472  0: zzaa
4473  1: zz
4474  2: aa
4475   C zz (2) Z
4476     zzaa\CA
4477  0: zzaa
4478  1: zz
4479  2: aa
4480   C aa (2) A
4482 /(?P<x>eks)(?P<x>eccs)/I
4483 Failed: two named subpatterns have the same name at offset 15
4485 /(?P<abc>abc(?P<def>def)(?P<abc>xyz))/I
4486 Failed: two named subpatterns have the same name at offset 30
4488 "\[((?P<elem>\d+)(,(?P>elem))*)\]"I
4489 Capturing subpattern count = 3
4490 Named capturing subpatterns:
4491   elem   2
4492 No options
4493 First char = '['
4494 Need char = ']'
4495     [10,20,30,5,5,4,4,2,43,23,4234]
4496  0: [10,20,30,5,5,4,4,2,43,23,4234]
4497  1: 10,20,30,5,5,4,4,2,43,23,4234
4498  2: 10
4499  3: ,4234
4500     *** Failers
4501 No match
4502     []
4503 No match
4505 "\[((?P<elem>\d+)(,(?P>elem))*)?\]"I
4506 Capturing subpattern count = 3
4507 Named capturing subpatterns:
4508   elem   2
4509 No options
4510 First char = '['
4511 Need char = ']'
4512     [10,20,30,5,5,4,4,2,43,23,4234]
4513  0: [10,20,30,5,5,4,4,2,43,23,4234]
4514  1: 10,20,30,5,5,4,4,2,43,23,4234
4515  2: 10
4516  3: ,4234
4517     []
4518  0: []
4520 /(a(b(?2)c))?/DZ
4521 ------------------------------------------------------------------
4522         Bra
4523         Brazero
4524         CBra 1
4525         a
4526         CBra 2
4527         b
4528         Recurse
4529         c
4530         Ket
4531         Ket
4532         Ket
4533         End
4534 ------------------------------------------------------------------
4535 Capturing subpattern count = 2
4536 No options
4537 No first char
4538 No need char
4540 /(a(b(?2)c))*/DZ
4541 ------------------------------------------------------------------
4542         Bra
4543         Brazero
4544         CBra 1
4545         a
4546         CBra 2
4547         b
4548         Recurse
4549         c
4550         Ket
4551         KetRmax
4552         Ket
4553         End
4554 ------------------------------------------------------------------
4555 Capturing subpattern count = 2
4556 No options
4557 No first char
4558 No need char
4560 /(a(b(?2)c)){0,2}/DZ
4561 ------------------------------------------------------------------
4562         Bra
4563         Brazero
4564         Bra
4565         CBra 1
4566         a
4567         CBra 2
4568         b
4569         Recurse
4570         c
4571         Ket
4572         Ket
4573         Brazero
4574         CBra 1
4575         a
4576         CBra 2
4577         b
4578         Recurse
4579         c
4580         Ket
4581         Ket
4582         Ket
4583         Ket
4584         End
4585 ------------------------------------------------------------------
4586 Capturing subpattern count = 2
4587 No options
4588 No first char
4589 No need char
4591 /[ab]{1}+/DZ
4592 ------------------------------------------------------------------
4593         Bra
4594         Once
4595         [ab]{1,1}
4596         Ket
4597         Ket
4598         End
4599 ------------------------------------------------------------------
4600 Capturing subpattern count = 0
4601 No options
4602 No first char
4603 No need char
4605 /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii
4606 Capturing subpattern count = 3
4607 Options: caseless
4608 No first char
4609 Need char = 'g' (caseless)
4610      Baby Bjorn Active Carrier - With free SHIPPING!!
4611  0: Baby Bjorn Active Carrier - With free SHIPPING!!
4612  1: Baby Bjorn Active Carrier - With free SHIPPING!!
4614 /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS
4615 Capturing subpattern count = 3
4616 Options: caseless
4617 No first char
4618 Need char = 'g' (caseless)
4619 Subject length lower bound = 8
4620 No set of starting bytes
4621      Baby Bjorn Active Carrier - With free SHIPPING!!
4622  0: Baby Bjorn Active Carrier - With free SHIPPING!!
4623  1: Baby Bjorn Active Carrier - With free SHIPPING!!
4625 /a*.*b/ISDZ
4626 ------------------------------------------------------------------
4627         Bra
4628         a*
4629         Any*
4630         b
4631         Ket
4632         End
4633 ------------------------------------------------------------------
4634 Capturing subpattern count = 0
4635 No options
4636 No first char
4637 Need char = 'b'
4638 Subject length lower bound = 1
4639 No set of starting bytes
4641 /(a|b)*.?c/ISDZ
4642 ------------------------------------------------------------------
4643         Bra
4644         Brazero
4645         CBra 1
4646         a
4647         Alt
4648         b
4649         KetRmax
4650         Any?
4651         c
4652         Ket
4653         End
4654 ------------------------------------------------------------------
4655 Capturing subpattern count = 1
4656 No options
4657 No first char
4658 Need char = 'c'
4659 Subject length lower bound = 1
4660 No set of starting bytes
4662 /abc(?C255)de(?C)f/DZ
4663 ------------------------------------------------------------------
4664         Bra
4665         abc
4666         Callout 255 10 1
4667         de
4668         Callout 0 16 1
4669         f
4670         Ket
4671         End
4672 ------------------------------------------------------------------
4673 Capturing subpattern count = 0
4674 No options
4675 First char = 'a'
4676 Need char = 'f'
4678 /abcde/ICDZ
4679 ------------------------------------------------------------------
4680         Bra
4681         Callout 255 0 1
4682         a
4683         Callout 255 1 1
4684         b
4685         Callout 255 2 1
4686         c
4687         Callout 255 3 1
4688         d
4689         Callout 255 4 1
4690         e
4691         Callout 255 5 0
4692         Ket
4693         End
4694 ------------------------------------------------------------------
4695 Capturing subpattern count = 0
4696 Options:
4697 First char = 'a'
4698 Need char = 'e'
4699   abcde
4700 --->abcde
4701  +0 ^         a
4702  +1 ^^        b
4703  +2 ^ ^       c
4704  +3 ^  ^      d
4705  +4 ^   ^     e
4706  +5 ^    ^    
4707  0: abcde
4708   abcdfe
4709 --->abcdfe
4710  +0 ^          a
4711  +1 ^^         b
4712  +2 ^ ^        c
4713  +3 ^  ^       d
4714  +4 ^   ^      e
4715 No match
4717 /a*b/ICDZS
4718 ------------------------------------------------------------------
4719         Bra
4720         Callout 255 0 2
4721         a*+
4722         Callout 255 2 1
4723         b
4724         Callout 255 3 0
4725         Ket
4726         End
4727 ------------------------------------------------------------------
4728 Capturing subpattern count = 0
4729 Options:
4730 No first char
4731 Need char = 'b'
4732 Subject length lower bound = 1
4733 Starting byte set: a b 
4734   ab
4735 --->ab
4736  +0 ^      a*
4737  +2 ^^     b
4738  +3 ^ ^    
4739  0: ab
4740   aaaab
4741 --->aaaab
4742  +0 ^         a*
4743  +2 ^   ^     b
4744  +3 ^    ^    
4745  0: aaaab
4746   aaaacb
4747 --->aaaacb
4748  +0 ^          a*
4749  +2 ^   ^      b
4750  +0  ^         a*
4751  +2  ^  ^      b
4752  +0   ^        a*
4753  +2   ^ ^      b
4754  +0    ^       a*
4755  +2    ^^      b
4756  +0      ^     a*
4757  +2      ^     b
4758  +3      ^^    
4759  0: b
4761 /a*b/ICDZSS
4762 ------------------------------------------------------------------
4763         Bra
4764         Callout 255 0 2
4765         a*+
4766         Callout 255 2 1
4767         b
4768         Callout 255 3 0
4769         Ket
4770         End
4771 ------------------------------------------------------------------
4772 Capturing subpattern count = 0
4773 Options:
4774 No first char
4775 Need char = 'b'
4776   ab
4777 --->ab
4778  +0 ^      a*
4779  +2 ^^     b
4780  +3 ^ ^    
4781  0: ab
4782   aaaab
4783 --->aaaab
4784  +0 ^         a*
4785  +2 ^   ^     b
4786  +3 ^    ^    
4787  0: aaaab
4788   aaaacb
4789 --->aaaacb
4790  +0 ^          a*
4791  +2 ^   ^      b
4792  +0  ^         a*
4793  +2  ^  ^      b
4794  +0   ^        a*
4795  +2   ^ ^      b
4796  +0    ^       a*
4797  +2    ^^      b
4798  +0     ^      a*
4799  +2     ^      b
4800  +0      ^     a*
4801  +2      ^     b
4802  +3      ^^    
4803  0: b
4805 /a+b/ICDZ
4806 ------------------------------------------------------------------
4807         Bra
4808         Callout 255 0 2
4809         a++
4810         Callout 255 2 1
4811         b
4812         Callout 255 3 0
4813         Ket
4814         End
4815 ------------------------------------------------------------------
4816 Capturing subpattern count = 0
4817 Options:
4818 First char = 'a'
4819 Need char = 'b'
4820   ab
4821 --->ab
4822  +0 ^      a+
4823  +2 ^^     b
4824  +3 ^ ^    
4825  0: ab
4826   aaaab
4827 --->aaaab
4828  +0 ^         a+
4829  +2 ^   ^     b
4830  +3 ^    ^    
4831  0: aaaab
4832   aaaacb
4833 --->aaaacb
4834  +0 ^          a+
4835  +2 ^   ^      b
4836  +0  ^         a+
4837  +2  ^  ^      b
4838  +0   ^        a+
4839  +2   ^ ^      b
4840  +0    ^       a+
4841  +2    ^^      b
4842 No match
4844 /(abc|def)x/ICDZS
4845 ------------------------------------------------------------------
4846         Bra
4847         Callout 255 0 9
4848         CBra 1
4849         Callout 255 1 1
4850         a
4851         Callout 255 2 1
4852         b
4853         Callout 255 3 1
4854         c
4855         Callout 255 4 0
4856         Alt
4857         Callout 255 5 1
4858         d
4859         Callout 255 6 1
4860         e
4861         Callout 255 7 1
4862         f
4863         Callout 255 8 0
4864         Ket
4865         Callout 255 9 1
4866         x
4867         Callout 255 10 0
4868         Ket
4869         End
4870 ------------------------------------------------------------------
4871 Capturing subpattern count = 1
4872 Options:
4873 No first char
4874 Need char = 'x'
4875 Subject length lower bound = 4
4876 Starting byte set: a d 
4877   abcx
4878 --->abcx
4879  +0 ^        (abc|def)
4880  +1 ^        a
4881  +2 ^^       b
4882  +3 ^ ^      c
4883  +4 ^  ^     |
4884  +9 ^  ^     x
4885 +10 ^   ^    
4886  0: abcx
4887  1: abc
4888   defx
4889 --->defx
4890  +0 ^        (abc|def)
4891  +1 ^        a
4892  +5 ^        d
4893  +6 ^^       e
4894  +7 ^ ^      f
4895  +8 ^  ^     )
4896  +9 ^  ^     x
4897 +10 ^   ^    
4898  0: defx
4899  1: def
4900   ** Failers 
4901 No match
4902   abcdefzx
4903 --->abcdefzx
4904  +0 ^            (abc|def)
4905  +1 ^            a
4906  +2 ^^           b
4907  +3 ^ ^          c
4908  +4 ^  ^         |
4909  +9 ^  ^         x
4910  +5 ^            d
4911  +0    ^         (abc|def)
4912  +1    ^         a
4913  +5    ^         d
4914  +6    ^^        e
4915  +7    ^ ^       f
4916  +8    ^  ^      )
4917  +9    ^  ^      x
4918 No match
4920 /(abc|def)x/ICDZSS
4921 ------------------------------------------------------------------
4922         Bra
4923         Callout 255 0 9
4924         CBra 1
4925         Callout 255 1 1
4926         a
4927         Callout 255 2 1
4928         b
4929         Callout 255 3 1
4930         c
4931         Callout 255 4 0
4932         Alt
4933         Callout 255 5 1
4934         d
4935         Callout 255 6 1
4936         e
4937         Callout 255 7 1
4938         f
4939         Callout 255 8 0
4940         Ket
4941         Callout 255 9 1
4942         x
4943         Callout 255 10 0
4944         Ket
4945         End
4946 ------------------------------------------------------------------
4947 Capturing subpattern count = 1
4948 Options:
4949 No first char
4950 Need char = 'x'
4951   abcx
4952 --->abcx
4953  +0 ^        (abc|def)
4954  +1 ^        a
4955  +2 ^^       b
4956  +3 ^ ^      c
4957  +4 ^  ^     |
4958  +9 ^  ^     x
4959 +10 ^   ^    
4960  0: abcx
4961  1: abc
4962   defx
4963 --->defx
4964  +0 ^        (abc|def)
4965  +1 ^        a
4966  +5 ^        d
4967  +6 ^^       e
4968  +7 ^ ^      f
4969  +8 ^  ^     )
4970  +9 ^  ^     x
4971 +10 ^   ^    
4972  0: defx
4973  1: def
4974   ** Failers 
4975 No match
4976   abcdefzx
4977 --->abcdefzx
4978  +0 ^            (abc|def)
4979  +1 ^            a
4980  +2 ^^           b
4981  +3 ^ ^          c
4982  +4 ^  ^         |
4983  +9 ^  ^         x
4984  +5 ^            d
4985  +0  ^           (abc|def)
4986  +1  ^           a
4987  +5  ^           d
4988  +0   ^          (abc|def)
4989  +1   ^          a
4990  +5   ^          d
4991  +0    ^         (abc|def)
4992  +1    ^         a
4993  +5    ^         d
4994  +6    ^^        e
4995  +7    ^ ^       f
4996  +8    ^  ^      )
4997  +9    ^  ^      x
4998  +0     ^        (abc|def)
4999  +1     ^        a
5000  +5     ^        d
5001  +0      ^       (abc|def)
5002  +1      ^       a
5003  +5      ^       d
5004  +0       ^      (abc|def)
5005  +1       ^      a
5006  +5       ^      d
5007  +0        ^     (abc|def)
5008  +1        ^     a
5009  +5        ^     d
5010 No match
5012 /(ab|cd){3,4}/IC
5013 Capturing subpattern count = 1
5014 Options:
5015 No first char
5016 No need char
5017   ababab
5018 --->ababab
5019  +0 ^          (ab|cd){3,4}
5020  +1 ^          a
5021  +2 ^^         b
5022  +3 ^ ^        |
5023  +1 ^ ^        a
5024  +2 ^  ^       b
5025  +3 ^   ^      |
5026  +1 ^   ^      a
5027  +2 ^    ^     b
5028  +3 ^     ^    |
5029  +1 ^     ^    a
5030  +4 ^     ^    c
5031 +12 ^     ^    
5032  0: ababab
5033  1: ab
5034   abcdabcd
5035 --->abcdabcd
5036  +0 ^            (ab|cd){3,4}
5037  +1 ^            a
5038  +2 ^^           b
5039  +3 ^ ^          |
5040  +1 ^ ^          a
5041  +4 ^ ^          c
5042  +5 ^  ^         d
5043  +6 ^   ^        )
5044  +1 ^   ^        a
5045  +2 ^    ^       b
5046  +3 ^     ^      |
5047  +1 ^     ^      a
5048  +4 ^     ^      c
5049  +5 ^      ^     d
5050  +6 ^       ^    )
5051 +12 ^       ^    
5052  0: abcdabcd
5053  1: cd
5054   abcdcdcdcdcd
5055 --->abcdcdcdcdcd
5056  +0 ^                (ab|cd){3,4}
5057  +1 ^                a
5058  +2 ^^               b
5059  +3 ^ ^              |
5060  +1 ^ ^              a
5061  +4 ^ ^              c
5062  +5 ^  ^             d
5063  +6 ^   ^            )
5064  +1 ^   ^            a
5065  +4 ^   ^            c
5066  +5 ^    ^           d
5067  +6 ^     ^          )
5068  +1 ^     ^          a
5069  +4 ^     ^          c
5070  +5 ^      ^         d
5071  +6 ^       ^        )
5072 +12 ^       ^        
5073  0: abcdcdcd
5074  1: cd
5076 /([ab]{,4}c|xy)/ICDZS
5077 ------------------------------------------------------------------
5078         Bra
5079         Callout 255 0 14
5080         CBra 1
5081         Callout 255 1 4
5082         [ab]
5083         Callout 255 5 1
5084         {
5085         Callout 255 6 1
5086         ,
5087         Callout 255 7 1
5088         4
5089         Callout 255 8 1
5090         }
5091         Callout 255 9 1
5092         c
5093         Callout 255 10 0
5094         Alt
5095         Callout 255 11 1
5096         x
5097         Callout 255 12 1
5098         y
5099         Callout 255 13 0
5100         Ket
5101         Callout 255 14 0
5102         Ket
5103         End
5104 ------------------------------------------------------------------
5105 Capturing subpattern count = 1
5106 Options:
5107 No first char
5108 No need char
5109 Subject length lower bound = 2
5110 Starting byte set: a b x 
5111     Note: that { does NOT introduce a quantifier
5112 --->Note: that { does NOT introduce a quantifier
5113  +0         ^                                        ([ab]{,4}c|xy)
5114  +1         ^                                        [ab]
5115  +5         ^^                                       {
5116 +11         ^                                        x
5117  +0                                 ^                ([ab]{,4}c|xy)
5118  +1                                 ^                [ab]
5119  +5                                 ^^               {
5120 +11                                 ^                x
5121  +0                                     ^            ([ab]{,4}c|xy)
5122  +1                                     ^            [ab]
5123  +5                                     ^^           {
5124 +11                                     ^            x
5125 No match
5127 /([ab]{,4}c|xy)/ICDZSS
5128 ------------------------------------------------------------------
5129         Bra
5130         Callout 255 0 14
5131         CBra 1
5132         Callout 255 1 4
5133         [ab]
5134         Callout 255 5 1
5135         {
5136         Callout 255 6 1
5137         ,
5138         Callout 255 7 1
5139         4
5140         Callout 255 8 1
5141         }
5142         Callout 255 9 1
5143         c
5144         Callout 255 10 0
5145         Alt
5146         Callout 255 11 1
5147         x
5148         Callout 255 12 1
5149         y
5150         Callout 255 13 0
5151         Ket
5152         Callout 255 14 0
5153         Ket
5154         End
5155 ------------------------------------------------------------------
5156 Capturing subpattern count = 1
5157 Options:
5158 No first char
5159 No need char
5160     Note: that { does NOT introduce a quantifier
5161 --->Note: that { does NOT introduce a quantifier
5162  +0 ^                                                ([ab]{,4}c|xy)
5163  +1 ^                                                [ab]
5164 +11 ^                                                x
5165  +0  ^                                               ([ab]{,4}c|xy)
5166  +1  ^                                               [ab]
5167 +11  ^                                               x
5168  +0   ^                                              ([ab]{,4}c|xy)
5169  +1   ^                                              [ab]
5170 +11   ^                                              x
5171  +0    ^                                             ([ab]{,4}c|xy)
5172  +1    ^                                             [ab]
5173 +11    ^                                             x
5174  +0     ^                                            ([ab]{,4}c|xy)
5175  +1     ^                                            [ab]
5176 +11     ^                                            x
5177  +0      ^                                           ([ab]{,4}c|xy)
5178  +1      ^                                           [ab]
5179 +11      ^                                           x
5180  +0       ^                                          ([ab]{,4}c|xy)
5181  +1       ^                                          [ab]
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  +5         ^^                                       {
5189 +11         ^                                        x
5190  +0          ^                                       ([ab]{,4}c|xy)
5191  +1          ^                                       [ab]
5192 +11          ^                                       x
5193  +0           ^                                      ([ab]{,4}c|xy)
5194  +1           ^                                      [ab]
5195 +11           ^                                      x
5196  +0            ^                                     ([ab]{,4}c|xy)
5197  +1            ^                                     [ab]
5198 +11            ^                                     x
5199  +0             ^                                    ([ab]{,4}c|xy)
5200  +1             ^                                    [ab]
5201 +11             ^                                    x
5202  +0              ^                                   ([ab]{,4}c|xy)
5203  +1              ^                                   [ab]
5204 +11              ^                                   x
5205  +0               ^                                  ([ab]{,4}c|xy)
5206  +1               ^                                  [ab]
5207 +11               ^                                  x
5208  +0                ^                                 ([ab]{,4}c|xy)
5209  +1                ^                                 [ab]
5210 +11                ^                                 x
5211  +0                 ^                                ([ab]{,4}c|xy)
5212  +1                 ^                                [ab]
5213 +11                 ^                                x
5214  +0                  ^                               ([ab]{,4}c|xy)
5215  +1                  ^                               [ab]
5216 +11                  ^                               x
5217  +0                   ^                              ([ab]{,4}c|xy)
5218  +1                   ^                              [ab]
5219 +11                   ^                              x
5220  +0                    ^                             ([ab]{,4}c|xy)
5221  +1                    ^                             [ab]
5222 +11                    ^                             x
5223  +0                     ^                            ([ab]{,4}c|xy)
5224  +1                     ^                            [ab]
5225 +11                     ^                            x
5226  +0                      ^                           ([ab]{,4}c|xy)
5227  +1                      ^                           [ab]
5228 +11                      ^                           x
5229  +0                       ^                          ([ab]{,4}c|xy)
5230  +1                       ^                          [ab]
5231 +11                       ^                          x
5232  +0                        ^                         ([ab]{,4}c|xy)
5233  +1                        ^                         [ab]
5234 +11                        ^                         x
5235  +0                         ^                        ([ab]{,4}c|xy)
5236  +1                         ^                        [ab]
5237 +11                         ^                        x
5238  +0                          ^                       ([ab]{,4}c|xy)
5239  +1                          ^                       [ab]
5240 +11                          ^                       x
5241  +0                           ^                      ([ab]{,4}c|xy)
5242  +1                           ^                      [ab]
5243 +11                           ^                      x
5244  +0                            ^                     ([ab]{,4}c|xy)
5245  +1                            ^                     [ab]
5246 +11                            ^                     x
5247  +0                             ^                    ([ab]{,4}c|xy)
5248  +1                             ^                    [ab]
5249 +11                             ^                    x
5250  +0                              ^                   ([ab]{,4}c|xy)
5251  +1                              ^                   [ab]
5252 +11                              ^                   x
5253  +0                               ^                  ([ab]{,4}c|xy)
5254  +1                               ^                  [ab]
5255 +11                               ^                  x
5256  +0                                ^                 ([ab]{,4}c|xy)
5257  +1                                ^                 [ab]
5258 +11                                ^                 x
5259  +0                                 ^                ([ab]{,4}c|xy)
5260  +1                                 ^                [ab]
5261  +5                                 ^^               {
5262 +11                                 ^                x
5263  +0                                  ^               ([ab]{,4}c|xy)
5264  +1                                  ^               [ab]
5265 +11                                  ^               x
5266  +0                                   ^              ([ab]{,4}c|xy)
5267  +1                                   ^              [ab]
5268 +11                                   ^              x
5269  +0                                    ^             ([ab]{,4}c|xy)
5270  +1                                    ^             [ab]
5271 +11                                    ^             x
5272  +0                                     ^            ([ab]{,4}c|xy)
5273  +1                                     ^            [ab]
5274  +5                                     ^^           {
5275 +11                                     ^            x
5276  +0                                      ^           ([ab]{,4}c|xy)
5277  +1                                      ^           [ab]
5278 +11                                      ^           x
5279  +0                                       ^          ([ab]{,4}c|xy)
5280  +1                                       ^          [ab]
5281 +11                                       ^          x
5282  +0                                        ^         ([ab]{,4}c|xy)
5283  +1                                        ^         [ab]
5284 +11                                        ^         x
5285  +0                                         ^        ([ab]{,4}c|xy)
5286  +1                                         ^        [ab]
5287 +11                                         ^        x
5288  +0                                          ^       ([ab]{,4}c|xy)
5289  +1                                          ^       [ab]
5290 +11                                          ^       x
5291  +0                                           ^      ([ab]{,4}c|xy)
5292  +1                                           ^      [ab]
5293 +11                                           ^      x
5294  +0                                            ^     ([ab]{,4}c|xy)
5295  +1                                            ^     [ab]
5296 +11                                            ^     x
5297  +0                                             ^    ([ab]{,4}c|xy)
5298  +1                                             ^    [ab]
5299 +11                                             ^    x
5300 No match
5302 /([ab]{1,4}c|xy){4,5}?123/ICDZ
5303 ------------------------------------------------------------------
5304         Bra
5305         Callout 255 0 21
5306         CBra 1
5307         Callout 255 1 9
5308         [ab]{1,4}
5309         Callout 255 10 1
5310         c
5311         Callout 255 11 0
5312         Alt
5313         Callout 255 12 1
5314         x
5315         Callout 255 13 1
5316         y
5317         Callout 255 14 0
5318         Ket
5319         CBra 1
5320         Callout 255 1 9
5321         [ab]{1,4}
5322         Callout 255 10 1
5323         c
5324         Callout 255 11 0
5325         Alt
5326         Callout 255 12 1
5327         x
5328         Callout 255 13 1
5329         y
5330         Callout 255 14 0
5331         Ket
5332         CBra 1
5333         Callout 255 1 9
5334         [ab]{1,4}
5335         Callout 255 10 1
5336         c
5337         Callout 255 11 0
5338         Alt
5339         Callout 255 12 1
5340         x
5341         Callout 255 13 1
5342         y
5343         Callout 255 14 0
5344         Ket
5345         CBra 1
5346         Callout 255 1 9
5347         [ab]{1,4}
5348         Callout 255 10 1
5349         c
5350         Callout 255 11 0
5351         Alt
5352         Callout 255 12 1
5353         x
5354         Callout 255 13 1
5355         y
5356         Callout 255 14 0
5357         Ket
5358         Braminzero
5359         CBra 1
5360         Callout 255 1 9
5361         [ab]{1,4}
5362         Callout 255 10 1
5363         c
5364         Callout 255 11 0
5365         Alt
5366         Callout 255 12 1
5367         x
5368         Callout 255 13 1
5369         y
5370         Callout 255 14 0
5371         Ket
5372         Callout 255 21 1
5373         1
5374         Callout 255 22 1
5375         2
5376         Callout 255 23 1
5377         3
5378         Callout 255 24 0
5379         Ket
5380         End
5381 ------------------------------------------------------------------
5382 Capturing subpattern count = 1
5383 Options:
5384 No first char
5385 Need char = '3'
5386     aacaacaacaacaac123
5387 --->aacaacaacaacaac123
5388  +0 ^                      ([ab]{1,4}c|xy){4,5}?
5389  +1 ^                      [ab]{1,4}
5390 +10 ^ ^                    c
5391 +11 ^  ^                   |
5392  +1 ^  ^                   [ab]{1,4}
5393 +10 ^    ^                 c
5394 +11 ^     ^                |
5395  +1 ^     ^                [ab]{1,4}
5396 +10 ^       ^              c
5397 +11 ^        ^             |
5398  +1 ^        ^             [ab]{1,4}
5399 +10 ^          ^           c
5400 +11 ^           ^          |
5401 +21 ^           ^          1
5402  +1 ^           ^          [ab]{1,4}
5403 +10 ^             ^        c
5404 +11 ^              ^       |
5405 +21 ^              ^       1
5406 +22 ^               ^      2
5407 +23 ^                ^     3
5408 +24 ^                 ^    
5409  0: aacaacaacaacaac123
5410  1: aac
5412 /\b.*/I
5413 Capturing subpattern count = 0
5414 No options
5415 No first char
5416 No need char
5417 Max lookbehind = 1
5418   ab cd\>1
5419  0:  cd
5421 /\b.*/Is
5422 Capturing subpattern count = 0
5423 Options: dotall
5424 No first char
5425 No need char
5426 Max lookbehind = 1
5427   ab cd\>1
5428  0:  cd
5430 /(?!.bcd).*/I
5431 Capturing subpattern count = 0
5432 No options
5433 No first char
5434 No need char
5435   Xbcd12345
5436  0: bcd12345
5438 /abcde/I
5439 Capturing subpattern count = 0
5440 No options
5441 First char = 'a'
5442 Need char = 'e'
5443     ab\P
5444 Partial match: ab
5445     abc\P
5446 Partial match: abc
5447     abcd\P
5448 Partial match: abcd
5449     abcde\P
5450  0: abcde
5451     the quick brown abc\P
5452 Partial match: abc
5453     ** Failers\P
5454 No match
5455     the quick brown abxyz fox\P
5456 No match
5458 "^(0?[1-9]|[12][0-9]|3[01])/(0?[1-9]|1[012])/(20)?\d\d$"I
5459 Capturing subpattern count = 3
5460 Options: anchored
5461 No first char
5462 Need char = '/'
5463     13/05/04\P
5464  0: 13/05/04
5465  1: 13
5466  2: 05
5467     13/5/2004\P
5468  0: 13/5/2004
5469  1: 13
5470  2: 5
5471  3: 20
5472     02/05/09\P
5473  0: 02/05/09
5474  1: 02
5475  2: 05
5476     1\P
5477 Partial match: 1
5478     1/2\P
5479 Partial match: 1/2
5480     1/2/0\P
5481 Partial match: 1/2/0
5482     1/2/04\P
5483  0: 1/2/04
5484  1: 1
5485  2: 2
5486     0\P
5487 Partial match: 0
5488     02/\P
5489 Partial match: 02/
5490     02/0\P
5491 Partial match: 02/0
5492     02/1\P
5493 Partial match: 02/1
5494     ** Failers\P
5495 No match
5496     \P
5497 No match
5498     123\P
5499 No match
5500     33/4/04\P
5501 No match
5502     3/13/04\P
5503 No match
5504     0/1/2003\P
5505 No match
5506     0/\P
5507 No match
5508     02/0/\P
5509 No match
5510     02/13\P
5511 No match
5513 /0{0,2}ABC/I
5514 Capturing subpattern count = 0
5515 No options
5516 No first char
5517 Need char = 'C'
5519 /\d{3,}ABC/I
5520 Capturing subpattern count = 0
5521 No options
5522 No first char
5523 Need char = 'C'
5525 /\d*ABC/I
5526 Capturing subpattern count = 0
5527 No options
5528 No first char
5529 Need char = 'C'
5531 /[abc]+DE/I
5532 Capturing subpattern count = 0
5533 No options
5534 No first char
5535 Need char = 'E'
5537 /[abc]?123/I
5538 Capturing subpattern count = 0
5539 No options
5540 No first char
5541 Need char = '3'
5542     123\P
5543  0: 123
5544     a\P
5545 Partial match: a
5546     b\P
5547 Partial match: b
5548     c\P
5549 Partial match: c
5550     c12\P
5551 Partial match: c12
5552     c123\P
5553  0: c123
5555 /^(?:\d){3,5}X/I
5556 Capturing subpattern count = 0
5557 Options: anchored
5558 No first char
5559 Need char = 'X'
5560     1\P
5561 Partial match: 1
5562     123\P
5563 Partial match: 123
5564     123X
5565  0: 123X
5566     1234\P
5567 Partial match: 1234
5568     1234X
5569  0: 1234X
5570     12345\P
5571 Partial match: 12345
5572     12345X
5573  0: 12345X
5574     *** Failers
5575 No match
5576     1X
5577 No match
5578     123456\P
5579 No match
5581 /abc/IS>testsavedregex
5582 Capturing subpattern count = 0
5583 No options
5584 First char = 'a'
5585 Need char = 'c'
5586 Subject length lower bound = 3
5587 No set of starting bytes
5588 Compiled pattern written to testsavedregex
5589 Study data written to testsavedregex
5590 <testsavedregex
5591 Compiled pattern loaded from testsavedregex
5592 Study data loaded from testsavedregex
5593     abc
5594  0: abc
5595     ** Failers
5596 No match
5597     bca
5598 No match
5600 /abc/ISS>testsavedregex
5601 Capturing subpattern count = 0
5602 No options
5603 First char = 'a'
5604 Need char = 'c'
5605 Compiled pattern written to testsavedregex
5606 <testsavedregex
5607 Compiled pattern loaded from testsavedregex
5608 No study data
5609     abc
5610  0: abc
5611     ** Failers
5612 No match
5613     bca
5614 No match
5616 /abc/IFS>testsavedregex
5617 Capturing subpattern count = 0
5618 No options
5619 First char = 'a'
5620 Need char = 'c'
5621 Subject length lower bound = 3
5622 No set of starting bytes
5623 Compiled pattern written to testsavedregex
5624 Study data written to testsavedregex
5625 <testsavedregex
5626 Compiled pattern (byte-inverted) loaded from testsavedregex
5627 Study data loaded from testsavedregex
5628     abc
5629  0: abc
5630     ** Failers
5631 No match
5632     bca
5633 No match
5635 /abc/IFSS>testsavedregex
5636 Capturing subpattern count = 0
5637 No options
5638 First char = 'a'
5639 Need char = 'c'
5640 Compiled pattern written to testsavedregex
5641 <testsavedregex
5642 Compiled pattern (byte-inverted) loaded from testsavedregex
5643 No study data
5644     abc
5645  0: abc
5646     ** Failers
5647 No match
5648     bca
5649 No match
5651 /(a|b)/IS>testsavedregex
5652 Capturing subpattern count = 1
5653 No options
5654 No first char
5655 No need char
5656 Subject length lower bound = 1
5657 Starting byte set: a b 
5658 Compiled pattern written to testsavedregex
5659 Study data written to testsavedregex
5660 <testsavedregex
5661 Compiled pattern loaded from testsavedregex
5662 Study data loaded from testsavedregex
5663     abc
5664  0: a
5665  1: a
5666     ** Failers
5667  0: a
5668  1: a
5669     def
5670 No match
5672 /(a|b)/ISS>testsavedregex
5673 Capturing subpattern count = 1
5674 No options
5675 No first char
5676 No need char
5677 Compiled pattern written to testsavedregex
5678 <testsavedregex
5679 Compiled pattern loaded from testsavedregex
5680 No study data
5681     abc
5682  0: a
5683  1: a
5684     ** Failers
5685  0: a
5686  1: a
5687     def
5688 No match
5690 /(a|b)/ISF>testsavedregex
5691 Capturing subpattern count = 1
5692 No options
5693 No first char
5694 No need char
5695 Subject length lower bound = 1
5696 Starting byte set: a b 
5697 Compiled pattern written to testsavedregex
5698 Study data written to testsavedregex
5699 <testsavedregex
5700 Compiled pattern (byte-inverted) loaded from testsavedregex
5701 Study data loaded from testsavedregex
5702     abc
5703  0: a
5704  1: a
5705     ** Failers
5706  0: a
5707  1: a
5708     def
5709 No match
5711 /(a|b)/ISSF>testsavedregex
5712 Capturing subpattern count = 1
5713 No options
5714 No first char
5715 No need char
5716 Compiled pattern written to testsavedregex
5717 <testsavedregex
5718 Compiled pattern (byte-inverted) loaded from testsavedregex
5719 No study data
5720     abc
5721  0: a
5722  1: a
5723     ** Failers
5724  0: a
5725  1: a
5726     def
5727 No match
5729 ~<(\w+)/?>(.)*</(\1)>~smgI
5730 Capturing subpattern count = 3
5731 Max back reference = 1
5732 Options: multiline dotall
5733 First char = '<'
5734 Need char = '>'
5735     \J1024<!DOCTYPE seite SYSTEM "http://www.lco.lineas.de/xmlCms.dtd">\n<seite>\n<dokumenteninformation>\n<seitentitel>Partner der LCO</seitentitel>\n<sprache>de</sprache>\n<seitenbeschreibung>Partner der LINEAS Consulting\nGmbH</seitenbeschreibung>\n<schluesselworte>LINEAS Consulting GmbH Hamburg\nPartnerfirmen</schluesselworte>\n<revisit>30 days</revisit>\n<robots>index,follow</robots>\n<menueinformation>\n<aktiv>ja</aktiv>\n<menueposition>3</menueposition>\n<menuetext>Partner</menuetext>\n</menueinformation>\n<lastedited>\n<autor>LCO</autor>\n<firma>LINEAS Consulting</firma>\n<datum>15.10.2003</datum>\n</lastedited>\n</dokumenteninformation>\n<inhalt>\n\n<absatzueberschrift>Die Partnerfirmen der LINEAS Consulting\nGmbH</absatzueberschrift>\n\n<absatz><link ziel="http://www.ca.com/" zielfenster="_blank">\n<bild name="logo_ca.gif" rahmen="no"/></link> <link\nziel="http://www.ey.com/" zielfenster="_blank"><bild\nname="logo_euy.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><link ziel="http://www.cisco.de/" zielfenster="_blank">\n<bild name="logo_cisco.gif" rahmen="ja"/></link></absatz>\n\n<absatz><link ziel="http://www.atelion.de/"\nzielfenster="_blank"><bild\nname="logo_atelion.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><link ziel="http://www.line-information.de/"\nzielfenster="_blank">\n<bild name="logo_line_information.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><bild name="logo_aw.gif" rahmen="no"/></absatz>\n\n<absatz><link ziel="http://www.incognis.de/"\nzielfenster="_blank"><bild\nname="logo_incognis.gif" rahmen="no"/></link></absatz>\n\n<absatz><link ziel="http://www.addcraft.com/"\nzielfenster="_blank"><bild\nname="logo_addcraft.gif" rahmen="no"/></link></absatz>\n\n<absatz><link ziel="http://www.comendo.com/"\nzielfenster="_blank"><bild\nname="logo_comendo.gif" rahmen="no"/></link></absatz>\n\n</inhalt>\n</seite>
5736  0: <seite>\x0a<dokumenteninformation>\x0a<seitentitel>Partner der LCO</seitentitel>\x0a<sprache>de</sprache>\x0a<seitenbeschreibung>Partner der LINEAS Consulting\x0aGmbH</seitenbeschreibung>\x0a<schluesselworte>LINEAS Consulting GmbH Hamburg\x0aPartnerfirmen</schluesselworte>\x0a<revisit>30 days</revisit>\x0a<robots>index,follow</robots>\x0a<menueinformation>\x0a<aktiv>ja</aktiv>\x0a<menueposition>3</menueposition>\x0a<menuetext>Partner</menuetext>\x0a</menueinformation>\x0a<lastedited>\x0a<autor>LCO</autor>\x0a<firma>LINEAS Consulting</firma>\x0a<datum>15.10.2003</datum>\x0a</lastedited>\x0a</dokumenteninformation>\x0a<inhalt>\x0a\x0a<absatzueberschrift>Die Partnerfirmen der LINEAS Consulting\x0aGmbH</absatzueberschrift>\x0a\x0a<absatz><link ziel="http://www.ca.com/" zielfenster="_blank">\x0a<bild name="logo_ca.gif" rahmen="no"/></link> <link\x0aziel="http://www.ey.com/" zielfenster="_blank"><bild\x0aname="logo_euy.gif" rahmen="no"/></link>\x0a</absatz>\x0a\x0a<absatz><link ziel="http://www.cisco.de/" zielfenster="_blank">\x0a<bild name="logo_cisco.gif" rahmen="ja"/></link></absatz>\x0a\x0a<absatz><link ziel="http://www.atelion.de/"\x0azielfenster="_blank"><bild\x0aname="logo_atelion.gif" rahmen="no"/></link>\x0a</absatz>\x0a\x0a<absatz><link ziel="http://www.line-information.de/"\x0azielfenster="_blank">\x0a<bild name="logo_line_information.gif" rahmen="no"/></link>\x0a</absatz>\x0a\x0a<absatz><bild name="logo_aw.gif" rahmen="no"/></absatz>\x0a\x0a<absatz><link ziel="http://www.incognis.de/"\x0azielfenster="_blank"><bild\x0aname="logo_incognis.gif" rahmen="no"/></link></absatz>\x0a\x0a<absatz><link ziel="http://www.addcraft.com/"\x0azielfenster="_blank"><bild\x0aname="logo_addcraft.gif" rahmen="no"/></link></absatz>\x0a\x0a<absatz><link ziel="http://www.comendo.com/"\x0azielfenster="_blank"><bild\x0aname="logo_comendo.gif" rahmen="no"/></link></absatz>\x0a\x0a</inhalt>\x0a</seite>
5737  1: seite
5738  2: \x0a
5739  3: seite
5741 /^a/IF
5742 Capturing subpattern count = 0
5743 Options: anchored
5744 No first char
5745 No need char
5747 /line\nbreak/I
5748 Capturing subpattern count = 0
5749 Contains explicit CR or LF match
5750 No options
5751 First char = 'l'
5752 Need char = 'k'
5753     this is a line\nbreak
5754  0: line\x0abreak
5755     line one\nthis is a line\nbreak in the second line
5756  0: line\x0abreak
5758 /line\nbreak/If
5759 Capturing subpattern count = 0
5760 Contains explicit CR or LF match
5761 Options: firstline
5762 First char = 'l'
5763 Need char = 'k'
5764     this is a line\nbreak
5765  0: line\x0abreak
5766     ** Failers
5767 No match
5768     line one\nthis is a line\nbreak in the second line
5769 No match
5771 /line\nbreak/Imf
5772 Capturing subpattern count = 0
5773 Contains explicit CR or LF match
5774 Options: multiline firstline
5775 First char = 'l'
5776 Need char = 'k'
5777     this is a line\nbreak
5778  0: line\x0abreak
5779     ** Failers
5780 No match
5781     line one\nthis is a line\nbreak in the second line
5782 No match
5784 /(?i)(?-i)AbCd/I
5785 Capturing subpattern count = 0
5786 No options
5787 First char = 'A'
5788 Need char = 'd'
5789     AbCd
5790  0: AbCd
5791     ** Failers
5792 No match
5793     abcd
5794 No match
5796 /a{11111111111111111111}/I
5797 Failed: number too big in {} quantifier at offset 22
5799 /(){64294967295}/I
5800 Failed: number too big in {} quantifier at offset 14
5802 /(){2,4294967295}/I
5803 Failed: number too big in {} quantifier at offset 15
5805 "(?i:a)(?i:b)(?i:c)(?i:d)(?i:e)(?i:f)(?i:g)(?i:h)(?i:i)(?i:j)(k)(?i:l)A\1B"I
5806 Capturing subpattern count = 1
5807 Max back reference = 1
5808 No options
5809 First char = 'a' (caseless)
5810 Need char = 'B'
5811     abcdefghijklAkB
5812  0: abcdefghijklAkB
5813  1: k
5815 "(?P<n0>a)(?P<n1>b)(?P<n2>c)(?P<n3>d)(?P<n4>e)(?P<n5>f)(?P<n6>g)(?P<n7>h)(?P<n8>i)(?P<n9>j)(?P<n10>k)(?P<n11>l)A\11B"I
5816 Capturing subpattern count = 12
5817 Max back reference = 11
5818 Named capturing subpatterns:
5819   n0    1
5820   n1    2
5821   n10  11
5822   n11  12
5823   n2    3
5824   n3    4
5825   n4    5
5826   n5    6
5827   n6    7
5828   n7    8
5829   n8    9
5830   n9   10
5831 No options
5832 First char = 'a'
5833 Need char = 'B'
5834     abcdefghijklAkB
5835  0: abcdefghijklAkB
5836  1: a
5837  2: b
5838  3: c
5839  4: d
5840  5: e
5841  6: f
5842  7: g
5843  8: h
5844  9: i
5845 10: j
5846 11: k
5847 12: l
5849 "(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)A\11B"I
5850 Capturing subpattern count = 12
5851 Max back reference = 11
5852 No options
5853 First char = 'a'
5854 Need char = 'B'
5855     abcdefghijklAkB
5856  0: abcdefghijklAkB
5857  1: a
5858  2: b
5859  3: c
5860  4: d
5861  5: e
5862  6: f
5863  7: g
5864  8: h
5865  9: i
5866 10: j
5867 11: k
5868 12: l
5870 "(?P<name0>a)(?P<name1>a)(?P<name2>a)(?P<name3>a)(?P<name4>a)(?P<name5>a)(?P<name6>a)(?P<name7>a)(?P<name8>a)(?P<name9>a)(?P<name10>a)(?P<name11>a)(?P<name12>a)(?P<name13>a)(?P<name14>a)(?P<name15>a)(?P<name16>a)(?P<name17>a)(?P<name18>a)(?P<name19>a)(?P<name20>a)(?P<name21>a)(?P<name22>a)(?P<name23>a)(?P<name24>a)(?P<name25>a)(?P<name26>a)(?P<name27>a)(?P<name28>a)(?P<name29>a)(?P<name30>a)(?P<name31>a)(?P<name32>a)(?P<name33>a)(?P<name34>a)(?P<name35>a)(?P<name36>a)(?P<name37>a)(?P<name38>a)(?P<name39>a)(?P<name40>a)(?P<name41>a)(?P<name42>a)(?P<name43>a)(?P<name44>a)(?P<name45>a)(?P<name46>a)(?P<name47>a)(?P<name48>a)(?P<name49>a)(?P<name50>a)(?P<name51>a)(?P<name52>a)(?P<name53>a)(?P<name54>a)(?P<name55>a)(?P<name56>a)(?P<name57>a)(?P<name58>a)(?P<name59>a)(?P<name60>a)(?P<name61>a)(?P<name62>a)(?P<name63>a)(?P<name64>a)(?P<name65>a)(?P<name66>a)(?P<name67>a)(?P<name68>a)(?P<name69>a)(?P<name70>a)(?P<name71>a)(?P<name72>a)(?P<name73>a)(?P<name74>a)(?P<name75>a)(?P<name76>a)(?P<name77>a)(?P<name78>a)(?P<name79>a)(?P<name80>a)(?P<name81>a)(?P<name82>a)(?P<name83>a)(?P<name84>a)(?P<name85>a)(?P<name86>a)(?P<name87>a)(?P<name88>a)(?P<name89>a)(?P<name90>a)(?P<name91>a)(?P<name92>a)(?P<name93>a)(?P<name94>a)(?P<name95>a)(?P<name96>a)(?P<name97>a)(?P<name98>a)(?P<name99>a)(?P<name100>a)"I
5871 Capturing subpattern count = 101
5872 Named capturing subpatterns:
5873   name0     1
5874   name1     2
5875   name10   11
5876   name100 101
5877   name11   12
5878   name12   13
5879   name13   14
5880   name14   15
5881   name15   16
5882   name16   17
5883   name17   18
5884   name18   19
5885   name19   20
5886   name2     3
5887   name20   21
5888   name21   22
5889   name22   23
5890   name23   24
5891   name24   25
5892   name25   26
5893   name26   27
5894   name27   28
5895   name28   29
5896   name29   30
5897   name3     4
5898   name30   31
5899   name31   32
5900   name32   33
5901   name33   34
5902   name34   35
5903   name35   36
5904   name36   37
5905   name37   38
5906   name38   39
5907   name39   40
5908   name4     5
5909   name40   41
5910   name41   42
5911   name42   43
5912   name43   44
5913   name44   45
5914   name45   46
5915   name46   47
5916   name47   48
5917   name48   49
5918   name49   50
5919   name5     6
5920   name50   51
5921   name51   52
5922   name52   53
5923   name53   54
5924   name54   55
5925   name55   56
5926   name56   57
5927   name57   58
5928   name58   59
5929   name59   60
5930   name6     7
5931   name60   61
5932   name61   62
5933   name62   63
5934   name63   64
5935   name64   65
5936   name65   66
5937   name66   67
5938   name67   68
5939   name68   69
5940   name69   70
5941   name7     8
5942   name70   71
5943   name71   72
5944   name72   73
5945   name73   74
5946   name74   75
5947   name75   76
5948   name76   77
5949   name77   78
5950   name78   79
5951   name79   80
5952   name8     9
5953   name80   81
5954   name81   82
5955   name82   83
5956   name83   84
5957   name84   85
5958   name85   86
5959   name86   87
5960   name87   88
5961   name88   89
5962   name89   90
5963   name9    10
5964   name90   91
5965   name91   92
5966   name92   93
5967   name93   94
5968   name94   95
5969   name95   96
5970   name96   97
5971   name97   98
5972   name98   99
5973   name99  100
5974 No options
5975 First char = 'a'
5976 Need char = 'a'
5977     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
5978 Matched, but too many substrings
5979  0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
5980  1: a
5981  2: a
5982  3: a
5983  4: a
5984  5: a
5985  6: a
5986  7: a
5987  8: a
5988  9: a
5989 10: a
5990 11: a
5991 12: a
5992 13: a
5993 14: a
5995 "(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)"I
5996 Capturing subpattern count = 101
5997 No options
5998 First char = 'a'
5999 Need char = 'a'
6000     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
6001 Matched, but too many substrings
6002  0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
6003  1: a
6004  2: a
6005  3: a
6006  4: a
6007  5: a
6008  6: a
6009  7: a
6010  8: a
6011  9: a
6012 10: a
6013 11: a
6014 12: a
6015 13: a
6016 14: a
6018 /[^()]*(?:\((?R)\)[^()]*)*/I
6019 Capturing subpattern count = 0
6020 No options
6021 No first char
6022 No need char
6023     (this(and)that
6024  0: 
6025     (this(and)that)
6026  0: (this(and)that)
6027     (this(and)that)stuff
6028  0: (this(and)that)stuff
6030 /[^()]*(?:\((?>(?R))\)[^()]*)*/I
6031 Capturing subpattern count = 0
6032 No options
6033 No first char
6034 No need char
6035     (this(and)that
6036  0: 
6037     (this(and)that)
6038  0: (this(and)that)
6040 /[^()]*(?:\((?R)\))*[^()]*/I
6041 Capturing subpattern count = 0
6042 No options
6043 No first char
6044 No need char
6045     (this(and)that
6046  0: 
6047     (this(and)that)
6048  0: (this(and)that)
6050 /(?:\((?R)\))*[^()]*/I
6051 Capturing subpattern count = 0
6052 No options
6053 No first char
6054 No need char
6055     (this(and)that
6056  0: 
6057     (this(and)that)
6058  0: 
6059     ((this))
6060  0: ((this))
6062 /(?:\((?R)\))|[^()]*/I
6063 Capturing subpattern count = 0
6064 No options
6065 No first char
6066 No need char
6067     (this(and)that
6068  0: 
6069     (this(and)that)
6070  0: 
6071     (this)
6072  0: (this)
6073     ((this))
6074  0: ((this))
6076 /\x{0000ff}/I
6077 Capturing subpattern count = 0
6078 No options
6079 First char = \xff
6080 No need char
6082 /^((?P<A>a1)|(?P<A>a2)b)/I
6083 Failed: two named subpatterns have the same name at offset 17
6085 /^((?P<A>a1)|(?P<A>a2)b)/IJ
6086 Capturing subpattern count = 3
6087 Named capturing subpatterns:
6088   A   2
6089   A   3
6090 Options: anchored dupnames
6091 No first char
6092 No need char
6093     a1b\CA
6094  0: a1
6095  1: a1
6096  2: a1
6097   C a1 (2) A
6098     a2b\CA
6099  0: a2b
6100  1: a2b
6101  2: <unset>
6102  3: a2
6103   C a2 (2) A
6104     ** Failers
6105 No match
6106     a1b\CZ\CA
6107 no parentheses with name "Z"
6108  0: a1
6109  1: a1
6110  2: a1
6111 copy substring Z failed -7
6112   C a1 (2) A
6114 /^(?P<A>a)(?P<A>b)/IJ
6115 Capturing subpattern count = 2
6116 Named capturing subpatterns:
6117   A   1
6118   A   2
6119 Options: anchored dupnames
6120 No first char
6121 No need char
6122     ab\CA
6123  0: ab
6124  1: a
6125  2: b
6126   C a (1) A
6128 /^(?P<A>a)(?P<A>b)|cd/IJ
6129 Capturing subpattern count = 2
6130 Named capturing subpatterns:
6131   A   1
6132   A   2
6133 Options: dupnames
6134 No first char
6135 No need char
6136     ab\CA
6137  0: ab
6138  1: a
6139  2: b
6140   C a (1) A
6141     cd\CA
6142  0: cd
6143 copy substring A failed -7
6145 /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ
6146 Capturing subpattern count = 4
6147 Named capturing subpatterns:
6148   A   1
6149   A   2
6150   A   3
6151   A   4
6152 Options: dupnames
6153 No first char
6154 No need char
6155     cdefgh\CA
6156  0: cdefgh
6157  1: <unset>
6158  2: <unset>
6159  3: ef
6160  4: gh
6161   C ef (2) A
6163 /^((?P<A>a1)|(?P<A>a2)b)/IJ
6164 Capturing subpattern count = 3
6165 Named capturing subpatterns:
6166   A   2
6167   A   3
6168 Options: anchored dupnames
6169 No first char
6170 No need char
6171     a1b\GA
6172  0: a1
6173  1: a1
6174  2: a1
6175   G a1 (2) A
6176     a2b\GA
6177  0: a2b
6178  1: a2b
6179  2: <unset>
6180  3: a2
6181   G a2 (2) A
6182     ** Failers
6183 No match
6184     a1b\GZ\GA
6185 no parentheses with name "Z"
6186  0: a1
6187  1: a1
6188  2: a1
6189 get substring Z failed -7
6190   G a1 (2) A
6192 /^(?P<A>a)(?P<A>b)/IJ
6193 Capturing subpattern count = 2
6194 Named capturing subpatterns:
6195   A   1
6196   A   2
6197 Options: anchored dupnames
6198 No first char
6199 No need char
6200     ab\GA
6201  0: ab
6202  1: a
6203  2: b
6204   G a (1) A
6206 /^(?P<A>a)(?P<A>b)|cd/IJ
6207 Capturing subpattern count = 2
6208 Named capturing subpatterns:
6209   A   1
6210   A   2
6211 Options: dupnames
6212 No first char
6213 No need char
6214     ab\GA
6215  0: ab
6216  1: a
6217  2: b
6218   G a (1) A
6219     cd\GA
6220  0: cd
6221 get substring A failed -7
6223 /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ
6224 Capturing subpattern count = 4
6225 Named capturing subpatterns:
6226   A   1
6227   A   2
6228   A   3
6229   A   4
6230 Options: dupnames
6231 No first char
6232 No need char
6233     cdefgh\GA
6234  0: cdefgh
6235  1: <unset>
6236  2: <unset>
6237  3: ef
6238  4: gh
6239   G ef (2) A
6241 /(?J)^((?P<A>a1)|(?P<A>a2)b)/I
6242 Capturing subpattern count = 3
6243 Named capturing subpatterns:
6244   A   2
6245   A   3
6246 Options: anchored dupnames
6247 Duplicate name status changes
6248 No first char
6249 No need char
6250     a1b\CA
6251  0: a1
6252  1: a1
6253  2: a1
6254   C a1 (2) A
6255     a2b\CA
6256  0: a2b
6257  1: a2b
6258  2: <unset>
6259  3: a2
6260   C a2 (2) A
6262 /^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<A>d)/I
6263 Failed: two named subpatterns have the same name at offset 37
6265 / In this next test, J is not set at the outer level; consequently it isn't
6266 set in the pattern's options; consequently pcre_get_named_substring() produces
6267 a random value. /Ix
6268 Capturing subpattern count = 1
6269 Options: extended
6270 First char = 'I'
6271 Need char = 'e'
6273 /^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<C>d)/I
6274 Capturing subpattern count = 4
6275 Named capturing subpatterns:
6276   A   1
6277   B   2
6278   B   3
6279   C   4
6280 Options: anchored
6281 Duplicate name status changes
6282 No first char
6283 No need char
6284     a bc d\CA\CB\CC
6285  0: a bc d
6286  1: a
6287  2: b
6288  3: c
6289  4: d
6290   C a (1) A
6291   C b (1) B
6292   C d (1) C
6294 /^(?P<A>a)?(?(A)a|b)/I
6295 Capturing subpattern count = 1
6296 Named capturing subpatterns:
6297   A   1
6298 Options: anchored
6299 No first char
6300 No need char
6301     aabc
6302  0: aa
6303  1: a
6304     bc
6305  0: b
6306     ** Failers
6307 No match
6308     abc
6309 No match
6311 /(?:(?(ZZ)a|b)(?P<ZZ>X))+/I
6312 Capturing subpattern count = 1
6313 Named capturing subpatterns:
6314   ZZ   1
6315 No options
6316 No first char
6317 Need char = 'X'
6318     bXaX
6319  0: bXaX
6320  1: X
6322 /(?:(?(2y)a|b)(X))+/I
6323 Failed: reference to non-existent subpattern at offset 9
6325 /(?:(?(ZA)a|b)(?P<ZZ>X))+/I
6326 Failed: reference to non-existent subpattern at offset 9
6328 /(?:(?(ZZ)a|b)(?(ZZ)a|b)(?P<ZZ>X))+/I
6329 Capturing subpattern count = 1
6330 Named capturing subpatterns:
6331   ZZ   1
6332 No options
6333 No first char
6334 Need char = 'X'
6335     bbXaaX
6336  0: bbXaaX
6337  1: X
6339 /(?:(?(ZZ)a|\(b\))\\(?P<ZZ>X))+/I
6340 Capturing subpattern count = 1
6341 Named capturing subpatterns:
6342   ZZ   1
6343 No options
6344 No first char
6345 Need char = 'X'
6346     (b)\\Xa\\X
6347  0: (b)\Xa\X
6348  1: X
6350 /(?P<ABC/I
6351 Failed: syntax error in subpattern name (missing terminator) at offset 7
6353 /(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/I
6354 Capturing subpattern count = 1
6355 Max back reference = 1
6356 Named capturing subpatterns:
6357   A   1
6358 No options
6359 No first char
6360 No need char
6361     bXXaYYaY
6362  0: bXXaYYaY
6363  1: Y
6364     bXYaXXaX
6365  0: bX
6366  1: X
6368 /()()()()()()()()()(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/I
6369 Capturing subpattern count = 10
6370 Max back reference = 10
6371 Named capturing subpatterns:
6372   A  10
6373 No options
6374 No first char
6375 No need char
6376     bXXaYYaY
6377  0: bXXaYYaY
6378  1: 
6379  2: 
6380  3: 
6381  4: 
6382  5: 
6383  6: 
6384  7: 
6385  8: 
6386  9: 
6387 10: Y
6389 /\s*,\s*/IS
6390 Capturing subpattern count = 0
6391 No options
6392 No first char
6393 Need char = ','
6394 Subject length lower bound = 1
6395 Starting byte set: \x09 \x0a \x0c \x0d \x20 , 
6396     \x0b,\x0b
6397  0: ,
6398     \x0c,\x0d
6399  0: \x0c,\x0d
6401 /^abc/Im
6402 Capturing subpattern count = 0
6403 Options: multiline
6404 First char at start or follows newline
6405 Need char = 'c'
6406     xyz\nabc
6407  0: abc
6408     xyz\nabc\<lf>
6409  0: abc
6410     xyz\r\nabc\<lf>
6411  0: abc
6412     xyz\rabc\<cr>
6413  0: abc
6414     xyz\r\nabc\<crlf>
6415  0: abc
6416     ** Failers
6417 No match
6418     xyz\nabc\<cr>
6419 No match
6420     xyz\r\nabc\<cr>
6421 No match
6422     xyz\nabc\<crlf>
6423 No match
6424     xyz\rabc\<crlf>
6425 No match
6426     xyz\rabc\<lf>
6427 No match
6429 /abc$/Im<lf>
6430 Capturing subpattern count = 0
6431 Options: multiline
6432 Forced newline sequence: LF
6433 First char = 'a'
6434 Need char = 'c'
6435     xyzabc
6436  0: abc
6437     xyzabc\n
6438  0: abc
6439     xyzabc\npqr
6440  0: abc
6441     xyzabc\r\<cr>
6442  0: abc
6443     xyzabc\rpqr\<cr>
6444  0: abc
6445     xyzabc\r\n\<crlf>
6446  0: abc
6447     xyzabc\r\npqr\<crlf>
6448  0: abc
6449     ** Failers
6450 No match
6451     xyzabc\r
6452 No match
6453     xyzabc\rpqr
6454 No match
6455     xyzabc\r\n
6456 No match
6457     xyzabc\r\npqr
6458 No match
6460 /^abc/Im<cr>
6461 Capturing subpattern count = 0
6462 Options: multiline
6463 Forced newline sequence: CR
6464 First char at start or follows newline
6465 Need char = 'c'
6466     xyz\rabcdef
6467  0: abc
6468     xyz\nabcdef\<lf>
6469  0: abc
6470     ** Failers
6471 No match
6472     xyz\nabcdef
6473 No match
6475 /^abc/Im<lf>
6476 Capturing subpattern count = 0
6477 Options: multiline
6478 Forced newline sequence: LF
6479 First char at start or follows newline
6480 Need char = 'c'
6481     xyz\nabcdef
6482  0: abc
6483     xyz\rabcdef\<cr>
6484  0: abc
6485     ** Failers
6486 No match
6487     xyz\rabcdef
6488 No match
6490 /^abc/Im<crlf>
6491 Capturing subpattern count = 0
6492 Options: multiline
6493 Forced newline sequence: CRLF
6494 First char at start or follows newline
6495 Need char = 'c'
6496     xyz\r\nabcdef
6497  0: abc
6498     xyz\rabcdef\<cr>
6499  0: abc
6500     ** Failers
6501 No match
6502     xyz\rabcdef
6503 No match
6505 /^abc/Im<bad>
6506 Unknown newline type at: <bad>
6509 /abc/I
6510 Capturing subpattern count = 0
6511 No options
6512 First char = 'a'
6513 Need char = 'c'
6514     xyz\rabc\<bad>
6515 Unknown newline type at: <bad>
6516     abc
6517  0: abc
6519 /.*/I<lf>
6520 Capturing subpattern count = 0
6521 Options:
6522 Forced newline sequence: LF
6523 First char at start or follows newline
6524 No need char
6525     abc\ndef
6526  0: abc
6527     abc\rdef
6528  0: abc\x0ddef
6529     abc\r\ndef
6530  0: abc\x0d
6531     \<cr>abc\ndef
6532  0: abc\x0adef
6533     \<cr>abc\rdef
6534  0: abc
6535     \<cr>abc\r\ndef
6536  0: abc
6537     \<crlf>abc\ndef
6538  0: abc\x0adef
6539     \<crlf>abc\rdef
6540  0: abc\x0ddef
6541     \<crlf>abc\r\ndef
6542  0: abc
6544 /\w+(.)(.)?def/Is
6545 Capturing subpattern count = 2
6546 Options: dotall
6547 No first char
6548 Need char = 'f'
6549     abc\ndef
6550  0: abc\x0adef
6551  1: \x0a
6552     abc\rdef
6553  0: abc\x0ddef
6554  1: \x0d
6555     abc\r\ndef
6556  0: abc\x0d\x0adef
6557  1: \x0d
6558  2: \x0a
6560 +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I
6561 Capturing subpattern count = 1
6562 No options
6563 No first char
6564 No need char
6565    /* this is a C style comment */\M
6566 Minimum match() limit = 120
6567 Minimum match() recursion limit = 6
6568  0: /* this is a C style comment */
6569  1: /* this is a C style comment */
6571 /(?P<B>25[0-5]|2[0-4]\d|[01]?\d?\d)(?:\.(?P>B)){3}/I
6572 Capturing subpattern count = 1
6573 Named capturing subpatterns:
6574   B   1
6575 No options
6576 No first char
6577 Need char = '.'
6579 /()()()()()()()()()()()()()()()()()()()()
6580  ()()()()()()()()()()()()()()()()()()()()
6581  ()()()()()()()()()()()()()()()()()()()()
6582  ()()()()()()()()()()()()()()()()()()()()
6583  ()()()()()()()()()()()()()()()()()()()()
6584  (.(.))/Ix
6585 Capturing subpattern count = 102
6586 Options: extended
6587 No first char
6588 No need char
6589     XY\O400
6590  0: XY
6591  1: 
6592  2: 
6593  3: 
6594  4: 
6595  5: 
6596  6: 
6597  7: 
6598  8: 
6599  9: 
6600 10: 
6601 11: 
6602 12: 
6603 13: 
6604 14: 
6605 15: 
6606 16: 
6607 17: 
6608 18: 
6609 19: 
6610 20: 
6611 21: 
6612 22: 
6613 23: 
6614 24: 
6615 25: 
6616 26: 
6617 27: 
6618 28: 
6619 29: 
6620 30: 
6621 31: 
6622 32: 
6623 33: 
6624 34: 
6625 35: 
6626 36: 
6627 37: 
6628 38: 
6629 39: 
6630 40: 
6631 41: 
6632 42: 
6633 43: 
6634 44: 
6635 45: 
6636 46: 
6637 47: 
6638 48: 
6639 49: 
6640 50: 
6641 51: 
6642 52: 
6643 53: 
6644 54: 
6645 55: 
6646 56: 
6647 57: 
6648 58: 
6649 59: 
6650 60: 
6651 61: 
6652 62: 
6653 63: 
6654 64: 
6655 65: 
6656 66: 
6657 67: 
6658 68: 
6659 69: 
6660 70: 
6661 71: 
6662 72: 
6663 73: 
6664 74: 
6665 75: 
6666 76: 
6667 77: 
6668 78: 
6669 79: 
6670 80: 
6671 81: 
6672 82: 
6673 83: 
6674 84: 
6675 85: 
6676 86: 
6677 87: 
6678 88: 
6679 89: 
6680 90: 
6681 91: 
6682 92: 
6683 93: 
6684 94: 
6685 95: 
6686 96: 
6687 97: 
6688 98: 
6689 99: 
6690 100: 
6691 101: XY
6692 102: Y
6694 /(a*b|(?i:c*(?-i)d))/IS
6695 Capturing subpattern count = 1
6696 No options
6697 No first char
6698 No need char
6699 Subject length lower bound = 1
6700 Starting byte set: C a b c d 
6702 /()[ab]xyz/IS
6703 Capturing subpattern count = 1
6704 No options
6705 No first char
6706 Need char = 'z'
6707 Subject length lower bound = 4
6708 Starting byte set: a b 
6710 /(|)[ab]xyz/IS
6711 Capturing subpattern count = 1
6712 No options
6713 No first char
6714 Need char = 'z'
6715 Subject length lower bound = 4
6716 Starting byte set: a b 
6718 /(|c)[ab]xyz/IS
6719 Capturing subpattern count = 1
6720 No options
6721 No first char
6722 Need char = 'z'
6723 Subject length lower bound = 4
6724 Starting byte set: a b c 
6726 /(|c?)[ab]xyz/IS
6727 Capturing subpattern count = 1
6728 No options
6729 No first char
6730 Need char = 'z'
6731 Subject length lower bound = 4
6732 Starting byte set: a b c 
6734 /(d?|c?)[ab]xyz/IS
6735 Capturing subpattern count = 1
6736 No options
6737 No first char
6738 Need char = 'z'
6739 Subject length lower bound = 4
6740 Starting byte set: a b c d 
6742 /(d?|c)[ab]xyz/IS
6743 Capturing subpattern count = 1
6744 No options
6745 No first char
6746 Need char = 'z'
6747 Subject length lower bound = 4
6748 Starting byte set: a b c d 
6750 /^a*b\d/DZ
6751 ------------------------------------------------------------------
6752         Bra
6753         ^
6754         a*+
6755         b
6756         \d
6757         Ket
6758         End
6759 ------------------------------------------------------------------
6760 Capturing subpattern count = 0
6761 Options: anchored
6762 No first char
6763 Need char = 'b'
6765 /^a*+b\d/DZ
6766 ------------------------------------------------------------------
6767         Bra
6768         ^
6769         a*+
6770         b
6771         \d
6772         Ket
6773         End
6774 ------------------------------------------------------------------
6775 Capturing subpattern count = 0
6776 Options: anchored
6777 No first char
6778 Need char = 'b'
6780 /^a*?b\d/DZ
6781 ------------------------------------------------------------------
6782         Bra
6783         ^
6784         a*+
6785         b
6786         \d
6787         Ket
6788         End
6789 ------------------------------------------------------------------
6790 Capturing subpattern count = 0
6791 Options: anchored
6792 No first char
6793 Need char = 'b'
6795 /^a+A\d/DZ
6796 ------------------------------------------------------------------
6797         Bra
6798         ^
6799         a++
6800         A
6801         \d
6802         Ket
6803         End
6804 ------------------------------------------------------------------
6805 Capturing subpattern count = 0
6806 Options: anchored
6807 No first char
6808 Need char = 'A'
6809     aaaA5
6810  0: aaaA5
6811     ** Failers
6812 No match
6813     aaaa5
6814 No match
6816 /^a*A\d/IiDZ
6817 ------------------------------------------------------------------
6818         Bra
6819         ^
6820      /i a*
6821      /i A
6822         \d
6823         Ket
6824         End
6825 ------------------------------------------------------------------
6826 Capturing subpattern count = 0
6827 Options: anchored caseless
6828 No first char
6829 Need char = 'A' (caseless)
6830     aaaA5
6831  0: aaaA5
6832     aaaa5
6833  0: aaaa5
6835 /(a*|b*)[cd]/IS
6836 Capturing subpattern count = 1
6837 No options
6838 No first char
6839 No need char
6840 Subject length lower bound = 1
6841 Starting byte set: a b c d 
6843 /(a+|b*)[cd]/IS
6844 Capturing subpattern count = 1
6845 No options
6846 No first char
6847 No need char
6848 Subject length lower bound = 1
6849 Starting byte set: a b c d 
6851 /(a*|b+)[cd]/IS
6852 Capturing subpattern count = 1
6853 No options
6854 No first char
6855 No need char
6856 Subject length lower bound = 1
6857 Starting byte set: a b c d 
6859 /(a+|b+)[cd]/IS
6860 Capturing subpattern count = 1
6861 No options
6862 No first char
6863 No need char
6864 Subject length lower bound = 2
6865 Starting byte set: a b 
6867 /((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
6868  ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
6869  (((
6871  ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
6872  ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
6873  )))
6875 Capturing subpattern count = 203
6876 Options: extended
6877 First char = 'a'
6878 No need char
6879   large nest
6880 Matched, but too many substrings
6881  0: a
6882  1: a
6883  2: a
6884  3: a
6885  4: a
6886  5: a
6887  6: a
6888  7: a
6889  8: a
6890  9: a
6891 10: a
6892 11: a
6893 12: a
6894 13: a
6895 14: a
6897 /a*\d/BZ
6898 ------------------------------------------------------------------
6899         Bra
6900         a*+
6901         \d
6902         Ket
6903         End
6904 ------------------------------------------------------------------
6906 /a*\D/BZ
6907 ------------------------------------------------------------------
6908         Bra
6909         a*
6910         \D
6911         Ket
6912         End
6913 ------------------------------------------------------------------
6915 /0*\d/BZ
6916 ------------------------------------------------------------------
6917         Bra
6918         0*
6919         \d
6920         Ket
6921         End
6922 ------------------------------------------------------------------
6924 /0*\D/BZ
6925 ------------------------------------------------------------------
6926         Bra
6927         0*+
6928         \D
6929         Ket
6930         End
6931 ------------------------------------------------------------------
6933 /a*\s/BZ
6934 ------------------------------------------------------------------
6935         Bra
6936         a*+
6937         \s
6938         Ket
6939         End
6940 ------------------------------------------------------------------
6942 /a*\S/BZ
6943 ------------------------------------------------------------------
6944         Bra
6945         a*
6946         \S
6947         Ket
6948         End
6949 ------------------------------------------------------------------
6951 / *\s/BZ
6952 ------------------------------------------------------------------
6953         Bra
6954          *
6955         \s
6956         Ket
6957         End
6958 ------------------------------------------------------------------
6960 / *\S/BZ
6961 ------------------------------------------------------------------
6962         Bra
6963          *+
6964         \S
6965         Ket
6966         End
6967 ------------------------------------------------------------------
6969 /a*\w/BZ
6970 ------------------------------------------------------------------
6971         Bra
6972         a*
6973         \w
6974         Ket
6975         End
6976 ------------------------------------------------------------------
6978 /a*\W/BZ
6979 ------------------------------------------------------------------
6980         Bra
6981         a*+
6982         \W
6983         Ket
6984         End
6985 ------------------------------------------------------------------
6987 /=*\w/BZ
6988 ------------------------------------------------------------------
6989         Bra
6990         =*+
6991         \w
6992         Ket
6993         End
6994 ------------------------------------------------------------------
6996 /=*\W/BZ
6997 ------------------------------------------------------------------
6998         Bra
6999         =*
7000         \W
7001         Ket
7002         End
7003 ------------------------------------------------------------------
7005 /\d*a/BZ
7006 ------------------------------------------------------------------
7007         Bra
7008         \d*+
7009         a
7010         Ket
7011         End
7012 ------------------------------------------------------------------
7014 /\d*2/BZ
7015 ------------------------------------------------------------------
7016         Bra
7017         \d*
7018         2
7019         Ket
7020         End
7021 ------------------------------------------------------------------
7023 /\d*\d/BZ
7024 ------------------------------------------------------------------
7025         Bra
7026         \d*
7027         \d
7028         Ket
7029         End
7030 ------------------------------------------------------------------
7032 /\d*\D/BZ
7033 ------------------------------------------------------------------
7034         Bra
7035         \d*+
7036         \D
7037         Ket
7038         End
7039 ------------------------------------------------------------------
7041 /\d*\s/BZ
7042 ------------------------------------------------------------------
7043         Bra
7044         \d*+
7045         \s
7046         Ket
7047         End
7048 ------------------------------------------------------------------
7050 /\d*\S/BZ
7051 ------------------------------------------------------------------
7052         Bra
7053         \d*
7054         \S
7055         Ket
7056         End
7057 ------------------------------------------------------------------
7059 /\d*\w/BZ
7060 ------------------------------------------------------------------
7061         Bra
7062         \d*
7063         \w
7064         Ket
7065         End
7066 ------------------------------------------------------------------
7068 /\d*\W/BZ
7069 ------------------------------------------------------------------
7070         Bra
7071         \d*+
7072         \W
7073         Ket
7074         End
7075 ------------------------------------------------------------------
7077 /\D*a/BZ
7078 ------------------------------------------------------------------
7079         Bra
7080         \D*
7081         a
7082         Ket
7083         End
7084 ------------------------------------------------------------------
7086 /\D*2/BZ
7087 ------------------------------------------------------------------
7088         Bra
7089         \D*+
7090         2
7091         Ket
7092         End
7093 ------------------------------------------------------------------
7095 /\D*\d/BZ
7096 ------------------------------------------------------------------
7097         Bra
7098         \D*+
7099         \d
7100         Ket
7101         End
7102 ------------------------------------------------------------------
7104 /\D*\D/BZ
7105 ------------------------------------------------------------------
7106         Bra
7107         \D*
7108         \D
7109         Ket
7110         End
7111 ------------------------------------------------------------------
7113 /\D*\s/BZ
7114 ------------------------------------------------------------------
7115         Bra
7116         \D*
7117         \s
7118         Ket
7119         End
7120 ------------------------------------------------------------------
7122 /\D*\S/BZ
7123 ------------------------------------------------------------------
7124         Bra
7125         \D*
7126         \S
7127         Ket
7128         End
7129 ------------------------------------------------------------------
7131 /\D*\w/BZ
7132 ------------------------------------------------------------------
7133         Bra
7134         \D*
7135         \w
7136         Ket
7137         End
7138 ------------------------------------------------------------------
7140 /\D*\W/BZ
7141 ------------------------------------------------------------------
7142         Bra
7143         \D*
7144         \W
7145         Ket
7146         End
7147 ------------------------------------------------------------------
7149 /\s*a/BZ
7150 ------------------------------------------------------------------
7151         Bra
7152         \s*+
7153         a
7154         Ket
7155         End
7156 ------------------------------------------------------------------
7158 /\s*2/BZ
7159 ------------------------------------------------------------------
7160         Bra
7161         \s*+
7162         2
7163         Ket
7164         End
7165 ------------------------------------------------------------------
7167 /\s*\d/BZ
7168 ------------------------------------------------------------------
7169         Bra
7170         \s*+
7171         \d
7172         Ket
7173         End
7174 ------------------------------------------------------------------
7176 /\s*\D/BZ
7177 ------------------------------------------------------------------
7178         Bra
7179         \s*
7180         \D
7181         Ket
7182         End
7183 ------------------------------------------------------------------
7185 /\s*\s/BZ
7186 ------------------------------------------------------------------
7187         Bra
7188         \s*
7189         \s
7190         Ket
7191         End
7192 ------------------------------------------------------------------
7194 /\s*\S/BZ
7195 ------------------------------------------------------------------
7196         Bra
7197         \s*+
7198         \S
7199         Ket
7200         End
7201 ------------------------------------------------------------------
7203 /\s*\w/BZ
7204 ------------------------------------------------------------------
7205         Bra
7206         \s*+
7207         \w
7208         Ket
7209         End
7210 ------------------------------------------------------------------
7212 /\s*\W/BZ
7213 ------------------------------------------------------------------
7214         Bra
7215         \s*
7216         \W
7217         Ket
7218         End
7219 ------------------------------------------------------------------
7221 /\S*a/BZ
7222 ------------------------------------------------------------------
7223         Bra
7224         \S*
7225         a
7226         Ket
7227         End
7228 ------------------------------------------------------------------
7230 /\S*2/BZ
7231 ------------------------------------------------------------------
7232         Bra
7233         \S*
7234         2
7235         Ket
7236         End
7237 ------------------------------------------------------------------
7239 /\S*\d/BZ
7240 ------------------------------------------------------------------
7241         Bra
7242         \S*
7243         \d
7244         Ket
7245         End
7246 ------------------------------------------------------------------
7248 /\S*\D/BZ
7249 ------------------------------------------------------------------
7250         Bra
7251         \S*
7252         \D
7253         Ket
7254         End
7255 ------------------------------------------------------------------
7257 /\S*\s/BZ
7258 ------------------------------------------------------------------
7259         Bra
7260         \S*+
7261         \s
7262         Ket
7263         End
7264 ------------------------------------------------------------------
7266 /\S*\S/BZ
7267 ------------------------------------------------------------------
7268         Bra
7269         \S*
7270         \S
7271         Ket
7272         End
7273 ------------------------------------------------------------------
7275 /\S*\w/BZ
7276 ------------------------------------------------------------------
7277         Bra
7278         \S*
7279         \w
7280         Ket
7281         End
7282 ------------------------------------------------------------------
7284 /\S*\W/BZ
7285 ------------------------------------------------------------------
7286         Bra
7287         \S*
7288         \W
7289         Ket
7290         End
7291 ------------------------------------------------------------------
7293 /\w*a/BZ
7294 ------------------------------------------------------------------
7295         Bra
7296         \w*
7297         a
7298         Ket
7299         End
7300 ------------------------------------------------------------------
7302 /\w*2/BZ
7303 ------------------------------------------------------------------
7304         Bra
7305         \w*
7306         2
7307         Ket
7308         End
7309 ------------------------------------------------------------------
7311 /\w*\d/BZ
7312 ------------------------------------------------------------------
7313         Bra
7314         \w*
7315         \d
7316         Ket
7317         End
7318 ------------------------------------------------------------------
7320 /\w*\D/BZ
7321 ------------------------------------------------------------------
7322         Bra
7323         \w*
7324         \D
7325         Ket
7326         End
7327 ------------------------------------------------------------------
7329 /\w*\s/BZ
7330 ------------------------------------------------------------------
7331         Bra
7332         \w*+
7333         \s
7334         Ket
7335         End
7336 ------------------------------------------------------------------
7338 /\w*\S/BZ
7339 ------------------------------------------------------------------
7340         Bra
7341         \w*
7342         \S
7343         Ket
7344         End
7345 ------------------------------------------------------------------
7347 /\w*\w/BZ
7348 ------------------------------------------------------------------
7349         Bra
7350         \w*
7351         \w
7352         Ket
7353         End
7354 ------------------------------------------------------------------
7356 /\w*\W/BZ
7357 ------------------------------------------------------------------
7358         Bra
7359         \w*+
7360         \W
7361         Ket
7362         End
7363 ------------------------------------------------------------------
7365 /\W*a/BZ
7366 ------------------------------------------------------------------
7367         Bra
7368         \W*+
7369         a
7370         Ket
7371         End
7372 ------------------------------------------------------------------
7374 /\W*2/BZ
7375 ------------------------------------------------------------------
7376         Bra
7377         \W*+
7378         2
7379         Ket
7380         End
7381 ------------------------------------------------------------------
7383 /\W*\d/BZ
7384 ------------------------------------------------------------------
7385         Bra
7386         \W*+
7387         \d
7388         Ket
7389         End
7390 ------------------------------------------------------------------
7392 /\W*\D/BZ
7393 ------------------------------------------------------------------
7394         Bra
7395         \W*
7396         \D
7397         Ket
7398         End
7399 ------------------------------------------------------------------
7401 /\W*\s/BZ
7402 ------------------------------------------------------------------
7403         Bra
7404         \W*
7405         \s
7406         Ket
7407         End
7408 ------------------------------------------------------------------
7410 /\W*\S/BZ
7411 ------------------------------------------------------------------
7412         Bra
7413         \W*
7414         \S
7415         Ket
7416         End
7417 ------------------------------------------------------------------
7419 /\W*\w/BZ
7420 ------------------------------------------------------------------
7421         Bra
7422         \W*+
7423         \w
7424         Ket
7425         End
7426 ------------------------------------------------------------------
7428 /\W*\W/BZ
7429 ------------------------------------------------------------------
7430         Bra
7431         \W*
7432         \W
7433         Ket
7434         End
7435 ------------------------------------------------------------------
7437 /[^a]+a/BZ
7438 ------------------------------------------------------------------
7439         Bra
7440         [^a]++
7441         a
7442         Ket
7443         End
7444 ------------------------------------------------------------------
7446 /[^a]+a/BZi
7447 ------------------------------------------------------------------
7448         Bra
7449      /i [^a]++
7450      /i a
7451         Ket
7452         End
7453 ------------------------------------------------------------------
7455 /[^a]+A/BZi
7456 ------------------------------------------------------------------
7457         Bra
7458      /i [^a]++
7459      /i A
7460         Ket
7461         End
7462 ------------------------------------------------------------------
7464 /[^a]+b/BZ
7465 ------------------------------------------------------------------
7466         Bra
7467         [^a]+
7468         b
7469         Ket
7470         End
7471 ------------------------------------------------------------------
7473 /[^a]+\d/BZ
7474 ------------------------------------------------------------------
7475         Bra
7476         [^a]+
7477         \d
7478         Ket
7479         End
7480 ------------------------------------------------------------------
7482 /a*[^a]/BZ
7483 ------------------------------------------------------------------
7484         Bra
7485         a*
7486         [^a]
7487         Ket
7488         End
7489 ------------------------------------------------------------------
7491 /(?P<abc>x)(?P<xyz>y)/I
7492 Capturing subpattern count = 2
7493 Named capturing subpatterns:
7494   abc   1
7495   xyz   2
7496 No options
7497 First char = 'x'
7498 Need char = 'y'
7499     xy\Cabc\Cxyz
7500  0: xy
7501  1: x
7502  2: y
7503   C x (1) abc
7504   C y (1) xyz
7506 /(?<abc>x)(?'xyz'y)/I
7507 Capturing subpattern count = 2
7508 Named capturing subpatterns:
7509   abc   1
7510   xyz   2
7511 No options
7512 First char = 'x'
7513 Need char = 'y'
7514     xy\Cabc\Cxyz
7515  0: xy
7516  1: x
7517  2: y
7518   C x (1) abc
7519   C y (1) xyz
7521 /(?<abc'x)(?'xyz'y)/I
7522 Failed: syntax error in subpattern name (missing terminator) at offset 6
7524 /(?<abc>x)(?'xyz>y)/I
7525 Failed: syntax error in subpattern name (missing terminator) at offset 15
7527 /(?P'abc'x)(?P<xyz>y)/I
7528 Failed: unrecognized character after (?P at offset 3
7530 /^(?:(?(ZZ)a|b)(?<ZZ>X))+/
7531     bXaX
7532  0: bXaX
7533  1: X
7534     bXbX
7535  0: bX
7536  1: X
7537     ** Failers
7538 No match
7539     aXaX
7540 No match
7541     aXbX
7542 No match
7544 /^(?P>abc)(?<abcd>xxx)/
7545 Failed: reference to non-existent subpattern at offset 8
7547 /^(?P>abc)(?<abc>x|y)/
7548     xx
7549  0: xx
7550  1: x
7551     xy
7552  0: xy
7553  1: y
7554     yy
7555  0: yy
7556  1: y
7557     yx
7558  0: yx
7559  1: x
7561 /^(?P>abc)(?P<abc>x|y)/
7562     xx
7563  0: xx
7564  1: x
7565     xy
7566  0: xy
7567  1: y
7568     yy
7569  0: yy
7570  1: y
7571     yx
7572  0: yx
7573  1: x
7575 /^((?(abc)a|b)(?<abc>x|y))+/
7576     bxay
7577  0: bxay
7578  1: ay
7579  2: y
7580     bxby
7581  0: bx
7582  1: bx
7583  2: x
7584     ** Failers
7585 No match
7586     axby
7587 No match
7589 /^(((?P=abc)|X)(?<abc>x|y))+/
7590     XxXxxx
7591  0: XxXxxx
7592  1: xx
7593  2: x
7594  3: x
7595     XxXyyx
7596  0: XxXyyx
7597  1: yx
7598  2: y
7599  3: x
7600     XxXyxx
7601  0: XxXy
7602  1: Xy
7603  2: X
7604  3: y
7605     ** Failers
7606 No match
7607     x
7608 No match
7610 /^(?1)(abc)/
7611     abcabc
7612  0: abcabc
7613  1: abc
7615 /^(?:(?:\1|X)(a|b))+/
7616     Xaaa
7617  0: Xaaa
7618  1: a
7619     Xaba
7620  0: Xa
7621  1: a
7623 /^[\E\Qa\E-\Qz\E]+/BZ
7624 ------------------------------------------------------------------
7625         Bra
7626         ^
7627         [a-z]+
7628         Ket
7629         End
7630 ------------------------------------------------------------------
7632 /^[a\Q]bc\E]/BZ
7633 ------------------------------------------------------------------
7634         Bra
7635         ^
7636         [\]a-c]
7637         Ket
7638         End
7639 ------------------------------------------------------------------
7641 /^[a-\Q\E]/BZ
7642 ------------------------------------------------------------------
7643         Bra
7644         ^
7645         [\-a]
7646         Ket
7647         End
7648 ------------------------------------------------------------------
7650 /^(?P>abc)[()](?<abc>)/BZ
7651 ------------------------------------------------------------------
7652         Bra
7653         ^
7654         Recurse
7655         [()]
7656         CBra 1
7657         Ket
7658         Ket
7659         End
7660 ------------------------------------------------------------------
7662 /^((?(abc)y)[()](?P<abc>x))+/BZ
7663 ------------------------------------------------------------------
7664         Bra
7665         ^
7666         CBra 1
7667         Cond
7668       2 Cond nref
7669         y
7670         Ket
7671         [()]
7672         CBra 2
7673         x
7674         Ket
7675         KetRmax
7676         Ket
7677         End
7678 ------------------------------------------------------------------
7679     (xy)x
7680  0: (xy)x
7681  1: y)x
7682  2: x
7684 /^(?P>abc)\Q()\E(?<abc>)/BZ
7685 ------------------------------------------------------------------
7686         Bra
7687         ^
7688         Recurse
7689         ()
7690         CBra 1
7691         Ket
7692         Ket
7693         End
7694 ------------------------------------------------------------------
7696 /^(?P>abc)[a\Q(]\E(](?<abc>)/BZ
7697 ------------------------------------------------------------------
7698         Bra
7699         ^
7700         Recurse
7701         [(\]a]
7702         CBra 1
7703         Ket
7704         Ket
7705         End
7706 ------------------------------------------------------------------
7708 /^(?P>abc) # this is (a comment)
7709   (?<abc>)/BZx
7710 ------------------------------------------------------------------
7711         Bra
7712         ^
7713         Recurse
7714         CBra 1
7715         Ket
7716         Ket
7717         End
7718 ------------------------------------------------------------------
7720 /^\W*(?:(?<one>(?<two>.)\W*(?&one)\W*\k<two>|)|(?<three>(?<four>.)\W*(?&three)\W*\k'four'|\W*.\W*))\W*$/Ii
7721 Capturing subpattern count = 4
7722 Max back reference = 4
7723 Named capturing subpatterns:
7724   four    4
7725   one     1
7726   three   3
7727   two     2
7728 Options: anchored caseless
7729 No first char
7730 No need char
7731     1221
7732  0: 1221
7733  1: 1221
7734  2: 1
7735     Satan, oscillate my metallic sonatas!
7736  0: Satan, oscillate my metallic sonatas!
7737  1: <unset>
7738  2: <unset>
7739  3: Satan, oscillate my metallic sonatas
7740  4: S
7741     A man, a plan, a canal: Panama!
7742  0: A man, a plan, a canal: Panama!
7743  1: <unset>
7744  2: <unset>
7745  3: A man, a plan, a canal: Panama
7746  4: A
7747     Able was I ere I saw Elba.
7748  0: Able was I ere I saw Elba.
7749  1: <unset>
7750  2: <unset>
7751  3: Able was I ere I saw Elba
7752  4: A
7753     *** Failers
7754 No match
7755     The quick brown fox
7756 No match
7758 /(?=(\w+))\1:/I
7759 Capturing subpattern count = 1
7760 Max back reference = 1
7761 No options
7762 No first char
7763 Need char = ':'
7764     abcd:
7765  0: abcd:
7766  1: abcd
7768 /(?=(?'abc'\w+))\k<abc>:/I
7769 Capturing subpattern count = 1
7770 Max back reference = 1
7771 Named capturing subpatterns:
7772   abc   1
7773 No options
7774 No first char
7775 Need char = ':'
7776     abcd:
7777  0: abcd:
7778  1: abcd
7780 /(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J
7781     adaa
7782  0: adaa
7783  1: a
7784  2: d
7785     ** Failers
7786 No match
7787     addd
7788 No match
7789     adbb
7790 No match
7792 /(?'abc'a|b)(?<abc>d|e)(?&abc){2}/J
7793     bdaa
7794  0: bdaa
7795  1: b
7796  2: d
7797     bdab
7798  0: bdab
7799  1: b
7800  2: d
7801     ** Failers
7802 No match
7803     bddd
7804 No match
7806 /(?(<bc))/
7807 Failed: malformed number or name after (?( at offset 6
7809 /(?(''))/
7810 Failed: assertion expected after (?( at offset 4
7812 /(?('R')stuff)/
7813 Failed: reference to non-existent subpattern at offset 7
7815 /((abc (?(R) (?(R1)1) (?(R2)2) X  |  (?1)  (?2)   (?R) ))) /x
7816     abcabc1Xabc2XabcXabcabc
7817  0: abcabc1Xabc2XabcX
7818  1: abcabc1Xabc2XabcX
7819  2: abcabc1Xabc2XabcX
7821 /(?<A> (?'B' abc (?(R) (?(R&A)1) (?(R&B)2) X  |  (?1)  (?2)   (?R) ))) /x
7822     abcabc1Xabc2XabcXabcabc
7823  0: abcabc1Xabc2XabcX
7824  1: abcabc1Xabc2XabcX
7825  2: abcabc1Xabc2XabcX
7827 /(?<A> (?'B' abc (?(R) (?(R&1)1) (?(R&B)2) X  |  (?1)  (?2)   (?R) ))) /x
7828 Failed: reference to non-existent subpattern at offset 29
7830 /(?<1> (?'B' abc (?(R) (?(R&1)1) (?(R&B)2) X  |  (?1)  (?2)   (?R) ))) /x
7831     abcabc1Xabc2XabcXabcabc
7832  0: abcabc1Xabc2XabcX
7833  1: abcabc1Xabc2XabcX
7834  2: abcabc1Xabc2XabcX
7836 /^(?(DEFINE) abc | xyz ) /x
7837 Failed: DEFINE group contains more than one branch at offset 22
7839 /(?(DEFINE) abc) xyz/xI
7840 Capturing subpattern count = 0
7841 Options: extended
7842 First char = 'x'
7843 Need char = 'z'
7845 /(a|)*\d/
7846   \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
7847 No match
7848   \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
7849 Matched, but too many substrings
7851 /^a.b/<lf>
7852     a\rb
7853  0: a\x0db
7854     a\nb\<cr>
7855  0: a\x0ab
7856     a\x85b\<anycrlf> 
7857  0: a\x85b
7858     ** Failers
7859 No match
7860     a\nb
7861 No match
7862     a\nb\<any>
7863 No match
7864     a\rb\<cr>
7865 No match
7866     a\rb\<any>
7867 No match
7868     a\x85b\<any> 
7869 No match
7870     a\rb\<anycrlf>
7871 No match
7873 /^abc./mgx<any>
7874     abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x85abc7 JUNK
7875  0: abc1
7876  0: abc2
7877  0: abc3
7878  0: abc4
7879  0: abc5
7880  0: abc6
7881  0: abc7
7883 /abc.$/mgx<any>
7884     abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc7 abc9
7885  0: abc1
7886  0: abc2
7887  0: abc3
7888  0: abc4
7889  0: abc5
7890  0: abc6
7891  0: abc9
7893 /a/<cr><any>
7895 /a/<any><crlf>
7896 Failed: inconsistent NEWLINE options at offset 0
7898 /^a\Rb/<bsr_unicode>
7899     a\nb
7900  0: a\x0ab
7901     a\rb
7902  0: a\x0db
7903     a\r\nb
7904  0: a\x0d\x0ab
7905     a\x0bb
7906  0: a\x0bb
7907     a\x0cb
7908  0: a\x0cb
7909     a\x85b
7910  0: a\x85b
7911     ** Failers
7912 No match
7913     a\n\rb
7914 No match
7916 /^a\R*b/<bsr_unicode>
7917     ab
7918  0: ab
7919     a\nb
7920  0: a\x0ab
7921     a\rb
7922  0: a\x0db
7923     a\r\nb
7924  0: a\x0d\x0ab
7925     a\x0bb
7926  0: a\x0bb
7927     a\x0cb
7928  0: a\x0cb
7929     a\x85b
7930  0: a\x85b
7931     a\n\rb
7932  0: a\x0a\x0db
7933     a\n\r\x85\x0cb
7934  0: a\x0a\x0d\x85\x0cb
7936 /^a\R+b/<bsr_unicode>
7937     a\nb
7938  0: a\x0ab
7939     a\rb
7940  0: a\x0db
7941     a\r\nb
7942  0: a\x0d\x0ab
7943     a\x0bb
7944  0: a\x0bb
7945     a\x0cb
7946  0: a\x0cb
7947     a\x85b
7948  0: a\x85b
7949     a\n\rb
7950  0: a\x0a\x0db
7951     a\n\r\x85\x0cb
7952  0: a\x0a\x0d\x85\x0cb
7953     ** Failers
7954 No match
7955     ab
7956 No match
7958 /^a\R{1,3}b/<bsr_unicode>
7959     a\nb
7960  0: a\x0ab
7961     a\n\rb
7962  0: a\x0a\x0db
7963     a\n\r\x85b
7964  0: a\x0a\x0d\x85b
7965     a\r\n\r\nb
7966  0: a\x0d\x0a\x0d\x0ab
7967     a\r\n\r\n\r\nb
7968  0: a\x0d\x0a\x0d\x0a\x0d\x0ab
7969     a\n\r\n\rb
7970  0: a\x0a\x0d\x0a\x0db
7971     a\n\n\r\nb
7972  0: a\x0a\x0a\x0d\x0ab
7973     ** Failers
7974 No match
7975     a\n\n\n\rb
7976 No match
7977     a\r
7978 No match
7980 /^a[\R]b/<bsr_unicode>
7981     aRb
7982  0: aRb
7983     ** Failers
7984 No match
7985     a\nb
7986 No match
7988 /(?&abc)X(?<abc>P)/I
7989 Capturing subpattern count = 1
7990 Named capturing subpatterns:
7991   abc   1
7992 No options
7993 No first char
7994 Need char = 'P'
7995     abcPXP123
7996  0: PXP
7997  1: P
7999 /(?1)X(?<abc>P)/I
8000 Capturing subpattern count = 1
8001 Named capturing subpatterns:
8002   abc   1
8003 No options
8004 No first char
8005 Need char = 'P'
8006     abcPXP123
8007  0: PXP
8008  1: P
8010 /(?:a(?&abc)b)*(?<abc>x)/
8011     123axbaxbaxbx456
8012  0: axbaxbaxbx
8013  1: x
8014     123axbaxbaxb456
8015  0: x
8016  1: x
8018 /(?:a(?&abc)b){1,5}(?<abc>x)/
8019     123axbaxbaxbx456
8020  0: axbaxbaxbx
8021  1: x
8023 /(?:a(?&abc)b){2,5}(?<abc>x)/
8024     123axbaxbaxbx456
8025  0: axbaxbaxbx
8026  1: x
8028 /(?:a(?&abc)b){2,}(?<abc>x)/
8029     123axbaxbaxbx456
8030  0: axbaxbaxbx
8031  1: x
8033 /(abc)(?i:(?1))/
8034    defabcabcxyz
8035  0: abcabc
8036  1: abc
8037    DEFabcABCXYZ
8038 No match
8040 /(abc)(?:(?i)(?1))/
8041    defabcabcxyz
8042  0: abcabc
8043  1: abc
8044    DEFabcABCXYZ
8045 No match
8047 /^(a)\g-2/
8048 Failed: reference to non-existent subpattern at offset 7
8050 /^(a)\g/
8051 Failed: a numbered reference must not be zero at offset 5
8053 /^(a)\g{0}/
8054 Failed: a numbered reference must not be zero at offset 8
8056 /^(a)\g{3/
8057 Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 8
8059 /^(a)\g{4a}/
8060 Failed: reference to non-existent subpattern at offset 9
8062 /^a.b/<lf>
8063     a\rb
8064  0: a\x0db
8065     *** Failers
8066 No match
8067     a\nb
8068 No match
8070 /.+foo/
8071     afoo
8072  0: afoo
8073     ** Failers
8074 No match
8075     \r\nfoo
8076 No match
8077     \nfoo
8078 No match
8080 /.+foo/<crlf>
8081     afoo
8082  0: afoo
8083     \nfoo
8084  0: \x0afoo
8085     ** Failers
8086 No match
8087     \r\nfoo
8088 No match
8090 /.+foo/<any>
8091     afoo
8092  0: afoo
8093     ** Failers
8094 No match
8095     \nfoo
8096 No match
8097     \r\nfoo
8098 No match
8100 /.+foo/s
8101     afoo
8102  0: afoo
8103     \r\nfoo
8104  0: \x0d\x0afoo
8105     \nfoo
8106  0: \x0afoo
8107     
8108 /^$/mg<any>
8109     abc\r\rxyz
8110  0: 
8111     abc\n\rxyz  
8112  0: 
8113     ** Failers 
8114 No match
8115     abc\r\nxyz
8116 No match
8118 /(?m)^$/<any>g+
8119     abc\r\n\r\n
8120  0: 
8121  0+ \x0d\x0a
8123 /(?m)^$|^\r\n/<any>g+ 
8124     abc\r\n\r\n
8125  0: 
8126  0+ \x0d\x0a
8127  0: \x0d\x0a
8128  0+ 
8129     
8130 /(?m)$/<any>g+ 
8131     abc\r\n\r\n
8132  0: 
8133  0+ \x0d\x0a\x0d\x0a
8134  0: 
8135  0+ \x0d\x0a
8136  0: 
8137  0+ 
8139 /abc.$/mgx<anycrlf>
8140     abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc9
8141  0: abc1
8142  0: abc4
8143  0: abc5
8144  0: abc9
8146 /^X/m
8147     XABC
8148  0: X
8149     ** Failers 
8150 No match
8151     XABC\B
8152 No match
8154 /(ab|c)(?-1)/BZ
8155 ------------------------------------------------------------------
8156         Bra
8157         CBra 1
8158         ab
8159         Alt
8160         c
8161         Ket
8162         Recurse
8163         Ket
8164         End
8165 ------------------------------------------------------------------
8166     abc
8167  0: abc
8168  1: ab
8170 /xy(?+1)(abc)/BZ
8171 ------------------------------------------------------------------
8172         Bra
8173         xy
8174         Recurse
8175         CBra 1
8176         abc
8177         Ket
8178         Ket
8179         End
8180 ------------------------------------------------------------------
8181     xyabcabc
8182  0: xyabcabc
8183  1: abc
8184     ** Failers
8185 No match
8186     xyabc  
8187 No match
8188     
8189 /x(?-0)y/
8190 Failed: a numbered reference must not be zero at offset 5
8192 /x(?-1)y/
8193 Failed: reference to non-existent subpattern at offset 5
8195 /x(?+0)y/ 
8196 Failed: a numbered reference must not be zero at offset 5
8198 /x(?+1)y/
8199 Failed: reference to non-existent subpattern at offset 5
8201 /^(abc)?(?(-1)X|Y)/BZ
8202 ------------------------------------------------------------------
8203         Bra
8204         ^
8205         Brazero
8206         CBra 1
8207         abc
8208         Ket
8209         Cond
8210       1 Cond ref
8211         X
8212         Alt
8213         Y
8214         Ket
8215         Ket
8216         End
8217 ------------------------------------------------------------------
8218     abcX
8219  0: abcX
8220  1: abc
8221     Y
8222  0: Y
8223     ** Failers
8224 No match
8225     abcY   
8226 No match
8227     
8228 /^((?(+1)X|Y)(abc))+/BZ 
8229 ------------------------------------------------------------------
8230         Bra
8231         ^
8232         CBra 1
8233         Cond
8234       2 Cond ref
8235         X
8236         Alt
8237         Y
8238         Ket
8239         CBra 2
8240         abc
8241         Ket
8242         KetRmax
8243         Ket
8244         End
8245 ------------------------------------------------------------------
8246     YabcXabc
8247  0: YabcXabc
8248  1: Xabc
8249  2: abc
8250     YabcXabcXabc
8251  0: YabcXabcXabc
8252  1: Xabc
8253  2: abc
8254     ** Failers
8255 No match
8256     XabcXabc  
8257 No match
8259 /(?(-1)a)/BZ
8260 Failed: reference to non-existent subpattern at offset 6
8262 /((?(-1)a))/BZ
8263 ------------------------------------------------------------------
8264         Bra
8265         CBra 1
8266         Cond
8267       1 Cond ref
8268         a
8269         Ket
8270         Ket
8271         Ket
8272         End
8273 ------------------------------------------------------------------
8275 /((?(-2)a))/BZ
8276 Failed: reference to non-existent subpattern at offset 7
8278 /^(?(+1)X|Y)(.)/BZ
8279 ------------------------------------------------------------------
8280         Bra
8281         ^
8282         Cond
8283       1 Cond ref
8284         X
8285         Alt
8286         Y
8287         Ket
8288         CBra 1
8289         Any
8290         Ket
8291         Ket
8292         End
8293 ------------------------------------------------------------------
8294     Y!
8295  0: Y!
8296  1: !
8298 /(?<A>tom|bon)-\k{A}/
8299     tom-tom
8300  0: tom-tom
8301  1: tom
8302     bon-bon 
8303  0: bon-bon
8304  1: bon
8305     ** Failers
8306 No match
8307     tom-bon  
8308 No match
8310 /\g{A/ 
8311 Failed: syntax error in subpattern name (missing terminator) at offset 4
8313 /(?|(abc)|(xyz))/BZ
8314 ------------------------------------------------------------------
8315         Bra
8316         Bra
8317         CBra 1
8318         abc
8319         Ket
8320         Alt
8321         CBra 1
8322         xyz
8323         Ket
8324         Ket
8325         Ket
8326         End
8327 ------------------------------------------------------------------
8328    >abc<
8329  0: abc
8330  1: abc
8331    >xyz< 
8332  0: xyz
8333  1: xyz
8335 /(x)(?|(abc)|(xyz))(x)/BZ
8336 ------------------------------------------------------------------
8337         Bra
8338         CBra 1
8339         x
8340         Ket
8341         Bra
8342         CBra 2
8343         abc
8344         Ket
8345         Alt
8346         CBra 2
8347         xyz
8348         Ket
8349         Ket
8350         CBra 3
8351         x
8352         Ket
8353         Ket
8354         End
8355 ------------------------------------------------------------------
8356     xabcx
8357  0: xabcx
8358  1: x
8359  2: abc
8360  3: x
8361     xxyzx 
8362  0: xxyzx
8363  1: x
8364  2: xyz
8365  3: x
8367 /(x)(?|(abc)(pqr)|(xyz))(x)/BZ
8368 ------------------------------------------------------------------
8369         Bra
8370         CBra 1
8371         x
8372         Ket
8373         Bra
8374         CBra 2
8375         abc
8376         Ket
8377         CBra 3
8378         pqr
8379         Ket
8380         Alt
8381         CBra 2
8382         xyz
8383         Ket
8384         Ket
8385         CBra 4
8386         x
8387         Ket
8388         Ket
8389         End
8390 ------------------------------------------------------------------
8391     xabcpqrx
8392  0: xabcpqrx
8393  1: x
8394  2: abc
8395  3: pqr
8396  4: x
8397     xxyzx 
8398  0: xxyzx
8399  1: x
8400  2: xyz
8401  3: <unset>
8402  4: x
8404 /\H++X/BZ
8405 ------------------------------------------------------------------
8406         Bra
8407         \H++
8408         X
8409         Ket
8410         End
8411 ------------------------------------------------------------------
8412     ** Failers
8413 No match
8414     XXXX
8415 No match
8416     
8417 /\H+\hY/BZ
8418 ------------------------------------------------------------------
8419         Bra
8420         \H++
8421         \h
8422         Y
8423         Ket
8424         End
8425 ------------------------------------------------------------------
8426     XXXX Y 
8427  0: XXXX Y
8429 /\H+ Y/BZ
8430 ------------------------------------------------------------------
8431         Bra
8432         \H++
8433          Y
8434         Ket
8435         End
8436 ------------------------------------------------------------------
8438 /\h+A/BZ
8439 ------------------------------------------------------------------
8440         Bra
8441         \h++
8442         A
8443         Ket
8444         End
8445 ------------------------------------------------------------------
8447 /\v*B/BZ
8448 ------------------------------------------------------------------
8449         Bra
8450         \v*+
8451         B
8452         Ket
8453         End
8454 ------------------------------------------------------------------
8456 /\V+\x0a/BZ
8457 ------------------------------------------------------------------
8458         Bra
8459         \V++
8460         \x0a
8461         Ket
8462         End
8463 ------------------------------------------------------------------
8465 /A+\h/BZ
8466 ------------------------------------------------------------------
8467         Bra
8468         A++
8469         \h
8470         Ket
8471         End
8472 ------------------------------------------------------------------
8474 / *\H/BZ
8475 ------------------------------------------------------------------
8476         Bra
8477          *+
8478         \H
8479         Ket
8480         End
8481 ------------------------------------------------------------------
8483 /A*\v/BZ
8484 ------------------------------------------------------------------
8485         Bra
8486         A*+
8487         \v
8488         Ket
8489         End
8490 ------------------------------------------------------------------
8492 /\x0b*\V/BZ
8493 ------------------------------------------------------------------
8494         Bra
8495         \x0b*+
8496         \V
8497         Ket
8498         End
8499 ------------------------------------------------------------------
8501 /\d+\h/BZ
8502 ------------------------------------------------------------------
8503         Bra
8504         \d++
8505         \h
8506         Ket
8507         End
8508 ------------------------------------------------------------------
8510 /\d*\v/BZ
8511 ------------------------------------------------------------------
8512         Bra
8513         \d*+
8514         \v
8515         Ket
8516         End
8517 ------------------------------------------------------------------
8519 /S+\h\S+\v/BZ
8520 ------------------------------------------------------------------
8521         Bra
8522         S++
8523         \h
8524         \S++
8525         \v
8526         Ket
8527         End
8528 ------------------------------------------------------------------
8530 /\w{3,}\h\w+\v/BZ
8531 ------------------------------------------------------------------
8532         Bra
8533         \w{3}
8534         \w*+
8535         \h
8536         \w++
8537         \v
8538         Ket
8539         End
8540 ------------------------------------------------------------------
8542 /\h+\d\h+\w\h+\S\h+\H/BZ
8543 ------------------------------------------------------------------
8544         Bra
8545         \h++
8546         \d
8547         \h++
8548         \w
8549         \h++
8550         \S
8551         \h++
8552         \H
8553         Ket
8554         End
8555 ------------------------------------------------------------------
8557 /\v+\d\v+\w\v+\S\v+\V/BZ
8558 ------------------------------------------------------------------
8559         Bra
8560         \v++
8561         \d
8562         \v++
8563         \w
8564         \v+
8565         \S
8566         \v++
8567         \V
8568         Ket
8569         End
8570 ------------------------------------------------------------------
8572 /\H+\h\H+\d/BZ
8573 ------------------------------------------------------------------
8574         Bra
8575         \H++
8576         \h
8577         \H+
8578         \d
8579         Ket
8580         End
8581 ------------------------------------------------------------------
8583 /\V+\v\V+\w/BZ
8584 ------------------------------------------------------------------
8585         Bra
8586         \V++
8587         \v
8588         \V+
8589         \w
8590         Ket
8591         End
8592 ------------------------------------------------------------------
8594 /\( (?: [^()]* | (?R) )* \)/x
8595 \J1024(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(00)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)
8596  0: (0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(00)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)
8598 /[\E]AAA/
8599 Failed: missing terminating ] for character class at offset 7
8601 /[\Q\E]AAA/
8602 Failed: missing terminating ] for character class at offset 9
8604 /[^\E]AAA/
8605 Failed: missing terminating ] for character class at offset 8
8607 /[^\Q\E]AAA/
8608 Failed: missing terminating ] for character class at offset 10
8610 /[\E^]AAA/
8611 Failed: missing terminating ] for character class at offset 8
8613 /[\Q\E^]AAA/
8614 Failed: missing terminating ] for character class at offset 10
8616 /A(*PRUNE)B(*SKIP)C(*THEN)D(*COMMIT)E(*F)F(*FAIL)G(?!)H(*ACCEPT)I/BZ
8617 ------------------------------------------------------------------
8618         Bra
8619         A
8620         *PRUNE
8621         B
8622         *SKIP
8623         C
8624         *THEN
8625         D
8626         *COMMIT
8627         E
8628         *FAIL
8629         F
8630         *FAIL
8631         G
8632         *FAIL
8633         H
8634         *ACCEPT
8635         I
8636         Ket
8637         End
8638 ------------------------------------------------------------------
8640 /^a+(*FAIL)/C
8641     aaaaaa
8642 --->aaaaaa
8643  +0 ^          ^
8644  +1 ^          a+
8645  +3 ^     ^    (*FAIL)
8646  +3 ^    ^     (*FAIL)
8647  +3 ^   ^      (*FAIL)
8648  +3 ^  ^       (*FAIL)
8649  +3 ^ ^        (*FAIL)
8650  +3 ^^         (*FAIL)
8651 No match
8652     
8653 /a+b?c+(*FAIL)/C
8654     aaabccc
8655 --->aaabccc
8656  +0 ^           a+
8657  +2 ^  ^        b?
8658  +4 ^   ^       c+
8659  +6 ^      ^    (*FAIL)
8660  +6 ^     ^     (*FAIL)
8661  +6 ^    ^      (*FAIL)
8662  +4 ^  ^        c+
8663  +2 ^ ^         b?
8664  +4 ^ ^         c+
8665  +2 ^^          b?
8666  +4 ^^          c+
8667  +0  ^          a+
8668  +2  ^ ^        b?
8669  +4  ^  ^       c+
8670  +6  ^     ^    (*FAIL)
8671  +6  ^    ^     (*FAIL)
8672  +6  ^   ^      (*FAIL)
8673  +4  ^ ^        c+
8674  +2  ^^         b?
8675  +4  ^^         c+
8676  +0   ^         a+
8677  +2   ^^        b?
8678  +4   ^ ^       c+
8679  +6   ^    ^    (*FAIL)
8680  +6   ^   ^     (*FAIL)
8681  +6   ^  ^      (*FAIL)
8682  +4   ^^        c+
8683 No match
8685 /a+b?(*PRUNE)c+(*FAIL)/C
8686     aaabccc
8687 --->aaabccc
8688  +0 ^           a+
8689  +2 ^  ^        b?
8690  +4 ^   ^       (*PRUNE)
8691 +12 ^   ^       c+
8692 +14 ^      ^    (*FAIL)
8693 +14 ^     ^     (*FAIL)
8694 +14 ^    ^      (*FAIL)
8695  +0  ^          a+
8696  +2  ^ ^        b?
8697  +4  ^  ^       (*PRUNE)
8698 +12  ^  ^       c+
8699 +14  ^     ^    (*FAIL)
8700 +14  ^    ^     (*FAIL)
8701 +14  ^   ^      (*FAIL)
8702  +0   ^         a+
8703  +2   ^^        b?
8704  +4   ^ ^       (*PRUNE)
8705 +12   ^ ^       c+
8706 +14   ^    ^    (*FAIL)
8707 +14   ^   ^     (*FAIL)
8708 +14   ^  ^      (*FAIL)
8709 No match
8711 /a+b?(*COMMIT)c+(*FAIL)/C
8712     aaabccc
8713 --->aaabccc
8714  +0 ^           a+
8715  +2 ^  ^        b?
8716  +4 ^   ^       (*COMMIT)
8717 +13 ^   ^       c+
8718 +15 ^      ^    (*FAIL)
8719 +15 ^     ^     (*FAIL)
8720 +15 ^    ^      (*FAIL)
8721 No match
8722     
8723 /a+b?(*SKIP)c+(*FAIL)/C
8724     aaabcccaaabccc
8725 --->aaabcccaaabccc
8726  +0 ^                  a+
8727  +2 ^  ^               b?
8728  +4 ^   ^              (*SKIP)
8729 +11 ^   ^              c+
8730 +13 ^      ^           (*FAIL)
8731 +13 ^     ^            (*FAIL)
8732 +13 ^    ^             (*FAIL)
8733  +0        ^           a+
8734  +2        ^  ^        b?
8735  +4        ^   ^       (*SKIP)
8736 +11        ^   ^       c+
8737 +13        ^      ^    (*FAIL)
8738 +13        ^     ^     (*FAIL)
8739 +13        ^    ^      (*FAIL)
8740 No match
8742 /a+b?(*THEN)c+(*FAIL)/C
8743     aaabccc
8744 --->aaabccc
8745  +0 ^           a+
8746  +2 ^  ^        b?
8747  +4 ^   ^       (*THEN)
8748 +11 ^   ^       c+
8749 +13 ^      ^    (*FAIL)
8750 +13 ^     ^     (*FAIL)
8751 +13 ^    ^      (*FAIL)
8752  +0  ^          a+
8753  +2  ^ ^        b?
8754  +4  ^  ^       (*THEN)
8755 +11  ^  ^       c+
8756 +13  ^     ^    (*FAIL)
8757 +13  ^    ^     (*FAIL)
8758 +13  ^   ^      (*FAIL)
8759  +0   ^         a+
8760  +2   ^^        b?
8761  +4   ^ ^       (*THEN)
8762 +11   ^ ^       c+
8763 +13   ^    ^    (*FAIL)
8764 +13   ^   ^     (*FAIL)
8765 +13   ^  ^      (*FAIL)
8766 No match
8767     
8768 /a(*MARK)b/ 
8769 Failed: (*MARK) must have an argument at offset 7
8771 /(?i:A{1,}\6666666666)/
8772 Failed: number is too big at offset 19
8774 /\g6666666666/
8775 Failed: number is too big at offset 11
8777 /[\g6666666666]/BZ
8778 ------------------------------------------------------------------
8779         Bra
8780         [6g]
8781         Ket
8782         End
8783 ------------------------------------------------------------------
8785 /(?1)\c[/
8786 Failed: reference to non-existent subpattern at offset 3
8788 /.+A/<crlf>
8789     \r\nA
8790 No match
8791     
8792 /\nA/<crlf>
8793     \r\nA 
8794  0: \x0aA
8796 /[\r\n]A/<crlf>
8797     \r\nA 
8798  0: \x0aA
8800 /(\r|\n)A/<crlf>
8801     \r\nA 
8802  0: \x0aA
8803  1: \x0a
8805 /a(*CR)b/
8806 Failed: (*VERB) not recognized at offset 5
8808 /(*CR)a.b/
8809     a\nb
8810  0: a\x0ab
8811     ** Failers
8812 No match
8813     a\rb  
8814 No match
8816 /(*CR)a.b/<lf>
8817     a\nb
8818  0: a\x0ab
8819     ** Failers
8820 No match
8821     a\rb  
8822 No match
8824 /(*LF)a.b/<CRLF>
8825     a\rb
8826  0: a\x0db
8827     ** Failers
8828 No match
8829     a\nb  
8830 No match
8832 /(*CRLF)a.b/
8833     a\rb
8834  0: a\x0db
8835     a\nb  
8836  0: a\x0ab
8837     ** Failers
8838 No match
8839     a\r\nb  
8840 No match
8842 /(*ANYCRLF)a.b/<CR>
8843     ** Failers
8844 No match
8845     a\rb
8846 No match
8847     a\nb  
8848 No match
8849     a\r\nb  
8850 No match
8852 /(*ANY)a.b/<cr>
8853     ** Failers
8854 No match
8855     a\rb
8856 No match
8857     a\nb  
8858 No match
8859     a\r\nb  
8860 No match
8861     a\x85b 
8862 No match
8863     
8864 /(*ANY).*/g
8865     abc\r\ndef
8866  0: abc
8867  0: 
8868  0: def
8869  0: 
8871 /(*ANYCRLF).*/g
8872     abc\r\ndef
8873  0: abc
8874  0: 
8875  0: def
8876  0: 
8878 /(*CRLF).*/g
8879     abc\r\ndef
8880  0: abc
8881  0: 
8882  0: def
8883  0: 
8885 /a\Rb/I<bsr_anycrlf>
8886 Capturing subpattern count = 0
8887 Options: bsr_anycrlf
8888 First char = 'a'
8889 Need char = 'b'
8890     a\rb
8891  0: a\x0db
8892     a\nb
8893  0: a\x0ab
8894     a\r\nb
8895  0: a\x0d\x0ab
8896     ** Failers
8897 No match
8898     a\x85b
8899 No match
8900     a\x0bb     
8901 No match
8903 /a\Rb/I<bsr_unicode>
8904 Capturing subpattern count = 0
8905 Options: bsr_unicode
8906 First char = 'a'
8907 Need char = 'b'
8908     a\rb
8909  0: a\x0db
8910     a\nb
8911  0: a\x0ab
8912     a\r\nb
8913  0: a\x0d\x0ab
8914     a\x85b
8915  0: a\x85b
8916     a\x0bb     
8917  0: a\x0bb
8918     ** Failers 
8919 No match
8920     a\x85b\<bsr_anycrlf>
8921 No match
8922     a\x0bb\<bsr_anycrlf>
8923 No match
8924     
8925 /a\R?b/I<bsr_anycrlf>
8926 Capturing subpattern count = 0
8927 Options: bsr_anycrlf
8928 First char = 'a'
8929 Need char = 'b'
8930     a\rb
8931  0: a\x0db
8932     a\nb
8933  0: a\x0ab
8934     a\r\nb
8935  0: a\x0d\x0ab
8936     ** Failers
8937 No match
8938     a\x85b
8939 No match
8940     a\x0bb     
8941 No match
8943 /a\R?b/I<bsr_unicode>
8944 Capturing subpattern count = 0
8945 Options: bsr_unicode
8946 First char = 'a'
8947 Need char = 'b'
8948     a\rb
8949  0: a\x0db
8950     a\nb
8951  0: a\x0ab
8952     a\r\nb
8953  0: a\x0d\x0ab
8954     a\x85b
8955  0: a\x85b
8956     a\x0bb     
8957  0: a\x0bb
8958     ** Failers 
8959 No match
8960     a\x85b\<bsr_anycrlf>
8961 No match
8962     a\x0bb\<bsr_anycrlf>
8963 No match
8964     
8965 /a\R{2,4}b/I<bsr_anycrlf>
8966 Capturing subpattern count = 0
8967 Options: bsr_anycrlf
8968 First char = 'a'
8969 Need char = 'b'
8970     a\r\n\nb
8971  0: a\x0d\x0a\x0ab
8972     a\n\r\rb
8973  0: a\x0a\x0d\x0db
8974     a\r\n\r\n\r\n\r\nb
8975  0: a\x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0ab
8976     ** Failers
8977 No match
8978     a\x85\85b
8979 No match
8980     a\x0b\0bb     
8981 No match
8983 /a\R{2,4}b/I<bsr_unicode>
8984 Capturing subpattern count = 0
8985 Options: bsr_unicode
8986 First char = 'a'
8987 Need char = 'b'
8988     a\r\rb
8989  0: a\x0d\x0db
8990     a\n\n\nb
8991  0: a\x0a\x0a\x0ab
8992     a\r\n\n\r\rb
8993  0: a\x0d\x0a\x0a\x0d\x0db
8994     a\x85\85b
8995 No match
8996     a\x0b\0bb     
8997 No match
8998     ** Failers 
8999 No match
9000     a\r\r\r\r\rb 
9001 No match
9002     a\x85\85b\<bsr_anycrlf>
9003 No match
9004     a\x0b\0bb\<bsr_anycrlf>
9005 No match
9007 /(*BSR_ANYCRLF)a\Rb/I
9008 Capturing subpattern count = 0
9009 Options: bsr_anycrlf
9010 First char = 'a'
9011 Need char = 'b'
9012     a\nb
9013  0: a\x0ab
9014     a\rb 
9015  0: a\x0db
9017 /(*BSR_UNICODE)a\Rb/I
9018 Capturing subpattern count = 0
9019 Options: bsr_unicode
9020 First char = 'a'
9021 Need char = 'b'
9022     a\x85b
9023  0: a\x85b
9025 /(*BSR_ANYCRLF)(*CRLF)a\Rb/I
9026 Capturing subpattern count = 0
9027 Options: bsr_anycrlf
9028 Forced newline sequence: CRLF
9029 First char = 'a'
9030 Need char = 'b'
9031     a\nb
9032  0: a\x0ab
9033     a\rb 
9034  0: a\x0db
9036 /(*CRLF)(*BSR_UNICODE)a\Rb/I
9037 Capturing subpattern count = 0
9038 Options: bsr_unicode
9039 Forced newline sequence: CRLF
9040 First char = 'a'
9041 Need char = 'b'
9042     a\x85b
9043  0: a\x85b
9045 /(*CRLF)(*BSR_ANYCRLF)(*CR)ab/I
9046 Capturing subpattern count = 0
9047 Options: bsr_anycrlf
9048 Forced newline sequence: CR
9049 First char = 'a'
9050 Need char = 'b'
9052 /(?<a>)(?&)/
9053 Failed: subpattern name expected at offset 9
9055 /(?<abc>)(?&a)/
9056 Failed: reference to non-existent subpattern at offset 12
9058 /(?<a>)(?&aaaaaaaaaaaaaaaaaaaaaaa)/
9059 Failed: reference to non-existent subpattern at offset 32
9061 /(?+-a)/
9062 Failed: digit expected after (?+ at offset 3
9064 /(?-+a)/
9065 Failed: unrecognized character after (? or (?- at offset 3
9067 /(?(-1))/
9068 Failed: reference to non-existent subpattern at offset 6
9070 /(?(+10))/
9071 Failed: reference to non-existent subpattern at offset 7
9073 /(?(10))/
9074 Failed: reference to non-existent subpattern at offset 6
9076 /(?(+2))()()/
9078 /(?(2))()()/
9080 /\k''/
9081 Failed: subpattern name expected at offset 3
9083 /\k<>/
9084 Failed: subpattern name expected at offset 3
9086 /\k{}/
9087 Failed: subpattern name expected at offset 3
9089 /\k/
9090 Failed: \k is not followed by a braced, angle-bracketed, or quoted name at offset 2
9092 /\kabc/
9093 Failed: \k is not followed by a braced, angle-bracketed, or quoted name at offset 5
9095 /(?P=)/
9096 Failed: subpattern name expected at offset 4
9098 /(?P>)/
9099 Failed: subpattern name expected at offset 4
9101 /(?!\w)(?R)/
9102 Failed: recursive call could loop indefinitely at offset 9
9104 /(?=\w)(?R)/
9105 Failed: recursive call could loop indefinitely at offset 9
9107 /(?<!\w)(?R)/
9108 Failed: recursive call could loop indefinitely at offset 10
9110 /(?<=\w)(?R)/
9111 Failed: recursive call could loop indefinitely at offset 10
9113 /[[:foo:]]/
9114 Failed: unknown POSIX class name at offset 3
9116 /[[:1234:]]/
9117 Failed: unknown POSIX class name at offset 3
9119 /[[:f\oo:]]/
9120 Failed: unknown POSIX class name at offset 3
9122 /[[: :]]/
9123 Failed: unknown POSIX class name at offset 3
9125 /[[:...:]]/
9126 Failed: unknown POSIX class name at offset 3
9128 /[[:l\ower:]]/
9129 Failed: unknown POSIX class name at offset 3
9131 /[[:abc\:]]/
9132 Failed: unknown POSIX class name at offset 3
9134 /[abc[:x\]pqr:]]/
9135 Failed: unknown POSIX class name at offset 6
9137 /[[:a\dz:]]/
9138 Failed: unknown POSIX class name at offset 3
9140 /(^(a|b\g<-1'c))/
9141 Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 15
9143 /^(?+1)(?<a>x|y){0}z/
9144     xzxx
9145  0: xz
9146     yzyy 
9147  0: yz
9148     ** Failers
9149 No match
9150     xxz  
9151 No match
9153 /(\3)(\1)(a)/
9154     cat
9155 No match
9157 /(\3)(\1)(a)/<JS>
9158     cat
9159  0: a
9160  1: 
9161  2: 
9162  3: a
9163     
9164 /TA]/
9165     The ACTA] comes 
9166  0: TA]
9168 /TA]/<JS>
9169 Failed: ] is an invalid data character in JavaScript compatibility mode at offset 2
9171 /(?2)[]a()b](abc)/
9172 Failed: reference to non-existent subpattern at offset 3
9174 /(?2)[^]a()b](abc)/
9175 Failed: reference to non-existent subpattern at offset 3
9177 /(?1)[]a()b](abc)/
9178     abcbabc
9179  0: abcbabc
9180  1: abc
9181     ** Failers 
9182 No match
9183     abcXabc
9184 No match
9186 /(?1)[^]a()b](abc)/
9187     abcXabc
9188  0: abcXabc
9189  1: abc
9190     ** Failers 
9191 No match
9192     abcbabc
9193 No match
9195 /(?2)[]a()b](abc)(xyz)/
9196     xyzbabcxyz
9197  0: xyzbabcxyz
9198  1: abc
9199  2: xyz
9201 /(?&N)[]a(?<N>)](?<M>abc)/
9202 Failed: reference to non-existent subpattern at offset 4
9204 /(?&N)[]a(?<N>)](abc)/
9205 Failed: reference to non-existent subpattern at offset 4
9207 /a[]b/
9208 Failed: missing terminating ] for character class at offset 4
9210 /a[^]b/
9211 Failed: missing terminating ] for character class at offset 5
9213 /a[]b/<JS>
9214     ** Failers
9215 No match
9216     ab
9217 No match
9219 /a[]+b/<JS>
9220     ** Failers
9221 No match
9222     ab 
9223 No match
9225 /a[]*+b/<JS>
9226     ** Failers
9227 No match
9228     ab 
9229 No match
9231 /a[^]b/<JS>
9232     aXb
9233  0: aXb
9234     a\nb 
9235  0: a\x0ab
9236     ** Failers
9237 No match
9238     ab  
9239 No match
9240     
9241 /a[^]+b/<JS> 
9242     aXb
9243  0: aXb
9244     a\nX\nXb 
9245  0: a\x0aX\x0aXb
9246     ** Failers
9247 No match
9248     ab  
9249 No match
9251 /a(?!)+b/
9252 Failed: nothing to repeat at offset 5
9254 /a(*FAIL)+b/
9255 Failed: nothing to repeat at offset 8
9257 /(abc|pqr|123){0}[xyz]/SI
9258 Capturing subpattern count = 1
9259 No options
9260 No first char
9261 No need char
9262 Subject length lower bound = 1
9263 Starting byte set: x y z 
9265 /(?(?=.*b)b|^)/CI
9266 Capturing subpattern count = 0
9267 Options:
9268 No first char
9269 No need char
9270    adc
9271 --->adc
9272  +0 ^       (?(?=.*b)b|^)
9273  +2 ^       (?=.*b)
9274  +5 ^       .*
9275  +7 ^  ^    b
9276  +7 ^ ^     b
9277  +7 ^^      b
9278  +7 ^       b
9279 +12 ^       )
9280 +13 ^       
9281  0: 
9282    abc 
9283 --->abc
9284  +0 ^       (?(?=.*b)b|^)
9285  +2 ^       (?=.*b)
9286  +5 ^       .*
9287  +7 ^  ^    b
9288  +7 ^ ^     b
9289  +7 ^^      b
9290  +8 ^ ^     )
9291  +9 ^       b
9292  +0  ^      (?(?=.*b)b|^)
9293  +2  ^      (?=.*b)
9294  +5  ^      .*
9295  +7  ^ ^    b
9296  +7  ^^     b
9297  +7  ^      b
9298  +8  ^^     )
9299  +9  ^      b
9300 +10  ^^     |
9301 +13  ^^     
9302  0: b
9303    
9304 /(?(?=b).*b|^d)/I
9305 Capturing subpattern count = 0
9306 No options
9307 No first char
9308 No need char
9310 /(?(?=.*b).*b|^d)/I
9311 Capturing subpattern count = 0
9312 No options
9313 First char at start or follows newline
9314 No need char
9316 /xyz/C
9317   xyz 
9318 --->xyz
9319  +0 ^       x
9320  +1 ^^      y
9321  +2 ^ ^     z
9322  +3 ^  ^    
9323  0: xyz
9324   abcxyz 
9325 --->abcxyz
9326  +0    ^       x
9327  +1    ^^      y
9328  +2    ^ ^     z
9329  +3    ^  ^    
9330  0: xyz
9331   abcxyz\Y
9332 --->abcxyz
9333  +0 ^          x
9334  +0  ^         x
9335  +0   ^        x
9336  +0    ^       x
9337  +1    ^^      y
9338  +2    ^ ^     z
9339  +3    ^  ^    
9340  0: xyz
9341   ** Failers 
9342 No match
9343   abc
9344 No match
9345   abc\Y
9346 --->abc
9347  +0 ^       x
9348  +0  ^      x
9349  +0   ^     x
9350  +0    ^    x
9351 No match
9352   abcxypqr  
9353 No match
9354   abcxypqr\Y  
9355 --->abcxypqr
9356  +0 ^            x
9357  +0  ^           x
9358  +0   ^          x
9359  +0    ^         x
9360  +1    ^^        y
9361  +2    ^ ^       z
9362  +0     ^        x
9363  +0      ^       x
9364  +0       ^      x
9365  +0        ^     x
9366  +0         ^    x
9367 No match
9368   
9369 /(*NO_START_OPT)xyz/C
9370   abcxyz 
9371 --->abcxyz
9372 +15 ^          x
9373 +15  ^         x
9374 +15   ^        x
9375 +15    ^       x
9376 +16    ^^      y
9377 +17    ^ ^     z
9378 +18    ^  ^    
9379  0: xyz
9381 /xyz/CY
9382   abcxyz 
9383 --->abcxyz
9384  +0 ^          x
9385  +0  ^         x
9386  +0   ^        x
9387  +0    ^       x
9388  +1    ^^      y
9389  +2    ^ ^     z
9390  +3    ^  ^    
9391  0: xyz
9393 /^"((?(?=[a])[^"])|b)*"$/C
9394     "ab"
9395 --->"ab"
9396  +0 ^        ^
9397  +1 ^        "
9398  +2 ^^       ((?(?=[a])[^"])|b)*
9399  +3 ^^       (?(?=[a])[^"])
9400  +5 ^^       (?=[a])
9401  +8 ^^       [a]
9402 +11 ^ ^      )
9403 +12 ^^       [^"]
9404 +16 ^ ^      )
9405 +17 ^ ^      |
9406  +3 ^ ^      (?(?=[a])[^"])
9407  +5 ^ ^      (?=[a])
9408  +8 ^ ^      [a]
9409 +21 ^ ^      "
9410 +18 ^ ^      b
9411 +19 ^  ^     )
9412  +3 ^  ^     (?(?=[a])[^"])
9413  +5 ^  ^     (?=[a])
9414  +8 ^  ^     [a]
9415 +21 ^  ^     "
9416 +22 ^   ^    $
9417 +23 ^   ^    
9418  0: "ab"
9419  1: 
9421 /^"((?(?=[a])[^"])|b)*"$/
9422     "ab"
9423  0: "ab"
9424  1: 
9426 /^X(?5)(a)(?|(b)|(q))(c)(d)Y/
9427 Failed: reference to non-existent subpattern at offset 5
9429 /^X(?&N)(a)(?|(b)|(q))(c)(d)(?<N>Y)/
9430     XYabcdY
9431  0: XYabcdY
9432  1: a
9433  2: b
9434  3: c
9435  4: d
9436  5: Y
9438 /Xa{2,4}b/
9439     X\P
9440 Partial match: X
9441     Xa\P
9442 Partial match: Xa
9443     Xaa\P 
9444 Partial match: Xaa
9445     Xaaa\P
9446 Partial match: Xaaa
9447     Xaaaa\P 
9448 Partial match: Xaaaa
9449     
9450 /Xa{2,4}?b/
9451     X\P
9452 Partial match: X
9453     Xa\P
9454 Partial match: Xa
9455     Xaa\P 
9456 Partial match: Xaa
9457     Xaaa\P
9458 Partial match: Xaaa
9459     Xaaaa\P 
9460 Partial match: Xaaaa
9461     
9462 /Xa{2,4}+b/
9463     X\P
9464 Partial match: X
9465     Xa\P
9466 Partial match: Xa
9467     Xaa\P 
9468 Partial match: Xaa
9469     Xaaa\P
9470 Partial match: Xaaa
9471     Xaaaa\P 
9472 Partial match: Xaaaa
9473     
9474 /X\d{2,4}b/
9475     X\P
9476 Partial match: X
9477     X3\P
9478 Partial match: X3
9479     X33\P 
9480 Partial match: X33
9481     X333\P
9482 Partial match: X333
9483     X3333\P 
9484 Partial match: X3333
9485     
9486 /X\d{2,4}?b/
9487     X\P
9488 Partial match: X
9489     X3\P
9490 Partial match: X3
9491     X33\P 
9492 Partial match: X33
9493     X333\P
9494 Partial match: X333
9495     X3333\P 
9496 Partial match: X3333
9497     
9498 /X\d{2,4}+b/
9499     X\P
9500 Partial match: X
9501     X3\P
9502 Partial match: X3
9503     X33\P 
9504 Partial match: X33
9505     X333\P
9506 Partial match: X333
9507     X3333\P 
9508 Partial match: X3333
9509     
9510 /X\D{2,4}b/
9511     X\P
9512 Partial match: X
9513     Xa\P
9514 Partial match: Xa
9515     Xaa\P 
9516 Partial match: Xaa
9517     Xaaa\P
9518 Partial match: Xaaa
9519     Xaaaa\P 
9520 Partial match: Xaaaa
9521     
9522 /X\D{2,4}?b/
9523     X\P
9524 Partial match: X
9525     Xa\P
9526 Partial match: Xa
9527     Xaa\P 
9528 Partial match: Xaa
9529     Xaaa\P
9530 Partial match: Xaaa
9531     Xaaaa\P 
9532 Partial match: Xaaaa
9533     
9534 /X\D{2,4}+b/
9535     X\P
9536 Partial match: X
9537     Xa\P
9538 Partial match: Xa
9539     Xaa\P 
9540 Partial match: Xaa
9541     Xaaa\P
9542 Partial match: Xaaa
9543     Xaaaa\P 
9544 Partial match: Xaaaa
9545     
9546 /X[abc]{2,4}b/
9547     X\P
9548 Partial match: X
9549     Xa\P
9550 Partial match: Xa
9551     Xaa\P 
9552 Partial match: Xaa
9553     Xaaa\P
9554 Partial match: Xaaa
9555     Xaaaa\P 
9556 Partial match: Xaaaa
9557     
9558 /X[abc]{2,4}?b/
9559     X\P
9560 Partial match: X
9561     Xa\P
9562 Partial match: Xa
9563     Xaa\P 
9564 Partial match: Xaa
9565     Xaaa\P
9566 Partial match: Xaaa
9567     Xaaaa\P 
9568 Partial match: Xaaaa
9569     
9570 /X[abc]{2,4}+b/
9571     X\P
9572 Partial match: X
9573     Xa\P
9574 Partial match: Xa
9575     Xaa\P 
9576 Partial match: Xaa
9577     Xaaa\P
9578 Partial match: Xaaa
9579     Xaaaa\P 
9580 Partial match: Xaaaa
9581     
9582 /X[^a]{2,4}b/
9583     X\P
9584 Partial match: X
9585     Xz\P
9586 Partial match: Xz
9587     Xzz\P 
9588 Partial match: Xzz
9589     Xzzz\P
9590 Partial match: Xzzz
9591     Xzzzz\P 
9592 Partial match: Xzzzz
9593     
9594 /X[^a]{2,4}?b/
9595     X\P
9596 Partial match: X
9597     Xz\P
9598 Partial match: Xz
9599     Xzz\P 
9600 Partial match: Xzz
9601     Xzzz\P
9602 Partial match: Xzzz
9603     Xzzzz\P 
9604 Partial match: Xzzzz
9605     
9606 /X[^a]{2,4}+b/
9607     X\P
9608 Partial match: X
9609     Xz\P
9610 Partial match: Xz
9611     Xzz\P 
9612 Partial match: Xzz
9613     Xzzz\P
9614 Partial match: Xzzz
9615     Xzzzz\P 
9616 Partial match: Xzzzz
9617     
9618 /(Y)X\1{2,4}b/
9619     YX\P
9620 Partial match: YX
9621     YXY\P
9622 Partial match: YXY
9623     YXYY\P 
9624 Partial match: YXYY
9625     YXYYY\P
9626 Partial match: YXYYY
9627     YXYYYY\P 
9628 Partial match: YXYYYY
9629     
9630 /(Y)X\1{2,4}?b/
9631     YX\P
9632 Partial match: YX
9633     YXY\P
9634 Partial match: YXY
9635     YXYY\P 
9636 Partial match: YXYY
9637     YXYYY\P
9638 Partial match: YXYYY
9639     YXYYYY\P 
9640 Partial match: YXYYYY
9641     
9642 /(Y)X\1{2,4}+b/
9643     YX\P
9644 Partial match: YX
9645     YXY\P
9646 Partial match: YXY
9647     YXYY\P 
9648 Partial match: YXYY
9649     YXYYY\P
9650 Partial match: YXYYY
9651     YXYYYY\P 
9652 Partial match: YXYYYY
9653     
9654 /\++\KZ|\d+X|9+Y/
9655     ++++123999\P
9656 Partial match: 123999
9657     ++++123999Y\P
9658  0: 999Y
9659     ++++Z1234\P 
9660  0: Z
9662 /Z(*F)/
9663     Z\P
9664 No match
9665     ZA\P 
9666 No match
9667     
9668 /Z(?!)/
9669     Z\P 
9670 No match
9671     ZA\P 
9672 No match
9674 /dog(sbody)?/
9675     dogs\P
9676  0: dog
9677     dogs\P\P 
9678 Partial match: dogs
9679     
9680 /dog(sbody)??/
9681     dogs\P
9682  0: dog
9683     dogs\P\P 
9684  0: dog
9686 /dog|dogsbody/
9687     dogs\P
9688  0: dog
9689     dogs\P\P 
9690  0: dog
9692 /dogsbody|dog/
9693     dogs\P
9694  0: dog
9695     dogs\P\P 
9696 Partial match: dogs
9698 /\bthe cat\b/
9699     the cat\P
9700  0: the cat
9701     the cat\P\P
9702 Partial match: the cat
9704 /abc/
9705    abc\P
9706  0: abc
9707    abc\P\P
9708  0: abc
9709    
9710 /abc\K123/
9711     xyzabc123pqr
9712  0: 123
9713     xyzabc12\P
9714 Partial match: abc12
9715     xyzabc12\P\P
9716 Partial match: abc12
9717     
9718 /(?<=abc)123/
9719     xyzabc123pqr 
9720  0: 123
9721     xyzabc12\P
9722 Partial match: abc12
9723     xyzabc12\P\P
9724 Partial match: abc12
9726 /\babc\b/
9727     +++abc+++
9728  0: abc
9729     +++ab\P
9730 Partial match: +ab
9731     +++ab\P\P  
9732 Partial match: +ab
9734 /(?&word)(?&element)(?(DEFINE)(?<element><[^m][^>]>[^<])(?<word>\w*+))/BZ
9735 ------------------------------------------------------------------
9736         Bra
9737         Recurse
9738         Recurse
9739         Cond
9740         Cond def
9741         CBra 1
9742         <
9743         [^m]
9744         [^>]
9745         >
9746         [^<]
9747         Ket
9748         CBra 2
9749         \w*+
9750         Ket
9751         Ket
9752         Ket
9753         End
9754 ------------------------------------------------------------------
9756 /(?&word)(?&element)(?(DEFINE)(?<element><[^\d][^>]>[^<])(?<word>\w*+))/BZ
9757 ------------------------------------------------------------------
9758         Bra
9759         Recurse
9760         Recurse
9761         Cond
9762         Cond def
9763         CBra 1
9764         <
9765         [\x00-/:-\xff] (neg)
9766         [^>]
9767         >
9768         [^<]
9769         Ket
9770         CBra 2
9771         \w*+
9772         Ket
9773         Ket
9774         Ket
9775         End
9776 ------------------------------------------------------------------
9778 /(ab)(x(y)z(cd(*ACCEPT)))pq/BZ
9779 ------------------------------------------------------------------
9780         Bra
9781         CBra 1
9782         ab
9783         Ket
9784         CBra 2
9785         x
9786         CBra 3
9787         y
9788         Ket
9789         z
9790         CBra 4
9791         cd
9792         Close 4
9793         Close 2
9794         *ACCEPT
9795         Ket
9796         Ket
9797         pq
9798         Ket
9799         End
9800 ------------------------------------------------------------------
9802 /abc\K/+
9803     abcdef
9804  0: 
9805  0+ def
9806     abcdef\N\N
9807  0: 
9808  0+ def
9809     xyzabcdef\N\N
9810  0: 
9811  0+ def
9812     ** Failers
9813 No match
9814     abcdef\N 
9815 No match
9816     xyzabcdef\N
9817 No match
9818     
9819 /^(?:(?=abc)|abc\K)/+
9820     abcdef
9821  0: 
9822  0+ abcdef
9823     abcdef\N\N 
9824  0: 
9825  0+ def
9826     ** Failers 
9827 No match
9828     abcdef\N 
9829 No match
9831 /a?b?/+
9832     xyz
9833  0: 
9834  0+ xyz
9835     xyzabc
9836  0: 
9837  0+ xyzabc
9838     xyzabc\N
9839  0: ab
9840  0+ c
9841     xyzabc\N\N
9842  0: 
9843  0+ yzabc
9844     xyz\N\N    
9845  0: 
9846  0+ yz
9847     ** Failers 
9848  0: 
9849  0+ ** Failers
9850     xyz\N 
9851 No match
9853 /^a?b?/+
9854     xyz
9855  0: 
9856  0+ xyz
9857     xyzabc
9858  0: 
9859  0+ xyzabc
9860     ** Failers 
9861  0: 
9862  0+ ** Failers
9863     xyzabc\N
9864 No match
9865     xyzabc\N\N
9866 No match
9867     xyz\N\N    
9868 No match
9869     xyz\N 
9870 No match
9871     
9872 /^(?<name>a|b\g<name>c)/
9873     aaaa
9874  0: a
9875  1: a
9876     bacxxx
9877  0: bac
9878  1: bac
9879     bbaccxxx 
9880  0: bbacc
9881  1: bbacc
9882     bbbacccxx
9883  0: bbbaccc
9884  1: bbbaccc
9886 /^(?<name>a|b\g'name'c)/
9887     aaaa
9888  0: a
9889  1: a
9890     bacxxx
9891  0: bac
9892  1: bac
9893     bbaccxxx 
9894  0: bbacc
9895  1: bbacc
9896     bbbacccxx
9897  0: bbbaccc
9898  1: bbbaccc
9900 /^(a|b\g<1>c)/
9901     aaaa
9902  0: a
9903  1: a
9904     bacxxx
9905  0: bac
9906  1: bac
9907     bbaccxxx 
9908  0: bbacc
9909  1: bbacc
9910     bbbacccxx
9911  0: bbbaccc
9912  1: bbbaccc
9914 /^(a|b\g'1'c)/
9915     aaaa
9916  0: a
9917  1: a
9918     bacxxx
9919  0: bac
9920  1: bac
9921     bbaccxxx 
9922  0: bbacc
9923  1: bbacc
9924     bbbacccxx
9925  0: bbbaccc
9926  1: bbbaccc
9928 /^(a|b\g'-1'c)/
9929     aaaa
9930  0: a
9931  1: a
9932     bacxxx
9933  0: bac
9934  1: bac
9935     bbaccxxx 
9936  0: bbacc
9937  1: bbacc
9938     bbbacccxx
9939  0: bbbaccc
9940  1: bbbaccc
9942 /(^(a|b\g<-1>c))/
9943     aaaa
9944  0: a
9945  1: a
9946  2: a
9947     bacxxx
9948  0: bac
9949  1: bac
9950  2: bac
9951     bbaccxxx 
9952  0: bbacc
9953  1: bbacc
9954  2: bbacc
9955     bbbacccxx
9956  0: bbbaccc
9957  1: bbbaccc
9958  2: bbbaccc
9960 /(?-i:\g<name>)(?i:(?<name>a))/
9961     XaaX
9962  0: aa
9963  1: a
9964     XAAX 
9965  0: AA
9966  1: A
9968 /(?i:\g<name>)(?-i:(?<name>a))/
9969     XaaX
9970  0: aa
9971  1: a
9972     ** Failers 
9973 No match
9974     XAAX 
9975 No match
9977 /(?-i:\g<+1>)(?i:(a))/
9978     XaaX
9979  0: aa
9980  1: a
9981     XAAX 
9982  0: AA
9983  1: A
9985 /(?=(?<regex>(?#simplesyntax)\$(?<name>[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)(?:\[(?<index>[a-zA-Z0-9_\x{7f}-\x{ff}]+|\$\g<name>)\]|->\g<name>(\(.*?\))?)?|(?#simple syntax withbraces)\$\{(?:\g<name>(?<indices>\[(?:\g<index>|'(?:\\.|[^'\\])*'|"(?:\g<regex>|\\.|[^"\\])*")\])?|\g<complex>|\$\{\g<complex>\})\}|(?#complexsyntax)\{(?<complex>\$(?<segment>\g<name>(\g<indices>*|\(.*?\))?)(?:->\g<segment>)*|\$\g<complex>|\$\{\g<complex>\})\}))\{/
9987 /(?<n>a|b|c)\g<n>*/
9988    abc
9989  0: abc
9990  1: a
9991    accccbbb 
9992  0: accccbbb
9993  1: a
9995 /^X(?7)(a)(?|(b)|(q)(r)(s))(c)(d)(Y)/
9996     XYabcdY
9997  0: XYabcdY
9998  1: a
9999  2: b
10000  3: <unset>
10001  4: <unset>
10002  5: c
10003  6: d
10004  7: Y
10006 /(?<=b(?1)|zzz)(a)/
10007     xbaax
10008  0: a
10009  1: a
10010     xzzzax 
10011  0: a
10012  1: a
10014 /(a)(?<=b\1)/
10015 Failed: lookbehind assertion is not fixed length at offset 10
10017 /(a)(?<=b+(?1))/
10018 Failed: lookbehind assertion is not fixed length at offset 13
10020 /(a+)(?<=b(?1))/
10021 Failed: lookbehind assertion is not fixed length at offset 14
10023 /(a(?<=b(?1)))/
10024 Failed: lookbehind assertion is not fixed length at offset 13
10026 /(?<=b(?1))xyz/
10027 Failed: reference to non-existent subpattern at offset 8
10029 /(?<=b(?1))xyz(b+)pqrstuvew/
10030 Failed: lookbehind assertion is not fixed length at offset 26
10032 /(a|bc)\1/SI
10033 Capturing subpattern count = 1
10034 Max back reference = 1
10035 No options
10036 No first char
10037 No need char
10038 Subject length lower bound = 2
10039 Starting byte set: a b 
10041 /(a|bc)\1{2,3}/SI
10042 Capturing subpattern count = 1
10043 Max back reference = 1
10044 No options
10045 No first char
10046 No need char
10047 Subject length lower bound = 3
10048 Starting byte set: a b 
10050 /(a|bc)(?1)/SI
10051 Capturing subpattern count = 1
10052 No options
10053 No first char
10054 No need char
10055 Subject length lower bound = 2
10056 Starting byte set: a b 
10058 /(a|b\1)(a|b\1)/SI
10059 Capturing subpattern count = 2
10060 Max back reference = 1
10061 No options
10062 No first char
10063 No need char
10064 Subject length lower bound = 2
10065 Starting byte set: a b 
10067 /(a|b\1){2}/SI
10068 Capturing subpattern count = 1
10069 Max back reference = 1
10070 No options
10071 No first char
10072 No need char
10073 Subject length lower bound = 2
10074 Starting byte set: a b 
10076 /(a|bbbb\1)(a|bbbb\1)/SI
10077 Capturing subpattern count = 2
10078 Max back reference = 1
10079 No options
10080 No first char
10081 No need char
10082 Subject length lower bound = 2
10083 Starting byte set: a b 
10085 /(a|bbbb\1){2}/SI
10086 Capturing subpattern count = 1
10087 Max back reference = 1
10088 No options
10089 No first char
10090 No need char
10091 Subject length lower bound = 2
10092 Starting byte set: a b 
10094 /^From +([^ ]+) +[a-zA-Z][a-zA-Z][a-zA-Z] +[a-zA-Z][a-zA-Z][a-zA-Z] +[0-9]?[0-9] +[0-9][0-9]:[0-9][0-9]/SI
10095 Capturing subpattern count = 1
10096 Options: anchored
10097 No first char
10098 Need char = ':'
10099 Subject length lower bound = 22
10100 No set of starting bytes
10102 /<tr([\w\W\s\d][^<>]{0,})><TD([\w\W\s\d][^<>]{0,})>([\d]{0,}\.)(.*)((<BR>([\w\W\s\d][^<>]{0,})|[\s]{0,}))<\/a><\/TD><TD([\w\W\s\d][^<>]{0,})>([\w\W\s\d][^<>]{0,})<\/TD><TD([\w\W\s\d][^<>]{0,})>([\w\W\s\d][^<>]{0,})<\/TD><\/TR>/isIS
10103 Capturing subpattern count = 11
10104 Options: caseless dotall
10105 First char = '<'
10106 Need char = '>'
10107 Subject length lower bound = 47
10108 No set of starting bytes
10110 "(?>.*/)foo"SI
10111 Capturing subpattern count = 0
10112 No options
10113 No first char
10114 Need char = 'o'
10115 Subject length lower bound = 4
10116 No set of starting bytes
10118 /(?(?=[^a-z]+[a-z])  \d{2}-[a-z]{3}-\d{2}  |  \d{2}-\d{2}-\d{2} ) /xSI
10119 Capturing subpattern count = 0
10120 Options: extended
10121 No first char
10122 Need char = '-'
10123 Subject length lower bound = 8
10124 No set of starting bytes
10126 /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))/iSI
10127 Capturing subpattern count = 1
10128 Options: caseless
10129 No first char
10130 No need char
10131 Subject length lower bound = 1
10132 Starting byte set: A B C a b c 
10134 /(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/SI
10135 Capturing subpattern count = 0
10136 No options
10137 No first char
10138 Need char = 'b'
10139 Subject length lower bound = 41
10140 Starting byte set: c d 
10142 /<a[\s]+href[\s]*=[\s]*          # find <a href=
10143  ([\"\'])?                       # find single or double quote
10144  (?(1) (.*?)\1 | ([^\s]+))       # if quote found, match up to next matching
10145                                  # quote, otherwise match up to next space
10146 /isxSI
10147 Capturing subpattern count = 3
10148 Max back reference = 1
10149 Options: caseless extended dotall
10150 First char = '<'
10151 Need char = '='
10152 Subject length lower bound = 9
10153 No set of starting bytes
10155 /^(?!:)                       # colon disallowed at start
10156   (?:                         # start of item
10157     (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
10158     (?(1)0 | () ) )           # if null previously matched, fail; else null
10159     :                         # followed by colon
10160   ){1,7}                      # end item; 1-7 of them required               
10161   [0-9a-f]{1,4} $             # final hex number at end of string
10162   (?(1)|.)                    # check that there was an empty component
10163   /xiIS
10164 Capturing subpattern count = 1
10165 Options: anchored caseless extended
10166 No first char
10167 Need char = ':'
10168 Subject length lower bound = 2
10169 No set of starting bytes
10171 /(?|(?<a>A)|(?<a>B))/I
10172 Capturing subpattern count = 1
10173 Named capturing subpatterns:
10174   a   1
10175   a   1
10176 No options
10177 No first char
10178 No need char
10179     AB\Ca
10180  0: A
10181  1: A
10182   C A (1) a
10183     BA\Ca
10184  0: B
10185  1: B
10186   C B (1) a
10188 /(?|(?<a>A)|(?<b>B))/ 
10189 Failed: different names for subpatterns of the same number are not allowed at offset 15
10191 /(?:a(?<quote> (?<apostrophe>')|(?<realquote>")) |
10192     b(?<quote> (?<apostrophe>')|(?<realquote>")) ) 
10193     (?('quote')[a-z]+|[0-9]+)/JIx
10194 Capturing subpattern count = 6
10195 Named capturing subpatterns:
10196   apostrophe   2
10197   apostrophe   5
10198   quote        1
10199   quote        4
10200   realquote    3
10201   realquote    6
10202 Options: extended dupnames
10203 No first char
10204 No need char
10205     a"aaaaa
10206  0: a"aaaaa
10207  1: "
10208  2: <unset>
10209  3: "
10210     b"aaaaa 
10211  0: b"aaaaa
10212  1: <unset>
10213  2: <unset>
10214  3: <unset>
10215  4: "
10216  5: <unset>
10217  6: "
10218     ** Failers 
10219 No match
10220     b"11111
10221 No match
10222     a"11111 
10223 No match
10224     
10225 /^(?|(a)(b)(c)(?<D>d)|(?<D>e)) (?('D')X|Y)/JDZx
10226 ------------------------------------------------------------------
10227         Bra
10228         ^
10229         Bra
10230         CBra 1
10231         a
10232         Ket
10233         CBra 2
10234         b
10235         Ket
10236         CBra 3
10237         c
10238         Ket
10239         CBra 4
10240         d
10241         Ket
10242         Alt
10243         CBra 1
10244         e
10245         Ket
10246         Ket
10247         Cond
10248       4 Cond nref
10249         X
10250         Alt
10251         Y
10252         Ket
10253         Ket
10254         End
10255 ------------------------------------------------------------------
10256 Capturing subpattern count = 4
10257 Named capturing subpatterns:
10258   D   4
10259   D   1
10260 Options: anchored extended dupnames
10261 No first char
10262 No need char
10263     abcdX
10264  0: abcdX
10265  1: a
10266  2: b
10267  3: c
10268  4: d
10269     eX
10270  0: eX
10271  1: e
10272     ** Failers
10273 No match
10274     abcdY
10275 No match
10276     ey     
10277 No match
10278     
10279 /(?<A>a) (b)(c)  (?<A>d  (?(R&A)$ | (?4)) )/JDZx
10280 ------------------------------------------------------------------
10281         Bra
10282         CBra 1
10283         a
10284         Ket
10285         CBra 2
10286         b
10287         Ket
10288         CBra 3
10289         c
10290         Ket
10291         CBra 4
10292         d
10293         Cond
10294         Cond nrecurse 1
10295         $
10296         Alt
10297         Recurse
10298         Ket
10299         Ket
10300         Ket
10301         End
10302 ------------------------------------------------------------------
10303 Capturing subpattern count = 4
10304 Named capturing subpatterns:
10305   A   1
10306   A   4
10307 Options: extended dupnames
10308 First char = 'a'
10309 Need char = 'd'
10310     abcdd
10311  0: abcdd
10312  1: a
10313  2: b
10314  3: c
10315  4: dd
10316     ** Failers
10317 No match
10318     abcdde  
10319 No match
10321 /abcd*/
10322     xxxxabcd\P
10323  0: abcd
10324     xxxxabcd\P\P
10325 Partial match: abcd
10327 /abcd*/i
10328     xxxxabcd\P
10329  0: abcd
10330     xxxxabcd\P\P
10331 Partial match: abcd
10332     XXXXABCD\P
10333  0: ABCD
10334     XXXXABCD\P\P
10335 Partial match: ABCD
10337 /abc\d*/
10338     xxxxabc1\P
10339  0: abc1
10340     xxxxabc1\P\P
10341 Partial match: abc1
10343 /(a)bc\1*/
10344     xxxxabca\P
10345  0: abca
10346  1: a
10347     xxxxabca\P\P
10348 Partial match: abca
10350 /abc[de]*/
10351     xxxxabcde\P
10352  0: abcde
10353     xxxxabcde\P\P
10354 Partial match: abcde
10356 /-- This is not in the Perl >= 5.10 test because Perl seems currently to be
10357     broken and not behaving as specified in that it *does* bumpalong after
10358     hitting (*COMMIT). --/
10360 /(?1)(A(*COMMIT)|B)D/
10361     ABD
10362  0: ABD
10363  1: B
10364     XABD
10365  0: ABD
10366  1: B
10367     BAD
10368  0: BAD
10369  1: A
10370     ABXABD  
10371  0: ABD
10372  1: B
10373     ** Failers 
10374 No match
10375     ABX 
10376 No match
10377     BAXBAD  
10378 No match
10380 /(\3)(\1)(a)/<JS>
10381     cat
10382  0: a
10383  1: 
10384  2: 
10385  3: a
10387 /(\3)(\1)(a)/SI<JS>
10388 Capturing subpattern count = 3
10389 Max back reference = 3
10390 Options:
10391 No first char
10392 Need char = 'a'
10393 Subject length lower bound = 1
10394 No set of starting bytes
10395     cat
10396  0: a
10397  1: 
10398  2: 
10399  3: a
10401 /(\3)(\1)(a)/SI
10402 Capturing subpattern count = 3
10403 Max back reference = 3
10404 No options
10405 No first char
10406 Need char = 'a'
10407 Subject length lower bound = 3
10408 No set of starting bytes
10409     cat
10410 No match
10412 /i(?(DEFINE)(?<s>a))/SI
10413 Capturing subpattern count = 1
10414 Named capturing subpatterns:
10415   s   1
10416 No options
10417 First char = 'i'
10418 No need char
10419 Subject length lower bound = 1
10420 No set of starting bytes
10421     i
10422  0: i
10423     
10424 /()i(?(1)a)/SI 
10425 Capturing subpattern count = 1
10426 No options
10427 No first char
10428 Need char = 'i'
10429 Subject length lower bound = 1
10430 Starting byte set: i 
10431     ia
10432  0: ia
10433  1: 
10435 /(?i)a(?-i)b|c/BZ
10436 ------------------------------------------------------------------
10437         Bra
10438      /i a
10439         b
10440         Alt
10441         c
10442         Ket
10443         End
10444 ------------------------------------------------------------------
10445     XabX
10446  0: ab
10447     XAbX
10448  0: Ab
10449     CcC 
10450  0: c
10451     ** Failers
10452 No match
10453     XABX   
10454 No match
10456 /(?i)a(?s)b|c/BZ
10457 ------------------------------------------------------------------
10458         Bra
10459      /i ab
10460         Alt
10461      /i c
10462         Ket
10463         End
10464 ------------------------------------------------------------------
10466 /(?i)a(?s-i)b|c/BZ
10467 ------------------------------------------------------------------
10468         Bra
10469      /i a
10470         b
10471         Alt
10472         c
10473         Ket
10474         End
10475 ------------------------------------------------------------------
10477 /^(ab(c\1)d|x){2}$/BZ
10478 ------------------------------------------------------------------
10479         Bra
10480         ^
10481         Once
10482         CBra 1
10483         ab
10484         CBra 2
10485         c
10486         \1
10487         Ket
10488         d
10489         Alt
10490         x
10491         Ket
10492         Ket
10493         Once
10494         CBra 1
10495         ab
10496         CBra 2
10497         c
10498         \1
10499         Ket
10500         d
10501         Alt
10502         x
10503         Ket
10504         Ket
10505         $
10506         Ket
10507         End
10508 ------------------------------------------------------------------
10509     xabcxd
10510  0: xabcxd
10511  1: abcxd
10512  2: cx
10513     
10514 /^(?&t)*+(?(DEFINE)(?<t>.))$/BZ
10515 ------------------------------------------------------------------
10516         Bra
10517         ^
10518         Braposzero
10519         SBraPos
10520         Recurse
10521         KetRpos
10522         Cond
10523         Cond def
10524         CBra 1
10525         Any
10526         Ket
10527         Ket
10528         $
10529         Ket
10530         End
10531 ------------------------------------------------------------------
10533 /^(?&t)*(?(DEFINE)(?<t>.))$/BZ
10534 ------------------------------------------------------------------
10535         Bra
10536         ^
10537         Brazero
10538         Once
10539         Recurse
10540         KetRmax
10541         Cond
10542         Cond def
10543         CBra 1
10544         Any
10545         Ket
10546         Ket
10547         $
10548         Ket
10549         End
10550 ------------------------------------------------------------------
10552 / -- The first four of these are not in the Perl >= 5.10 test because Perl 
10553      documents that the use of \K in assertions is "not well defined". The
10554      last is here because Perl gives the match as "b" rather than "ab". I
10555      believe this to be a Perl bug. --/  
10556       
10557 /(?=a\Kb)ab/
10558     ab 
10559  0: b
10561 /(?!a\Kb)ac/
10562     ac 
10563  0: ac
10564     
10565 /^abc(?<=b\Kc)d/
10566     abcd
10567  0: cd
10569 /^abc(?<!b\Kq)d/
10570     abcd
10571  0: abcd
10573 /(?>a\Kb)z|(ab)/
10574     ab 
10575  0: ab
10576  1: ab
10578 /----------------------/
10580 /(?P<L1>(?P<L2>0|)|(?P>L2)(?P>L1))/
10581 Failed: recursive call could loop indefinitely at offset 31
10583 /abc(*MARK:)pqr/
10584 Failed: (*MARK) must have an argument at offset 10
10586 /abc(*:)pqr/
10587 Failed: (*MARK) must have an argument at offset 6
10589 /abc(*FAIL:123)xyz/
10590 Failed: an argument is not allowed for (*ACCEPT), (*FAIL), or (*COMMIT) at offset 13
10592 /--- This should, and does, fail. In Perl, it does not, which I think is a 
10593      bug because replacing the B in the pattern by (B|D) does make it fail. ---/
10595 /A(*COMMIT)B/+K
10596     ACABX
10597 No match
10599 /--- These should be different, but in Perl 5.11 are not, which I think
10600      is a bug in Perl. ---/
10602 /A(*THEN)B|A(*THEN)C/K
10603     AC
10604  0: AC
10606 /A(*PRUNE)B|A(*PRUNE)C/K
10607     AC
10608 No match
10609     
10610 /--- This should fail; the SKIP advances by one, but when we get to AC, the
10611      PRUNE kills it. Perl behaves differently. ---/ 
10612     
10613 /A(*PRUNE:A)A+(*SKIP:A)(B|Z) | AC/xK
10614     AAAC
10615 No match, mark = A
10617 /--- Mark names can be duplicated. Perl doesn't give a mark for this one,
10618 though PCRE does. ---/
10620 /^A(*:A)B|^X(*:A)Y/K
10621     ** Failers
10622 No match
10623     XAQQ
10624 No match, mark = A
10625     
10626 /--- COMMIT at the start of a pattern should be the same as an anchor. Perl 
10627 optimizations defeat this. So does the PCRE optimization unless we disable it 
10628 with \Y. ---/
10630 /(*COMMIT)ABC/
10631     ABCDEFG
10632  0: ABC
10633     ** Failers
10634 No match
10635     DEFGABC\Y  
10636 No match
10637     
10638 /^(ab (c+(*THEN)cd) | xyz)/x
10639     abcccd  
10640 No match
10642 /^(ab (c+(*PRUNE)cd) | xyz)/x
10643     abcccd  
10644 No match
10646 /^(ab (c+(*FAIL)cd) | xyz)/x
10647     abcccd  
10648 No match
10649     
10650 /--- Perl 5.11 gets some of these wrong ---/ 
10652 /(?>.(*ACCEPT))*?5/
10653     abcde
10654  0: a
10656 /(.(*ACCEPT))*?5/
10657     abcde
10658  0: a
10659  1: a
10661 /(.(*ACCEPT))5/
10662     abcde
10663  0: a
10664  1: a
10666 /(.(*ACCEPT))*5/
10667     abcde
10668  0: a
10669  1: a
10671 /A\NB./BZ
10672 ------------------------------------------------------------------
10673         Bra
10674         A
10675         Any
10676         B
10677         Any
10678         Ket
10679         End
10680 ------------------------------------------------------------------
10681     ACBD
10682  0: ACBD
10683     *** Failers
10684 No match
10685     A\nB
10686 No match
10687     ACB\n   
10688 No match
10690 /A\NB./sBZ
10691 ------------------------------------------------------------------
10692         Bra
10693         A
10694         Any
10695         B
10696         AllAny
10697         Ket
10698         End
10699 ------------------------------------------------------------------
10700     ACBD
10701  0: ACBD
10702     ACB\n 
10703  0: ACB\x0a
10704     *** Failers
10705 No match
10706     A\nB  
10707 No match
10708   
10709 /A\NB/<crlf>
10710     A\nB
10711  0: A\x0aB
10712     A\rB
10713  0: A\x0dB
10714     ** Failers
10715 No match
10716     A\r\nB    
10717 No match
10719 /\R+b/BZ
10720 ------------------------------------------------------------------
10721         Bra
10722         \R++
10723         b
10724         Ket
10725         End
10726 ------------------------------------------------------------------
10728 /\R+\n/BZ
10729 ------------------------------------------------------------------
10730         Bra
10731         \R+
10732         \x0a
10733         Ket
10734         End
10735 ------------------------------------------------------------------
10737 /\R+\d/BZ
10738 ------------------------------------------------------------------
10739         Bra
10740         \R++
10741         \d
10742         Ket
10743         End
10744 ------------------------------------------------------------------
10746 /\d*\R/BZ
10747 ------------------------------------------------------------------
10748         Bra
10749         \d*+
10750         \R
10751         Ket
10752         End
10753 ------------------------------------------------------------------
10755 /\s*\R/BZ
10756 ------------------------------------------------------------------
10757         Bra
10758         \s*
10759         \R
10760         Ket
10761         End
10762 ------------------------------------------------------------------
10763     \x20\x0a
10764  0:  \x0a
10765     \x20\x0d
10766  0:  \x0d
10767     \x20\x0d\x0a
10768  0:  \x0d\x0a
10770 /\S*\R/BZ
10771 ------------------------------------------------------------------
10772         Bra
10773         \S*+
10774         \R
10775         Ket
10776         End
10777 ------------------------------------------------------------------
10778     a\x0a
10779  0: a\x0a
10781 /X\h*\R/BZ
10782 ------------------------------------------------------------------
10783         Bra
10784         X
10785         \h*+
10786         \R
10787         Ket
10788         End
10789 ------------------------------------------------------------------
10790     X\x20\x0a
10791  0: X \x0a
10793 /X\H*\R/BZ
10794 ------------------------------------------------------------------
10795         Bra
10796         X
10797         \H*
10798         \R
10799         Ket
10800         End
10801 ------------------------------------------------------------------
10802     X\x0d\x0a
10803  0: X\x0d\x0a
10805 /X\H+\R/BZ
10806 ------------------------------------------------------------------
10807         Bra
10808         X
10809         \H+
10810         \R
10811         Ket
10812         End
10813 ------------------------------------------------------------------
10814     X\x0d\x0a
10815  0: X\x0d\x0a
10817 /X\H++\R/BZ
10818 ------------------------------------------------------------------
10819         Bra
10820         X
10821         \H++
10822         \R
10823         Ket
10824         End
10825 ------------------------------------------------------------------
10826     X\x0d\x0a
10827 No match
10829 /-- Perl treats this one differently, not failing the second string. I believe
10830     that is a bug in Perl. --/
10832 /^((abc|abcx)(*THEN)y|abcd)/
10833     abcd
10834  0: abcd
10835  1: abcd
10836     *** Failers 
10837 No match
10838     abcxy 
10839 No match
10841 /(?<=abc)def/
10842     abc\P\P
10843 Partial match: abc
10845 /abc$/
10846     abc
10847  0: abc
10848     abc\P
10849  0: abc
10850     abc\P\P
10851 Partial match: abc
10853 /abc$/m
10854     abc
10855  0: abc
10856     abc\n
10857  0: abc
10858     abc\P\P
10859 Partial match: abc
10860     abc\n\P\P 
10861  0: abc
10862     abc\P
10863  0: abc
10864     abc\n\P
10865  0: abc
10867 /abc\z/
10868     abc
10869  0: abc
10870     abc\P
10871  0: abc
10872     abc\P\P
10873 Partial match: abc
10875 /abc\Z/
10876     abc
10877  0: abc
10878     abc\P
10879  0: abc
10880     abc\P\P
10881 Partial match: abc
10883 /abc\b/
10884     abc
10885  0: abc
10886     abc\P
10887  0: abc
10888     abc\P\P
10889 Partial match: abc
10891 /abc\B/
10892     abc
10893 No match
10894     abc\P
10895 Partial match: abc
10896     abc\P\P
10897 Partial match: abc
10899 /.+/
10900     abc\>0
10901  0: abc
10902     abc\>1
10903  0: bc
10904     abc\>2
10905  0: c
10906     abc\>3
10907 No match
10908     abc\>4
10909 Error -24 (bad offset value)
10910     abc\>-4 
10911 Error -24 (bad offset value)
10913 /^\cģ/
10914 Failed: \c must be followed by an ASCII character at offset 3
10916 /(?P<abn>(?P=abn)xxx)/BZ
10917 ------------------------------------------------------------------
10918         Bra
10919         Once
10920         CBra 1
10921         \1
10922         xxx
10923         Ket
10924         Ket
10925         Ket
10926         End
10927 ------------------------------------------------------------------
10929 /(a\1z)/BZ
10930 ------------------------------------------------------------------
10931         Bra
10932         Once
10933         CBra 1
10934         a
10935         \1
10936         z
10937         Ket
10938         Ket
10939         Ket
10940         End
10941 ------------------------------------------------------------------
10943 /(?P<abn>(?P=abn)(?<badstufxxx)/BZ
10944 Failed: syntax error in subpattern name (missing terminator) at offset 29
10946 /(?P<abn>(?P=axn)xxx)/BZ
10947 Failed: reference to non-existent subpattern at offset 15
10949 /(?P<abn>(?P=axn)xxx)(?<axn>yy)/BZ
10950 ------------------------------------------------------------------
10951         Bra
10952         CBra 1
10953         \2
10954         xxx
10955         Ket
10956         CBra 2
10957         yy
10958         Ket
10959         Ket
10960         End
10961 ------------------------------------------------------------------
10963 /-- These tests are here because Perl gets the first one wrong. --/
10965 /(\R*)(.)/s
10966     \r\n
10967  0: \x0d
10968  1: 
10969  2: \x0d
10970     \r\r\n\n\r 
10971  0: \x0d\x0d\x0a\x0a\x0d
10972  1: \x0d\x0d\x0a\x0a
10973  2: \x0d
10974     \r\r\n\n\r\n 
10975  0: \x0d\x0d\x0a\x0a\x0d
10976  1: \x0d\x0d\x0a\x0a
10977  2: \x0d
10979 /(\R)*(.)/s
10980     \r\n
10981  0: \x0d
10982  1: <unset>
10983  2: \x0d
10984     \r\r\n\n\r 
10985  0: \x0d\x0d\x0a\x0a\x0d
10986  1: \x0a
10987  2: \x0d
10988     \r\r\n\n\r\n 
10989  0: \x0d\x0d\x0a\x0a\x0d
10990  1: \x0a
10991  2: \x0d
10993 /((?>\r\n|\n|\x0b|\f|\r|\x85)*)(.)/s
10994     \r\n
10995  0: \x0d
10996  1: 
10997  2: \x0d
10998     \r\r\n\n\r 
10999  0: \x0d\x0d\x0a\x0a\x0d
11000  1: \x0d\x0d\x0a\x0a
11001  2: \x0d
11002     \r\r\n\n\r\n 
11003  0: \x0d\x0d\x0a\x0a\x0d
11004  1: \x0d\x0d\x0a\x0a
11005  2: \x0d
11007 /-- --/
11009 /^abc$/BZ
11010 ------------------------------------------------------------------
11011         Bra
11012         ^
11013         abc
11014         $
11015         Ket
11016         End
11017 ------------------------------------------------------------------
11019 /^abc$/BZm
11020 ------------------------------------------------------------------
11021         Bra
11022      /m ^
11023         abc
11024      /m $
11025         Ket
11026         End
11027 ------------------------------------------------------------------
11029 /^(a)*+(\w)/S
11030     aaaaX
11031  0: aaaaX
11032  1: a
11033  2: X
11034     ** Failers 
11035 No match
11036     aaaa
11037 No match
11039 /^(?:a)*+(\w)/S
11040     aaaaX
11041  0: aaaaX
11042  1: X
11043     ** Failers 
11044 No match
11045     aaaa
11046 No match
11048 /(a)++1234/SDZ
11049 ------------------------------------------------------------------
11050         Bra
11051         CBraPos 1
11052         a
11053         KetRpos
11054         1234
11055         Ket
11056         End
11057 ------------------------------------------------------------------
11058 Capturing subpattern count = 1
11059 No options
11060 First char = 'a'
11061 Need char = '4'
11062 Subject length lower bound = 5
11063 No set of starting bytes
11065 /([abc])++1234/SI
11066 Capturing subpattern count = 1
11067 No options
11068 No first char
11069 Need char = '4'
11070 Subject length lower bound = 5
11071 Starting byte set: a b c 
11073 /(?<=(abc)+)X/
11074 Failed: lookbehind assertion is not fixed length at offset 10
11076 /(^ab)/I
11077 Capturing subpattern count = 1
11078 Options: anchored
11079 No first char
11080 No need char
11082 /(^ab)++/I
11083 Capturing subpattern count = 1
11084 Options: anchored
11085 No first char
11086 No need char
11088 /(^ab|^)+/I
11089 Capturing subpattern count = 1
11090 Options: anchored
11091 No first char
11092 No need char
11094 /(^ab|^)++/I
11095 Capturing subpattern count = 1
11096 Options: anchored
11097 No first char
11098 No need char
11100 /(?:^ab)/I
11101 Capturing subpattern count = 0
11102 Options: anchored
11103 No first char
11104 No need char
11106 /(?:^ab)++/I
11107 Capturing subpattern count = 0
11108 Options: anchored
11109 No first char
11110 No need char
11112 /(?:^ab|^)+/I
11113 Capturing subpattern count = 0
11114 Options: anchored
11115 No first char
11116 No need char
11118 /(?:^ab|^)++/I
11119 Capturing subpattern count = 0
11120 Options: anchored
11121 No first char
11122 No need char
11124 /(.*ab)/I
11125 Capturing subpattern count = 1
11126 No options
11127 First char at start or follows newline
11128 Need char = 'b'
11130 /(.*ab)++/I
11131 Capturing subpattern count = 1
11132 No options
11133 First char at start or follows newline
11134 Need char = 'b'
11136 /(.*ab|.*)+/I
11137 Capturing subpattern count = 1
11138 No options
11139 First char at start or follows newline
11140 No need char
11142 /(.*ab|.*)++/I
11143 Capturing subpattern count = 1
11144 No options
11145 First char at start or follows newline
11146 No need char
11148 /(?:.*ab)/I
11149 Capturing subpattern count = 0
11150 No options
11151 First char at start or follows newline
11152 Need char = 'b'
11154 /(?:.*ab)++/I
11155 Capturing subpattern count = 0
11156 No options
11157 First char at start or follows newline
11158 Need char = 'b'
11160 /(?:.*ab|.*)+/I
11161 Capturing subpattern count = 0
11162 No options
11163 First char at start or follows newline
11164 No need char
11166 /(?:.*ab|.*)++/I
11167 Capturing subpattern count = 0
11168 No options
11169 First char at start or follows newline
11170 No need char
11172 /(?=a)[bcd]/I
11173 Capturing subpattern count = 0
11174 No options
11175 First char = 'a'
11176 No need char
11178 /((?=a))[bcd]/I
11179 Capturing subpattern count = 1
11180 No options
11181 First char = 'a'
11182 No need char
11184 /((?=a))+[bcd]/I
11185 Capturing subpattern count = 1
11186 No options
11187 First char = 'a'
11188 No need char
11190 /((?=a))++[bcd]/I
11191 Capturing subpattern count = 1
11192 No options
11193 First char = 'a'
11194 No need char
11196 /(?=a+)[bcd]/iI
11197 Capturing subpattern count = 0
11198 Options: caseless
11199 First char = 'a' (caseless)
11200 No need char
11202 /(?=a+?)[bcd]/iI
11203 Capturing subpattern count = 0
11204 Options: caseless
11205 First char = 'a' (caseless)
11206 No need char
11208 /(?=a++)[bcd]/iI
11209 Capturing subpattern count = 0
11210 Options: caseless
11211 First char = 'a' (caseless)
11212 No need char
11214 /(?=a{3})[bcd]/iI
11215 Capturing subpattern count = 0
11216 Options: caseless
11217 First char = 'a' (caseless)
11218 Need char = 'a' (caseless)
11220 /(abc)\1+/S
11222 /-- Perl doesn't get these right IMO (the 3rd is PCRE-specific) --/
11224 /(?1)(?:(b(*ACCEPT))){0}/
11225     b
11226  0: b
11228 /(?1)(?:(b(*ACCEPT))){0}c/
11229     bc
11230  0: bc
11231     ** Failers 
11232 No match
11233     b 
11234 No match
11236 /(?1)(?:((*ACCEPT))){0}c/
11237     c
11238  0: c
11239     c\N 
11240  0: c
11242 /^.*?(?(?=a)a|b(*THEN)c)/
11243     ba
11244 No match
11246 /^.*?(?(?=a)a|bc)/
11247     ba
11248  0: ba
11250 /^.*?(?(?=a)a(*THEN)b|c)/
11251     ac
11252 No match
11254 /^.*?(?(?=a)a(*THEN)b)c/
11255     ac
11256 No match
11258 /^.*?(a(*THEN)b)c/
11259     aabc
11260 No match
11261     
11262 /^.*? (?1) c (?(DEFINE)(a(*THEN)b))/x
11263     aabc
11264  0: aabc
11266 /^.*?(a(*THEN)b|z)c/
11267     aabc
11268  0: aabc
11269  1: ab
11271 /^.*?(z|a(*THEN)b)c/
11272     aabc
11273  0: aabc
11274  1: ab
11276 /-- --/
11278 /-- These studied versions are here because they are not Perl-compatible; the
11279     studying means the mark is not seen. --/
11281 /(*MARK:A)(*SKIP:B)(C|X)/KS
11282     C
11283  0: C
11284  1: C
11285 MK: A
11286     D
11287 No match, mark = A
11288      
11289 /(*:A)A+(*SKIP:A)(B|Z)/KS
11290     AAAC
11291 No match, mark = A
11293 /-- --/
11295 "(?=a*(*ACCEPT)b)c"
11296     c
11297  0: c
11298     c\N 
11299  0: c
11300     
11301 /(?1)c(?(DEFINE)((*ACCEPT)b))/
11302     c
11303  0: c
11304     c\N  
11305  0: c
11306     
11307 /(?>(*ACCEPT)b)c/
11308     c
11309  0: 
11310     c\N  
11311 No match
11313 /(?:(?>(a)))+a%/++
11314     %aa%
11315  0: aa%
11316  0+ 
11317  1: a
11318  1+ a%
11320 /(a)b|ac/++SS
11321     ac\O3
11322 Matched, but too many substrings
11323  0: ac
11324  0+ 
11325     
11326 /(a)(b)x|abc/++
11327      abc\O6
11328  0: abc
11329  0+ 
11331 /(a)bc|(a)(b)\2/
11332     \O3abc
11333 Matched, but too many substrings
11334  0: abc
11335     \O4abc 
11336 Matched, but too many substrings
11337  0: abc
11339 /(?(DEFINE)(a(?2)|b)(b(?1)|a))(?:(?1)|(?2))/SI
11340 Capturing subpattern count = 2
11341 No options
11342 No first char
11343 No need char
11344 Subject length lower bound = 1
11345 No set of starting bytes
11347 /(a(?2)|b)(b(?1)|a)(?:(?1)|(?2))/SI
11348 Capturing subpattern count = 2
11349 No options
11350 No first char
11351 No need char
11352 Subject length lower bound = 3
11353 Starting byte set: a b 
11355 /(a(?2)|b)(b(?1)|a)(?1)(?2)/SI
11356 Capturing subpattern count = 2
11357 No options
11358 No first char
11359 No need char
11360 Subject length lower bound = 4
11361 Starting byte set: a b 
11363 /(abc)(?1)/SI
11364 Capturing subpattern count = 1
11365 No options
11366 First char = 'a'
11367 Need char = 'c'
11368 Subject length lower bound = 6
11369 No set of starting bytes
11371 /^(?>a)++/
11372     aa\M
11373 Minimum match() limit = 5
11374 Minimum match() recursion limit = 2
11375  0: aa
11376     aaaaaaaaa\M 
11377 Minimum match() limit = 12
11378 Minimum match() recursion limit = 2
11379  0: aaaaaaaaa
11380     
11381 /(a)(?1)++/
11382     aa\M
11383 Minimum match() limit = 7
11384 Minimum match() recursion limit = 4
11385  0: aa
11386  1: a
11387     aaaaaaaaa\M  
11388 Minimum match() limit = 21
11389 Minimum match() recursion limit = 4
11390  0: aaaaaaaaa
11391  1: a
11393 /(?:(foo)|(bar)|(baz))X/SS=
11394     bazfooX
11395  0: fooX
11396  1: foo
11397  2: <unset>
11398  3: <unset>
11399     foobazbarX
11400  0: barX
11401  1: <unset>
11402  2: bar
11403  3: <unset>
11404     barfooX
11405  0: fooX
11406  1: foo
11407  2: <unset>
11408  3: <unset>
11409     bazX
11410  0: bazX
11411  1: <unset>
11412  2: <unset>
11413  3: baz
11414     foobarbazX    
11415  0: bazX
11416  1: <unset>
11417  2: <unset>
11418  3: baz
11419     bazfooX\O0
11420 Matched, but too many substrings
11421     bazfooX\O2
11422 Matched, but too many substrings
11423  0: fooX
11424     bazfooX\O4
11425 Matched, but too many substrings
11426  0: fooX
11427  1: <unset>
11428     bazfooX\O6
11429 Matched, but too many substrings
11430  0: fooX
11431  1: foo
11432  2: <unset>
11433     bazfooX\O8
11434 Matched, but too many substrings
11435  0: fooX
11436  1: foo
11437  2: <unset>
11438  3: <unset>
11439     bazfooX\O10
11440  0: fooX
11441  1: foo
11442  2: <unset>
11443  3: <unset>
11445 /(?=abc){3}abc/BZ
11446 ------------------------------------------------------------------
11447         Bra
11448         Assert
11449         abc
11450         Ket
11451         abc
11452         Ket
11453         End
11454 ------------------------------------------------------------------
11456 /(?=abc)+abc/BZ
11457 ------------------------------------------------------------------
11458         Bra
11459         Assert
11460         abc
11461         Ket
11462         abc
11463         Ket
11464         End
11465 ------------------------------------------------------------------
11467 /(?=abc)++abc/BZ
11468 ------------------------------------------------------------------
11469         Bra
11470         Assert
11471         abc
11472         Ket
11473         abc
11474         Ket
11475         End
11476 ------------------------------------------------------------------
11478 /(?=abc){0}xyz/BZ
11479 ------------------------------------------------------------------
11480         Bra
11481         Skip zero
11482         Assert
11483         abc
11484         Ket
11485         xyz
11486         Ket
11487         End
11488 ------------------------------------------------------------------
11490 /(?=(a))?./BZ
11491 ------------------------------------------------------------------
11492         Bra
11493         Brazero
11494         Assert
11495         CBra 1
11496         a
11497         Ket
11498         Ket
11499         Any
11500         Ket
11501         End
11502 ------------------------------------------------------------------
11504 /(?=(a))??./BZ
11505 ------------------------------------------------------------------
11506         Bra
11507         Braminzero
11508         Assert
11509         CBra 1
11510         a
11511         Ket
11512         Ket
11513         Any
11514         Ket
11515         End
11516 ------------------------------------------------------------------
11518 /^(?=(a)){0}b(?1)/BZ
11519 ------------------------------------------------------------------
11520         Bra
11521         ^
11522         Skip zero
11523         Assert
11524         CBra 1
11525         a
11526         Ket
11527         Ket
11528         b
11529         Recurse
11530         Ket
11531         End
11532 ------------------------------------------------------------------
11534 /(?(DEFINE)(a))?b(?1)/BZ
11535 ------------------------------------------------------------------
11536         Bra
11537         Cond
11538         Cond def
11539         CBra 1
11540         a
11541         Ket
11542         Ket
11543         b
11544         Recurse
11545         Ket
11546         End
11547 ------------------------------------------------------------------
11549 /^(?=(?1))?[az]([abc])d/BZ
11550 ------------------------------------------------------------------
11551         Bra
11552         ^
11553         Brazero
11554         Assert
11555         Recurse
11556         Ket
11557         [az]
11558         CBra 1
11559         [a-c]
11560         Ket
11561         d
11562         Ket
11563         End
11564 ------------------------------------------------------------------
11566 /^(?!a){0}\w+/BZ
11567 ------------------------------------------------------------------
11568         Bra
11569         ^
11570         Skip zero
11571         Assert not
11572         a
11573         Ket
11574         \w+
11575         Ket
11576         End
11577 ------------------------------------------------------------------
11579 /(?<=(abc))?xyz/BZ
11580 ------------------------------------------------------------------
11581         Bra
11582         Brazero
11583         AssertB
11584         Reverse
11585         CBra 1
11586         abc
11587         Ket
11588         Ket
11589         xyz
11590         Ket
11591         End
11592 ------------------------------------------------------------------
11594 /[:a[:abc]b:]/BZ
11595 ------------------------------------------------------------------
11596         Bra
11597         [:[a-c]
11598         b:]
11599         Ket
11600         End
11601 ------------------------------------------------------------------
11603 /((?2))((?1))/SS
11604     abc
11605 Error -26 (nested recursion at the same subject position)
11607 /((?(R2)a+|(?1)b))/SS
11608     aaaabcde
11609 Error -26 (nested recursion at the same subject position)
11611 /(?(R)a*(?1)|((?R))b)/SS
11612     aaaabcde
11613 Error -26 (nested recursion at the same subject position)
11615 /(a+|(?R)b)/
11616 Failed: recursive call could loop indefinitely at offset 7
11618 /^(a(*:A)(d|e(*:B))z|aeq)/C
11619     adz
11620 --->adz
11621  +0 ^       ^
11622  +1 ^       (a(*:A)(d|e(*:B))z|aeq)
11623  +2 ^       a
11624  +3 ^^      (*:A)
11625  +8 ^^      (d|e(*:B))
11626 Latest Mark: A
11627  +9 ^^      d
11628 +10 ^ ^     |
11629 +18 ^ ^     z
11630 +19 ^  ^    |
11631 +24 ^  ^    
11632  0: adz
11633  1: adz
11634  2: d
11635     aez
11636 --->aez
11637  +0 ^       ^
11638  +1 ^       (a(*:A)(d|e(*:B))z|aeq)
11639  +2 ^       a
11640  +3 ^^      (*:A)
11641  +8 ^^      (d|e(*:B))
11642 Latest Mark: A
11643  +9 ^^      d
11644 +11 ^^      e
11645 +12 ^ ^     (*:B)
11646 +17 ^ ^     )
11647 Latest Mark: B
11648 +18 ^ ^     z
11649 +19 ^  ^    |
11650 +24 ^  ^    
11651  0: aez
11652  1: aez
11653  2: e
11654     aeqwerty
11655 --->aeqwerty
11656  +0 ^            ^
11657  +1 ^            (a(*:A)(d|e(*:B))z|aeq)
11658  +2 ^            a
11659  +3 ^^           (*:A)
11660  +8 ^^           (d|e(*:B))
11661 Latest Mark: A
11662  +9 ^^           d
11663 +11 ^^           e
11664 +12 ^ ^          (*:B)
11665 +17 ^ ^          )
11666 Latest Mark: B
11667 +18 ^ ^          z
11668 +20 ^            a
11669 +21 ^^           e
11670 +22 ^ ^          q
11671 +23 ^  ^         )
11672 +24 ^  ^         
11673  0: aeq
11674  1: aeq
11676 /.(*F)/
11677     \P\Pabc
11678 No match
11680 /\btype\b\W*?\btext\b\W*?\bjavascript\b/IS
11681 Capturing subpattern count = 0
11682 No options
11683 First char = 't'
11684 Need char = 't'
11685 Max lookbehind = 1
11686 Subject length lower bound = 18
11687 No set of starting bytes
11689 /\btype\b\W*?\btext\b\W*?\bjavascript\b|\burl\b\W*?\bshell:|<input\b.*?\btype\b\W*?\bimage\b|\bonkeyup\b\W*?\=/IS
11690 Capturing subpattern count = 0
11691 No options
11692 No first char
11693 No need char
11694 Max lookbehind = 1
11695 Subject length lower bound = 8
11696 Starting byte set: < o t u 
11698 /a(*SKIP)c|b(*ACCEPT)|/+SI
11699 Capturing subpattern count = 0
11700 No options
11701 No first char
11702 No need char
11703 Study returned NULL
11704     a
11705  0: 
11706  0+ 
11708 /a(*SKIP)c|b(*ACCEPT)cd(*ACCEPT)|x/SI
11709 Capturing subpattern count = 0
11710 No options
11711 No first char
11712 No need char
11713 Subject length lower bound = -1
11714 Starting byte set: a b x 
11715     ax
11716  0: x
11718 'a*(*ACCEPT)b'+
11719     \N\N
11720 No match
11721     abc\N\N
11722  0: a
11723  0+ bc
11724     bbb\N\N 
11725  0: 
11726  0+ bb
11728 /(*ACCEPT)a/+I
11729 Capturing subpattern count = 0
11730 No options
11731 No first char
11732 No need char
11733     bax
11734  0: 
11735  0+ bax
11737 /z(*ACCEPT)a/+I
11738 Capturing subpattern count = 0
11739 No options
11740 First char = 'z'
11741 No need char
11742     baxzbx
11743  0: z
11744  0+ bx
11746 /a(?:.)*?a/ims                                                                  
11747     \Mabbbbbbbbbbbbbbbbbbbbba
11748 Minimum match() limit = 65
11749 Minimum match() recursion limit = 2
11750  0: abbbbbbbbbbbbbbbbbbbbba
11751     
11752 /a(?:.(*THEN))*?a/ims
11753     \Mabbbbbbbbbbbbbbbbbbbbba
11754 Minimum match() limit = 86
11755 Minimum match() recursion limit = 45
11756  0: abbbbbbbbbbbbbbbbbbbbba
11758 /a(?:.(*THEN:ABC))*?a/ims
11759     \Mabbbbbbbbbbbbbbbbbbbbba
11760 Minimum match() limit = 86
11761 Minimum match() recursion limit = 45
11762  0: abbbbbbbbbbbbbbbbbbbbba
11764 /-- These tests are in agreement with development Perl 5.015, which has fixed
11765     some things, but they don't all work with 5.012, so they aren't in the
11766     Perl-compatible tests. Those after the first come from Perl's own test
11767     files. --/
11768     
11769 /^((yes|no)(*THEN)(*F))?/
11770   yes
11771 No match
11773 /(A (.*)   C? (*THEN)  | A D) (*FAIL)/x
11774 AbcdCBefgBhiBqz
11775 No match
11777 /(A (.*)   C? (*THEN)  | A D) z/x
11778 AbcdCBefgBhiBqz
11779 No match
11781 /(A (.*)   C? (*THEN)  | A D) \s* (*FAIL)/x
11782 AbcdCBefgBhiBqz
11783 No match
11785 /(A (.*)   C? (*THEN)  | A D) \s* z/x
11786 AbcdCBefgBhiBqz
11787 No match
11789 /(A (.*)   (?:C|) (*THEN)  | A D) (*FAIL)/x
11790 AbcdCBefgBhiBqz
11791 No match
11793 /(A (.*)   (?:C|) (*THEN)  | A D) z/x
11794 AbcdCBefgBhiBqz
11795 No match
11797 /(A (.*)   C{0,6} (*THEN)  | A D) (*FAIL)/x
11798 AbcdCBefgBhiBqz
11799 No match
11801 /(A (.*)   C{0,6} (*THEN)  | A D) z/x
11802 AbcdCBefgBhiBqz
11803 No match
11805 /(A (.*)   (CE){0,6} (*THEN)  | A D) (*FAIL)/x
11806 AbcdCEBefgBhiBqz
11807 No match
11809 /(A (.*)   (CE){0,6} (*THEN)  | A D) z/x
11810 AbcdCEBefgBhiBqz
11811 No match
11813 /(A (.*)   (CE*){0,6} (*THEN)  | A D) (*FAIL)/x
11814 AbcdCBefgBhiBqz
11815 No match
11817 /(A (.*)   (CE*){0,6} (*THEN)  | A D) z/x
11818 AbcdCBefgBhiBqz
11819 No match
11821 /-----------------------------------------------/  
11823 /^(?>a+)(?>(z+))\w/BZ
11824 ------------------------------------------------------------------
11825         Bra
11826         ^
11827         Once_NC
11828         a+
11829         Ket
11830         Once
11831         CBra 1
11832         z+
11833         Ket
11834         Ket
11835         \w
11836         Ket
11837         End
11838 ------------------------------------------------------------------
11839     aaaazzzzb
11840  0: aaaazzzzb
11841  1: zzzz
11842     ** Failers
11843 No match
11844     aazz  
11845 No match
11847 /(.)(\1|a(?2))/
11848     bab
11849  0: bab
11850  1: b
11851  2: ab
11852     
11853 /\1|(.)(?R)\1/
11854     cbbbc
11855  0: cbbbc
11856  1: c
11857     
11858 /(.)((?(1)c|a)|a(?2))/
11859     baa  
11860 No match
11862 /(?P<abn>(?P=abn)xxx)/BZ
11863 ------------------------------------------------------------------
11864         Bra
11865         Once
11866         CBra 1
11867         \1
11868         xxx
11869         Ket
11870         Ket
11871         Ket
11872         End
11873 ------------------------------------------------------------------
11875 /(a\1z)/BZ
11876 ------------------------------------------------------------------
11877         Bra
11878         Once
11879         CBra 1
11880         a
11881         \1
11882         z
11883         Ket
11884         Ket
11885         Ket
11886         End
11887 ------------------------------------------------------------------
11889 /^(?>a+)(?>b+)(?>c+)(?>d+)(?>e+)/
11890      \Maabbccddee
11891 Minimum match() limit = 12
11892 Minimum match() recursion limit = 3
11893  0: aabbccddee
11895 /^(?>(a+))(?>(b+))(?>(c+))(?>(d+))(?>(e+))/
11896      \Maabbccddee
11897 Minimum match() limit = 22
11898 Minimum match() recursion limit = 21
11899  0: aabbccddee
11900  1: aa
11901  2: bb
11902  3: cc
11903  4: dd
11904  5: ee
11906 /^(?>(a+))(?>b+)(?>(c+))(?>d+)(?>(e+))/
11907      \Maabbccddee
11908 Minimum match() limit = 18
11909 Minimum match() recursion limit = 13
11910  0: aabbccddee
11911  1: aa
11912  2: cc
11913  3: ee
11915 /^a\x41z/<JS>
11916     aAz
11917  0: aAz
11918     *** Failers
11919 No match
11920     ax41z
11921 No match
11923 /^a[m\x41]z/<JS>
11924     aAz
11925  0: aAz
11927 /^a\x1z/<JS>
11928     ax1z
11929  0: ax1z
11931 /^a\u0041z/<JS>
11932     aAz
11933  0: aAz
11934     *** Failers
11935 No match
11936     au0041z
11937 No match
11939 /^a[m\u0041]z/<JS>
11940     aAz
11941  0: aAz
11943 /^a\u041z/<JS>
11944     au041z
11945  0: au041z
11946     *** Failers
11947 No match
11948     aAz
11949 No match
11951 /^a\U0041z/<JS>
11952     aU0041z
11953  0: aU0041z
11954     *** Failers
11955 No match
11956     aAz
11957 No match
11959 /(?(?=c)c|d)++Y/BZ
11960 ------------------------------------------------------------------
11961         Bra
11962         BraPos
11963         Cond
11964         Assert
11965         c
11966         Ket
11967         c
11968         Alt
11969         d
11970         Ket
11971         KetRpos
11972         Y
11973         Ket
11974         End
11975 ------------------------------------------------------------------
11977 /(?(?=c)c|d)*+Y/BZ
11978 ------------------------------------------------------------------
11979         Bra
11980         Braposzero
11981         BraPos
11982         Cond
11983         Assert
11984         c
11985         Ket
11986         c
11987         Alt
11988         d
11989         Ket
11990         KetRpos
11991         Y
11992         Ket
11993         End
11994 ------------------------------------------------------------------
11996 /a[\NB]c/
11997 Failed: \N is not supported in a class at offset 3
11999 /a[B-\Nc]/ 
12000 Failed: \N is not supported in a class at offset 5
12002 /(a)(?2){0,1999}?(b)/
12004 /(a)(?(DEFINE)(b))(?2){0,1999}?(?2)/
12006 /--- This test, with something more complicated than individual letters, causes
12007 different behaviour in Perl. Perhaps it disables some optimization; no tag is
12008 passed back for the failures, whereas in PCRE there is a tag. ---/
12009     
12010 /(A|P)(*:A)(B|P) | (X|P)(X|P)(*:B)(Y|P)/xK
12011     AABC
12012  0: AB
12013  1: A
12014  2: B
12015 MK: A
12016     XXYZ 
12017  0: XXY
12018  1: <unset>
12019  2: <unset>
12020  3: X
12021  4: X
12022  5: Y
12023 MK: B
12024     ** Failers
12025 No match
12026     XAQQ  
12027 No match, mark = A
12028     XAQQXZZ  
12029 No match, mark = A
12030     AXQQQ 
12031 No match, mark = A
12032     AXXQQQ 
12033 No match, mark = B
12035 /-- Perl doesn't give marks for these, though it does if the alternatives are
12036 replaced by single letters. --/
12037     
12038 /(b|q)(*:m)f|a(*:n)w/K
12039     aw 
12040  0: aw
12041 MK: n
12042     ** Failers 
12043 No match, mark = n
12044     abc
12045 No match, mark = m
12047 /(q|b)(*:m)f|a(*:n)w/K
12048     aw 
12049  0: aw
12050 MK: n
12051     ** Failers 
12052 No match, mark = n
12053     abc
12054 No match, mark = m
12056 /-- After a partial match, the behaviour is as for a failure. --/
12058 /^a(*:X)bcde/K
12059    abc\P
12060 Partial match, mark=X: abc
12061    
12062 /-- These are here because Perl doesn't return a mark, except for the first --/
12064 /(?=(*:x))(q|)/K+
12065     abc
12066  0: 
12067  0+ abc
12068  1: 
12069 MK: x
12071 /(?=(*:x))((*:y)q|)/K+
12072     abc
12073  0: 
12074  0+ abc
12075  1: 
12076 MK: x
12078 /(?=(*:x))(?:(*:y)q|)/K+
12079     abc
12080  0: 
12081  0+ abc
12082 MK: x
12084 /(?=(*:x))(?>(*:y)q|)/K+
12085     abc
12086  0: 
12087  0+ abc
12088 MK: x
12090 /(?=a(*:x))(?!a(*:y)c)/K+
12091     ab
12092  0: 
12093  0+ ab
12094 MK: x
12096 /(?=a(*:x))(?=a(*:y)c|)/K+
12097     ab
12098  0: 
12099  0+ ab
12100 MK: x
12102 /(..)\1/
12103     ab\P
12104 Partial match: ab
12105     aba\P
12106 Partial match: aba
12107     abab\P
12108  0: abab
12109  1: ab
12111 /(..)\1/i
12112     ab\P
12113 Partial match: ab
12114     abA\P
12115 Partial match: abA
12116     aBAb\P
12117  0: aBAb
12118  1: aB
12120 /(..)\1{2,}/
12121     ab\P
12122 Partial match: ab
12123     aba\P
12124 Partial match: aba
12125     abab\P
12126 Partial match: abab
12127     ababa\P
12128 Partial match: ababa
12129     ababab\P
12130  0: ababab
12131  1: ab
12132     ababab\P\P
12133 Partial match: ababab
12134     abababa\P
12135  0: ababab
12136  1: ab
12137     abababa\P\P
12138 Partial match: abababa
12140 /(..)\1{2,}/i
12141     ab\P
12142 Partial match: ab
12143     aBa\P
12144 Partial match: aBa
12145     aBAb\P
12146 Partial match: aBAb
12147     AbaBA\P
12148 Partial match: AbaBA
12149     abABAb\P
12150  0: abABAb
12151  1: ab
12152     aBAbaB\P\P
12153 Partial match: aBAbaB
12154     abABabA\P
12155  0: abABab
12156  1: ab
12157     abaBABa\P\P
12158 Partial match: abaBABa
12160 /(..)\1{2,}?x/i
12161     ab\P
12162 Partial match: ab
12163     abA\P
12164 Partial match: abA
12165     aBAb\P
12166 Partial match: aBAb
12167     abaBA\P
12168 Partial match: abaBA
12169     abAbaB\P
12170 Partial match: abAbaB
12171     abaBabA\P
12172 Partial match: abaBabA
12173     abAbABaBx\P
12174  0: abAbABaBx
12175  1: ab
12177 /^(..)\1/
12178     aba\P
12179 Partial match: aba
12181 /^(..)\1{2,3}x/
12182     aba\P
12183 Partial match: aba
12184     ababa\P
12185 Partial match: ababa
12186     ababa\P\P
12187 Partial match: ababa
12188     abababx
12189  0: abababx
12190  1: ab
12191     ababababx  
12192  0: ababababx
12193  1: ab
12195 /^(..)\1{2,3}?x/
12196     aba\P
12197 Partial match: aba
12198     ababa\P
12199 Partial match: ababa
12200     ababa\P\P
12201 Partial match: ababa
12202     abababx
12203  0: abababx
12204  1: ab
12205     ababababx  
12206  0: ababababx
12207  1: ab
12208     
12209 /^(..)(\1{2,3})ab/
12210     abababab
12211  0: abababab
12212  1: ab
12213  2: abab
12215 /^\R/
12216     \r\P
12217  0: \x0d
12218     \r\P\P
12219 Partial match: \x0d
12220     
12221 /^\R{2,3}x/
12222     \r\P
12223 Partial match: \x0d
12224     \r\P\P
12225 Partial match: \x0d
12226     \r\r\P 
12227 Partial match: \x0d\x0d
12228     \r\r\P\P
12229 Partial match: \x0d\x0d
12230     \r\r\r\P  
12231 Partial match: \x0d\x0d\x0d
12232     \r\r\r\P\P
12233 Partial match: \x0d\x0d\x0d
12234     \r\rx
12235  0: \x0d\x0dx
12236     \r\r\rx    
12237  0: \x0d\x0d\x0dx
12239 /^\R{2,3}?x/
12240     \r\P
12241 Partial match: \x0d
12242     \r\P\P
12243 Partial match: \x0d
12244     \r\r\P 
12245 Partial match: \x0d\x0d
12246     \r\r\P\P
12247 Partial match: \x0d\x0d
12248     \r\r\r\P  
12249 Partial match: \x0d\x0d\x0d
12250     \r\r\r\P\P
12251 Partial match: \x0d\x0d\x0d
12252     \r\rx
12253  0: \x0d\x0dx
12254     \r\r\rx    
12255  0: \x0d\x0d\x0dx
12256     
12257 /^\R?x/
12258     \r\P
12259 Partial match: \x0d
12260     \r\P\P 
12261 Partial match: \x0d
12262     x
12263  0: x
12264     \rx  
12265  0: \x0dx
12267 /^\R+x/
12268     \r\P
12269 Partial match: \x0d
12270     \r\P\P 
12271 Partial match: \x0d
12272     \r\n\P
12273 Partial match: \x0d\x0a
12274     \r\n\P\P  
12275 Partial match: \x0d\x0a
12276     \rx  
12277  0: \x0dx
12279 /^a$/<CRLF>
12280     a\r\P
12281 Partial match: a\x0d
12282     a\r\P\P 
12283 Partial match: a\x0d
12285 /^a$/m<CRLF>
12286     a\r\P
12287 Partial match: a\x0d
12288     a\r\P\P 
12289 Partial match: a\x0d
12291 /^(a$|a\r)/<CRLF>
12292     a\r\P
12293  0: a\x0d
12294  1: a\x0d
12295     a\r\P\P 
12296 Partial match: a\x0d
12298 /^(a$|a\r)/m<CRLF>
12299     a\r\P
12300  0: a\x0d
12301  1: a\x0d
12302     a\r\P\P 
12303 Partial match: a\x0d
12305 /./<CRLF>
12306     \r\P
12307  0: \x0d
12308     \r\P\P 
12309 Partial match: \x0d
12310   
12311 /.{2,3}/<CRLF>
12312     \r\P 
12313 Partial match: \x0d
12314     \r\P\P
12315 Partial match: \x0d
12316     \r\r\P
12317  0: \x0d\x0d
12318     \r\r\P\P
12319 Partial match: \x0d\x0d
12320     \r\r\r\P
12321  0: \x0d\x0d\x0d
12322     \r\r\r\P\P     
12323 Partial match: \x0d\x0d\x0d
12325 /.{2,3}?/<CRLF>
12326     \r\P 
12327 Partial match: \x0d
12328     \r\P\P
12329 Partial match: \x0d
12330     \r\r\P
12331  0: \x0d\x0d
12332     \r\r\P\P
12333 Partial match: \x0d\x0d
12334     \r\r\r\P
12335  0: \x0d\x0d
12336     \r\r\r\P\P     
12337  0: \x0d\x0d
12339 /-- These two are here because Perl does not match: it seems to allow the
12340 COMMIT to escape from the assertion. --/
12342 /(?=a(*COMMIT)b|ac)ac|ac/
12343     ac
12344  0: ac
12346 /(?=a(*COMMIT)b|(ac)) ac | (a)c/x
12347     ac
12348  0: ac
12349  1: <unset>
12350  2: a
12352 "AB(C(D))(E(F))?(?(?=\2)(?=\4))"
12353     ABCDGHI\O03
12354 Matched, but too many substrings
12355  0: ABCD
12356     
12357 /-- This one is here because Perl does not confine the *COMMIT to the 
12358 assertion, and therefore fails the entire subroutine call. --/ 
12359     
12360 /((?=a(*COMMIT)b)ab|ac){0}(?:(?1)|a(c))/
12361     ac 
12362  0: ac
12363     
12364 /-- These are all run as real matches in test 1; here we are just checking the
12365 settings of the anchored and startline bits. --/ 
12367 /(?>.*?a)(?<=ba)/I
12368 Capturing subpattern count = 0
12369 No options
12370 No first char
12371 Need char = 'a'
12372 Max lookbehind = 2
12374 /(?:.*?a)(?<=ba)/I
12375 Capturing subpattern count = 0
12376 No options
12377 First char at start or follows newline
12378 Need char = 'a'
12379 Max lookbehind = 2
12381 /.*?a(*PRUNE)b/I
12382 Capturing subpattern count = 0
12383 No options
12384 No first char
12385 Need char = 'b'
12387 /.*?a(*PRUNE)b/sI
12388 Capturing subpattern count = 0
12389 Options: dotall
12390 No first char
12391 Need char = 'b'
12393 /^a(*PRUNE)b/sI
12394 Capturing subpattern count = 0
12395 Options: anchored dotall
12396 No first char
12397 No need char
12399 /.*?a(*SKIP)b/I
12400 Capturing subpattern count = 0
12401 No options
12402 No first char
12403 Need char = 'b'
12405 /(?>.*?a)b/sI
12406 Capturing subpattern count = 0
12407 Options: dotall
12408 No first char
12409 Need char = 'b'
12411 /(?>.*?a)b/I
12412 Capturing subpattern count = 0
12413 No options
12414 No first char
12415 Need char = 'b'
12417 /(?>^a)b/sI
12418 Capturing subpattern count = 0
12419 Options: anchored dotall
12420 No first char
12421 No need char
12423 /(?>.*?)(?<=(abcd)|(wxyz))/I
12424 Capturing subpattern count = 2
12425 No options
12426 No first char
12427 No need char
12428 Max lookbehind = 4
12430 /(?>.*)(?<=(abcd)|(wxyz))/I
12431 Capturing subpattern count = 2
12432 No options
12433 No first char
12434 No need char
12435 Max lookbehind = 4
12437 "(?>.*)foo"I
12438 Capturing subpattern count = 0
12439 No options
12440 No first char
12441 Need char = 'o'
12443 "(?>.*?)foo"I
12444 Capturing subpattern count = 0
12445 No options
12446 No first char
12447 Need char = 'o'
12449 /(?>^abc)/mI
12450 Capturing subpattern count = 0
12451 Options: multiline
12452 First char at start or follows newline
12453 Need char = 'c'
12455 /(?>.*abc)/mI
12456 Capturing subpattern count = 0
12457 Options: multiline
12458 No first char
12459 Need char = 'c'
12461 /(?:.*abc)/mI
12462 Capturing subpattern count = 0
12463 Options: multiline
12464 First char at start or follows newline
12465 Need char = 'c'
12467 /-- Check PCRE_STUDY_EXTRA_NEEDED --/
12469 /.?/S-I
12470 Capturing subpattern count = 0
12471 No options
12472 No first char
12473 No need char
12474 Study returned NULL
12476 /.?/S!I
12477 Capturing subpattern count = 0
12478 No options
12479 No first char
12480 No need char
12481 Subject length lower bound = -1
12482 No set of starting bytes
12484 /-- End of testinput2 --/