chiark / gitweb /
Rebase patch queue onto upstream 8.39:
[pcre3.git] / testdata / testoutput2
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 < forbid 8W 
12   
13 /(a)b|/I
14 Capturing subpattern count = 1
15 May match empty string
16 No options
17 No first char
18 No need char
19
20 /abc/I
21 Capturing subpattern count = 0
22 No options
23 First char = 'a'
24 Need char = 'c'
25     abc
26  0: abc
27     defabc
28  0: abc
29     \Aabc
30  0: abc
31     *** Failers
32 No match
33     \Adefabc
34 No match
35     ABC
36 No match
37
38 /^abc/I
39 Capturing subpattern count = 0
40 Options: anchored
41 No first char
42 No need char
43     abc
44  0: abc
45     \Aabc
46  0: abc
47     *** Failers
48 No match
49     defabc
50 No match
51     \Adefabc
52 No match
53
54 /a+bc/I
55 Capturing subpattern count = 0
56 No options
57 First char = 'a'
58 Need char = 'c'
59
60 /a*bc/I
61 Capturing subpattern count = 0
62 No options
63 No first char
64 Need char = 'c'
65
66 /a{3}bc/I
67 Capturing subpattern count = 0
68 No options
69 First char = 'a'
70 Need char = 'c'
71
72 /(abc|a+z)/I
73 Capturing subpattern count = 1
74 No options
75 First char = 'a'
76 No need char
77
78 /^abc$/I
79 Capturing subpattern count = 0
80 Options: anchored
81 No first char
82 No need char
83     abc
84  0: abc
85     *** Failers
86 No match
87     def\nabc
88 No match
89
90 /ab\idef/X
91 Failed: unrecognized character follows \ at offset 3
92
93 /(?X)ab\idef/X
94 Failed: unrecognized character follows \ at offset 7
95
96 /x{5,4}/
97 Failed: numbers out of order in {} quantifier at offset 5
98
99 /z{65536}/
100 Failed: number too big in {} quantifier at offset 7
101
102 /[abcd/
103 Failed: missing terminating ] for character class at offset 5
104
105 /(?X)[\B]/
106 Failed: invalid escape sequence in character class at offset 6
107
108 /(?X)[\R]/
109 Failed: invalid escape sequence in character class at offset 6
110
111 /(?X)[\X]/
112 Failed: invalid escape sequence in character class at offset 6
113
114 /[\B]/BZ
115 ------------------------------------------------------------------
116         Bra
117         B
118         Ket
119         End
120 ------------------------------------------------------------------
121
122 /[\R]/BZ
123 ------------------------------------------------------------------
124         Bra
125         R
126         Ket
127         End
128 ------------------------------------------------------------------
129
130 /[\X]/BZ
131 ------------------------------------------------------------------
132         Bra
133         X
134         Ket
135         End
136 ------------------------------------------------------------------
137
138 /[z-a]/
139 Failed: range out of order in character class at offset 3
140
141 /^*/
142 Failed: nothing to repeat at offset 1
143
144 /(abc/
145 Failed: missing ) at offset 4
146
147 /(?# abc/
148 Failed: missing ) after comment at offset 7
149
150 /(?z)abc/
151 Failed: unrecognized character after (? or (?- at offset 2
152
153 /.*b/I
154 Capturing subpattern count = 0
155 No options
156 First char at start or follows newline
157 Need char = 'b'
158
159 /.*?b/I
160 Capturing subpattern count = 0
161 No options
162 First char at start or follows newline
163 Need char = 'b'
164
165 /cat|dog|elephant/I
166 Capturing subpattern count = 0
167 No options
168 No first char
169 No need char
170     this sentence eventually mentions a cat
171  0: cat
172     this sentences rambles on and on for a while and then reaches elephant
173  0: elephant
174
175 /cat|dog|elephant/IS
176 Capturing subpattern count = 0
177 No options
178 No first char
179 No need char
180 Subject length lower bound = 3
181 Starting chars: c d e 
182     this sentence eventually mentions a cat
183  0: cat
184     this sentences rambles on and on for a while and then reaches elephant
185  0: elephant
186
187 /cat|dog|elephant/IiS
188 Capturing subpattern count = 0
189 Options: caseless
190 No first char
191 No need char
192 Subject length lower bound = 3
193 Starting chars: C D E c d e 
194     this sentence eventually mentions a CAT cat
195  0: CAT
196     this sentences rambles on and on for a while to elephant ElePhant
197  0: elephant
198
199 /a|[bcd]/IS
200 Capturing subpattern count = 0
201 No options
202 No first char
203 No need char
204 Subject length lower bound = 1
205 Starting chars: a b c d 
206
207 /(a|[^\dZ])/IS
208 Capturing subpattern count = 1
209 No options
210 No first char
211 No need char
212 Subject length lower bound = 1
213 Starting chars: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a 
214   \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 
215   \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = > 
216   ? @ 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 
217   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 
218   \x84 \x85 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f \x90 \x91 \x92 
219   \x93 \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e \x9f \xa0 \xa1 
220   \xa2 \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae \xaf \xb0 
221   \xb1 \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd \xbe \xbf 
222   \xc0 \xc1 \xc2 \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc \xcd \xce 
223   \xcf \xd0 \xd1 \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb \xdc \xdd 
224   \xde \xdf \xe0 \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb \xec 
225   \xed \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb 
226   \xfc \xfd \xfe \xff 
227
228 /(a|b)*[\s]/IS
229 Capturing subpattern count = 1
230 No options
231 No first char
232 No need char
233 Subject length lower bound = 1
234 Starting chars: \x09 \x0a \x0b \x0c \x0d \x20 a b 
235
236 /(ab\2)/
237 Failed: reference to non-existent subpattern at offset 6
238
239 /{4,5}abc/
240 Failed: nothing to repeat at offset 4
241
242 /(a)(b)(c)\2/I
243 Capturing subpattern count = 3
244 Max back reference = 2
245 No options
246 First char = 'a'
247 Need char = 'c'
248     abcb
249  0: abcb
250  1: a
251  2: b
252  3: c
253     \O0abcb
254 Matched, but too many substrings
255     \O3abcb
256 Matched, but too many substrings
257  0: abcb
258     \O6abcb
259 Matched, but too many substrings
260  0: abcb
261  1: a
262     \O9abcb
263 Matched, but too many substrings
264  0: abcb
265  1: a
266  2: b
267     \O12abcb
268  0: abcb
269  1: a
270  2: b
271  3: c
272
273 /(a)bc|(a)(b)\2/I
274 Capturing subpattern count = 3
275 Max back reference = 2
276 No options
277 First char = 'a'
278 No need char
279     abc
280  0: abc
281  1: a
282     \O0abc
283 Matched, but too many substrings
284     \O3abc
285 Matched, but too many substrings
286  0: abc
287     \O6abc
288  0: abc
289  1: a
290     aba
291  0: aba
292  1: <unset>
293  2: a
294  3: b
295     \O0aba
296 Matched, but too many substrings
297     \O3aba
298 Matched, but too many substrings
299  0: aba
300     \O6aba
301 Matched, but too many substrings
302  0: aba
303  1: <unset>
304     \O9aba
305 Matched, but too many substrings
306  0: aba
307  1: <unset>
308  2: a
309     \O12aba
310  0: aba
311  1: <unset>
312  2: a
313  3: b
314
315 /abc$/IE
316 Capturing subpattern count = 0
317 Options: dollar_endonly
318 First char = 'a'
319 Need char = 'c'
320     abc
321  0: abc
322     *** Failers
323 No match
324     abc\n
325 No match
326     abc\ndef
327 No match
328
329 /(a)(b)(c)(d)(e)\6/
330 Failed: reference to non-existent subpattern at offset 17
331
332 /the quick brown fox/I
333 Capturing subpattern count = 0
334 No options
335 First char = 't'
336 Need char = 'x'
337     the quick brown fox
338  0: the quick brown fox
339     this is a line with the quick brown fox
340  0: the quick brown fox
341
342 /the quick brown fox/IA
343 Capturing subpattern count = 0
344 Options: anchored
345 No first char
346 No need char
347     the quick brown fox
348  0: the quick brown fox
349     *** Failers
350 No match
351     this is a line with the quick brown fox
352 No match
353
354 /ab(?z)cd/
355 Failed: unrecognized character after (? or (?- at offset 4
356
357 /^abc|def/I
358 Capturing subpattern count = 0
359 No options
360 No first char
361 No need char
362     abcdef
363  0: abc
364     abcdef\B
365  0: def
366
367 /.*((abc)$|(def))/I
368 Capturing subpattern count = 3
369 No options
370 First char at start or follows newline
371 No need char
372     defabc
373  0: defabc
374  1: abc
375  2: abc
376     \Zdefabc
377  0: def
378  1: def
379  2: <unset>
380  3: def
381
382 /)/
383 Failed: unmatched parentheses at offset 0
384
385 /a[]b/
386 Failed: missing terminating ] for character class at offset 4
387
388 /[^aeiou ]{3,}/I
389 Capturing subpattern count = 0
390 No options
391 No first char
392 No need char
393     co-processors, and for
394  0: -pr
395
396 /<.*>/I
397 Capturing subpattern count = 0
398 No options
399 First char = '<'
400 Need char = '>'
401     abc<def>ghi<klm>nop
402  0: <def>ghi<klm>
403
404 /<.*?>/I
405 Capturing subpattern count = 0
406 No options
407 First char = '<'
408 Need char = '>'
409     abc<def>ghi<klm>nop
410  0: <def>
411
412 /<.*>/IU
413 Capturing subpattern count = 0
414 Options: ungreedy
415 First char = '<'
416 Need char = '>'
417     abc<def>ghi<klm>nop
418  0: <def>
419
420 /(?U)<.*>/I
421 Capturing subpattern count = 0
422 No options
423 First char = '<'
424 Need char = '>'
425     abc<def>ghi<klm>nop
426  0: <def>
427
428 /<.*?>/IU
429 Capturing subpattern count = 0
430 Options: ungreedy
431 First char = '<'
432 Need char = '>'
433     abc<def>ghi<klm>nop
434  0: <def>ghi<klm>
435
436 /={3,}/IU
437 Capturing subpattern count = 0
438 Options: ungreedy
439 First char = '='
440 Need char = '='
441     abc========def
442  0: ===
443
444 /(?U)={3,}?/I
445 Capturing subpattern count = 0
446 No options
447 First char = '='
448 Need char = '='
449     abc========def
450  0: ========
451
452 /(?<!bar|cattle)foo/I
453 Capturing subpattern count = 0
454 Max lookbehind = 6
455 No options
456 First char = 'f'
457 Need char = 'o'
458     foo
459  0: foo
460     catfoo
461  0: foo
462     *** Failers
463 No match
464     the barfoo
465 No match
466     and cattlefoo
467 No match
468
469 /(?<=a+)b/
470 Failed: lookbehind assertion is not fixed length at offset 6
471
472 /(?<=aaa|b{0,3})b/
473 Failed: lookbehind assertion is not fixed length at offset 14
474
475 /(?<!(foo)a\1)bar/
476 Failed: lookbehind assertion is not fixed length at offset 12
477
478 /(?i)abc/I
479 Capturing subpattern count = 0
480 No options
481 First char = 'a' (caseless)
482 Need char = 'c' (caseless)
483
484 /(a|(?m)a)/I
485 Capturing subpattern count = 1
486 No options
487 First char = 'a'
488 No need char
489
490 /(?i)^1234/I
491 Capturing subpattern count = 0
492 Options: anchored
493 No first char
494 No need char
495
496 /(^b|(?i)^d)/I
497 Capturing subpattern count = 1
498 Options: anchored
499 No first char
500 No need char
501
502 /(?s).*/I
503 Capturing subpattern count = 0
504 May match empty string
505 Options: anchored
506 No first char
507 No need char
508
509 /[abcd]/IS
510 Capturing subpattern count = 0
511 No options
512 No first char
513 No need char
514 Subject length lower bound = 1
515 Starting chars: a b c d 
516
517 /(?i)[abcd]/IS
518 Capturing subpattern count = 0
519 No options
520 No first char
521 No need char
522 Subject length lower bound = 1
523 Starting chars: A B C D a b c d 
524
525 /(?m)[xy]|(b|c)/IS
526 Capturing subpattern count = 1
527 No options
528 No first char
529 No need char
530 Subject length lower bound = 1
531 Starting chars: b c x y 
532
533 /(^a|^b)/Im
534 Capturing subpattern count = 1
535 Options: multiline
536 First char at start or follows newline
537 No need char
538
539 /(?i)(^a|^b)/Im
540 Capturing subpattern count = 1
541 Options: multiline
542 First char at start or follows newline
543 No need char
544
545 /(a)(?(1)a|b|c)/
546 Failed: conditional group contains more than two branches at offset 13
547
548 /(?(?=a)a|b|c)/
549 Failed: conditional group contains more than two branches at offset 12
550
551 /(?(1a)/
552 Failed: malformed number or name after (?( at offset 4
553
554 /(?(1a))/
555 Failed: malformed number or name after (?( at offset 4
556
557 /(?(?i))/
558 Failed: assertion expected after (?( or (?(?C) at offset 3
559
560 /(?(abc))/
561 Failed: reference to non-existent subpattern at offset 7
562
563 /(?(?<ab))/
564 Failed: assertion expected after (?( or (?(?C) at offset 3
565
566 /((?s)blah)\s+\1/I
567 Capturing subpattern count = 1
568 Max back reference = 1
569 No options
570 First char = 'b'
571 Need char = 'h'
572
573 /((?i)blah)\s+\1/I
574 Capturing subpattern count = 1
575 Max back reference = 1
576 No options
577 First char = 'b' (caseless)
578 Need char = 'h' (caseless)
579
580 /((?i)b)/IDZS
581 ------------------------------------------------------------------
582         Bra
583         CBra 1
584      /i b
585         Ket
586         Ket
587         End
588 ------------------------------------------------------------------
589 Capturing subpattern count = 1
590 No options
591 First char = 'b' (caseless)
592 No need char
593 Subject length lower bound = 1
594 No starting char list
595
596 /(a*b|(?i:c*(?-i)d))/IS
597 Capturing subpattern count = 1
598 No options
599 No first char
600 No need char
601 Subject length lower bound = 1
602 Starting chars: C a b c d 
603
604 /a$/I
605 Capturing subpattern count = 0
606 No options
607 First char = 'a'
608 No need char
609     a
610  0: a
611     a\n
612  0: a
613     *** Failers
614 No match
615     \Za
616 No match
617     \Za\n
618 No match
619
620 /a$/Im
621 Capturing subpattern count = 0
622 Options: multiline
623 First char = 'a'
624 No need char
625     a
626  0: a
627     a\n
628  0: a
629     \Za\n
630  0: a
631     *** Failers
632 No match
633     \Za
634 No match
635
636 /\Aabc/Im
637 Capturing subpattern count = 0
638 Max lookbehind = 1
639 Options: anchored multiline
640 No first char
641 No need char
642
643 /^abc/Im
644 Capturing subpattern count = 0
645 Options: multiline
646 First char at start or follows newline
647 Need char = 'c'
648
649 /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I
650 Capturing subpattern count = 5
651 Options: anchored
652 No first char
653 No need char
654   aaaaabbbbbcccccdef
655  0: aaaaabbbbbcccccdef
656  1: aaaaabbbbbcccccdef
657  2: aaaaa
658  3: b
659  4: bbbbccccc
660  5: def
661
662 /(?<=foo)[ab]/IS
663 Capturing subpattern count = 0
664 Max lookbehind = 3
665 No options
666 No first char
667 No need char
668 Subject length lower bound = 1
669 Starting chars: a b 
670
671 /(?<!foo)(alpha|omega)/IS
672 Capturing subpattern count = 1
673 Max lookbehind = 3
674 No options
675 No first char
676 Need char = 'a'
677 Subject length lower bound = 5
678 Starting chars: a o 
679
680 /(?!alphabet)[ab]/IS
681 Capturing subpattern count = 0
682 No options
683 No first char
684 No need char
685 Subject length lower bound = 1
686 Starting chars: a b 
687
688 /(?<=foo\n)^bar/Im
689 Capturing subpattern count = 0
690 Max lookbehind = 4
691 Contains explicit CR or LF match
692 Options: multiline
693 No first char
694 Need char = 'r'
695     foo\nbarbar
696  0: bar
697     ***Failers
698 No match
699     rhubarb
700 No match
701     barbell
702 No match
703     abc\nbarton
704 No match
705
706 /^(?<=foo\n)bar/Im
707 Capturing subpattern count = 0
708 Max lookbehind = 4
709 Contains explicit CR or LF match
710 Options: multiline
711 First char at start or follows newline
712 Need char = 'r'
713     foo\nbarbar
714  0: bar
715     ***Failers
716 No match
717     rhubarb
718 No match
719     barbell
720 No match
721     abc\nbarton
722 No match
723
724 /(?>^abc)/Im
725 Capturing subpattern count = 0
726 Options: multiline
727 First char at start or follows newline
728 Need char = 'c'
729     abc
730  0: abc
731     def\nabc
732  0: abc
733     *** Failers
734 No match
735     defabc
736 No match
737
738 /(?<=ab(c+)d)ef/
739 Failed: lookbehind assertion is not fixed length at offset 11
740
741 /(?<=ab(?<=c+)d)ef/
742 Failed: lookbehind assertion is not fixed length at offset 12
743
744 /(?<=ab(c|de)f)g/
745 Failed: lookbehind assertion is not fixed length at offset 13
746
747 /The next three are in testinput2 because they have variable length branches/
748
749 /(?<=bullock|donkey)-cart/I
750 Capturing subpattern count = 0
751 Max lookbehind = 7
752 No options
753 First char = '-'
754 Need char = 't'
755     the bullock-cart
756  0: -cart
757     a donkey-cart race
758  0: -cart
759     *** Failers
760 No match
761     cart
762 No match
763     horse-and-cart
764 No match
765
766 /(?<=ab(?i)x|y|z)/I
767 Capturing subpattern count = 0
768 Max lookbehind = 3
769 May match empty string
770 No options
771 No first char
772 No need char
773
774 /(?>.*)(?<=(abcd)|(xyz))/I
775 Capturing subpattern count = 2
776 Max lookbehind = 4
777 May match empty string
778 No options
779 No first char
780 No need char
781     alphabetabcd
782  0: alphabetabcd
783  1: abcd
784     endingxyz
785  0: endingxyz
786  1: <unset>
787  2: xyz
788
789 /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/I
790 Capturing subpattern count = 0
791 Max lookbehind = 4
792 No options
793 First char = 'Z'
794 Need char = 'Z'
795     abxyZZ
796  0: ZZ
797     abXyZZ
798  0: ZZ
799     ZZZ
800  0: ZZ
801     zZZ
802  0: ZZ
803     bZZ
804  0: ZZ
805     BZZ
806  0: ZZ
807     *** Failers
808 No match
809     ZZ
810 No match
811     abXYZZ
812 No match
813     zzz
814 No match
815     bzz
816 No match
817
818 /(?<!(foo)a)bar/I
819 Capturing subpattern count = 1
820 Max lookbehind = 4
821 No options
822 First char = 'b'
823 Need char = 'r'
824     bar
825  0: bar
826     foobbar
827  0: bar
828     *** Failers
829 No match
830     fooabar
831 No match
832
833 /This one is here because Perl behaves differently; see also the following/I
834 Capturing subpattern count = 0
835 No options
836 First char = 'T'
837 Need char = 'g'
838
839 /^(a\1?){4}$/I
840 Capturing subpattern count = 1
841 Max back reference = 1
842 Options: anchored
843 No first char
844 No need char
845     aaaa
846 No match
847     aaaaaa
848 No match
849     
850 /Perl does not fail these two for the final subjects. Neither did PCRE until/
851 /release 8.01. The problem is in backtracking into a subpattern that contains/
852 No match
853 /a recursive reference to itself. PCRE has now made these into atomic patterns./
854 No match
855
856 /^(xa|=?\1a){2}$/
857     xa=xaa
858  0: xa=xaa
859  1: =xaa
860     ** Failers
861 No match
862     xa=xaaa
863 No match
864
865 /^(xa|=?\1a)+$/
866     xa=xaa
867  0: xa=xaa
868  1: =xaa
869     ** Failers
870 No match
871     xa=xaaa
872 No match
873
874 /These are syntax tests from Perl 5.005/I
875 Capturing subpattern count = 0
876 No options
877 First char = 'T'
878 Need char = '5'
879
880 /a[b-a]/
881 Failed: range out of order in character class at offset 4
882
883 /a[]b/
884 Failed: missing terminating ] for character class at offset 4
885
886 /a[/
887 Failed: missing terminating ] for character class at offset 2
888
889 /*a/
890 Failed: nothing to repeat at offset 0
891
892 /(*)b/
893 Failed: nothing to repeat at offset 1
894
895 /abc)/
896 Failed: unmatched parentheses at offset 3
897
898 /(abc/
899 Failed: missing ) at offset 4
900
901 /a**/
902 Failed: nothing to repeat at offset 2
903
904 /)(/
905 Failed: unmatched parentheses at offset 0
906
907 /\1/
908 Failed: reference to non-existent subpattern at offset 2
909
910 /\2/
911 Failed: reference to non-existent subpattern at offset 2
912
913 /(a)|\2/
914 Failed: reference to non-existent subpattern at offset 6
915
916 /a[b-a]/Ii
917 Failed: range out of order in character class at offset 4
918
919 /a[]b/Ii
920 Failed: missing terminating ] for character class at offset 4
921
922 /a[/Ii
923 Failed: missing terminating ] for character class at offset 2
924
925 /*a/Ii
926 Failed: nothing to repeat at offset 0
927
928 /(*)b/Ii
929 Failed: nothing to repeat at offset 1
930
931 /abc)/Ii
932 Failed: unmatched parentheses at offset 3
933
934 /(abc/Ii
935 Failed: missing ) at offset 4
936
937 /a**/Ii
938 Failed: nothing to repeat at offset 2
939
940 /)(/Ii
941 Failed: unmatched parentheses at offset 0
942
943 /:(?:/
944 Failed: missing ) at offset 4
945
946 /(?<%)b/
947 Failed: unrecognized character after (?< at offset 3
948
949 /a(?{)b/
950 Failed: unrecognized character after (? or (?- at offset 3
951
952 /a(?{{})b/
953 Failed: unrecognized character after (? or (?- at offset 3
954
955 /a(?{}})b/
956 Failed: unrecognized character after (? or (?- at offset 3
957
958 /a(?{"{"})b/
959 Failed: unrecognized character after (? or (?- at offset 3
960
961 /a(?{"{"}})b/
962 Failed: unrecognized character after (? or (?- at offset 3
963
964 /(?(1?)a|b)/
965 Failed: malformed number or name after (?( at offset 4
966
967 /[a[:xyz:/
968 Failed: missing terminating ] for character class at offset 8
969
970 /(?<=x+)y/
971 Failed: lookbehind assertion is not fixed length at offset 6
972
973 /a{37,17}/
974 Failed: numbers out of order in {} quantifier at offset 7
975
976 /abc/\
977 Failed: \ at end of pattern at offset 4
978
979 /abc/\i
980 Failed: \ at end of pattern at offset 4
981
982 /(a)bc(d)/I
983 Capturing subpattern count = 2
984 No options
985 First char = 'a'
986 Need char = 'd'
987     abcd
988  0: abcd
989  1: a
990  2: d
991     abcd\C2
992  0: abcd
993  1: a
994  2: d
995  2C d (1)
996     abcd\C5
997  0: abcd
998  1: a
999  2: d
1000 copy substring 5 failed -7
1001
1002 /(.{20})/I
1003 Capturing subpattern count = 1
1004 No options
1005 No first char
1006 No need char
1007     abcdefghijklmnopqrstuvwxyz
1008  0: abcdefghijklmnopqrst
1009  1: abcdefghijklmnopqrst
1010     abcdefghijklmnopqrstuvwxyz\C1
1011  0: abcdefghijklmnopqrst
1012  1: abcdefghijklmnopqrst
1013  1C abcdefghijklmnopqrst (20)
1014     abcdefghijklmnopqrstuvwxyz\G1
1015  0: abcdefghijklmnopqrst
1016  1: abcdefghijklmnopqrst
1017  1G abcdefghijklmnopqrst (20)
1018
1019 /(.{15})/I
1020 Capturing subpattern count = 1
1021 No options
1022 No first char
1023 No need char
1024     abcdefghijklmnopqrstuvwxyz
1025  0: abcdefghijklmno
1026  1: abcdefghijklmno
1027     abcdefghijklmnopqrstuvwxyz\C1\G1
1028  0: abcdefghijklmno
1029  1: abcdefghijklmno
1030  1C abcdefghijklmno (15)
1031  1G abcdefghijklmno (15)
1032
1033 /(.{16})/I
1034 Capturing subpattern count = 1
1035 No options
1036 No first char
1037 No need char
1038     abcdefghijklmnopqrstuvwxyz
1039  0: abcdefghijklmnop
1040  1: abcdefghijklmnop
1041     abcdefghijklmnopqrstuvwxyz\C1\G1\L
1042  0: abcdefghijklmnop
1043  1: abcdefghijklmnop
1044  1C abcdefghijklmnop (16)
1045  1G abcdefghijklmnop (16)
1046  0L abcdefghijklmnop
1047  1L abcdefghijklmnop
1048
1049 /^(a|(bc))de(f)/I
1050 Capturing subpattern count = 3
1051 Options: anchored
1052 No first char
1053 No need char
1054     adef\G1\G2\G3\G4\L
1055  0: adef
1056  1: a
1057  2: <unset>
1058  3: f
1059  1G a (1)
1060  2G  (0)
1061  3G f (1)
1062 get substring 4 failed -7
1063  0L adef
1064  1L a
1065  2L 
1066  3L f
1067     bcdef\G1\G2\G3\G4\L
1068  0: bcdef
1069  1: bc
1070  2: bc
1071  3: f
1072  1G bc (2)
1073  2G bc (2)
1074  3G f (1)
1075 get substring 4 failed -7
1076  0L bcdef
1077  1L bc
1078  2L bc
1079  3L f
1080     adefghijk\C0
1081  0: adef
1082  1: a
1083  2: <unset>
1084  3: f
1085  0C adef (4)
1086
1087 /^abc\00def/I
1088 Capturing subpattern count = 0
1089 Options: anchored
1090 No first char
1091 No need char
1092     abc\00def\L\C0
1093  0: abc\x00def
1094  0C abc\x00def (7)
1095  0L abc
1096
1097 /word ((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
1098 )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
1099 )?)?)?)?)?)?)?)?)?otherword/I
1100 Capturing subpattern count = 8
1101 Contains explicit CR or LF match
1102 No options
1103 First char = 'w'
1104 Need char = 'd'
1105
1106 /.*X/IDZ
1107 ------------------------------------------------------------------
1108         Bra
1109         Any*
1110         X
1111         Ket
1112         End
1113 ------------------------------------------------------------------
1114 Capturing subpattern count = 0
1115 No options
1116 First char at start or follows newline
1117 Need char = 'X'
1118
1119 /.*X/IDZs
1120 ------------------------------------------------------------------
1121         Bra
1122         AllAny*
1123         X
1124         Ket
1125         End
1126 ------------------------------------------------------------------
1127 Capturing subpattern count = 0
1128 Options: anchored dotall
1129 No first char
1130 Need char = 'X'
1131
1132 /(.*X|^B)/IDZ
1133 ------------------------------------------------------------------
1134         Bra
1135         CBra 1
1136         Any*
1137         X
1138         Alt
1139         ^
1140         B
1141         Ket
1142         Ket
1143         End
1144 ------------------------------------------------------------------
1145 Capturing subpattern count = 1
1146 No options
1147 First char at start or follows newline
1148 No need char
1149
1150 /(.*X|^B)/IDZs
1151 ------------------------------------------------------------------
1152         Bra
1153         CBra 1
1154         AllAny*
1155         X
1156         Alt
1157         ^
1158         B
1159         Ket
1160         Ket
1161         End
1162 ------------------------------------------------------------------
1163 Capturing subpattern count = 1
1164 Options: anchored dotall
1165 No first char
1166 No need char
1167
1168 /(?s)(.*X|^B)/IDZ
1169 ------------------------------------------------------------------
1170         Bra
1171         CBra 1
1172         AllAny*
1173         X
1174         Alt
1175         ^
1176         B
1177         Ket
1178         Ket
1179         End
1180 ------------------------------------------------------------------
1181 Capturing subpattern count = 1
1182 Options: anchored
1183 No first char
1184 No need char
1185
1186 /(?s:.*X|^B)/IDZ
1187 ------------------------------------------------------------------
1188         Bra
1189         Bra
1190         AllAny*
1191         X
1192         Alt
1193         ^
1194         B
1195         Ket
1196         Ket
1197         End
1198 ------------------------------------------------------------------
1199 Capturing subpattern count = 0
1200 Options: anchored
1201 No first char
1202 No need char
1203
1204 /\Biss\B/I+
1205 Capturing subpattern count = 0
1206 Max lookbehind = 1
1207 No options
1208 First char = 'i'
1209 Need char = 's'
1210     Mississippi
1211  0: iss
1212  0+ issippi
1213
1214 /iss/IG+
1215 Capturing subpattern count = 0
1216 No options
1217 First char = 'i'
1218 Need char = 's'
1219     Mississippi
1220  0: iss
1221  0+ issippi
1222  0: iss
1223  0+ ippi
1224
1225 /\Biss\B/IG+
1226 Capturing subpattern count = 0
1227 Max lookbehind = 1
1228 No options
1229 First char = 'i'
1230 Need char = 's'
1231     Mississippi
1232  0: iss
1233  0+ issippi
1234
1235 /\Biss\B/Ig+
1236 Capturing subpattern count = 0
1237 Max lookbehind = 1
1238 No options
1239 First char = 'i'
1240 Need char = 's'
1241     Mississippi
1242  0: iss
1243  0+ issippi
1244  0: iss
1245  0+ ippi
1246     *** Failers
1247 No match
1248     Mississippi\A
1249 No match
1250
1251 /(?<=[Ms])iss/Ig+
1252 Capturing subpattern count = 0
1253 Max lookbehind = 1
1254 No options
1255 First char = 'i'
1256 Need char = 's'
1257     Mississippi
1258  0: iss
1259  0+ issippi
1260  0: iss
1261  0+ ippi
1262
1263 /(?<=[Ms])iss/IG+
1264 Capturing subpattern count = 0
1265 Max lookbehind = 1
1266 No options
1267 First char = 'i'
1268 Need char = 's'
1269     Mississippi
1270  0: iss
1271  0+ issippi
1272
1273 /^iss/Ig+
1274 Capturing subpattern count = 0
1275 Options: anchored
1276 No first char
1277 No need char
1278     ississippi
1279  0: iss
1280  0+ issippi
1281
1282 /.*iss/Ig+
1283 Capturing subpattern count = 0
1284 No options
1285 First char at start or follows newline
1286 Need char = 's'
1287     abciss\nxyzisspqr
1288  0: abciss
1289  0+ \x0axyzisspqr
1290  0: xyziss
1291  0+ pqr
1292
1293 /.i./I+g
1294 Capturing subpattern count = 0
1295 No options
1296 No first char
1297 Need char = 'i'
1298     Mississippi
1299  0: Mis
1300  0+ sissippi
1301  0: sis
1302  0+ sippi
1303  0: sip
1304  0+ pi
1305     Mississippi\A
1306  0: Mis
1307  0+ sissippi
1308  0: sis
1309  0+ sippi
1310  0: sip
1311  0+ pi
1312     Missouri river
1313  0: Mis
1314  0+ souri river
1315  0: ri 
1316  0+ river
1317  0: riv
1318  0+ er
1319     Missouri river\A
1320  0: Mis
1321  0+ souri river
1322
1323 /^.is/I+g
1324 Capturing subpattern count = 0
1325 Options: anchored
1326 No first char
1327 No need char
1328     Mississippi
1329  0: Mis
1330  0+ sissippi
1331
1332 /^ab\n/Ig+
1333 Capturing subpattern count = 0
1334 Contains explicit CR or LF match
1335 Options: anchored
1336 No first char
1337 No need char
1338     ab\nab\ncd
1339  0: ab\x0a
1340  0+ ab\x0acd
1341
1342 /^ab\n/Img+
1343 Capturing subpattern count = 0
1344 Contains explicit CR or LF match
1345 Options: multiline
1346 First char at start or follows newline
1347 Need char = \x0a
1348     ab\nab\ncd
1349  0: ab\x0a
1350  0+ ab\x0acd
1351  0: ab\x0a
1352  0+ cd
1353
1354 /abc/I
1355 Capturing subpattern count = 0
1356 No options
1357 First char = 'a'
1358 Need char = 'c'
1359
1360 /abc|bac/I
1361 Capturing subpattern count = 0
1362 No options
1363 No first char
1364 Need char = 'c'
1365
1366 /(abc|bac)/I
1367 Capturing subpattern count = 1
1368 No options
1369 No first char
1370 Need char = 'c'
1371
1372 /(abc|(c|dc))/I
1373 Capturing subpattern count = 2
1374 No options
1375 No first char
1376 Need char = 'c'
1377
1378 /(abc|(d|de)c)/I
1379 Capturing subpattern count = 2
1380 No options
1381 No first char
1382 Need char = 'c'
1383
1384 /a*/I
1385 Capturing subpattern count = 0
1386 May match empty string
1387 No options
1388 No first char
1389 No need char
1390
1391 /a+/I
1392 Capturing subpattern count = 0
1393 No options
1394 First char = 'a'
1395 No need char
1396
1397 /(baa|a+)/I
1398 Capturing subpattern count = 1
1399 No options
1400 No first char
1401 Need char = 'a'
1402
1403 /a{0,3}/I
1404 Capturing subpattern count = 0
1405 May match empty string
1406 No options
1407 No first char
1408 No need char
1409
1410 /baa{3,}/I
1411 Capturing subpattern count = 0
1412 No options
1413 First char = 'b'
1414 Need char = 'a'
1415
1416 /"([^\\"]+|\\.)*"/I
1417 Capturing subpattern count = 1
1418 No options
1419 First char = '"'
1420 Need char = '"'
1421
1422 /(abc|ab[cd])/I
1423 Capturing subpattern count = 1
1424 No options
1425 First char = 'a'
1426 No need char
1427
1428 /(a|.)/I
1429 Capturing subpattern count = 1
1430 No options
1431 No first char
1432 No need char
1433
1434 /a|ba|\w/I
1435 Capturing subpattern count = 0
1436 No options
1437 No first char
1438 No need char
1439
1440 /abc(?=pqr)/I
1441 Capturing subpattern count = 0
1442 No options
1443 First char = 'a'
1444 Need char = 'r'
1445
1446 /...(?<=abc)/I
1447 Capturing subpattern count = 0
1448 Max lookbehind = 3
1449 No options
1450 No first char
1451 No need char
1452
1453 /abc(?!pqr)/I
1454 Capturing subpattern count = 0
1455 No options
1456 First char = 'a'
1457 Need char = 'c'
1458
1459 /ab./I
1460 Capturing subpattern count = 0
1461 No options
1462 First char = 'a'
1463 Need char = 'b'
1464
1465 /ab[xyz]/I
1466 Capturing subpattern count = 0
1467 No options
1468 First char = 'a'
1469 Need char = 'b'
1470
1471 /abc*/I
1472 Capturing subpattern count = 0
1473 No options
1474 First char = 'a'
1475 Need char = 'b'
1476
1477 /ab.c*/I
1478 Capturing subpattern count = 0
1479 No options
1480 First char = 'a'
1481 Need char = 'b'
1482
1483 /a.c*/I
1484 Capturing subpattern count = 0
1485 No options
1486 First char = 'a'
1487 No need char
1488
1489 /.c*/I
1490 Capturing subpattern count = 0
1491 No options
1492 No first char
1493 No need char
1494
1495 /ac*/I
1496 Capturing subpattern count = 0
1497 No options
1498 First char = 'a'
1499 No need char
1500
1501 /(a.c*|b.c*)/I
1502 Capturing subpattern count = 1
1503 No options
1504 No first char
1505 No need char
1506
1507 /a.c*|aba/I
1508 Capturing subpattern count = 0
1509 No options
1510 First char = 'a'
1511 No need char
1512
1513 /.+a/I
1514 Capturing subpattern count = 0
1515 No options
1516 No first char
1517 Need char = 'a'
1518
1519 /(?=abcda)a.*/I
1520 Capturing subpattern count = 0
1521 No options
1522 First char = 'a'
1523 Need char = 'a'
1524
1525 /(?=a)a.*/I
1526 Capturing subpattern count = 0
1527 No options
1528 First char = 'a'
1529 No need char
1530
1531 /a(b)*/I
1532 Capturing subpattern count = 1
1533 No options
1534 First char = 'a'
1535 No need char
1536
1537 /a\d*/I
1538 Capturing subpattern count = 0
1539 No options
1540 First char = 'a'
1541 No need char
1542
1543 /ab\d*/I
1544 Capturing subpattern count = 0
1545 No options
1546 First char = 'a'
1547 Need char = 'b'
1548
1549 /a(\d)*/I
1550 Capturing subpattern count = 1
1551 No options
1552 First char = 'a'
1553 No need char
1554
1555 /abcde{0,0}/I
1556 Capturing subpattern count = 0
1557 No options
1558 First char = 'a'
1559 Need char = 'd'
1560
1561 /ab\d+/I
1562 Capturing subpattern count = 0
1563 No options
1564 First char = 'a'
1565 Need char = 'b'
1566
1567 /a(?(1)b)(.)/I
1568 Capturing subpattern count = 1
1569 Max back reference = 1
1570 No options
1571 First char = 'a'
1572 No need char
1573
1574 /a(?(1)bag|big)(.)/I
1575 Capturing subpattern count = 1
1576 Max back reference = 1
1577 No options
1578 First char = 'a'
1579 Need char = 'g'
1580
1581 /a(?(1)bag|big)*(.)/I
1582 Capturing subpattern count = 1
1583 Max back reference = 1
1584 No options
1585 First char = 'a'
1586 No need char
1587
1588 /a(?(1)bag|big)+(.)/I
1589 Capturing subpattern count = 1
1590 Max back reference = 1
1591 No options
1592 First char = 'a'
1593 Need char = 'g'
1594
1595 /a(?(1)b..|b..)(.)/I
1596 Capturing subpattern count = 1
1597 Max back reference = 1
1598 No options
1599 First char = 'a'
1600 Need char = 'b'
1601
1602 /ab\d{0}e/I
1603 Capturing subpattern count = 0
1604 No options
1605 First char = 'a'
1606 Need char = 'e'
1607
1608 /a?b?/I
1609 Capturing subpattern count = 0
1610 May match empty string
1611 No options
1612 No first char
1613 No need char
1614     a
1615  0: a
1616     b
1617  0: b
1618     ab
1619  0: ab
1620     \
1621  0: 
1622     *** Failers
1623  0: 
1624     \N
1625 No match
1626
1627 /|-/I
1628 Capturing subpattern count = 0
1629 May match empty string
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
1643
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 starting char list
1651
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
1686
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
1700
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
1718
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)
1728
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
1737
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
1747
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
1763
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
1779
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
1798
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
1808
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)
1824
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
1837
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
1850
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
1863
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
1876
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 chars: 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 
1885
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
1898
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
1911
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
1924
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
1937
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 chars: \x09 \x0a \x0b \x0c \x0d \x20 
1946
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
1959
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
1972
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
1985
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
1998
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
2011
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
2024
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
2037
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
2050
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
2063
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
2076
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
2089
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
2102
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
2115
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
2127
2128 /[[.ch.]]/I
2129 Failed: POSIX collating elements are not supported at offset 1
2130
2131 /[[=ch=]]/I
2132 Failed: POSIX collating elements are not supported at offset 1
2133
2134 /[[:rhubarb:]]/I
2135 Failed: unknown POSIX class name at offset 3
2136
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
2146
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
2156
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
2175
2176 /[\200-\110]/I
2177 Failed: range out of order in character class at offset 9
2178
2179 /^(?(0)f|b)oo/I
2180 Failed: invalid condition (?(0) at offset 6
2181
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'
2187
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
2467
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'
2473
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
2486
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'
2492
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
2502
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
2512
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
2522
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
2532
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
2541
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
2552
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
2562
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
2571
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
2580
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
2589
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
2598
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
2607
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
2618
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
2629
2630 /--------------------------------------------------------------------/I
2631 Capturing subpattern count = 0
2632 No options
2633 First char = '-'
2634 Need char = '-'
2635
2636 /#/IxDZ
2637 ------------------------------------------------------------------
2638         Bra
2639         Ket
2640         End
2641 ------------------------------------------------------------------
2642 Capturing subpattern count = 0
2643 May match empty string
2644 Options: extended
2645 No first char
2646 No need char
2647
2648 /a#/IxDZ
2649 ------------------------------------------------------------------
2650         Bra
2651         a
2652         Ket
2653         End
2654 ------------------------------------------------------------------
2655 Capturing subpattern count = 0
2656 Options: extended
2657 First char = 'a'
2658 No need char
2659
2660 /[\s]/DZ
2661 ------------------------------------------------------------------
2662         Bra
2663         [\x09-\x0d ]
2664         Ket
2665         End
2666 ------------------------------------------------------------------
2667 Capturing subpattern count = 0
2668 No options
2669 No first char
2670 No need char
2671
2672 /[\S]/DZ
2673 ------------------------------------------------------------------
2674         Bra
2675         [\x00-\x08\x0e-\x1f!-\xff] (neg)
2676         Ket
2677         End
2678 ------------------------------------------------------------------
2679 Capturing subpattern count = 0
2680 No options
2681 No first char
2682 No need char
2683
2684 /a(?i)b/DZ
2685 ------------------------------------------------------------------
2686         Bra
2687         a
2688      /i b
2689         Ket
2690         End
2691 ------------------------------------------------------------------
2692 Capturing subpattern count = 0
2693 No options
2694 First char = 'a'
2695 Need char = 'b' (caseless)
2696     ab
2697  0: ab
2698     aB
2699  0: aB
2700     *** Failers
2701 No match
2702     AB
2703 No match
2704
2705 /(a(?i)b)/DZ
2706 ------------------------------------------------------------------
2707         Bra
2708         CBra 1
2709         a
2710      /i b
2711         Ket
2712         Ket
2713         End
2714 ------------------------------------------------------------------
2715 Capturing subpattern count = 1
2716 No options
2717 First char = 'a'
2718 Need char = 'b' (caseless)
2719     ab
2720  0: ab
2721  1: ab
2722     aB
2723  0: aB
2724  1: aB
2725     *** Failers
2726 No match
2727     AB
2728 No match
2729
2730 /   (?i)abc/IxDZ
2731 ------------------------------------------------------------------
2732         Bra
2733      /i abc
2734         Ket
2735         End
2736 ------------------------------------------------------------------
2737 Capturing subpattern count = 0
2738 Options: extended
2739 First char = 'a' (caseless)
2740 Need char = 'c' (caseless)
2741
2742 /#this is a comment
2743   (?i)abc/IxDZ
2744 ------------------------------------------------------------------
2745         Bra
2746      /i abc
2747         Ket
2748         End
2749 ------------------------------------------------------------------
2750 Capturing subpattern count = 0
2751 Options: extended
2752 First char = 'a' (caseless)
2753 Need char = 'c' (caseless)
2754
2755 /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
2756 ------------------------------------------------------------------
2757         Bra
2758         123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
2759         Ket
2760         End
2761 ------------------------------------------------------------------
2762 Capturing subpattern count = 0
2763 No options
2764 First char = '1'
2765 Need char = '0'
2766
2767 /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
2768 ------------------------------------------------------------------
2769         Bra
2770         123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
2771         Ket
2772         End
2773 ------------------------------------------------------------------
2774 Capturing subpattern count = 0
2775 No options
2776 First char = '1'
2777 Need char = '0'
2778
2779 /\Q\E/DZ
2780 ------------------------------------------------------------------
2781         Bra
2782         Ket
2783         End
2784 ------------------------------------------------------------------
2785 Capturing subpattern count = 0
2786 May match empty string
2787 No options
2788 No first char
2789 No need char
2790     \
2791  0: 
2792
2793 /\Q\Ex/DZ
2794 ------------------------------------------------------------------
2795         Bra
2796         x
2797         Ket
2798         End
2799 ------------------------------------------------------------------
2800 Capturing subpattern count = 0
2801 No options
2802 First char = 'x'
2803 No need char
2804
2805 / \Q\E/DZ
2806 ------------------------------------------------------------------
2807         Bra
2808          
2809         Ket
2810         End
2811 ------------------------------------------------------------------
2812 Capturing subpattern count = 0
2813 No options
2814 First char = ' '
2815 No need char
2816
2817 /a\Q\E/DZ
2818 ------------------------------------------------------------------
2819         Bra
2820         a
2821         Ket
2822         End
2823 ------------------------------------------------------------------
2824 Capturing subpattern count = 0
2825 No options
2826 First char = 'a'
2827 No need char
2828   abc
2829  0: a
2830   bca
2831  0: a
2832   bac
2833  0: a
2834
2835 /a\Q\Eb/DZ
2836 ------------------------------------------------------------------
2837         Bra
2838         ab
2839         Ket
2840         End
2841 ------------------------------------------------------------------
2842 Capturing subpattern count = 0
2843 No options
2844 First char = 'a'
2845 Need char = 'b'
2846   abc
2847  0: ab
2848
2849 /\Q\Eabc/DZ
2850 ------------------------------------------------------------------
2851         Bra
2852         abc
2853         Ket
2854         End
2855 ------------------------------------------------------------------
2856 Capturing subpattern count = 0
2857 No options
2858 First char = 'a'
2859 Need char = 'c'
2860
2861 /x*+\w/DZ
2862 ------------------------------------------------------------------
2863         Bra
2864         x*+
2865         \w
2866         Ket
2867         End
2868 ------------------------------------------------------------------
2869 Capturing subpattern count = 0
2870 No options
2871 No first char
2872 No need char
2873     *** Failers
2874  0: F
2875     xxxxx
2876 No match
2877
2878 /x?+/DZ
2879 ------------------------------------------------------------------
2880         Bra
2881         x?+
2882         Ket
2883         End
2884 ------------------------------------------------------------------
2885 Capturing subpattern count = 0
2886 May match empty string
2887 No options
2888 No first char
2889 No need char
2890
2891 /x++/DZ
2892 ------------------------------------------------------------------
2893         Bra
2894         x++
2895         Ket
2896         End
2897 ------------------------------------------------------------------
2898 Capturing subpattern count = 0
2899 No options
2900 First char = 'x'
2901 No need char
2902
2903 /x{1,3}+/BZO
2904 ------------------------------------------------------------------
2905         Bra
2906         x
2907         x{0,2}+
2908         Ket
2909         End
2910 ------------------------------------------------------------------
2911
2912 /x{1,3}+/BZOi
2913 ------------------------------------------------------------------
2914         Bra
2915      /i x
2916      /i x{0,2}+
2917         Ket
2918         End
2919 ------------------------------------------------------------------
2920
2921 /[^x]{1,3}+/BZO
2922 ------------------------------------------------------------------
2923         Bra
2924         [^x]
2925         [^x]{0,2}+
2926         Ket
2927         End
2928 ------------------------------------------------------------------
2929
2930 /[^x]{1,3}+/BZOi
2931 ------------------------------------------------------------------
2932         Bra
2933      /i [^x]
2934      /i [^x]{0,2}+
2935         Ket
2936         End
2937 ------------------------------------------------------------------
2938
2939 /(x)*+/DZ
2940 ------------------------------------------------------------------
2941         Bra
2942         Braposzero
2943         CBraPos 1
2944         x
2945         KetRpos
2946         Ket
2947         End
2948 ------------------------------------------------------------------
2949 Capturing subpattern count = 1
2950 May match empty string
2951 No options
2952 No first char
2953 No need char
2954
2955 /^(\w++|\s++)*$/I
2956 Capturing subpattern count = 1
2957 May match empty string
2958 Options: anchored
2959 No first char
2960 No need char
2961     now is the time for all good men to come to the aid of the party
2962  0: now is the time for all good men to come to the aid of the party
2963  1: party
2964     *** Failers
2965 No match
2966     this is not a line with only words and spaces!
2967 No match
2968
2969 /(\d++)(\w)/I
2970 Capturing subpattern count = 2
2971 No options
2972 No first char
2973 No need char
2974     12345a
2975  0: 12345a
2976  1: 12345
2977  2: a
2978     *** Failers
2979 No match
2980     12345+
2981 No match
2982
2983 /a++b/I
2984 Capturing subpattern count = 0
2985 No options
2986 First char = 'a'
2987 Need char = 'b'
2988     aaab
2989  0: aaab
2990
2991 /(a++b)/I
2992 Capturing subpattern count = 1
2993 No options
2994 First char = 'a'
2995 Need char = 'b'
2996     aaab
2997  0: aaab
2998  1: aaab
2999
3000 /(a++)b/I
3001 Capturing subpattern count = 1
3002 No options
3003 First char = 'a'
3004 Need char = 'b'
3005     aaab
3006  0: aaab
3007  1: aaa
3008
3009 /([^()]++|\([^()]*\))+/I
3010 Capturing subpattern count = 1
3011 No options
3012 No first char
3013 No need char
3014     ((abc(ade)ufh()()x
3015  0: abc(ade)ufh()()x
3016  1: x
3017
3018 /\(([^()]++|\([^()]+\))+\)/I
3019 Capturing subpattern count = 1
3020 No options
3021 First char = '('
3022 Need char = ')'
3023     (abc)
3024  0: (abc)
3025  1: abc
3026     (abc(def)xyz)
3027  0: (abc(def)xyz)
3028  1: xyz
3029     *** Failers
3030 No match
3031     ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
3032 No match
3033
3034 /(abc){1,3}+/DZ
3035 ------------------------------------------------------------------
3036         Bra
3037         Once
3038         CBra 1
3039         abc
3040         Ket
3041         Brazero
3042         Bra
3043         CBra 1
3044         abc
3045         Ket
3046         Brazero
3047         CBra 1
3048         abc
3049         Ket
3050         Ket
3051         Ket
3052         Ket
3053         End
3054 ------------------------------------------------------------------
3055 Capturing subpattern count = 1
3056 No options
3057 First char = 'a'
3058 Need char = 'c'
3059
3060 /a+?+/I
3061 Failed: nothing to repeat at offset 3
3062
3063 /a{2,3}?+b/I
3064 Failed: nothing to repeat at offset 7
3065
3066 /(?U)a+?+/I
3067 Failed: nothing to repeat at offset 7
3068
3069 /a{2,3}?+b/IU
3070 Failed: nothing to repeat at offset 7
3071
3072 /x(?U)a++b/DZ
3073 ------------------------------------------------------------------
3074         Bra
3075         x
3076         a++
3077         b
3078         Ket
3079         End
3080 ------------------------------------------------------------------
3081 Capturing subpattern count = 0
3082 No options
3083 First char = 'x'
3084 Need char = 'b'
3085     xaaaab
3086  0: xaaaab
3087
3088 /(?U)xa++b/DZ
3089 ------------------------------------------------------------------
3090         Bra
3091         x
3092         a++
3093         b
3094         Ket
3095         End
3096 ------------------------------------------------------------------
3097 Capturing subpattern count = 0
3098 No options
3099 First char = 'x'
3100 Need char = 'b'
3101     xaaaab
3102  0: xaaaab
3103
3104 /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/DZ
3105 ------------------------------------------------------------------
3106         Bra
3107         ^
3108         CBra 1
3109         CBra 2
3110         a+
3111         Ket
3112         CBra 3
3113         [ab]+?
3114         Ket
3115         CBra 4
3116         [bc]+
3117         Ket
3118         CBra 5
3119         \w*+
3120         Ket
3121         Ket
3122         Ket
3123         End
3124 ------------------------------------------------------------------
3125 Capturing subpattern count = 5
3126 Options: anchored
3127 No first char
3128 No need char
3129
3130 /^x(?U)a+b/DZ
3131 ------------------------------------------------------------------
3132         Bra
3133         ^
3134         x
3135         a++
3136         b
3137         Ket
3138         End
3139 ------------------------------------------------------------------
3140 Capturing subpattern count = 0
3141 Options: anchored
3142 No first char
3143 Need char = 'b'
3144
3145 /^x(?U)(a+)b/DZ
3146 ------------------------------------------------------------------
3147         Bra
3148         ^
3149         x
3150         CBra 1
3151         a+?
3152         Ket
3153         b
3154         Ket
3155         End
3156 ------------------------------------------------------------------
3157 Capturing subpattern count = 1
3158 Options: anchored
3159 No first char
3160 Need char = 'b'
3161
3162 /[.x.]/I
3163 Failed: POSIX collating elements are not supported at offset 0
3164
3165 /[=x=]/I
3166 Failed: POSIX collating elements are not supported at offset 0
3167
3168 /[:x:]/I
3169 Failed: POSIX named classes are supported only within a class at offset 0
3170
3171 /\l/I
3172 Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
3173
3174 /\L/I
3175 Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
3176
3177 /\N{name}/I
3178 Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
3179
3180 /\u/I
3181 Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
3182
3183 /\U/I
3184 Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
3185
3186 /a{1,3}b/U
3187     ab
3188  0: ab
3189
3190 /[/I
3191 Failed: missing terminating ] for character class at offset 1
3192
3193 /[a-/I
3194 Failed: missing terminating ] for character class at offset 3
3195
3196 /[[:space:]/I
3197 Failed: missing terminating ] for character class at offset 10
3198
3199 /[\s]/IDZ
3200 ------------------------------------------------------------------
3201         Bra
3202         [\x09-\x0d ]
3203         Ket
3204         End
3205 ------------------------------------------------------------------
3206 Capturing subpattern count = 0
3207 No options
3208 No first char
3209 No need char
3210
3211 /[[:space:]]/IDZ
3212 ------------------------------------------------------------------
3213         Bra
3214         [\x09-\x0d ]
3215         Ket
3216         End
3217 ------------------------------------------------------------------
3218 Capturing subpattern count = 0
3219 No options
3220 No first char
3221 No need char
3222
3223 /[[:space:]abcde]/IDZ
3224 ------------------------------------------------------------------
3225         Bra
3226         [\x09-\x0d a-e]
3227         Ket
3228         End
3229 ------------------------------------------------------------------
3230 Capturing subpattern count = 0
3231 No options
3232 No first char
3233 No need char
3234
3235 /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/Ix
3236 Capturing subpattern count = 0
3237 Options: extended
3238 First char = '<'
3239 Need char = '>'
3240     <>
3241  0: <>
3242     <abcd>
3243  0: <abcd>
3244     <abc <123> hij>
3245  0: <abc <123> hij>
3246     <abc <def> hij>
3247  0: <def>
3248     <abc<>def>
3249  0: <abc<>def>
3250     <abc<>
3251  0: <>
3252     *** Failers
3253 No match
3254     <abc
3255 No match
3256
3257 |8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|IDZ
3258 ------------------------------------------------------------------
3259         Bra
3260         8J$WE<.rX+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDD<EjmhUZ?.akp2dF>qmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X
3261         \b
3262         Ket
3263         End
3264 ------------------------------------------------------------------
3265 Capturing subpattern count = 0
3266 Max lookbehind = 1
3267 No options
3268 First char = '8'
3269 Need char = 'X'
3270
3271 |\$\<\.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
3272 ------------------------------------------------------------------
3273         Bra
3274         $<.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
3275         \b
3276         Ket
3277         End
3278 ------------------------------------------------------------------
3279 Capturing subpattern count = 0
3280 Max lookbehind = 1
3281 No options
3282 First char = '$'
3283 Need char = 'X'
3284
3285 /(.*)\d+\1/I
3286 Capturing subpattern count = 1
3287 Max back reference = 1
3288 No options
3289 No first char
3290 No need char
3291
3292 /(.*)\d+/I
3293 Capturing subpattern count = 1
3294 No options
3295 First char at start or follows newline
3296 No need char
3297
3298 /(.*)\d+\1/Is
3299 Capturing subpattern count = 1
3300 Max back reference = 1
3301 Options: dotall
3302 No first char
3303 No need char
3304
3305 /(.*)\d+/Is
3306 Capturing subpattern count = 1
3307 Options: anchored dotall
3308 No first char
3309 No need char
3310
3311 /(.*(xyz))\d+\2/I
3312 Capturing subpattern count = 2
3313 Max back reference = 2
3314 No options
3315 First char at start or follows newline
3316 Need char = 'z'
3317
3318 /((.*))\d+\1/I
3319 Capturing subpattern count = 2
3320 Max back reference = 1
3321 No options
3322 No first char
3323 No need char
3324     abc123bc
3325  0: bc123bc
3326  1: bc
3327  2: bc
3328
3329 /a[b]/I
3330 Capturing subpattern count = 0
3331 No options
3332 First char = 'a'
3333 Need char = 'b'
3334
3335 /(?=a).*/I
3336 Capturing subpattern count = 0
3337 May match empty string
3338 No options
3339 First char = 'a'
3340 No need char
3341
3342 /(?=abc).xyz/IiI
3343 Capturing subpattern count = 0
3344 Options: caseless
3345 First char = 'a' (caseless)
3346 Need char = 'z' (caseless)
3347
3348 /(?=abc)(?i).xyz/I
3349 Capturing subpattern count = 0
3350 No options
3351 First char = 'a'
3352 Need char = 'z' (caseless)
3353
3354 /(?=a)(?=b)/I
3355 Capturing subpattern count = 0
3356 May match empty string
3357 No options
3358 First char = 'a'
3359 No need char
3360
3361 /(?=.)a/I
3362 Capturing subpattern count = 0
3363 No options
3364 First char = 'a'
3365 No need char
3366
3367 /((?=abcda)a)/I
3368 Capturing subpattern count = 1
3369 No options
3370 First char = 'a'
3371 Need char = 'a'
3372
3373 /((?=abcda)ab)/I
3374 Capturing subpattern count = 1
3375 No options
3376 First char = 'a'
3377 Need char = 'b'
3378
3379 /()a/I
3380 Capturing subpattern count = 1
3381 No options
3382 No first char
3383 Need char = 'a'
3384
3385 /(?(1)ab|ac)(.)/I
3386 Capturing subpattern count = 1
3387 Max back reference = 1
3388 No options
3389 First char = 'a'
3390 No need char
3391
3392 /(?(1)abz|acz)(.)/I
3393 Capturing subpattern count = 1
3394 Max back reference = 1
3395 No options
3396 First char = 'a'
3397 Need char = 'z'
3398
3399 /(?(1)abz)(.)/I
3400 Capturing subpattern count = 1
3401 Max back reference = 1
3402 No options
3403 No first char
3404 No need char
3405
3406 /(?(1)abz)(1)23/I
3407 Capturing subpattern count = 1
3408 Max back reference = 1
3409 No options
3410 No first char
3411 Need char = '3'
3412
3413 /(a)+/I
3414 Capturing subpattern count = 1
3415 No options
3416 First char = 'a'
3417 No need char
3418
3419 /(a){2,3}/I
3420 Capturing subpattern count = 1
3421 No options
3422 First char = 'a'
3423 Need char = 'a'
3424
3425 /(a)*/I
3426 Capturing subpattern count = 1
3427 May match empty string
3428 No options
3429 No first char
3430 No need char
3431
3432 /[a]/I
3433 Capturing subpattern count = 0
3434 No options
3435 First char = 'a'
3436 No need char
3437
3438 /[ab]/I
3439 Capturing subpattern count = 0
3440 No options
3441 No first char
3442 No need char
3443
3444 /[ab]/IS
3445 Capturing subpattern count = 0
3446 No options
3447 No first char
3448 No need char
3449 Subject length lower bound = 1
3450 Starting chars: a b 
3451
3452 /[^a]/I
3453 Capturing subpattern count = 0
3454 No options
3455 No first char
3456 No need char
3457
3458 /\d456/I
3459 Capturing subpattern count = 0
3460 No options
3461 No first char
3462 Need char = '6'
3463
3464 /\d456/IS
3465 Capturing subpattern count = 0
3466 No options
3467 No first char
3468 Need char = '6'
3469 Subject length lower bound = 4
3470 Starting chars: 0 1 2 3 4 5 6 7 8 9 
3471
3472 /a^b/I
3473 Capturing subpattern count = 0
3474 No options
3475 First char = 'a'
3476 Need char = 'b'
3477
3478 /^a/Im
3479 Capturing subpattern count = 0
3480 Options: multiline
3481 First char at start or follows newline
3482 Need char = 'a'
3483   abcde
3484  0: a
3485   xy\nabc
3486  0: a
3487   *** Failers
3488 No match
3489   xyabc
3490 No match
3491
3492 /c|abc/I
3493 Capturing subpattern count = 0
3494 No options
3495 No first char
3496 Need char = 'c'
3497
3498 /(?i)[ab]/IS
3499 Capturing subpattern count = 0
3500 No options
3501 No first char
3502 No need char
3503 Subject length lower bound = 1
3504 Starting chars: A B a b 
3505
3506 /[ab](?i)cd/IS
3507 Capturing subpattern count = 0
3508 No options
3509 No first char
3510 Need char = 'd' (caseless)
3511 Subject length lower bound = 3
3512 Starting chars: a b 
3513
3514 /abc(?C)def/I
3515 Capturing subpattern count = 0
3516 No options
3517 First char = 'a'
3518 Need char = 'f'
3519     abcdef
3520 --->abcdef
3521   0 ^  ^       d
3522  0: abcdef
3523     1234abcdef
3524 --->1234abcdef
3525   0     ^  ^       d
3526  0: abcdef
3527     *** Failers
3528 No match
3529     abcxyz
3530 No match
3531     abcxyzf
3532 --->abcxyzf
3533   0 ^  ^        d
3534 No match
3535
3536 /abc(?C)de(?C1)f/I
3537 Capturing subpattern count = 0
3538 No options
3539 First char = 'a'
3540 Need char = 'f'
3541     123abcdef
3542 --->123abcdef
3543   0    ^  ^       d
3544   1    ^    ^     f
3545  0: abcdef
3546
3547 /(?C1)\dabc(?C2)def/IS
3548 Capturing subpattern count = 0
3549 No options
3550 No first char
3551 Need char = 'f'
3552 Subject length lower bound = 7
3553 Starting chars: 0 1 2 3 4 5 6 7 8 9 
3554     1234abcdef
3555 --->1234abcdef
3556   1 ^              \d
3557   1  ^             \d
3558   1   ^            \d
3559   1    ^           \d
3560   2    ^   ^       d
3561  0: 4abcdef
3562     *** Failers
3563 No match
3564     abcdef
3565 No match
3566
3567 /(?C1)\dabc(?C2)def/ISS
3568 Capturing subpattern count = 0
3569 No options
3570 No first char
3571 Need char = 'f'
3572     1234abcdef
3573 --->1234abcdef
3574   1 ^              \d
3575   1  ^             \d
3576   1   ^            \d
3577   1    ^           \d
3578   2    ^   ^       d
3579  0: 4abcdef
3580     *** Failers
3581 No match
3582     abcdef
3583 --->abcdef
3584   1 ^          \d
3585   1  ^         \d
3586   1   ^        \d
3587   1    ^       \d
3588   1     ^      \d
3589   1      ^     \d
3590 No match
3591
3592 /(?C255)ab/I
3593 Capturing subpattern count = 0
3594 No options
3595 First char = 'a'
3596 Need char = 'b'
3597
3598 /(?C256)ab/I
3599 Failed: number after (?C is > 255 at offset 6
3600
3601 /(?Cab)xx/I
3602 Failed: closing ) for (?C expected at offset 3
3603
3604 /(?C12vr)x/I
3605 Failed: closing ) for (?C expected at offset 5
3606
3607 /abc(?C)def/I
3608 Capturing subpattern count = 0
3609 No options
3610 First char = 'a'
3611 Need char = 'f'
3612     *** Failers
3613 No match
3614     \x83\x0\x61bcdef
3615 --->\x83\x00abcdef
3616   0         ^  ^       d
3617  0: abcdef
3618
3619 /(abc)(?C)de(?C1)f/I
3620 Capturing subpattern count = 1
3621 No options
3622 First char = 'a'
3623 Need char = 'f'
3624     123abcdef
3625 --->123abcdef
3626   0    ^  ^       d
3627   1    ^    ^     f
3628  0: abcdef
3629  1: abc
3630     123abcdef\C+
3631 Callout 0: last capture = 1
3632  0: <unset>
3633  1: abc
3634 --->123abcdef
3635        ^  ^       d
3636 Callout 1: last capture = 1
3637  0: <unset>
3638  1: abc
3639 --->123abcdef
3640        ^    ^     f
3641  0: abcdef
3642  1: abc
3643     123abcdef\C-
3644  0: abcdef
3645  1: abc
3646     *** Failers
3647 No match
3648     123abcdef\C!1
3649 --->123abcdef
3650   0    ^  ^       d
3651   1    ^    ^     f
3652 No match
3653
3654 /(?C0)(abc(?C1))*/I
3655 Capturing subpattern count = 1
3656 May match empty string
3657 No options
3658 No first char
3659 No need char
3660     abcabcabc
3661 --->abcabcabc
3662   0 ^             (abc(?C1))*
3663   1 ^  ^          )
3664   1 ^     ^       )
3665   1 ^        ^    )
3666  0: abcabcabc
3667  1: abc
3668     abcabc\C!1!3
3669 --->abcabc
3670   0 ^          (abc(?C1))*
3671   1 ^  ^       )
3672   1 ^     ^    )
3673  0: abcabc
3674  1: abc
3675     *** Failers
3676 --->*** Failers
3677   0 ^               (abc(?C1))*
3678  0: 
3679     abcabcabc\C!1!3
3680 --->abcabcabc
3681   0 ^             (abc(?C1))*
3682   1 ^  ^          )
3683   1 ^     ^       )
3684   1 ^        ^    )
3685  0: abcabc
3686  1: abc
3687
3688 /(\d{3}(?C))*/I
3689 Capturing subpattern count = 1
3690 May match empty string
3691 No options
3692 No first char
3693 No need char
3694     123\C+
3695 Callout 0: last capture = -1
3696  0: <unset>
3697 --->123
3698     ^  ^    )
3699  0: 123
3700  1: 123
3701     123456\C+
3702 Callout 0: last capture = -1
3703  0: <unset>
3704 --->123456
3705     ^  ^       )
3706 Callout 0: last capture = 1
3707  0: <unset>
3708  1: 123
3709 --->123456
3710     ^     ^    )
3711  0: 123456
3712  1: 456
3713     123456789\C+
3714 Callout 0: last capture = -1
3715  0: <unset>
3716 --->123456789
3717     ^  ^          )
3718 Callout 0: last capture = 1
3719  0: <unset>
3720  1: 123
3721 --->123456789
3722     ^     ^       )
3723 Callout 0: last capture = 1
3724  0: <unset>
3725  1: 456
3726 --->123456789
3727     ^        ^    )
3728  0: 123456789
3729  1: 789
3730
3731 /((xyz)(?C)p|(?C1)xyzabc)/I
3732 Capturing subpattern count = 2
3733 No options
3734 First char = 'x'
3735 No need char
3736     xyzabc\C+
3737 Callout 0: last capture = 2
3738  0: <unset>
3739  1: <unset>
3740  2: xyz
3741 --->xyzabc
3742     ^  ^       p
3743 Callout 1: last capture = -1
3744  0: <unset>
3745 --->xyzabc
3746     ^          x
3747  0: xyzabc
3748  1: xyzabc
3749
3750 /(X)((xyz)(?C)p|(?C1)xyzabc)/I
3751 Capturing subpattern count = 3
3752 No options
3753 First char = 'X'
3754 Need char = 'x'
3755     Xxyzabc\C+
3756 Callout 0: last capture = 3
3757  0: <unset>
3758  1: X
3759  2: <unset>
3760  3: xyz
3761 --->Xxyzabc
3762     ^   ^       p
3763 Callout 1: last capture = 1
3764  0: <unset>
3765  1: X
3766 --->Xxyzabc
3767     ^^          x
3768  0: Xxyzabc
3769  1: X
3770  2: xyzabc
3771
3772 /(?=(abc))(?C)abcdef/I
3773 Capturing subpattern count = 1
3774 No options
3775 First char = 'a'
3776 Need char = 'f'
3777     abcdef\C+
3778 Callout 0: last capture = 1
3779  0: <unset>
3780  1: abc
3781 --->abcdef
3782     ^          a
3783  0: abcdef
3784  1: abc
3785
3786 /(?!(abc)(?C1)d)(?C2)abcxyz/I
3787 Capturing subpattern count = 1
3788 No options
3789 First char = 'a'
3790 Need char = 'z'
3791     abcxyz\C+
3792 Callout 1: last capture = 1
3793  0: <unset>
3794  1: abc
3795 --->abcxyz
3796     ^  ^       d
3797 Callout 2: last capture = -1
3798  0: <unset>
3799 --->abcxyz
3800     ^          a
3801  0: abcxyz
3802
3803 /(?<=(abc)(?C))xyz/I
3804 Capturing subpattern count = 1
3805 Max lookbehind = 3
3806 No options
3807 First char = 'x'
3808 Need char = 'z'
3809    abcxyz\C+
3810 Callout 0: last capture = 1
3811  0: <unset>
3812  1: abc
3813 --->abcxyz
3814        ^       )
3815  0: xyz
3816  1: abc
3817
3818 /a(b+)(c*)(?C1)/I
3819 Capturing subpattern count = 2
3820 No options
3821 First char = 'a'
3822 Need char = 'b'
3823     abbbbbccc\C*1
3824 --->abbbbbccc
3825   1 ^        ^    
3826 Callout data = 1
3827 No match
3828
3829 /a(b+?)(c*?)(?C1)/I
3830 Capturing subpattern count = 2
3831 No options
3832 First char = 'a'
3833 Need char = 'b'
3834     abbbbbccc\C*1
3835 --->abbbbbccc
3836   1 ^ ^           
3837 Callout data = 1
3838   1 ^  ^          
3839 Callout data = 1
3840   1 ^   ^         
3841 Callout data = 1
3842   1 ^    ^        
3843 Callout data = 1
3844   1 ^     ^       
3845 Callout data = 1
3846   1 ^      ^      
3847 Callout data = 1
3848   1 ^       ^     
3849 Callout data = 1
3850   1 ^        ^    
3851 Callout data = 1
3852 No match
3853
3854 /(?C)abc/I
3855 Capturing subpattern count = 0
3856 No options
3857 First char = 'a'
3858 Need char = 'c'
3859
3860 /(?C)^abc/I
3861 Capturing subpattern count = 0
3862 Options: anchored
3863 No first char
3864 No need char
3865
3866 /(?C)a|b/IS
3867 Capturing subpattern count = 0
3868 No options
3869 No first char
3870 No need char
3871 Subject length lower bound = 1
3872 Starting chars: a b 
3873
3874 /(?R)/I
3875 Failed: recursive call could loop indefinitely at offset 3
3876
3877 /(a|(?R))/I
3878 Failed: recursive call could loop indefinitely at offset 6
3879
3880 /(ab|(bc|(de|(?R))))/I
3881 Failed: recursive call could loop indefinitely at offset 15
3882
3883 /x(ab|(bc|(de|(?R))))/I
3884 Capturing subpattern count = 3
3885 No options
3886 First char = 'x'
3887 No need char
3888     xab
3889  0: xab
3890  1: ab
3891     xbc
3892  0: xbc
3893  1: bc
3894  2: bc
3895     xde
3896  0: xde
3897  1: de
3898  2: de
3899  3: de
3900     xxab
3901  0: xxab
3902  1: xab
3903  2: xab
3904  3: xab
3905     xxxab
3906  0: xxxab
3907  1: xxab
3908  2: xxab
3909  3: xxab
3910     *** Failers
3911 No match
3912     xyab
3913 No match
3914
3915 /(ab|(bc|(de|(?1))))/I
3916 Failed: recursive call could loop indefinitely at offset 15
3917
3918 /x(ab|(bc|(de|(?1)x)x)x)/I
3919 Failed: recursive call could loop indefinitely at offset 16
3920
3921 /^([^()]|\((?1)*\))*$/I
3922 Capturing subpattern count = 1
3923 May match empty string
3924 Options: anchored
3925 No first char
3926 No need char
3927     abc
3928  0: abc
3929  1: c
3930     a(b)c
3931  0: a(b)c
3932  1: c
3933     a(b(c))d
3934  0: a(b(c))d
3935  1: d
3936     *** Failers)
3937 No match
3938     a(b(c)d
3939 No match
3940
3941 /^>abc>([^()]|\((?1)*\))*<xyz<$/I
3942 Capturing subpattern count = 1
3943 Options: anchored
3944 No first char
3945 Need char = '<'
3946    >abc>123<xyz<
3947  0: >abc>123<xyz<
3948  1: 3
3949    >abc>1(2)3<xyz<
3950  0: >abc>1(2)3<xyz<
3951  1: 3
3952    >abc>(1(2)3)<xyz<
3953  0: >abc>(1(2)3)<xyz<
3954  1: (1(2)3)
3955
3956 /(a(?1)b)/DZ
3957 ------------------------------------------------------------------
3958         Bra
3959         CBra 1
3960         a
3961         Recurse
3962         b
3963         Ket
3964         Ket
3965         End
3966 ------------------------------------------------------------------
3967 Capturing subpattern count = 1
3968 No options
3969 First char = 'a'
3970 Need char = 'b'
3971
3972 /(a(?1)+b)/DZ
3973 ------------------------------------------------------------------
3974         Bra
3975         CBra 1
3976         a
3977         Once
3978         Recurse
3979         KetRmax
3980         b
3981         Ket
3982         Ket
3983         End
3984 ------------------------------------------------------------------
3985 Capturing subpattern count = 1
3986 No options
3987 First char = 'a'
3988 Need char = 'b'
3989
3990 /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I
3991 Capturing subpattern count = 2
3992 Options: anchored
3993 No first char
3994 No need char
3995     12
3996  0: 12
3997  1: 12
3998     (((2+2)*-3)-7)
3999  0: (((2+2)*-3)-7)
4000  1: (((2+2)*-3)-7)
4001  2: -
4002     -12
4003  0: -12
4004  1: -12
4005     *** Failers
4006 No match
4007     ((2+2)*-3)-7)
4008 No match
4009
4010 /^(x(y|(?1){2})z)/I
4011 Capturing subpattern count = 2
4012 Options: anchored
4013 No first char
4014 No need char
4015     xyz
4016  0: xyz
4017  1: xyz
4018  2: y
4019     xxyzxyzz
4020  0: xxyzxyzz
4021  1: xxyzxyzz
4022  2: xyzxyz
4023     *** Failers
4024 No match
4025     xxyzz
4026 No match
4027     xxyzxyzxyzz
4028 No match
4029
4030 /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/Ix
4031 Capturing subpattern count = 2
4032 Options: extended
4033 First char = '<'
4034 Need char = '>'
4035     <>
4036  0: <>
4037  1: <>
4038  2: <>
4039     <abcd>
4040  0: <abcd>
4041  1: <abcd>
4042  2: <abcd>
4043     <abc <123> hij>
4044  0: <abc <123> hij>
4045  1: <abc <123> hij>
4046  2: <abc <123> hij>
4047     <abc <def> hij>
4048  0: <def>
4049  1: <def>
4050  2: <def>
4051     <abc<>def>
4052  0: <abc<>def>
4053  1: <abc<>def>
4054  2: <abc<>def>
4055     <abc<>
4056  0: <>
4057  1: <>
4058  2: <>
4059     *** Failers
4060 No match
4061     <abc
4062 No match
4063
4064 /(?1)/I
4065 Failed: reference to non-existent subpattern at offset 3
4066
4067 /((?2)(abc)/I
4068 Failed: missing ) at offset 10
4069
4070 /^(abc)def(?1)/I
4071 Capturing subpattern count = 1
4072 Options: anchored
4073 No first char
4074 No need char
4075     abcdefabc
4076  0: abcdefabc
4077  1: abc
4078
4079 /^(a|b|c)=(?1)+/I
4080 Capturing subpattern count = 1
4081 Options: anchored
4082 No first char
4083 No need char
4084     a=a
4085  0: a=a
4086  1: a
4087     a=b
4088  0: a=b
4089  1: a
4090     a=bc
4091  0: a=bc
4092  1: a
4093
4094 /^(a|b|c)=((?1))+/I
4095 Capturing subpattern count = 2
4096 Options: anchored
4097 No first char
4098 No need char
4099     a=a
4100  0: a=a
4101  1: a
4102  2: a
4103     a=b
4104  0: a=b
4105  1: a
4106  2: b
4107     a=bc
4108  0: a=bc
4109  1: a
4110  2: c
4111
4112 /a(?P<name1>b|c)d(?P<longername2>e)/DZ
4113 ------------------------------------------------------------------
4114         Bra
4115         a
4116         CBra 1
4117         b
4118         Alt
4119         c
4120         Ket
4121         d
4122         CBra 2
4123         e
4124         Ket
4125         Ket
4126         End
4127 ------------------------------------------------------------------
4128 Capturing subpattern count = 2
4129 Named capturing subpatterns:
4130   longername2   2
4131   name1         1
4132 No options
4133 First char = 'a'
4134 Need char = 'e'
4135     abde
4136  0: abde
4137  1: b
4138  2: e
4139     acde
4140  0: acde
4141  1: c
4142  2: e
4143
4144 /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/DZ
4145 ------------------------------------------------------------------
4146         Bra
4147         Bra
4148         a
4149         CBra 1
4150         c
4151         CBra 2
4152         d
4153         Ket
4154         Ket
4155         Ket
4156         CBra 3
4157         a
4158         Ket
4159         Ket
4160         End
4161 ------------------------------------------------------------------
4162 Capturing subpattern count = 3
4163 Named capturing subpatterns:
4164   a   3
4165   c   1
4166   d   2
4167 No options
4168 First char = 'a'
4169 Need char = 'a'
4170
4171 /(?P<a>a)...(?P=a)bbb(?P>a)d/DZ
4172 ------------------------------------------------------------------
4173         Bra
4174         CBra 1
4175         a
4176         Ket
4177         Any
4178         Any
4179         Any
4180         \1
4181         bbb
4182         Recurse
4183         d
4184         Ket
4185         End
4186 ------------------------------------------------------------------
4187 Capturing subpattern count = 1
4188 Max back reference = 1
4189 Named capturing subpatterns:
4190   a   1
4191 No options
4192 First char = 'a'
4193 Need char = 'd'
4194
4195 /^\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
4196 Capturing subpattern count = 4
4197 Max back reference = 4
4198 Named capturing subpatterns:
4199   four    4
4200   one     1
4201   three   3
4202   two     2
4203 May match empty string
4204 Options: anchored caseless
4205 No first char
4206 No need char
4207     1221
4208  0: 1221
4209  1: 1221
4210  2: 1
4211     Satan, oscillate my metallic sonatas!
4212  0: Satan, oscillate my metallic sonatas!
4213  1: <unset>
4214  2: <unset>
4215  3: Satan, oscillate my metallic sonatas
4216  4: S
4217     A man, a plan, a canal: Panama!
4218  0: A man, a plan, a canal: Panama!
4219  1: <unset>
4220  2: <unset>
4221  3: A man, a plan, a canal: Panama
4222  4: A
4223     Able was I ere I saw Elba.
4224  0: Able was I ere I saw Elba.
4225  1: <unset>
4226  2: <unset>
4227  3: Able was I ere I saw Elba
4228  4: A
4229     *** Failers
4230 No match
4231     The quick brown fox
4232 No match
4233
4234 /((?(R)a|b))\1(?1)?/I
4235 Capturing subpattern count = 1
4236 Max back reference = 1
4237 No options
4238 No first char
4239 No need char
4240   bb
4241  0: bb
4242  1: b
4243   bbaa
4244  0: bba
4245  1: b
4246
4247 /(.*)a/Is
4248 Capturing subpattern count = 1
4249 Options: anchored dotall
4250 No first char
4251 Need char = 'a'
4252
4253 /(.*)a\1/Is
4254 Capturing subpattern count = 1
4255 Max back reference = 1
4256 Options: dotall
4257 No first char
4258 Need char = 'a'
4259
4260 /(.*)a(b)\2/Is
4261 Capturing subpattern count = 2
4262 Max back reference = 2
4263 Options: anchored dotall
4264 No first char
4265 Need char = 'b'
4266
4267 /((.*)a|(.*)b)z/Is
4268 Capturing subpattern count = 3
4269 Options: anchored dotall
4270 No first char
4271 Need char = 'z'
4272
4273 /((.*)a|(.*)b)z\1/Is
4274 Capturing subpattern count = 3
4275 Max back reference = 1
4276 Options: dotall
4277 No first char
4278 Need char = 'z'
4279
4280 /((.*)a|(.*)b)z\2/Is
4281 Capturing subpattern count = 3
4282 Max back reference = 2
4283 Options: dotall
4284 No first char
4285 Need char = 'z'
4286
4287 /((.*)a|(.*)b)z\3/Is
4288 Capturing subpattern count = 3
4289 Max back reference = 3
4290 Options: dotall
4291 No first char
4292 Need char = 'z'
4293
4294 /((.*)a|^(.*)b)z\3/Is
4295 Capturing subpattern count = 3
4296 Max back reference = 3
4297 Options: anchored dotall
4298 No first char
4299 Need char = 'z'
4300
4301 /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is
4302 Capturing subpattern count = 31
4303 May match empty string
4304 Options: anchored dotall
4305 No first char
4306 No need char
4307
4308 /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is
4309 Capturing subpattern count = 31
4310 Max back reference = 31
4311 May match empty string
4312 Options: dotall
4313 No first char
4314 No need char
4315
4316 /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is
4317 Capturing subpattern count = 32
4318 Max back reference = 32
4319 May match empty string
4320 Options: dotall
4321 No first char
4322 No need char
4323
4324 /(a)(bc)/INDZ
4325 ------------------------------------------------------------------
4326         Bra
4327         Bra
4328         a
4329         Ket
4330         Bra
4331         bc
4332         Ket
4333         Ket
4334         End
4335 ------------------------------------------------------------------
4336 Capturing subpattern count = 0
4337 Options: no_auto_capture
4338 First char = 'a'
4339 Need char = 'c'
4340   abc
4341  0: abc
4342
4343 /(?P<one>a)(bc)/INDZ
4344 ------------------------------------------------------------------
4345         Bra
4346         CBra 1
4347         a
4348         Ket
4349         Bra
4350         bc
4351         Ket
4352         Ket
4353         End
4354 ------------------------------------------------------------------
4355 Capturing subpattern count = 1
4356 Named capturing subpatterns:
4357   one   1
4358 Options: no_auto_capture
4359 First char = 'a'
4360 Need char = 'c'
4361   abc
4362  0: abc
4363  1: a
4364
4365 /(a)(?P<named>bc)/INDZ
4366 ------------------------------------------------------------------
4367         Bra
4368         Bra
4369         a
4370         Ket
4371         CBra 1
4372         bc
4373         Ket
4374         Ket
4375         End
4376 ------------------------------------------------------------------
4377 Capturing subpattern count = 1
4378 Named capturing subpatterns:
4379   named   1
4380 Options: no_auto_capture
4381 First char = 'a'
4382 Need char = 'c'
4383
4384 /(a+)*zz/I
4385 Capturing subpattern count = 1
4386 No options
4387 No first char
4388 Need char = 'z'
4389   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzbbbbbb\M
4390 Minimum match() limit = 8
4391 Minimum match() recursion limit = 6
4392  0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazz
4393  1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
4394   aaaaaaaaaaaaaz\M
4395 Minimum match() limit = 32768
4396 Minimum match() recursion limit = 29
4397 No match
4398
4399 /(aaa(?C1)bbb|ab)/I
4400 Capturing subpattern count = 1
4401 No options
4402 First char = 'a'
4403 Need char = 'b'
4404    aaabbb
4405 --->aaabbb
4406   1 ^  ^       b
4407  0: aaabbb
4408  1: aaabbb
4409    aaabbb\C*0
4410 --->aaabbb
4411   1 ^  ^       b
4412  0: aaabbb
4413  1: aaabbb
4414    aaabbb\C*1
4415 --->aaabbb
4416   1 ^  ^       b
4417 Callout data = 1
4418  0: ab
4419  1: ab
4420    aaabbb\C*-1
4421 --->aaabbb
4422   1 ^  ^       b
4423 Callout data = -1
4424 No match
4425
4426 /ab(?P<one>cd)ef(?P<two>gh)/I
4427 Capturing subpattern count = 2
4428 Named capturing subpatterns:
4429   one   1
4430   two   2
4431 No options
4432 First char = 'a'
4433 Need char = 'h'
4434     abcdefgh
4435  0: abcdefgh
4436  1: cd
4437  2: gh
4438     abcdefgh\C1\Gtwo
4439  0: abcdefgh
4440  1: cd
4441  2: gh
4442  1C cd (2)
4443   G gh (2) two
4444     abcdefgh\Cone\Ctwo
4445  0: abcdefgh
4446  1: cd
4447  2: gh
4448   C cd (2) one
4449   C gh (2) two
4450     abcdefgh\Cthree
4451 no parentheses with name "three"
4452  0: abcdefgh
4453  1: cd
4454  2: gh
4455 copy substring three failed -7
4456
4457 /(?P<Tes>)(?P<Test>)/DZ
4458 ------------------------------------------------------------------
4459         Bra
4460         CBra 1
4461         Ket
4462         CBra 2
4463         Ket
4464         Ket
4465         End
4466 ------------------------------------------------------------------
4467 Capturing subpattern count = 2
4468 Named capturing subpatterns:
4469   Tes    1
4470   Test   2
4471 May match empty string
4472 No options
4473 No first char
4474 No need char
4475
4476 /(?P<Test>)(?P<Tes>)/DZ
4477 ------------------------------------------------------------------
4478         Bra
4479         CBra 1
4480         Ket
4481         CBra 2
4482         Ket
4483         Ket
4484         End
4485 ------------------------------------------------------------------
4486 Capturing subpattern count = 2
4487 Named capturing subpatterns:
4488   Tes    2
4489   Test   1
4490 May match empty string
4491 No options
4492 No first char
4493 No need char
4494
4495 /(?P<Z>zz)(?P<A>aa)/I
4496 Capturing subpattern count = 2
4497 Named capturing subpatterns:
4498   A   2
4499   Z   1
4500 No options
4501 First char = 'z'
4502 Need char = 'a'
4503     zzaa\CZ
4504  0: zzaa
4505  1: zz
4506  2: aa
4507   C zz (2) Z
4508     zzaa\CA
4509  0: zzaa
4510  1: zz
4511  2: aa
4512   C aa (2) A
4513
4514 /(?P<x>eks)(?P<x>eccs)/I
4515 Failed: two named subpatterns have the same name at offset 15
4516
4517 /(?P<abc>abc(?P<def>def)(?P<abc>xyz))/I
4518 Failed: two named subpatterns have the same name at offset 30
4519
4520 "\[((?P<elem>\d+)(,(?P>elem))*)\]"I
4521 Capturing subpattern count = 3
4522 Named capturing subpatterns:
4523   elem   2
4524 No options
4525 First char = '['
4526 Need char = ']'
4527     [10,20,30,5,5,4,4,2,43,23,4234]
4528  0: [10,20,30,5,5,4,4,2,43,23,4234]
4529  1: 10,20,30,5,5,4,4,2,43,23,4234
4530  2: 10
4531  3: ,4234
4532     *** Failers
4533 No match
4534     []
4535 No match
4536
4537 "\[((?P<elem>\d+)(,(?P>elem))*)?\]"I
4538 Capturing subpattern count = 3
4539 Named capturing subpatterns:
4540   elem   2
4541 No options
4542 First char = '['
4543 Need char = ']'
4544     [10,20,30,5,5,4,4,2,43,23,4234]
4545  0: [10,20,30,5,5,4,4,2,43,23,4234]
4546  1: 10,20,30,5,5,4,4,2,43,23,4234
4547  2: 10
4548  3: ,4234
4549     []
4550  0: []
4551
4552 /(a(b(?2)c))?/DZ
4553 ------------------------------------------------------------------
4554         Bra
4555         Brazero
4556         CBra 1
4557         a
4558         CBra 2
4559         b
4560         Recurse
4561         c
4562         Ket
4563         Ket
4564         Ket
4565         End
4566 ------------------------------------------------------------------
4567 Capturing subpattern count = 2
4568 May match empty string
4569 No options
4570 No first char
4571 No need char
4572
4573 /(a(b(?2)c))*/DZ
4574 ------------------------------------------------------------------
4575         Bra
4576         Brazero
4577         CBra 1
4578         a
4579         CBra 2
4580         b
4581         Recurse
4582         c
4583         Ket
4584         KetRmax
4585         Ket
4586         End
4587 ------------------------------------------------------------------
4588 Capturing subpattern count = 2
4589 May match empty string
4590 No options
4591 No first char
4592 No need char
4593
4594 /(a(b(?2)c)){0,2}/DZ
4595 ------------------------------------------------------------------
4596         Bra
4597         Brazero
4598         Bra
4599         CBra 1
4600         a
4601         CBra 2
4602         b
4603         Recurse
4604         c
4605         Ket
4606         Ket
4607         Brazero
4608         CBra 1
4609         a
4610         CBra 2
4611         b
4612         Recurse
4613         c
4614         Ket
4615         Ket
4616         Ket
4617         Ket
4618         End
4619 ------------------------------------------------------------------
4620 Capturing subpattern count = 2
4621 May match empty string
4622 No options
4623 No first char
4624 No need char
4625
4626 /[ab]{1}+/DZ
4627 ------------------------------------------------------------------
4628         Bra
4629         [ab]{1,1}+
4630         Ket
4631         End
4632 ------------------------------------------------------------------
4633 Capturing subpattern count = 0
4634 No options
4635 No first char
4636 No need char
4637
4638 /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii
4639 Capturing subpattern count = 3
4640 Options: caseless
4641 No first char
4642 Need char = 'g' (caseless)
4643      Baby Bjorn Active Carrier - With free SHIPPING!!
4644  0: Baby Bjorn Active Carrier - With free SHIPPING!!
4645  1: Baby Bjorn Active Carrier - With free SHIPPING!!
4646
4647 /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS
4648 Capturing subpattern count = 3
4649 Options: caseless
4650 No first char
4651 Need char = 'g' (caseless)
4652 Subject length lower bound = 8
4653 No starting char list
4654      Baby Bjorn Active Carrier - With free SHIPPING!!
4655  0: Baby Bjorn Active Carrier - With free SHIPPING!!
4656  1: Baby Bjorn Active Carrier - With free SHIPPING!!
4657
4658 /a*.*b/ISDZ
4659 ------------------------------------------------------------------
4660         Bra
4661         a*
4662         Any*
4663         b
4664         Ket
4665         End
4666 ------------------------------------------------------------------
4667 Capturing subpattern count = 0
4668 No options
4669 No first char
4670 Need char = 'b'
4671 Subject length lower bound = 1
4672 No starting char list
4673
4674 /(a|b)*.?c/ISDZ
4675 ------------------------------------------------------------------
4676         Bra
4677         Brazero
4678         CBra 1
4679         a
4680         Alt
4681         b
4682         KetRmax
4683         Any?
4684         c
4685         Ket
4686         End
4687 ------------------------------------------------------------------
4688 Capturing subpattern count = 1
4689 No options
4690 No first char
4691 Need char = 'c'
4692 Subject length lower bound = 1
4693 No starting char list
4694
4695 /abc(?C255)de(?C)f/DZ
4696 ------------------------------------------------------------------
4697         Bra
4698         abc
4699         Callout 255 10 1
4700         de
4701         Callout 0 16 1
4702         f
4703         Ket
4704         End
4705 ------------------------------------------------------------------
4706 Capturing subpattern count = 0
4707 No options
4708 First char = 'a'
4709 Need char = 'f'
4710
4711 /abcde/ICDZ
4712 ------------------------------------------------------------------
4713         Bra
4714         Callout 255 0 1
4715         a
4716         Callout 255 1 1
4717         b
4718         Callout 255 2 1
4719         c
4720         Callout 255 3 1
4721         d
4722         Callout 255 4 1
4723         e
4724         Callout 255 5 0
4725         Ket
4726         End
4727 ------------------------------------------------------------------
4728 Capturing subpattern count = 0
4729 Options:
4730 First char = 'a'
4731 Need char = 'e'
4732   abcde
4733 --->abcde
4734  +0 ^         a
4735  +1 ^^        b
4736  +2 ^ ^       c
4737  +3 ^  ^      d
4738  +4 ^   ^     e
4739  +5 ^    ^    
4740  0: abcde
4741   abcdfe
4742 --->abcdfe
4743  +0 ^          a
4744  +1 ^^         b
4745  +2 ^ ^        c
4746  +3 ^  ^       d
4747  +4 ^   ^      e
4748 No match
4749
4750 /a*b/ICDZS
4751 ------------------------------------------------------------------
4752         Bra
4753         Callout 255 0 2
4754         a*+
4755         Callout 255 2 1
4756         b
4757         Callout 255 3 0
4758         Ket
4759         End
4760 ------------------------------------------------------------------
4761 Capturing subpattern count = 0
4762 Options:
4763 No first char
4764 Need char = 'b'
4765 Subject length lower bound = 1
4766 Starting chars: a b 
4767   ab
4768 --->ab
4769  +0 ^      a*
4770  +2 ^^     b
4771  +3 ^ ^    
4772  0: ab
4773   aaaab
4774 --->aaaab
4775  +0 ^         a*
4776  +2 ^   ^     b
4777  +3 ^    ^    
4778  0: aaaab
4779   aaaacb
4780 --->aaaacb
4781  +0 ^          a*
4782  +2 ^   ^      b
4783  +0  ^         a*
4784  +2  ^  ^      b
4785  +0   ^        a*
4786  +2   ^ ^      b
4787  +0    ^       a*
4788  +2    ^^      b
4789  +0      ^     a*
4790  +2      ^     b
4791  +3      ^^    
4792  0: b
4793
4794 /a*b/ICDZSS
4795 ------------------------------------------------------------------
4796         Bra
4797         Callout 255 0 2
4798         a*+
4799         Callout 255 2 1
4800         b
4801         Callout 255 3 0
4802         Ket
4803         End
4804 ------------------------------------------------------------------
4805 Capturing subpattern count = 0
4806 Options:
4807 No first char
4808 Need char = 'b'
4809   ab
4810 --->ab
4811  +0 ^      a*
4812  +2 ^^     b
4813  +3 ^ ^    
4814  0: ab
4815   aaaab
4816 --->aaaab
4817  +0 ^         a*
4818  +2 ^   ^     b
4819  +3 ^    ^    
4820  0: aaaab
4821   aaaacb
4822 --->aaaacb
4823  +0 ^          a*
4824  +2 ^   ^      b
4825  +0  ^         a*
4826  +2  ^  ^      b
4827  +0   ^        a*
4828  +2   ^ ^      b
4829  +0    ^       a*
4830  +2    ^^      b
4831  +0     ^      a*
4832  +2     ^      b
4833  +0      ^     a*
4834  +2      ^     b
4835  +3      ^^    
4836  0: b
4837
4838 /a+b/ICDZ
4839 ------------------------------------------------------------------
4840         Bra
4841         Callout 255 0 2
4842         a++
4843         Callout 255 2 1
4844         b
4845         Callout 255 3 0
4846         Ket
4847         End
4848 ------------------------------------------------------------------
4849 Capturing subpattern count = 0
4850 Options:
4851 First char = 'a'
4852 Need char = 'b'
4853   ab
4854 --->ab
4855  +0 ^      a+
4856  +2 ^^     b
4857  +3 ^ ^    
4858  0: ab
4859   aaaab
4860 --->aaaab
4861  +0 ^         a+
4862  +2 ^   ^     b
4863  +3 ^    ^    
4864  0: aaaab
4865   aaaacb
4866 --->aaaacb
4867  +0 ^          a+
4868  +2 ^   ^      b
4869  +0  ^         a+
4870  +2  ^  ^      b
4871  +0   ^        a+
4872  +2   ^ ^      b
4873  +0    ^       a+
4874  +2    ^^      b
4875 No match
4876
4877 /(abc|def)x/ICDZS
4878 ------------------------------------------------------------------
4879         Bra
4880         Callout 255 0 9
4881         CBra 1
4882         Callout 255 1 1
4883         a
4884         Callout 255 2 1
4885         b
4886         Callout 255 3 1
4887         c
4888         Callout 255 4 0
4889         Alt
4890         Callout 255 5 1
4891         d
4892         Callout 255 6 1
4893         e
4894         Callout 255 7 1
4895         f
4896         Callout 255 8 0
4897         Ket
4898         Callout 255 9 1
4899         x
4900         Callout 255 10 0
4901         Ket
4902         End
4903 ------------------------------------------------------------------
4904 Capturing subpattern count = 1
4905 Options:
4906 No first char
4907 Need char = 'x'
4908 Subject length lower bound = 4
4909 Starting chars: a d 
4910   abcx
4911 --->abcx
4912  +0 ^        (abc|def)
4913  +1 ^        a
4914  +2 ^^       b
4915  +3 ^ ^      c
4916  +4 ^  ^     |
4917  +9 ^  ^     x
4918 +10 ^   ^    
4919  0: abcx
4920  1: abc
4921   defx
4922 --->defx
4923  +0 ^        (abc|def)
4924  +1 ^        a
4925  +5 ^        d
4926  +6 ^^       e
4927  +7 ^ ^      f
4928  +8 ^  ^     )
4929  +9 ^  ^     x
4930 +10 ^   ^    
4931  0: defx
4932  1: def
4933   ** Failers 
4934 No match
4935   abcdefzx
4936 --->abcdefzx
4937  +0 ^            (abc|def)
4938  +1 ^            a
4939  +2 ^^           b
4940  +3 ^ ^          c
4941  +4 ^  ^         |
4942  +9 ^  ^         x
4943  +5 ^            d
4944  +0    ^         (abc|def)
4945  +1    ^         a
4946  +5    ^         d
4947  +6    ^^        e
4948  +7    ^ ^       f
4949  +8    ^  ^      )
4950  +9    ^  ^      x
4951 No match
4952
4953 /(abc|def)x/ICDZSS
4954 ------------------------------------------------------------------
4955         Bra
4956         Callout 255 0 9
4957         CBra 1
4958         Callout 255 1 1
4959         a
4960         Callout 255 2 1
4961         b
4962         Callout 255 3 1
4963         c
4964         Callout 255 4 0
4965         Alt
4966         Callout 255 5 1
4967         d
4968         Callout 255 6 1
4969         e
4970         Callout 255 7 1
4971         f
4972         Callout 255 8 0
4973         Ket
4974         Callout 255 9 1
4975         x
4976         Callout 255 10 0
4977         Ket
4978         End
4979 ------------------------------------------------------------------
4980 Capturing subpattern count = 1
4981 Options:
4982 No first char
4983 Need char = 'x'
4984   abcx
4985 --->abcx
4986  +0 ^        (abc|def)
4987  +1 ^        a
4988  +2 ^^       b
4989  +3 ^ ^      c
4990  +4 ^  ^     |
4991  +9 ^  ^     x
4992 +10 ^   ^    
4993  0: abcx
4994  1: abc
4995   defx
4996 --->defx
4997  +0 ^        (abc|def)
4998  +1 ^        a
4999  +5 ^        d
5000  +6 ^^       e
5001  +7 ^ ^      f
5002  +8 ^  ^     )
5003  +9 ^  ^     x
5004 +10 ^   ^    
5005  0: defx
5006  1: def
5007   ** Failers 
5008 No match
5009   abcdefzx
5010 --->abcdefzx
5011  +0 ^            (abc|def)
5012  +1 ^            a
5013  +2 ^^           b
5014  +3 ^ ^          c
5015  +4 ^  ^         |
5016  +9 ^  ^         x
5017  +5 ^            d
5018  +0  ^           (abc|def)
5019  +1  ^           a
5020  +5  ^           d
5021  +0   ^          (abc|def)
5022  +1   ^          a
5023  +5   ^          d
5024  +0    ^         (abc|def)
5025  +1    ^         a
5026  +5    ^         d
5027  +6    ^^        e
5028  +7    ^ ^       f
5029  +8    ^  ^      )
5030  +9    ^  ^      x
5031  +0     ^        (abc|def)
5032  +1     ^        a
5033  +5     ^        d
5034  +0      ^       (abc|def)
5035  +1      ^       a
5036  +5      ^       d
5037  +0       ^      (abc|def)
5038  +1       ^      a
5039  +5       ^      d
5040  +0        ^     (abc|def)
5041  +1        ^     a
5042  +5        ^     d
5043 No match
5044
5045 /(ab|cd){3,4}/IC
5046 Capturing subpattern count = 1
5047 Options:
5048 No first char
5049 No need char
5050   ababab
5051 --->ababab
5052  +0 ^          (ab|cd){3,4}
5053  +1 ^          a
5054  +2 ^^         b
5055  +3 ^ ^        |
5056  +1 ^ ^        a
5057  +2 ^  ^       b
5058  +3 ^   ^      |
5059  +1 ^   ^      a
5060  +2 ^    ^     b
5061  +3 ^     ^    |
5062  +1 ^     ^    a
5063  +4 ^     ^    c
5064 +12 ^     ^    
5065  0: ababab
5066  1: ab
5067   abcdabcd
5068 --->abcdabcd
5069  +0 ^            (ab|cd){3,4}
5070  +1 ^            a
5071  +2 ^^           b
5072  +3 ^ ^          |
5073  +1 ^ ^          a
5074  +4 ^ ^          c
5075  +5 ^  ^         d
5076  +6 ^   ^        )
5077  +1 ^   ^        a
5078  +2 ^    ^       b
5079  +3 ^     ^      |
5080  +1 ^     ^      a
5081  +4 ^     ^      c
5082  +5 ^      ^     d
5083  +6 ^       ^    )
5084 +12 ^       ^    
5085  0: abcdabcd
5086  1: cd
5087   abcdcdcdcdcd
5088 --->abcdcdcdcdcd
5089  +0 ^                (ab|cd){3,4}
5090  +1 ^                a
5091  +2 ^^               b
5092  +3 ^ ^              |
5093  +1 ^ ^              a
5094  +4 ^ ^              c
5095  +5 ^  ^             d
5096  +6 ^   ^            )
5097  +1 ^   ^            a
5098  +4 ^   ^            c
5099  +5 ^    ^           d
5100  +6 ^     ^          )
5101  +1 ^     ^          a
5102  +4 ^     ^          c
5103  +5 ^      ^         d
5104  +6 ^       ^        )
5105 +12 ^       ^        
5106  0: abcdcdcd
5107  1: cd
5108
5109 /([ab]{,4}c|xy)/ICDZS
5110 ------------------------------------------------------------------
5111         Bra
5112         Callout 255 0 14
5113         CBra 1
5114         Callout 255 1 4
5115         [ab]
5116         Callout 255 5 1
5117         {
5118         Callout 255 6 1
5119         ,
5120         Callout 255 7 1
5121         4
5122         Callout 255 8 1
5123         }
5124         Callout 255 9 1
5125         c
5126         Callout 255 10 0
5127         Alt
5128         Callout 255 11 1
5129         x
5130         Callout 255 12 1
5131         y
5132         Callout 255 13 0
5133         Ket
5134         Callout 255 14 0
5135         Ket
5136         End
5137 ------------------------------------------------------------------
5138 Capturing subpattern count = 1
5139 Options:
5140 No first char
5141 No need char
5142 Subject length lower bound = 2
5143 Starting chars: a b x 
5144     Note: that { does NOT introduce a quantifier
5145 --->Note: that { does NOT introduce a quantifier
5146  +0         ^                                        ([ab]{,4}c|xy)
5147  +1         ^                                        [ab]
5148  +5         ^^                                       {
5149 +11         ^                                        x
5150  +0                                 ^                ([ab]{,4}c|xy)
5151  +1                                 ^                [ab]
5152  +5                                 ^^               {
5153 +11                                 ^                x
5154  +0                                     ^            ([ab]{,4}c|xy)
5155  +1                                     ^            [ab]
5156  +5                                     ^^           {
5157 +11                                     ^            x
5158 No match
5159
5160 /([ab]{,4}c|xy)/ICDZSS
5161 ------------------------------------------------------------------
5162         Bra
5163         Callout 255 0 14
5164         CBra 1
5165         Callout 255 1 4
5166         [ab]
5167         Callout 255 5 1
5168         {
5169         Callout 255 6 1
5170         ,
5171         Callout 255 7 1
5172         4
5173         Callout 255 8 1
5174         }
5175         Callout 255 9 1
5176         c
5177         Callout 255 10 0
5178         Alt
5179         Callout 255 11 1
5180         x
5181         Callout 255 12 1
5182         y
5183         Callout 255 13 0
5184         Ket
5185         Callout 255 14 0
5186         Ket
5187         End
5188 ------------------------------------------------------------------
5189 Capturing subpattern count = 1
5190 Options:
5191 No first char
5192 No need char
5193     Note: that { does NOT introduce a quantifier
5194 --->Note: that { does NOT introduce a quantifier
5195  +0 ^                                                ([ab]{,4}c|xy)
5196  +1 ^                                                [ab]
5197 +11 ^                                                x
5198  +0  ^                                               ([ab]{,4}c|xy)
5199  +1  ^                                               [ab]
5200 +11  ^                                               x
5201  +0   ^                                              ([ab]{,4}c|xy)
5202  +1   ^                                              [ab]
5203 +11   ^                                              x
5204  +0    ^                                             ([ab]{,4}c|xy)
5205  +1    ^                                             [ab]
5206 +11    ^                                             x
5207  +0     ^                                            ([ab]{,4}c|xy)
5208  +1     ^                                            [ab]
5209 +11     ^                                            x
5210  +0      ^                                           ([ab]{,4}c|xy)
5211  +1      ^                                           [ab]
5212 +11      ^                                           x
5213  +0       ^                                          ([ab]{,4}c|xy)
5214  +1       ^                                          [ab]
5215 +11       ^                                          x
5216  +0        ^                                         ([ab]{,4}c|xy)
5217  +1        ^                                         [ab]
5218 +11        ^                                         x
5219  +0         ^                                        ([ab]{,4}c|xy)
5220  +1         ^                                        [ab]
5221  +5         ^^                                       {
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 +11                      ^                           x
5262  +0                       ^                          ([ab]{,4}c|xy)
5263  +1                       ^                          [ab]
5264 +11                       ^                          x
5265  +0                        ^                         ([ab]{,4}c|xy)
5266  +1                        ^                         [ab]
5267 +11                        ^                         x
5268  +0                         ^                        ([ab]{,4}c|xy)
5269  +1                         ^                        [ab]
5270 +11                         ^                        x
5271  +0                          ^                       ([ab]{,4}c|xy)
5272  +1                          ^                       [ab]
5273 +11                          ^                       x
5274  +0                           ^                      ([ab]{,4}c|xy)
5275  +1                           ^                      [ab]
5276 +11                           ^                      x
5277  +0                            ^                     ([ab]{,4}c|xy)
5278  +1                            ^                     [ab]
5279 +11                            ^                     x
5280  +0                             ^                    ([ab]{,4}c|xy)
5281  +1                             ^                    [ab]
5282 +11                             ^                    x
5283  +0                              ^                   ([ab]{,4}c|xy)
5284  +1                              ^                   [ab]
5285 +11                              ^                   x
5286  +0                               ^                  ([ab]{,4}c|xy)
5287  +1                               ^                  [ab]
5288 +11                               ^                  x
5289  +0                                ^                 ([ab]{,4}c|xy)
5290  +1                                ^                 [ab]
5291 +11                                ^                 x
5292  +0                                 ^                ([ab]{,4}c|xy)
5293  +1                                 ^                [ab]
5294  +5                                 ^^               {
5295 +11                                 ^                x
5296  +0                                  ^               ([ab]{,4}c|xy)
5297  +1                                  ^               [ab]
5298 +11                                  ^               x
5299  +0                                   ^              ([ab]{,4}c|xy)
5300  +1                                   ^              [ab]
5301 +11                                   ^              x
5302  +0                                    ^             ([ab]{,4}c|xy)
5303  +1                                    ^             [ab]
5304 +11                                    ^             x
5305  +0                                     ^            ([ab]{,4}c|xy)
5306  +1                                     ^            [ab]
5307  +5                                     ^^           {
5308 +11                                     ^            x
5309  +0                                      ^           ([ab]{,4}c|xy)
5310  +1                                      ^           [ab]
5311 +11                                      ^           x
5312  +0                                       ^          ([ab]{,4}c|xy)
5313  +1                                       ^          [ab]
5314 +11                                       ^          x
5315  +0                                        ^         ([ab]{,4}c|xy)
5316  +1                                        ^         [ab]
5317 +11                                        ^         x
5318  +0                                         ^        ([ab]{,4}c|xy)
5319  +1                                         ^        [ab]
5320 +11                                         ^        x
5321  +0                                          ^       ([ab]{,4}c|xy)
5322  +1                                          ^       [ab]
5323 +11                                          ^       x
5324  +0                                           ^      ([ab]{,4}c|xy)
5325  +1                                           ^      [ab]
5326 +11                                           ^      x
5327  +0                                            ^     ([ab]{,4}c|xy)
5328  +1                                            ^     [ab]
5329 +11                                            ^     x
5330  +0                                             ^    ([ab]{,4}c|xy)
5331  +1                                             ^    [ab]
5332 +11                                             ^    x
5333 No match
5334
5335 /([ab]{1,4}c|xy){4,5}?123/ICDZ
5336 ------------------------------------------------------------------
5337         Bra
5338         Callout 255 0 21
5339         CBra 1
5340         Callout 255 1 9
5341         [ab]{1,4}+
5342         Callout 255 10 1
5343         c
5344         Callout 255 11 0
5345         Alt
5346         Callout 255 12 1
5347         x
5348         Callout 255 13 1
5349         y
5350         Callout 255 14 0
5351         Ket
5352         CBra 1
5353         Callout 255 1 9
5354         [ab]{1,4}+
5355         Callout 255 10 1
5356         c
5357         Callout 255 11 0
5358         Alt
5359         Callout 255 12 1
5360         x
5361         Callout 255 13 1
5362         y
5363         Callout 255 14 0
5364         Ket
5365         CBra 1
5366         Callout 255 1 9
5367         [ab]{1,4}+
5368         Callout 255 10 1
5369         c
5370         Callout 255 11 0
5371         Alt
5372         Callout 255 12 1
5373         x
5374         Callout 255 13 1
5375         y
5376         Callout 255 14 0
5377         Ket
5378         CBra 1
5379         Callout 255 1 9
5380         [ab]{1,4}+
5381         Callout 255 10 1
5382         c
5383         Callout 255 11 0
5384         Alt
5385         Callout 255 12 1
5386         x
5387         Callout 255 13 1
5388         y
5389         Callout 255 14 0
5390         Ket
5391         Braminzero
5392         CBra 1
5393         Callout 255 1 9
5394         [ab]{1,4}+
5395         Callout 255 10 1
5396         c
5397         Callout 255 11 0
5398         Alt
5399         Callout 255 12 1
5400         x
5401         Callout 255 13 1
5402         y
5403         Callout 255 14 0
5404         Ket
5405         Callout 255 21 1
5406         1
5407         Callout 255 22 1
5408         2
5409         Callout 255 23 1
5410         3
5411         Callout 255 24 0
5412         Ket
5413         End
5414 ------------------------------------------------------------------
5415 Capturing subpattern count = 1
5416 Options:
5417 No first char
5418 Need char = '3'
5419     aacaacaacaacaac123
5420 --->aacaacaacaacaac123
5421  +0 ^                      ([ab]{1,4}c|xy){4,5}?
5422  +1 ^                      [ab]{1,4}
5423 +10 ^ ^                    c
5424 +11 ^  ^                   |
5425  +1 ^  ^                   [ab]{1,4}
5426 +10 ^    ^                 c
5427 +11 ^     ^                |
5428  +1 ^     ^                [ab]{1,4}
5429 +10 ^       ^              c
5430 +11 ^        ^             |
5431  +1 ^        ^             [ab]{1,4}
5432 +10 ^          ^           c
5433 +11 ^           ^          |
5434 +21 ^           ^          1
5435  +1 ^           ^          [ab]{1,4}
5436 +10 ^             ^        c
5437 +11 ^              ^       |
5438 +21 ^              ^       1
5439 +22 ^               ^      2
5440 +23 ^                ^     3
5441 +24 ^                 ^    
5442  0: aacaacaacaacaac123
5443  1: aac
5444
5445 /\b.*/I
5446 Capturing subpattern count = 0
5447 Max lookbehind = 1
5448 May match empty string
5449 No options
5450 No first char
5451 No need char
5452   ab cd\>1
5453  0:  cd
5454
5455 /\b.*/Is
5456 Capturing subpattern count = 0
5457 Max lookbehind = 1
5458 May match empty string
5459 Options: dotall
5460 No first char
5461 No need char
5462   ab cd\>1
5463  0:  cd
5464
5465 /(?!.bcd).*/I
5466 Capturing subpattern count = 0
5467 May match empty string
5468 No options
5469 No first char
5470 No need char
5471   Xbcd12345
5472  0: bcd12345
5473
5474 /abcde/I
5475 Capturing subpattern count = 0
5476 No options
5477 First char = 'a'
5478 Need char = 'e'
5479     ab\P
5480 Partial match: ab
5481     abc\P
5482 Partial match: abc
5483     abcd\P
5484 Partial match: abcd
5485     abcde\P
5486  0: abcde
5487     the quick brown abc\P
5488 Partial match: abc
5489     ** Failers\P
5490 No match
5491     the quick brown abxyz fox\P
5492 No match
5493
5494 "^(0?[1-9]|[12][0-9]|3[01])/(0?[1-9]|1[012])/(20)?\d\d$"I
5495 Capturing subpattern count = 3
5496 Options: anchored
5497 No first char
5498 Need char = '/'
5499     13/05/04\P
5500  0: 13/05/04
5501  1: 13
5502  2: 05
5503     13/5/2004\P
5504  0: 13/5/2004
5505  1: 13
5506  2: 5
5507  3: 20
5508     02/05/09\P
5509  0: 02/05/09
5510  1: 02
5511  2: 05
5512     1\P
5513 Partial match: 1
5514     1/2\P
5515 Partial match: 1/2
5516     1/2/0\P
5517 Partial match: 1/2/0
5518     1/2/04\P
5519  0: 1/2/04
5520  1: 1
5521  2: 2
5522     0\P
5523 Partial match: 0
5524     02/\P
5525 Partial match: 02/
5526     02/0\P
5527 Partial match: 02/0
5528     02/1\P
5529 Partial match: 02/1
5530     ** Failers\P
5531 No match
5532     \P
5533 No match
5534     123\P
5535 No match
5536     33/4/04\P
5537 No match
5538     3/13/04\P
5539 No match
5540     0/1/2003\P
5541 No match
5542     0/\P
5543 No match
5544     02/0/\P
5545 No match
5546     02/13\P
5547 No match
5548
5549 /0{0,2}ABC/I
5550 Capturing subpattern count = 0
5551 No options
5552 No first char
5553 Need char = 'C'
5554
5555 /\d{3,}ABC/I
5556 Capturing subpattern count = 0
5557 No options
5558 No first char
5559 Need char = 'C'
5560
5561 /\d*ABC/I
5562 Capturing subpattern count = 0
5563 No options
5564 No first char
5565 Need char = 'C'
5566
5567 /[abc]+DE/I
5568 Capturing subpattern count = 0
5569 No options
5570 No first char
5571 Need char = 'E'
5572
5573 /[abc]?123/I
5574 Capturing subpattern count = 0
5575 No options
5576 No first char
5577 Need char = '3'
5578     123\P
5579  0: 123
5580     a\P
5581 Partial match: a
5582     b\P
5583 Partial match: b
5584     c\P
5585 Partial match: c
5586     c12\P
5587 Partial match: c12
5588     c123\P
5589  0: c123
5590
5591 /^(?:\d){3,5}X/I
5592 Capturing subpattern count = 0
5593 Options: anchored
5594 No first char
5595 Need char = 'X'
5596     1\P
5597 Partial match: 1
5598     123\P
5599 Partial match: 123
5600     123X
5601  0: 123X
5602     1234\P
5603 Partial match: 1234
5604     1234X
5605  0: 1234X
5606     12345\P
5607 Partial match: 12345
5608     12345X
5609  0: 12345X
5610     *** Failers
5611 No match
5612     1X
5613 No match
5614     123456\P
5615 No match
5616
5617 //KF>testsavedregex
5618 Compiled pattern written to testsavedregex
5619 Study data written to testsavedregex
5620
5621 /abc/IS>testsavedregex
5622 Capturing subpattern count = 0
5623 No options
5624 First char = 'a'
5625 Need char = 'c'
5626 Subject length lower bound = 3
5627 No starting char list
5628 Compiled pattern written to testsavedregex
5629 Study data written to testsavedregex
5630 <testsavedregex
5631 Compiled pattern loaded from testsavedregex
5632 Study data loaded from testsavedregex
5633     abc
5634  0: abc
5635     ** Failers
5636 No match
5637     bca
5638 No match
5639
5640 /abc/ISS>testsavedregex
5641 Capturing subpattern count = 0
5642 No options
5643 First char = 'a'
5644 Need char = 'c'
5645 Compiled pattern written to testsavedregex
5646 <testsavedregex
5647 Compiled pattern loaded from testsavedregex
5648 No study data
5649     abc
5650  0: abc
5651     ** Failers
5652 No match
5653     bca
5654 No match
5655
5656 /abc/IFS>testsavedregex
5657 Capturing subpattern count = 0
5658 No options
5659 First char = 'a'
5660 Need char = 'c'
5661 Subject length lower bound = 3
5662 No starting char list
5663 Compiled pattern written to testsavedregex
5664 Study data written to testsavedregex
5665 <testsavedregex
5666 Compiled pattern (byte-inverted) loaded from testsavedregex
5667 Study data loaded from testsavedregex
5668     abc
5669  0: abc
5670     ** Failers
5671 No match
5672     bca
5673 No match
5674
5675 /abc/IFSS>testsavedregex
5676 Capturing subpattern count = 0
5677 No options
5678 First char = 'a'
5679 Need char = 'c'
5680 Compiled pattern written to testsavedregex
5681 <testsavedregex
5682 Compiled pattern (byte-inverted) loaded from testsavedregex
5683 No study data
5684     abc
5685  0: abc
5686     ** Failers
5687 No match
5688     bca
5689 No match
5690
5691 /(a|b)/IS>testsavedregex
5692 Capturing subpattern count = 1
5693 No options
5694 No first char
5695 No need char
5696 Subject length lower bound = 1
5697 Starting chars: a b 
5698 Compiled pattern written to testsavedregex
5699 Study data written to testsavedregex
5700 <testsavedregex
5701 Compiled pattern loaded from testsavedregex
5702 Study data loaded from testsavedregex
5703     abc
5704  0: a
5705  1: a
5706     ** Failers
5707  0: a
5708  1: a
5709     def
5710 No match
5711
5712 /(a|b)/ISS>testsavedregex
5713 Capturing subpattern count = 1
5714 No options
5715 No first char
5716 No need char
5717 Compiled pattern written to testsavedregex
5718 <testsavedregex
5719 Compiled pattern loaded from testsavedregex
5720 No study data
5721     abc
5722  0: a
5723  1: a
5724     ** Failers
5725  0: a
5726  1: a
5727     def
5728 No match
5729
5730 /(a|b)/ISF>testsavedregex
5731 Capturing subpattern count = 1
5732 No options
5733 No first char
5734 No need char
5735 Subject length lower bound = 1
5736 Starting chars: a b 
5737 Compiled pattern written to testsavedregex
5738 Study data written to testsavedregex
5739 <testsavedregex
5740 Compiled pattern (byte-inverted) loaded from testsavedregex
5741 Study data loaded from testsavedregex
5742     abc
5743  0: a
5744  1: a
5745     ** Failers
5746  0: a
5747  1: a
5748     def
5749 No match
5750
5751 /(a|b)/ISSF>testsavedregex
5752 Capturing subpattern count = 1
5753 No options
5754 No first char
5755 No need char
5756 Compiled pattern written to testsavedregex
5757 <testsavedregex
5758 Compiled pattern (byte-inverted) loaded from testsavedregex
5759 No study data
5760     abc
5761  0: a
5762  1: a
5763     ** Failers
5764  0: a
5765  1: a
5766     def
5767 No match
5768
5769 ~<(\w+)/?>(.)*</(\1)>~smgI
5770 Capturing subpattern count = 3
5771 Max back reference = 1
5772 Options: multiline dotall
5773 First char = '<'
5774 Need char = '>'
5775     \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>
5776  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>
5777  1: seite
5778  2: \x0a
5779  3: seite
5780
5781 /^a/IF
5782 Capturing subpattern count = 0
5783 Options: anchored
5784 No first char
5785 No need char
5786
5787 /line\nbreak/I
5788 Capturing subpattern count = 0
5789 Contains explicit CR or LF match
5790 No options
5791 First char = 'l'
5792 Need char = 'k'
5793     this is a line\nbreak
5794  0: line\x0abreak
5795     line one\nthis is a line\nbreak in the second line
5796  0: line\x0abreak
5797
5798 /line\nbreak/If
5799 Capturing subpattern count = 0
5800 Contains explicit CR or LF match
5801 Options: firstline
5802 First char = 'l'
5803 Need char = 'k'
5804     this is a line\nbreak
5805  0: line\x0abreak
5806     ** Failers
5807 No match
5808     line one\nthis is a line\nbreak in the second line
5809 No match
5810
5811 /line\nbreak/Imf
5812 Capturing subpattern count = 0
5813 Contains explicit CR or LF match
5814 Options: multiline firstline
5815 First char = 'l'
5816 Need char = 'k'
5817     this is a line\nbreak
5818  0: line\x0abreak
5819     ** Failers
5820 No match
5821     line one\nthis is a line\nbreak in the second line
5822 No match
5823
5824 /(?i)(?-i)AbCd/I
5825 Capturing subpattern count = 0
5826 No options
5827 First char = 'A'
5828 Need char = 'd'
5829     AbCd
5830  0: AbCd
5831     ** Failers
5832 No match
5833     abcd
5834 No match
5835
5836 /a{11111111111111111111}/I
5837 Failed: number too big in {} quantifier at offset 8
5838
5839 /(){64294967295}/I
5840 Failed: number too big in {} quantifier at offset 9
5841
5842 /(){2,4294967295}/I
5843 Failed: number too big in {} quantifier at offset 11
5844
5845 "(?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
5846 Capturing subpattern count = 1
5847 Max back reference = 1
5848 No options
5849 First char = 'a' (caseless)
5850 Need char = 'B'
5851     abcdefghijklAkB
5852  0: abcdefghijklAkB
5853  1: k
5854
5855 "(?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
5856 Capturing subpattern count = 12
5857 Max back reference = 11
5858 Named capturing subpatterns:
5859   n0    1
5860   n1    2
5861   n10  11
5862   n11  12
5863   n2    3
5864   n3    4
5865   n4    5
5866   n5    6
5867   n6    7
5868   n7    8
5869   n8    9
5870   n9   10
5871 No options
5872 First char = 'a'
5873 Need char = 'B'
5874     abcdefghijklAkB
5875  0: abcdefghijklAkB
5876  1: a
5877  2: b
5878  3: c
5879  4: d
5880  5: e
5881  6: f
5882  7: g
5883  8: h
5884  9: i
5885 10: j
5886 11: k
5887 12: l
5888
5889 "(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)A\11B"I
5890 Capturing subpattern count = 12
5891 Max back reference = 11
5892 No options
5893 First char = 'a'
5894 Need char = 'B'
5895     abcdefghijklAkB
5896  0: abcdefghijklAkB
5897  1: a
5898  2: b
5899  3: c
5900  4: d
5901  5: e
5902  6: f
5903  7: g
5904  8: h
5905  9: i
5906 10: j
5907 11: k
5908 12: l
5909
5910 "(?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
5911 Capturing subpattern count = 101
5912 Named capturing subpatterns:
5913   name0     1
5914   name1     2
5915   name10   11
5916   name100 101
5917   name11   12
5918   name12   13
5919   name13   14
5920   name14   15
5921   name15   16
5922   name16   17
5923   name17   18
5924   name18   19
5925   name19   20
5926   name2     3
5927   name20   21
5928   name21   22
5929   name22   23
5930   name23   24
5931   name24   25
5932   name25   26
5933   name26   27
5934   name27   28
5935   name28   29
5936   name29   30
5937   name3     4
5938   name30   31
5939   name31   32
5940   name32   33
5941   name33   34
5942   name34   35
5943   name35   36
5944   name36   37
5945   name37   38
5946   name38   39
5947   name39   40
5948   name4     5
5949   name40   41
5950   name41   42
5951   name42   43
5952   name43   44
5953   name44   45
5954   name45   46
5955   name46   47
5956   name47   48
5957   name48   49
5958   name49   50
5959   name5     6
5960   name50   51
5961   name51   52
5962   name52   53
5963   name53   54
5964   name54   55
5965   name55   56
5966   name56   57
5967   name57   58
5968   name58   59
5969   name59   60
5970   name6     7
5971   name60   61
5972   name61   62
5973   name62   63
5974   name63   64
5975   name64   65
5976   name65   66
5977   name66   67
5978   name67   68
5979   name68   69
5980   name69   70
5981   name7     8
5982   name70   71
5983   name71   72
5984   name72   73
5985   name73   74
5986   name74   75
5987   name75   76
5988   name76   77
5989   name77   78
5990   name78   79
5991   name79   80
5992   name8     9
5993   name80   81
5994   name81   82
5995   name82   83
5996   name83   84
5997   name84   85
5998   name85   86
5999   name86   87
6000   name87   88
6001   name88   89
6002   name89   90
6003   name9    10
6004   name90   91
6005   name91   92
6006   name92   93
6007   name93   94
6008   name94   95
6009   name95   96
6010   name96   97
6011   name97   98
6012   name98   99
6013   name99  100
6014 No options
6015 First char = 'a'
6016 Need char = 'a'
6017     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
6018 Matched, but too many substrings
6019  0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
6020  1: a
6021  2: a
6022  3: a
6023  4: a
6024  5: a
6025  6: a
6026  7: a
6027  8: a
6028  9: a
6029 10: a
6030 11: a
6031 12: a
6032 13: a
6033 14: a
6034
6035 "(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
6036 Capturing subpattern count = 101
6037 No options
6038 First char = 'a'
6039 Need char = 'a'
6040     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
6041 Matched, but too many substrings
6042  0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
6043  1: a
6044  2: a
6045  3: a
6046  4: a
6047  5: a
6048  6: a
6049  7: a
6050  8: a
6051  9: a
6052 10: a
6053 11: a
6054 12: a
6055 13: a
6056 14: a
6057
6058 /[^()]*(?:\((?R)\)[^()]*)*/I
6059 Capturing subpattern count = 0
6060 May match empty string
6061 No options
6062 No first char
6063 No need char
6064     (this(and)that
6065  0: 
6066     (this(and)that)
6067  0: (this(and)that)
6068     (this(and)that)stuff
6069  0: (this(and)that)stuff
6070
6071 /[^()]*(?:\((?>(?R))\)[^()]*)*/I
6072 Capturing subpattern count = 0
6073 May match empty string
6074 No options
6075 No first char
6076 No need char
6077     (this(and)that
6078  0: 
6079     (this(and)that)
6080  0: (this(and)that)
6081
6082 /[^()]*(?:\((?R)\))*[^()]*/I
6083 Capturing subpattern count = 0
6084 May match empty string
6085 No options
6086 No first char
6087 No need char
6088     (this(and)that
6089  0: 
6090     (this(and)that)
6091  0: (this(and)that)
6092
6093 /(?:\((?R)\))*[^()]*/I
6094 Capturing subpattern count = 0
6095 May match empty string
6096 No options
6097 No first char
6098 No need char
6099     (this(and)that
6100  0: 
6101     (this(and)that)
6102  0: 
6103     ((this))
6104  0: ((this))
6105
6106 /(?:\((?R)\))|[^()]*/I
6107 Capturing subpattern count = 0
6108 May match empty string
6109 No options
6110 No first char
6111 No need char
6112     (this(and)that
6113  0: 
6114     (this(and)that)
6115  0: 
6116     (this)
6117  0: (this)
6118     ((this))
6119  0: ((this))
6120
6121 /\x{0000ff}/I
6122 Capturing subpattern count = 0
6123 No options
6124 First char = \xff
6125 No need char
6126
6127 /^((?P<A>a1)|(?P<A>a2)b)/I
6128 Failed: two named subpatterns have the same name at offset 17
6129
6130 /^((?P<A>a1)|(?P<A>a2)b)/IJ
6131 Capturing subpattern count = 3
6132 Named capturing subpatterns:
6133   A   2
6134   A   3
6135 Options: anchored dupnames
6136 No first char
6137 No need char
6138     a1b\CA
6139  0: a1
6140  1: a1
6141  2: a1
6142   C a1 (2) A
6143     a2b\CA
6144  0: a2b
6145  1: a2b
6146  2: <unset>
6147  3: a2
6148   C a2 (2) A
6149     ** Failers
6150 No match
6151     a1b\CZ\CA
6152 no parentheses with name "Z"
6153  0: a1
6154  1: a1
6155  2: a1
6156 copy substring Z failed -7
6157   C a1 (2) A
6158     
6159 /(?|(?<a>)(?<b>)(?<a>)|(?<a>)(?<b>)(?<a>))/IJ
6160 Capturing subpattern count = 3
6161 Named capturing subpatterns:
6162   a   1
6163   a   3
6164   b   2
6165 May match empty string
6166 Options: dupnames
6167 No first char
6168 No need char
6169
6170 /^(?P<A>a)(?P<A>b)/IJ
6171 Capturing subpattern count = 2
6172 Named capturing subpatterns:
6173   A   1
6174   A   2
6175 Options: anchored dupnames
6176 No first char
6177 No need char
6178     ab\CA
6179  0: ab
6180  1: a
6181  2: b
6182   C a (1) A
6183
6184 /^(?P<A>a)(?P<A>b)|cd/IJ
6185 Capturing subpattern count = 2
6186 Named capturing subpatterns:
6187   A   1
6188   A   2
6189 Options: dupnames
6190 No first char
6191 No need char
6192     ab\CA
6193  0: ab
6194  1: a
6195  2: b
6196   C a (1) A
6197     cd\CA
6198  0: cd
6199 copy substring A failed -7
6200
6201 /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ
6202 Capturing subpattern count = 4
6203 Named capturing subpatterns:
6204   A   1
6205   A   2
6206   A   3
6207   A   4
6208 Options: dupnames
6209 No first char
6210 No need char
6211     cdefgh\CA
6212  0: cdefgh
6213  1: <unset>
6214  2: <unset>
6215  3: ef
6216  4: gh
6217   C ef (2) A
6218
6219 /^((?P<A>a1)|(?P<A>a2)b)/IJ
6220 Capturing subpattern count = 3
6221 Named capturing subpatterns:
6222   A   2
6223   A   3
6224 Options: anchored dupnames
6225 No first char
6226 No need char
6227     a1b\GA
6228  0: a1
6229  1: a1
6230  2: a1
6231   G a1 (2) A
6232     a2b\GA
6233  0: a2b
6234  1: a2b
6235  2: <unset>
6236  3: a2
6237   G a2 (2) A
6238     ** Failers
6239 No match
6240     a1b\GZ\GA
6241 no parentheses with name "Z"
6242  0: a1
6243  1: a1
6244  2: a1
6245 get substring Z failed -7
6246   G a1 (2) A
6247
6248 /^(?P<A>a)(?P<A>b)/IJ
6249 Capturing subpattern count = 2
6250 Named capturing subpatterns:
6251   A   1
6252   A   2
6253 Options: anchored dupnames
6254 No first char
6255 No need char
6256     ab\GA
6257  0: ab
6258  1: a
6259  2: b
6260   G a (1) A
6261
6262 /^(?P<A>a)(?P<A>b)|cd/IJ
6263 Capturing subpattern count = 2
6264 Named capturing subpatterns:
6265   A   1
6266   A   2
6267 Options: dupnames
6268 No first char
6269 No need char
6270     ab\GA
6271  0: ab
6272  1: a
6273  2: b
6274   G a (1) A
6275     cd\GA
6276  0: cd
6277 get substring A failed -7
6278
6279 /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ
6280 Capturing subpattern count = 4
6281 Named capturing subpatterns:
6282   A   1
6283   A   2
6284   A   3
6285   A   4
6286 Options: dupnames
6287 No first char
6288 No need char
6289     cdefgh\GA
6290  0: cdefgh
6291  1: <unset>
6292  2: <unset>
6293  3: ef
6294  4: gh
6295   G ef (2) A
6296
6297 /(?J)^((?P<A>a1)|(?P<A>a2)b)/I
6298 Capturing subpattern count = 3
6299 Named capturing subpatterns:
6300   A   2
6301   A   3
6302 Options: anchored
6303 Duplicate name status changes
6304 No first char
6305 No need char
6306     a1b\CA
6307  0: a1
6308  1: a1
6309  2: a1
6310   C a1 (2) A
6311     a2b\CA
6312  0: a2b
6313  1: a2b
6314  2: <unset>
6315  3: a2
6316   C a2 (2) A
6317
6318 /^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<A>d)/I
6319 Failed: two named subpatterns have the same name at offset 37
6320
6321 / In this next test, J is not set at the outer level; consequently it isn't
6322 set in the pattern's options; consequently pcre_get_named_substring() produces
6323 a random value. /Ix
6324 Capturing subpattern count = 1
6325 Options: extended
6326 First char = 'I'
6327 Need char = 'e'
6328
6329 /^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<C>d)/I
6330 Capturing subpattern count = 4
6331 Named capturing subpatterns:
6332   A   1
6333   B   2
6334   B   3
6335   C   4
6336 Options: anchored
6337 Duplicate name status changes
6338 No first char
6339 No need char
6340     a bc d\CA\CB\CC
6341  0: a bc d
6342  1: a
6343  2: b
6344  3: c
6345  4: d
6346   C a (1) A
6347   C b (1) B
6348   C d (1) C
6349
6350 /^(?P<A>a)?(?(A)a|b)/I
6351 Capturing subpattern count = 1
6352 Max back reference = 1
6353 Named capturing subpatterns:
6354   A   1
6355 Options: anchored
6356 No first char
6357 No need char
6358     aabc
6359  0: aa
6360  1: a
6361     bc
6362  0: b
6363     ** Failers
6364 No match
6365     abc
6366 No match
6367
6368 /(?:(?(ZZ)a|b)(?P<ZZ>X))+/I
6369 Capturing subpattern count = 1
6370 Max back reference = 1
6371 Named capturing subpatterns:
6372   ZZ   1
6373 No options
6374 No first char
6375 Need char = 'X'
6376     bXaX
6377  0: bXaX
6378  1: X
6379
6380 /(?:(?(2y)a|b)(X))+/I
6381 Failed: malformed number or name after (?( at offset 7
6382
6383 /(?:(?(ZA)a|b)(?P<ZZ>X))+/I
6384 Failed: reference to non-existent subpattern at offset 9
6385
6386 /(?:(?(ZZ)a|b)(?(ZZ)a|b)(?P<ZZ>X))+/I
6387 Capturing subpattern count = 1
6388 Max back reference = 1
6389 Named capturing subpatterns:
6390   ZZ   1
6391 No options
6392 No first char
6393 Need char = 'X'
6394     bbXaaX
6395  0: bbXaaX
6396  1: X
6397
6398 /(?:(?(ZZ)a|\(b\))\\(?P<ZZ>X))+/I
6399 Capturing subpattern count = 1
6400 Max back reference = 1
6401 Named capturing subpatterns:
6402   ZZ   1
6403 No options
6404 No first char
6405 Need char = 'X'
6406     (b)\\Xa\\X
6407  0: (b)\Xa\X
6408  1: X
6409
6410 /(?P<ABC/I
6411 Failed: syntax error in subpattern name (missing terminator) at offset 7
6412
6413 /(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/I
6414 Capturing subpattern count = 1
6415 Max back reference = 1
6416 Named capturing subpatterns:
6417   A   1
6418 No options
6419 No first char
6420 No need char
6421     bXXaYYaY
6422  0: bXXaYYaY
6423  1: Y
6424     bXYaXXaX
6425  0: bX
6426  1: X
6427
6428 /()()()()()()()()()(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/I
6429 Capturing subpattern count = 10
6430 Max back reference = 10
6431 Named capturing subpatterns:
6432   A  10
6433 No options
6434 No first char
6435 No need char
6436     bXXaYYaY
6437  0: bXXaYYaY
6438  1: 
6439  2: 
6440  3: 
6441  4: 
6442  5: 
6443  6: 
6444  7: 
6445  8: 
6446  9: 
6447 10: Y
6448
6449 /\s*,\s*/IS
6450 Capturing subpattern count = 0
6451 No options
6452 No first char
6453 Need char = ','
6454 Subject length lower bound = 1
6455 Starting chars: \x09 \x0a \x0b \x0c \x0d \x20 , 
6456     \x0b,\x0b
6457  0: \x0b,\x0b
6458     \x0c,\x0d
6459  0: \x0c,\x0d
6460
6461 /^abc/Im
6462 Capturing subpattern count = 0
6463 Options: multiline
6464 First char at start or follows newline
6465 Need char = 'c'
6466     xyz\nabc
6467  0: abc
6468     xyz\nabc\<lf>
6469  0: abc
6470     xyz\r\nabc\<lf>
6471  0: abc
6472     xyz\rabc\<cr>
6473  0: abc
6474     xyz\r\nabc\<crlf>
6475  0: abc
6476     ** Failers
6477 No match
6478     xyz\nabc\<cr>
6479 No match
6480     xyz\r\nabc\<cr>
6481 No match
6482     xyz\nabc\<crlf>
6483 No match
6484     xyz\rabc\<crlf>
6485 No match
6486     xyz\rabc\<lf>
6487 No match
6488
6489 /abc$/Im<lf>
6490 Capturing subpattern count = 0
6491 Options: multiline
6492 Forced newline sequence: LF
6493 First char = 'a'
6494 Need char = 'c'
6495     xyzabc
6496  0: abc
6497     xyzabc\n
6498  0: abc
6499     xyzabc\npqr
6500  0: abc
6501     xyzabc\r\<cr>
6502  0: abc
6503     xyzabc\rpqr\<cr>
6504  0: abc
6505     xyzabc\r\n\<crlf>
6506  0: abc
6507     xyzabc\r\npqr\<crlf>
6508  0: abc
6509     ** Failers
6510 No match
6511     xyzabc\r
6512 No match
6513     xyzabc\rpqr
6514 No match
6515     xyzabc\r\n
6516 No match
6517     xyzabc\r\npqr
6518 No match
6519
6520 /^abc/Im<cr>
6521 Capturing subpattern count = 0
6522 Options: multiline
6523 Forced newline sequence: CR
6524 First char at start or follows newline
6525 Need char = 'c'
6526     xyz\rabcdef
6527  0: abc
6528     xyz\nabcdef\<lf>
6529  0: abc
6530     ** Failers
6531 No match
6532     xyz\nabcdef
6533 No match
6534
6535 /^abc/Im<lf>
6536 Capturing subpattern count = 0
6537 Options: multiline
6538 Forced newline sequence: LF
6539 First char at start or follows newline
6540 Need char = 'c'
6541     xyz\nabcdef
6542  0: abc
6543     xyz\rabcdef\<cr>
6544  0: abc
6545     ** Failers
6546 No match
6547     xyz\rabcdef
6548 No match
6549
6550 /^abc/Im<crlf>
6551 Capturing subpattern count = 0
6552 Options: multiline
6553 Forced newline sequence: CRLF
6554 First char at start or follows newline
6555 Need char = 'c'
6556     xyz\r\nabcdef
6557  0: abc
6558     xyz\rabcdef\<cr>
6559  0: abc
6560     ** Failers
6561 No match
6562     xyz\rabcdef
6563 No match
6564
6565 /^abc/Im<bad>
6566 Unknown modifier at: <bad>
6567
6568
6569 /abc/I
6570 Capturing subpattern count = 0
6571 No options
6572 First char = 'a'
6573 Need char = 'c'
6574     xyz\rabc\<bad>
6575 Unknown escape sequence at: <bad>
6576     abc
6577  0: abc
6578
6579 /.*/I<lf>
6580 Capturing subpattern count = 0
6581 May match empty string
6582 Options:
6583 Forced newline sequence: LF
6584 First char at start or follows newline
6585 No need char
6586     abc\ndef
6587  0: abc
6588     abc\rdef
6589  0: abc\x0ddef
6590     abc\r\ndef
6591  0: abc\x0d
6592     \<cr>abc\ndef
6593  0: abc\x0adef
6594     \<cr>abc\rdef
6595  0: abc
6596     \<cr>abc\r\ndef
6597  0: abc
6598     \<crlf>abc\ndef
6599  0: abc\x0adef
6600     \<crlf>abc\rdef
6601  0: abc\x0ddef
6602     \<crlf>abc\r\ndef
6603  0: abc
6604
6605 /\w+(.)(.)?def/Is
6606 Capturing subpattern count = 2
6607 Options: dotall
6608 No first char
6609 Need char = 'f'
6610     abc\ndef
6611  0: abc\x0adef
6612  1: \x0a
6613     abc\rdef
6614  0: abc\x0ddef
6615  1: \x0d
6616     abc\r\ndef
6617  0: abc\x0d\x0adef
6618  1: \x0d
6619  2: \x0a
6620
6621 +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I
6622 Capturing subpattern count = 1
6623 May match empty string
6624 No options
6625 No first char
6626 No need char
6627    /* this is a C style comment */\M
6628 Minimum match() limit = 120
6629 Minimum match() recursion limit = 6
6630  0: /* this is a C style comment */
6631  1: /* this is a C style comment */
6632
6633 /(?P<B>25[0-5]|2[0-4]\d|[01]?\d?\d)(?:\.(?P>B)){3}/I
6634 Capturing subpattern count = 1
6635 Named capturing subpatterns:
6636   B   1
6637 No options
6638 No first char
6639 Need char = '.'
6640
6641 /()()()()()()()()()()()()()()()()()()()()
6642  ()()()()()()()()()()()()()()()()()()()()
6643  ()()()()()()()()()()()()()()()()()()()()
6644  ()()()()()()()()()()()()()()()()()()()()
6645  ()()()()()()()()()()()()()()()()()()()()
6646  (.(.))/Ix
6647 Capturing subpattern count = 102
6648 Options: extended
6649 No first char
6650 No need char
6651     XY\O400
6652  0: XY
6653  1: 
6654  2: 
6655  3: 
6656  4: 
6657  5: 
6658  6: 
6659  7: 
6660  8: 
6661  9: 
6662 10: 
6663 11: 
6664 12: 
6665 13: 
6666 14: 
6667 15: 
6668 16: 
6669 17: 
6670 18: 
6671 19: 
6672 20: 
6673 21: 
6674 22: 
6675 23: 
6676 24: 
6677 25: 
6678 26: 
6679 27: 
6680 28: 
6681 29: 
6682 30: 
6683 31: 
6684 32: 
6685 33: 
6686 34: 
6687 35: 
6688 36: 
6689 37: 
6690 38: 
6691 39: 
6692 40: 
6693 41: 
6694 42: 
6695 43: 
6696 44: 
6697 45: 
6698 46: 
6699 47: 
6700 48: 
6701 49: 
6702 50: 
6703 51: 
6704 52: 
6705 53: 
6706 54: 
6707 55: 
6708 56: 
6709 57: 
6710 58: 
6711 59: 
6712 60: 
6713 61: 
6714 62: 
6715 63: 
6716 64: 
6717 65: 
6718 66: 
6719 67: 
6720 68: 
6721 69: 
6722 70: 
6723 71: 
6724 72: 
6725 73: 
6726 74: 
6727 75: 
6728 76: 
6729 77: 
6730 78: 
6731 79: 
6732 80: 
6733 81: 
6734 82: 
6735 83: 
6736 84: 
6737 85: 
6738 86: 
6739 87: 
6740 88: 
6741 89: 
6742 90: 
6743 91: 
6744 92: 
6745 93: 
6746 94: 
6747 95: 
6748 96: 
6749 97: 
6750 98: 
6751 99: 
6752 100: 
6753 101: XY
6754 102: Y
6755
6756 /(a*b|(?i:c*(?-i)d))/IS
6757 Capturing subpattern count = 1
6758 No options
6759 No first char
6760 No need char
6761 Subject length lower bound = 1
6762 Starting chars: C a b c d 
6763
6764 /()[ab]xyz/IS
6765 Capturing subpattern count = 1
6766 No options
6767 No first char
6768 Need char = 'z'
6769 Subject length lower bound = 4
6770 Starting chars: a b 
6771
6772 /(|)[ab]xyz/IS
6773 Capturing subpattern count = 1
6774 No options
6775 No first char
6776 Need char = 'z'
6777 Subject length lower bound = 4
6778 Starting chars: a b 
6779
6780 /(|c)[ab]xyz/IS
6781 Capturing subpattern count = 1
6782 No options
6783 No first char
6784 Need char = 'z'
6785 Subject length lower bound = 4
6786 Starting chars: a b c 
6787
6788 /(|c?)[ab]xyz/IS
6789 Capturing subpattern count = 1
6790 No options
6791 No first char
6792 Need char = 'z'
6793 Subject length lower bound = 4
6794 Starting chars: a b c 
6795
6796 /(d?|c?)[ab]xyz/IS
6797 Capturing subpattern count = 1
6798 No options
6799 No first char
6800 Need char = 'z'
6801 Subject length lower bound = 4
6802 Starting chars: a b c d 
6803
6804 /(d?|c)[ab]xyz/IS
6805 Capturing subpattern count = 1
6806 No options
6807 No first char
6808 Need char = 'z'
6809 Subject length lower bound = 4
6810 Starting chars: a b c d 
6811
6812 /^a*b\d/DZ
6813 ------------------------------------------------------------------
6814         Bra
6815         ^
6816         a*+
6817         b
6818         \d
6819         Ket
6820         End
6821 ------------------------------------------------------------------
6822 Capturing subpattern count = 0
6823 Options: anchored
6824 No first char
6825 Need char = 'b'
6826
6827 /^a*+b\d/DZ
6828 ------------------------------------------------------------------
6829         Bra
6830         ^
6831         a*+
6832         b
6833         \d
6834         Ket
6835         End
6836 ------------------------------------------------------------------
6837 Capturing subpattern count = 0
6838 Options: anchored
6839 No first char
6840 Need char = 'b'
6841
6842 /^a*?b\d/DZ
6843 ------------------------------------------------------------------
6844         Bra
6845         ^
6846         a*+
6847         b
6848         \d
6849         Ket
6850         End
6851 ------------------------------------------------------------------
6852 Capturing subpattern count = 0
6853 Options: anchored
6854 No first char
6855 Need char = 'b'
6856
6857 /^a+A\d/DZ
6858 ------------------------------------------------------------------
6859         Bra
6860         ^
6861         a++
6862         A
6863         \d
6864         Ket
6865         End
6866 ------------------------------------------------------------------
6867 Capturing subpattern count = 0
6868 Options: anchored
6869 No first char
6870 Need char = 'A'
6871     aaaA5
6872  0: aaaA5
6873     ** Failers
6874 No match
6875     aaaa5
6876 No match
6877
6878 /^a*A\d/IiDZ
6879 ------------------------------------------------------------------
6880         Bra
6881         ^
6882      /i a*
6883      /i A
6884         \d
6885         Ket
6886         End
6887 ------------------------------------------------------------------
6888 Capturing subpattern count = 0
6889 Options: anchored caseless
6890 No first char
6891 Need char = 'A' (caseless)
6892     aaaA5
6893  0: aaaA5
6894     aaaa5
6895  0: aaaa5
6896
6897 /(a*|b*)[cd]/IS
6898 Capturing subpattern count = 1
6899 No options
6900 No first char
6901 No need char
6902 Subject length lower bound = 1
6903 Starting chars: a b c d 
6904
6905 /(a+|b*)[cd]/IS
6906 Capturing subpattern count = 1
6907 No options
6908 No first char
6909 No need char
6910 Subject length lower bound = 1
6911 Starting chars: a b c d 
6912
6913 /(a*|b+)[cd]/IS
6914 Capturing subpattern count = 1
6915 No options
6916 No first char
6917 No need char
6918 Subject length lower bound = 1
6919 Starting chars: a b c d 
6920
6921 /(a+|b+)[cd]/IS
6922 Capturing subpattern count = 1
6923 No options
6924 No first char
6925 No need char
6926 Subject length lower bound = 2
6927 Starting chars: a b 
6928
6929 /((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
6930  ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
6931  (((
6932  a
6933  ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
6934  ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
6935  )))
6936 /Ix
6937 Capturing subpattern count = 203
6938 Options: extended
6939 First char = 'a'
6940 No need char
6941   large nest
6942 Matched, but too many substrings
6943  0: a
6944  1: a
6945  2: a
6946  3: a
6947  4: a
6948  5: a
6949  6: a
6950  7: a
6951  8: a
6952  9: a
6953 10: a
6954 11: a
6955 12: a
6956 13: a
6957 14: a
6958
6959 /a*\d/BZ
6960 ------------------------------------------------------------------
6961         Bra
6962         a*+
6963         \d
6964         Ket
6965         End
6966 ------------------------------------------------------------------
6967
6968 /a*\D/BZ
6969 ------------------------------------------------------------------
6970         Bra
6971         a*
6972         \D
6973         Ket
6974         End
6975 ------------------------------------------------------------------
6976
6977 /0*\d/BZ
6978 ------------------------------------------------------------------
6979         Bra
6980         0*
6981         \d
6982         Ket
6983         End
6984 ------------------------------------------------------------------
6985
6986 /0*\D/BZ
6987 ------------------------------------------------------------------
6988         Bra
6989         0*+
6990         \D
6991         Ket
6992         End
6993 ------------------------------------------------------------------
6994
6995 /a*\s/BZ
6996 ------------------------------------------------------------------
6997         Bra
6998         a*+
6999         \s
7000         Ket
7001         End
7002 ------------------------------------------------------------------
7003
7004 /a*\S/BZ
7005 ------------------------------------------------------------------
7006         Bra
7007         a*
7008         \S
7009         Ket
7010         End
7011 ------------------------------------------------------------------
7012
7013 / *\s/BZ
7014 ------------------------------------------------------------------
7015         Bra
7016          *
7017         \s
7018         Ket
7019         End
7020 ------------------------------------------------------------------
7021
7022 / *\S/BZ
7023 ------------------------------------------------------------------
7024         Bra
7025          *+
7026         \S
7027         Ket
7028         End
7029 ------------------------------------------------------------------
7030
7031 /a*\w/BZ
7032 ------------------------------------------------------------------
7033         Bra
7034         a*
7035         \w
7036         Ket
7037         End
7038 ------------------------------------------------------------------
7039
7040 /a*\W/BZ
7041 ------------------------------------------------------------------
7042         Bra
7043         a*+
7044         \W
7045         Ket
7046         End
7047 ------------------------------------------------------------------
7048
7049 /=*\w/BZ
7050 ------------------------------------------------------------------
7051         Bra
7052         =*+
7053         \w
7054         Ket
7055         End
7056 ------------------------------------------------------------------
7057
7058 /=*\W/BZ
7059 ------------------------------------------------------------------
7060         Bra
7061         =*
7062         \W
7063         Ket
7064         End
7065 ------------------------------------------------------------------
7066
7067 /\d*a/BZ
7068 ------------------------------------------------------------------
7069         Bra
7070         \d*+
7071         a
7072         Ket
7073         End
7074 ------------------------------------------------------------------
7075
7076 /\d*2/BZ
7077 ------------------------------------------------------------------
7078         Bra
7079         \d*
7080         2
7081         Ket
7082         End
7083 ------------------------------------------------------------------
7084
7085 /\d*\d/BZ
7086 ------------------------------------------------------------------
7087         Bra
7088         \d*
7089         \d
7090         Ket
7091         End
7092 ------------------------------------------------------------------
7093
7094 /\d*\D/BZ
7095 ------------------------------------------------------------------
7096         Bra
7097         \d*+
7098         \D
7099         Ket
7100         End
7101 ------------------------------------------------------------------
7102
7103 /\d*\s/BZ
7104 ------------------------------------------------------------------
7105         Bra
7106         \d*+
7107         \s
7108         Ket
7109         End
7110 ------------------------------------------------------------------
7111
7112 /\d*\S/BZ
7113 ------------------------------------------------------------------
7114         Bra
7115         \d*
7116         \S
7117         Ket
7118         End
7119 ------------------------------------------------------------------
7120
7121 /\d*\w/BZ
7122 ------------------------------------------------------------------
7123         Bra
7124         \d*
7125         \w
7126         Ket
7127         End
7128 ------------------------------------------------------------------
7129
7130 /\d*\W/BZ
7131 ------------------------------------------------------------------
7132         Bra
7133         \d*+
7134         \W
7135         Ket
7136         End
7137 ------------------------------------------------------------------
7138
7139 /\D*a/BZ
7140 ------------------------------------------------------------------
7141         Bra
7142         \D*
7143         a
7144         Ket
7145         End
7146 ------------------------------------------------------------------
7147
7148 /\D*2/BZ
7149 ------------------------------------------------------------------
7150         Bra
7151         \D*+
7152         2
7153         Ket
7154         End
7155 ------------------------------------------------------------------
7156
7157 /\D*\d/BZ
7158 ------------------------------------------------------------------
7159         Bra
7160         \D*+
7161         \d
7162         Ket
7163         End
7164 ------------------------------------------------------------------
7165
7166 /\D*\D/BZ
7167 ------------------------------------------------------------------
7168         Bra
7169         \D*
7170         \D
7171         Ket
7172         End
7173 ------------------------------------------------------------------
7174
7175 /\D*\s/BZ
7176 ------------------------------------------------------------------
7177         Bra
7178         \D*
7179         \s
7180         Ket
7181         End
7182 ------------------------------------------------------------------
7183
7184 /\D*\S/BZ
7185 ------------------------------------------------------------------
7186         Bra
7187         \D*
7188         \S
7189         Ket
7190         End
7191 ------------------------------------------------------------------
7192
7193 /\D*\w/BZ
7194 ------------------------------------------------------------------
7195         Bra
7196         \D*
7197         \w
7198         Ket
7199         End
7200 ------------------------------------------------------------------
7201
7202 /\D*\W/BZ
7203 ------------------------------------------------------------------
7204         Bra
7205         \D*
7206         \W
7207         Ket
7208         End
7209 ------------------------------------------------------------------
7210
7211 /\s*a/BZ
7212 ------------------------------------------------------------------
7213         Bra
7214         \s*+
7215         a
7216         Ket
7217         End
7218 ------------------------------------------------------------------
7219
7220 /\s*2/BZ
7221 ------------------------------------------------------------------
7222         Bra
7223         \s*+
7224         2
7225         Ket
7226         End
7227 ------------------------------------------------------------------
7228
7229 /\s*\d/BZ
7230 ------------------------------------------------------------------
7231         Bra
7232         \s*+
7233         \d
7234         Ket
7235         End
7236 ------------------------------------------------------------------
7237
7238 /\s*\D/BZ
7239 ------------------------------------------------------------------
7240         Bra
7241         \s*
7242         \D
7243         Ket
7244         End
7245 ------------------------------------------------------------------
7246
7247 /\s*\s/BZ
7248 ------------------------------------------------------------------
7249         Bra
7250         \s*
7251         \s
7252         Ket
7253         End
7254 ------------------------------------------------------------------
7255
7256 /\s*\S/BZ
7257 ------------------------------------------------------------------
7258         Bra
7259         \s*+
7260         \S
7261         Ket
7262         End
7263 ------------------------------------------------------------------
7264
7265 /\s*\w/BZ
7266 ------------------------------------------------------------------
7267         Bra
7268         \s*+
7269         \w
7270         Ket
7271         End
7272 ------------------------------------------------------------------
7273
7274 /\s*\W/BZ
7275 ------------------------------------------------------------------
7276         Bra
7277         \s*
7278         \W
7279         Ket
7280         End
7281 ------------------------------------------------------------------
7282
7283 /\S*a/BZ
7284 ------------------------------------------------------------------
7285         Bra
7286         \S*
7287         a
7288         Ket
7289         End
7290 ------------------------------------------------------------------
7291
7292 /\S*2/BZ
7293 ------------------------------------------------------------------
7294         Bra
7295         \S*
7296         2
7297         Ket
7298         End
7299 ------------------------------------------------------------------
7300
7301 /\S*\d/BZ
7302 ------------------------------------------------------------------
7303         Bra
7304         \S*
7305         \d
7306         Ket
7307         End
7308 ------------------------------------------------------------------
7309
7310 /\S*\D/BZ
7311 ------------------------------------------------------------------
7312         Bra
7313         \S*
7314         \D
7315         Ket
7316         End
7317 ------------------------------------------------------------------
7318
7319 /\S*\s/BZ
7320 ------------------------------------------------------------------
7321         Bra
7322         \S*+
7323         \s
7324         Ket
7325         End
7326 ------------------------------------------------------------------
7327
7328 /\S*\S/BZ
7329 ------------------------------------------------------------------
7330         Bra
7331         \S*
7332         \S
7333         Ket
7334         End
7335 ------------------------------------------------------------------
7336
7337 /\S*\w/BZ
7338 ------------------------------------------------------------------
7339         Bra
7340         \S*
7341         \w
7342         Ket
7343         End
7344 ------------------------------------------------------------------
7345
7346 /\S*\W/BZ
7347 ------------------------------------------------------------------
7348         Bra
7349         \S*
7350         \W
7351         Ket
7352         End
7353 ------------------------------------------------------------------
7354
7355 /\w*a/BZ
7356 ------------------------------------------------------------------
7357         Bra
7358         \w*
7359         a
7360         Ket
7361         End
7362 ------------------------------------------------------------------
7363
7364 /\w*2/BZ
7365 ------------------------------------------------------------------
7366         Bra
7367         \w*
7368         2
7369         Ket
7370         End
7371 ------------------------------------------------------------------
7372
7373 /\w*\d/BZ
7374 ------------------------------------------------------------------
7375         Bra
7376         \w*
7377         \d
7378         Ket
7379         End
7380 ------------------------------------------------------------------
7381
7382 /\w*\D/BZ
7383 ------------------------------------------------------------------
7384         Bra
7385         \w*
7386         \D
7387         Ket
7388         End
7389 ------------------------------------------------------------------
7390
7391 /\w*\s/BZ
7392 ------------------------------------------------------------------
7393         Bra
7394         \w*+
7395         \s
7396         Ket
7397         End
7398 ------------------------------------------------------------------
7399
7400 /\w*\S/BZ
7401 ------------------------------------------------------------------
7402         Bra
7403         \w*
7404         \S
7405         Ket
7406         End
7407 ------------------------------------------------------------------
7408
7409 /\w*\w/BZ
7410 ------------------------------------------------------------------
7411         Bra
7412         \w*
7413         \w
7414         Ket
7415         End
7416 ------------------------------------------------------------------
7417
7418 /\w*\W/BZ
7419 ------------------------------------------------------------------
7420         Bra
7421         \w*+
7422         \W
7423         Ket
7424         End
7425 ------------------------------------------------------------------
7426
7427 /\W*a/BZ
7428 ------------------------------------------------------------------
7429         Bra
7430         \W*+
7431         a
7432         Ket
7433         End
7434 ------------------------------------------------------------------
7435
7436 /\W*2/BZ
7437 ------------------------------------------------------------------
7438         Bra
7439         \W*+
7440         2
7441         Ket
7442         End
7443 ------------------------------------------------------------------
7444
7445 /\W*\d/BZ
7446 ------------------------------------------------------------------
7447         Bra
7448         \W*+
7449         \d
7450         Ket
7451         End
7452 ------------------------------------------------------------------
7453
7454 /\W*\D/BZ
7455 ------------------------------------------------------------------
7456         Bra
7457         \W*
7458         \D
7459         Ket
7460         End
7461 ------------------------------------------------------------------
7462
7463 /\W*\s/BZ
7464 ------------------------------------------------------------------
7465         Bra
7466         \W*
7467         \s
7468         Ket
7469         End
7470 ------------------------------------------------------------------
7471
7472 /\W*\S/BZ
7473 ------------------------------------------------------------------
7474         Bra
7475         \W*
7476         \S
7477         Ket
7478         End
7479 ------------------------------------------------------------------
7480
7481 /\W*\w/BZ
7482 ------------------------------------------------------------------
7483         Bra
7484         \W*+
7485         \w
7486         Ket
7487         End
7488 ------------------------------------------------------------------
7489
7490 /\W*\W/BZ
7491 ------------------------------------------------------------------
7492         Bra
7493         \W*
7494         \W
7495         Ket
7496         End
7497 ------------------------------------------------------------------
7498
7499 /[^a]+a/BZ
7500 ------------------------------------------------------------------
7501         Bra
7502         [^a]++
7503         a
7504         Ket
7505         End
7506 ------------------------------------------------------------------
7507
7508 /[^a]+a/BZi
7509 ------------------------------------------------------------------
7510         Bra
7511      /i [^a]++
7512      /i a
7513         Ket
7514         End
7515 ------------------------------------------------------------------
7516
7517 /[^a]+A/BZi
7518 ------------------------------------------------------------------
7519         Bra
7520      /i [^a]++
7521      /i A
7522         Ket
7523         End
7524 ------------------------------------------------------------------
7525
7526 /[^a]+b/BZ
7527 ------------------------------------------------------------------
7528         Bra
7529         [^a]+
7530         b
7531         Ket
7532         End
7533 ------------------------------------------------------------------
7534
7535 /[^a]+\d/BZ
7536 ------------------------------------------------------------------
7537         Bra
7538         [^a]+
7539         \d
7540         Ket
7541         End
7542 ------------------------------------------------------------------
7543
7544 /a*[^a]/BZ
7545 ------------------------------------------------------------------
7546         Bra
7547         a*+
7548         [^a]
7549         Ket
7550         End
7551 ------------------------------------------------------------------
7552
7553 /(?P<abc>x)(?P<xyz>y)/I
7554 Capturing subpattern count = 2
7555 Named capturing subpatterns:
7556   abc   1
7557   xyz   2
7558 No options
7559 First char = 'x'
7560 Need char = 'y'
7561     xy\Cabc\Cxyz
7562  0: xy
7563  1: x
7564  2: y
7565   C x (1) abc
7566   C y (1) xyz
7567
7568 /(?<abc>x)(?'xyz'y)/I
7569 Capturing subpattern count = 2
7570 Named capturing subpatterns:
7571   abc   1
7572   xyz   2
7573 No options
7574 First char = 'x'
7575 Need char = 'y'
7576     xy\Cabc\Cxyz
7577  0: xy
7578  1: x
7579  2: y
7580   C x (1) abc
7581   C y (1) xyz
7582
7583 /(?<abc'x)(?'xyz'y)/I
7584 Failed: syntax error in subpattern name (missing terminator) at offset 6
7585
7586 /(?<abc>x)(?'xyz>y)/I
7587 Failed: syntax error in subpattern name (missing terminator) at offset 15
7588
7589 /(?P'abc'x)(?P<xyz>y)/I
7590 Failed: unrecognized character after (?P at offset 3
7591
7592 /^(?:(?(ZZ)a|b)(?<ZZ>X))+/
7593     bXaX
7594  0: bXaX
7595  1: X
7596     bXbX
7597  0: bX
7598  1: X
7599     ** Failers
7600 No match
7601     aXaX
7602 No match
7603     aXbX
7604 No match
7605
7606 /^(?P>abc)(?<abcd>xxx)/
7607 Failed: reference to non-existent subpattern at offset 8
7608
7609 /^(?P>abc)(?<abc>x|y)/
7610     xx
7611  0: xx
7612  1: x
7613     xy
7614  0: xy
7615  1: y
7616     yy
7617  0: yy
7618  1: y
7619     yx
7620  0: yx
7621  1: x
7622
7623 /^(?P>abc)(?P<abc>x|y)/
7624     xx
7625  0: xx
7626  1: x
7627     xy
7628  0: xy
7629  1: y
7630     yy
7631  0: yy
7632  1: y
7633     yx
7634  0: yx
7635  1: x
7636
7637 /^((?(abc)a|b)(?<abc>x|y))+/
7638     bxay
7639  0: bxay
7640  1: ay
7641  2: y
7642     bxby
7643  0: bx
7644  1: bx
7645  2: x
7646     ** Failers
7647 No match
7648     axby
7649 No match
7650
7651 /^(((?P=abc)|X)(?<abc>x|y))+/
7652     XxXxxx
7653  0: XxXxxx
7654  1: xx
7655  2: x
7656  3: x
7657     XxXyyx
7658  0: XxXyyx
7659  1: yx
7660  2: y
7661  3: x
7662     XxXyxx
7663  0: XxXy
7664  1: Xy
7665  2: X
7666  3: y
7667     ** Failers
7668 No match
7669     x
7670 No match
7671
7672 /^(?1)(abc)/
7673     abcabc
7674  0: abcabc
7675  1: abc
7676
7677 /^(?:(?:\1|X)(a|b))+/
7678     Xaaa
7679  0: Xaaa
7680  1: a
7681     Xaba
7682  0: Xa
7683  1: a
7684
7685 /^[\E\Qa\E-\Qz\E]+/BZ
7686 ------------------------------------------------------------------
7687         Bra
7688         ^
7689         [a-z]++
7690         Ket
7691         End
7692 ------------------------------------------------------------------
7693
7694 /^[a\Q]bc\E]/BZ
7695 ------------------------------------------------------------------
7696         Bra
7697         ^
7698         [\]a-c]
7699         Ket
7700         End
7701 ------------------------------------------------------------------
7702
7703 /^[a-\Q\E]/BZ
7704 ------------------------------------------------------------------
7705         Bra
7706         ^
7707         [\-a]
7708         Ket
7709         End
7710 ------------------------------------------------------------------
7711
7712 /^(?P>abc)[()](?<abc>)/BZ
7713 ------------------------------------------------------------------
7714         Bra
7715         ^
7716         Recurse
7717         [()]
7718         CBra 1
7719         Ket
7720         Ket
7721         End
7722 ------------------------------------------------------------------
7723
7724 /^((?(abc)y)[()](?P<abc>x))+/BZ
7725 ------------------------------------------------------------------
7726         Bra
7727         ^
7728         CBra 1
7729         Cond
7730       2 Cond ref
7731         y
7732         Ket
7733         [()]
7734         CBra 2
7735         x
7736         Ket
7737         KetRmax
7738         Ket
7739         End
7740 ------------------------------------------------------------------
7741     (xy)x
7742  0: (xy)x
7743  1: y)x
7744  2: x
7745
7746 /^(?P>abc)\Q()\E(?<abc>)/BZ
7747 ------------------------------------------------------------------
7748         Bra
7749         ^
7750         Recurse
7751         ()
7752         CBra 1
7753         Ket
7754         Ket
7755         End
7756 ------------------------------------------------------------------
7757
7758 /^(?P>abc)[a\Q(]\E(](?<abc>)/BZ
7759 ------------------------------------------------------------------
7760         Bra
7761         ^
7762         Recurse
7763         [(\]a]
7764         CBra 1
7765         Ket
7766         Ket
7767         End
7768 ------------------------------------------------------------------
7769
7770 /^(?P>abc) # this is (a comment)
7771   (?<abc>)/BZx
7772 ------------------------------------------------------------------
7773         Bra
7774         ^
7775         Recurse
7776         CBra 1
7777         Ket
7778         Ket
7779         End
7780 ------------------------------------------------------------------
7781
7782 /^\W*(?:(?<one>(?<two>.)\W*(?&one)\W*\k<two>|)|(?<three>(?<four>.)\W*(?&three)\W*\k'four'|\W*.\W*))\W*$/Ii
7783 Capturing subpattern count = 4
7784 Max back reference = 4
7785 Named capturing subpatterns:
7786   four    4
7787   one     1
7788   three   3
7789   two     2
7790 May match empty string
7791 Options: anchored caseless
7792 No first char
7793 No need char
7794     1221
7795  0: 1221
7796  1: 1221
7797  2: 1
7798     Satan, oscillate my metallic sonatas!
7799  0: Satan, oscillate my metallic sonatas!
7800  1: <unset>
7801  2: <unset>
7802  3: Satan, oscillate my metallic sonatas
7803  4: S
7804     A man, a plan, a canal: Panama!
7805  0: A man, a plan, a canal: Panama!
7806  1: <unset>
7807  2: <unset>
7808  3: A man, a plan, a canal: Panama
7809  4: A
7810     Able was I ere I saw Elba.
7811  0: Able was I ere I saw Elba.
7812  1: <unset>
7813  2: <unset>
7814  3: Able was I ere I saw Elba
7815  4: A
7816     *** Failers
7817 No match
7818     The quick brown fox
7819 No match
7820
7821 /(?=(\w+))\1:/I
7822 Capturing subpattern count = 1
7823 Max back reference = 1
7824 No options
7825 No first char
7826 Need char = ':'
7827     abcd:
7828  0: abcd:
7829  1: abcd
7830
7831 /(?=(?'abc'\w+))\k<abc>:/I
7832 Capturing subpattern count = 1
7833 Max back reference = 1
7834 Named capturing subpatterns:
7835   abc   1
7836 No options
7837 No first char
7838 Need char = ':'
7839     abcd:
7840  0: abcd:
7841  1: abcd
7842
7843 /(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J
7844     adaa
7845  0: adaa
7846  1: a
7847  2: d
7848     ** Failers
7849 No match
7850     addd
7851 No match
7852     adbb
7853 No match
7854
7855 /(?'abc'a|b)(?<abc>d|e)(?&abc){2}/J
7856     bdaa
7857  0: bdaa
7858  1: b
7859  2: d
7860     bdab
7861  0: bdab
7862  1: b
7863  2: d
7864     ** Failers
7865 No match
7866     bddd
7867 No match
7868
7869 /(?(<bc))/
7870 Failed: malformed number or name after (?( at offset 6
7871
7872 /(?(''))/
7873 Failed: assertion expected after (?( or (?(?C) at offset 4
7874
7875 /(?('R')stuff)/
7876 Failed: reference to non-existent subpattern at offset 7
7877
7878 /((abc (?(R) (?(R1)1) (?(R2)2) X  |  (?1)  (?2)   (?R) ))) /x
7879     abcabc1Xabc2XabcXabcabc
7880  0: abcabc1Xabc2XabcX
7881  1: abcabc1Xabc2XabcX
7882  2: abcabc1Xabc2XabcX
7883
7884 /(?<A> (?'B' abc (?(R) (?(R&A)1) (?(R&B)2) X  |  (?1)  (?2)   (?R) ))) /x
7885     abcabc1Xabc2XabcXabcabc
7886  0: abcabc1Xabc2XabcX
7887  1: abcabc1Xabc2XabcX
7888  2: abcabc1Xabc2XabcX
7889
7890 /(?<A> (?'B' abc (?(R) (?(R&C)1) (?(R&B)2) X  |  (?1)  (?2)   (?R) ))) /x
7891 Failed: reference to non-existent subpattern at offset 29
7892
7893 /^(?(DEFINE) abc | xyz ) /x
7894 Failed: DEFINE group contains more than one branch at offset 22
7895
7896 /(?(DEFINE) abc) xyz/xI
7897 Capturing subpattern count = 0
7898 Options: extended
7899 First char = 'x'
7900 Need char = 'z'
7901
7902 /(a|)*\d/
7903   \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
7904 No match
7905   \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
7906 Matched, but too many substrings
7907
7908 /^a.b/<lf>
7909     a\rb
7910  0: a\x0db
7911     a\nb\<cr>
7912  0: a\x0ab
7913     a\x85b\<anycrlf> 
7914  0: a\x85b
7915     ** Failers
7916 No match
7917     a\nb
7918 No match
7919     a\nb\<any>
7920 No match
7921     a\rb\<cr>
7922 No match
7923     a\rb\<any>
7924 No match
7925     a\x85b\<any> 
7926 No match
7927     a\rb\<anycrlf>
7928 No match
7929
7930 /^abc./mgx<any>
7931     abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x85abc7 JUNK
7932  0: abc1
7933  0: abc2
7934  0: abc3
7935  0: abc4
7936  0: abc5
7937  0: abc6
7938  0: abc7
7939
7940 /abc.$/mgx<any>
7941     abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc7 abc9
7942  0: abc1
7943  0: abc2
7944  0: abc3
7945  0: abc4
7946  0: abc5
7947  0: abc6
7948  0: abc9
7949
7950 /a/<cr><any>
7951
7952 /a/<any><crlf>
7953 Failed: inconsistent NEWLINE options at offset 0
7954
7955 /^a\Rb/<bsr_unicode>
7956     a\nb
7957  0: a\x0ab
7958     a\rb
7959  0: a\x0db
7960     a\r\nb
7961  0: a\x0d\x0ab
7962     a\x0bb
7963  0: a\x0bb
7964     a\x0cb
7965  0: a\x0cb
7966     a\x85b
7967  0: a\x85b
7968     ** Failers
7969 No match
7970     a\n\rb
7971 No match
7972
7973 /^a\R*b/<bsr_unicode>
7974     ab
7975  0: ab
7976     a\nb
7977  0: a\x0ab
7978     a\rb
7979  0: a\x0db
7980     a\r\nb
7981  0: a\x0d\x0ab
7982     a\x0bb
7983  0: a\x0bb
7984     a\x0cb
7985  0: a\x0cb
7986     a\x85b
7987  0: a\x85b
7988     a\n\rb
7989  0: a\x0a\x0db
7990     a\n\r\x85\x0cb
7991  0: a\x0a\x0d\x85\x0cb
7992
7993 /^a\R+b/<bsr_unicode>
7994     a\nb
7995  0: a\x0ab
7996     a\rb
7997  0: a\x0db
7998     a\r\nb
7999  0: a\x0d\x0ab
8000     a\x0bb
8001  0: a\x0bb
8002     a\x0cb
8003  0: a\x0cb
8004     a\x85b
8005  0: a\x85b
8006     a\n\rb
8007  0: a\x0a\x0db
8008     a\n\r\x85\x0cb
8009  0: a\x0a\x0d\x85\x0cb
8010     ** Failers
8011 No match
8012     ab
8013 No match
8014
8015 /^a\R{1,3}b/<bsr_unicode>
8016     a\nb
8017  0: a\x0ab
8018     a\n\rb
8019  0: a\x0a\x0db
8020     a\n\r\x85b
8021  0: a\x0a\x0d\x85b
8022     a\r\n\r\nb
8023  0: a\x0d\x0a\x0d\x0ab
8024     a\r\n\r\n\r\nb
8025  0: a\x0d\x0a\x0d\x0a\x0d\x0ab
8026     a\n\r\n\rb
8027  0: a\x0a\x0d\x0a\x0db
8028     a\n\n\r\nb
8029  0: a\x0a\x0a\x0d\x0ab
8030     ** Failers
8031 No match
8032     a\n\n\n\rb
8033 No match
8034     a\r
8035 No match
8036
8037 /^a[\R]b/<bsr_unicode>
8038     aRb
8039  0: aRb
8040     ** Failers
8041 No match
8042     a\nb
8043 No match
8044
8045 /(?&abc)X(?<abc>P)/I
8046 Capturing subpattern count = 1
8047 Named capturing subpatterns:
8048   abc   1
8049 No options
8050 No first char
8051 Need char = 'P'
8052     abcPXP123
8053  0: PXP
8054  1: P
8055
8056 /(?1)X(?<abc>P)/I
8057 Capturing subpattern count = 1
8058 Named capturing subpatterns:
8059   abc   1
8060 No options
8061 No first char
8062 Need char = 'P'
8063     abcPXP123
8064  0: PXP
8065  1: P
8066
8067 /(?:a(?&abc)b)*(?<abc>x)/
8068     123axbaxbaxbx456
8069  0: axbaxbaxbx
8070  1: x
8071     123axbaxbaxb456
8072  0: x
8073  1: x
8074
8075 /(?:a(?&abc)b){1,5}(?<abc>x)/
8076     123axbaxbaxbx456
8077  0: axbaxbaxbx
8078  1: x
8079
8080 /(?:a(?&abc)b){2,5}(?<abc>x)/
8081     123axbaxbaxbx456
8082  0: axbaxbaxbx
8083  1: x
8084
8085 /(?:a(?&abc)b){2,}(?<abc>x)/
8086     123axbaxbaxbx456
8087  0: axbaxbaxbx
8088  1: x
8089
8090 /(abc)(?i:(?1))/
8091    defabcabcxyz
8092  0: abcabc
8093  1: abc
8094    DEFabcABCXYZ
8095 No match
8096
8097 /(abc)(?:(?i)(?1))/
8098    defabcabcxyz
8099  0: abcabc
8100  1: abc
8101    DEFabcABCXYZ
8102 No match
8103
8104 /^(a)\g-2/
8105 Failed: reference to non-existent subpattern at offset 7
8106
8107 /^(a)\g/
8108 Failed: a numbered reference must not be zero at offset 5
8109
8110 /^(a)\g{0}/
8111 Failed: a numbered reference must not be zero at offset 8
8112
8113 /^(a)\g{3/
8114 Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 8
8115
8116 /^(a)\g{aa}/
8117 Failed: reference to non-existent subpattern at offset 9
8118
8119 /^a.b/<lf>
8120     a\rb
8121  0: a\x0db
8122     *** Failers
8123 No match
8124     a\nb
8125 No match
8126
8127 /.+foo/
8128     afoo
8129  0: afoo
8130     ** Failers
8131 No match
8132     \r\nfoo
8133 No match
8134     \nfoo
8135 No match
8136
8137 /.+foo/<crlf>
8138     afoo
8139  0: afoo
8140     \nfoo
8141  0: \x0afoo
8142     ** Failers
8143 No match
8144     \r\nfoo
8145 No match
8146
8147 /.+foo/<any>
8148     afoo
8149  0: afoo
8150     ** Failers
8151 No match
8152     \nfoo
8153 No match
8154     \r\nfoo
8155 No match
8156
8157 /.+foo/s
8158     afoo
8159  0: afoo
8160     \r\nfoo
8161  0: \x0d\x0afoo
8162     \nfoo
8163  0: \x0afoo
8164     
8165 /^$/mg<any>
8166     abc\r\rxyz
8167  0: 
8168     abc\n\rxyz  
8169  0: 
8170     ** Failers 
8171 No match
8172     abc\r\nxyz
8173 No match
8174
8175 /(?m)^$/<any>g+
8176     abc\r\n\r\n
8177  0: 
8178  0+ \x0d\x0a
8179
8180 /(?m)^$|^\r\n/<any>g+ 
8181     abc\r\n\r\n
8182  0: 
8183  0+ \x0d\x0a
8184  0: \x0d\x0a
8185  0+ 
8186     
8187 /(?m)$/<any>g+ 
8188     abc\r\n\r\n
8189  0: 
8190  0+ \x0d\x0a\x0d\x0a
8191  0: 
8192  0+ \x0d\x0a
8193  0: 
8194  0+ 
8195
8196 /abc.$/mgx<anycrlf>
8197     abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc9
8198  0: abc1
8199  0: abc4
8200  0: abc5
8201  0: abc9
8202
8203 /^X/m
8204     XABC
8205  0: X
8206     ** Failers 
8207 No match
8208     XABC\B
8209 No match
8210
8211 /(ab|c)(?-1)/BZ
8212 ------------------------------------------------------------------
8213         Bra
8214         CBra 1
8215         ab
8216         Alt
8217         c
8218         Ket
8219         Recurse
8220         Ket
8221         End
8222 ------------------------------------------------------------------
8223     abc
8224  0: abc
8225  1: ab
8226
8227 /xy(?+1)(abc)/BZ
8228 ------------------------------------------------------------------
8229         Bra
8230         xy
8231         Recurse
8232         CBra 1
8233         abc
8234         Ket
8235         Ket
8236         End
8237 ------------------------------------------------------------------
8238     xyabcabc
8239  0: xyabcabc
8240  1: abc
8241     ** Failers
8242 No match
8243     xyabc  
8244 No match
8245     
8246 /x(?-0)y/
8247 Failed: a numbered reference must not be zero at offset 5
8248
8249 /x(?-1)y/
8250 Failed: reference to non-existent subpattern at offset 5
8251
8252 /x(?+0)y/ 
8253 Failed: a numbered reference must not be zero at offset 5
8254
8255 /x(?+1)y/
8256 Failed: reference to non-existent subpattern at offset 5
8257
8258 /^(abc)?(?(-1)X|Y)/BZ
8259 ------------------------------------------------------------------
8260         Bra
8261         ^
8262         Brazero
8263         CBra 1
8264         abc
8265         Ket
8266         Cond
8267       1 Cond ref
8268         X
8269         Alt
8270         Y
8271         Ket
8272         Ket
8273         End
8274 ------------------------------------------------------------------
8275     abcX
8276  0: abcX
8277  1: abc
8278     Y
8279  0: Y
8280     ** Failers
8281 No match
8282     abcY   
8283 No match
8284     
8285 /^((?(+1)X|Y)(abc))+/BZ 
8286 ------------------------------------------------------------------
8287         Bra
8288         ^
8289         CBra 1
8290         Cond
8291       2 Cond ref
8292         X
8293         Alt
8294         Y
8295         Ket
8296         CBra 2
8297         abc
8298         Ket
8299         KetRmax
8300         Ket
8301         End
8302 ------------------------------------------------------------------
8303     YabcXabc
8304  0: YabcXabc
8305  1: Xabc
8306  2: abc
8307     YabcXabcXabc
8308  0: YabcXabcXabc
8309  1: Xabc
8310  2: abc
8311     ** Failers
8312 No match
8313     XabcXabc  
8314 No match
8315
8316 /(?(-1)a)/BZ
8317 Failed: reference to non-existent subpattern at offset 6
8318
8319 /((?(-1)a))/BZ
8320 ------------------------------------------------------------------
8321         Bra
8322         CBra 1
8323         Cond
8324       1 Cond ref
8325         a
8326         Ket
8327         Ket
8328         Ket
8329         End
8330 ------------------------------------------------------------------
8331
8332 /((?(-2)a))/BZ
8333 Failed: reference to non-existent subpattern at offset 7
8334
8335 /^(?(+1)X|Y)(.)/BZ
8336 ------------------------------------------------------------------
8337         Bra
8338         ^
8339         Cond
8340       1 Cond ref
8341         X
8342         Alt
8343         Y
8344         Ket
8345         CBra 1
8346         Any
8347         Ket
8348         Ket
8349         End
8350 ------------------------------------------------------------------
8351     Y!
8352  0: Y!
8353  1: !
8354
8355 /(?<A>tom|bon)-\k{A}/
8356     tom-tom
8357  0: tom-tom
8358  1: tom
8359     bon-bon 
8360  0: bon-bon
8361  1: bon
8362     ** Failers
8363 No match
8364     tom-bon  
8365 No match
8366
8367 /\g{A/ 
8368 Failed: syntax error in subpattern name (missing terminator) at offset 4
8369
8370 /(?|(abc)|(xyz))/BZ
8371 ------------------------------------------------------------------
8372         Bra
8373         Bra
8374         CBra 1
8375         abc
8376         Ket
8377         Alt
8378         CBra 1
8379         xyz
8380         Ket
8381         Ket
8382         Ket
8383         End
8384 ------------------------------------------------------------------
8385    >abc<
8386  0: abc
8387  1: abc
8388    >xyz< 
8389  0: xyz
8390  1: xyz
8391
8392 /(x)(?|(abc)|(xyz))(x)/BZ
8393 ------------------------------------------------------------------
8394         Bra
8395         CBra 1
8396         x
8397         Ket
8398         Bra
8399         CBra 2
8400         abc
8401         Ket
8402         Alt
8403         CBra 2
8404         xyz
8405         Ket
8406         Ket
8407         CBra 3
8408         x
8409         Ket
8410         Ket
8411         End
8412 ------------------------------------------------------------------
8413     xabcx
8414  0: xabcx
8415  1: x
8416  2: abc
8417  3: x
8418     xxyzx 
8419  0: xxyzx
8420  1: x
8421  2: xyz
8422  3: x
8423
8424 /(x)(?|(abc)(pqr)|(xyz))(x)/BZ
8425 ------------------------------------------------------------------
8426         Bra
8427         CBra 1
8428         x
8429         Ket
8430         Bra
8431         CBra 2
8432         abc
8433         Ket
8434         CBra 3
8435         pqr
8436         Ket
8437         Alt
8438         CBra 2
8439         xyz
8440         Ket
8441         Ket
8442         CBra 4
8443         x
8444         Ket
8445         Ket
8446         End
8447 ------------------------------------------------------------------
8448     xabcpqrx
8449  0: xabcpqrx
8450  1: x
8451  2: abc
8452  3: pqr
8453  4: x
8454     xxyzx 
8455  0: xxyzx
8456  1: x
8457  2: xyz
8458  3: <unset>
8459  4: x
8460
8461 /\H++X/BZ
8462 ------------------------------------------------------------------
8463         Bra
8464         \H++
8465         X
8466         Ket
8467         End
8468 ------------------------------------------------------------------
8469     ** Failers
8470 No match
8471     XXXX
8472 No match
8473     
8474 /\H+\hY/BZ
8475 ------------------------------------------------------------------
8476         Bra
8477         \H++
8478         \h
8479         Y
8480         Ket
8481         End
8482 ------------------------------------------------------------------
8483     XXXX Y 
8484  0: XXXX Y
8485
8486 /\H+ Y/BZ
8487 ------------------------------------------------------------------
8488         Bra
8489         \H++
8490          Y
8491         Ket
8492         End
8493 ------------------------------------------------------------------
8494
8495 /\h+A/BZ
8496 ------------------------------------------------------------------
8497         Bra
8498         \h++
8499         A
8500         Ket
8501         End
8502 ------------------------------------------------------------------
8503
8504 /\v*B/BZ
8505 ------------------------------------------------------------------
8506         Bra
8507         \v*+
8508         B
8509         Ket
8510         End
8511 ------------------------------------------------------------------
8512
8513 /\V+\x0a/BZ
8514 ------------------------------------------------------------------
8515         Bra
8516         \V++
8517         \x0a
8518         Ket
8519         End
8520 ------------------------------------------------------------------
8521
8522 /A+\h/BZ
8523 ------------------------------------------------------------------
8524         Bra
8525         A++
8526         \h
8527         Ket
8528         End
8529 ------------------------------------------------------------------
8530
8531 / *\H/BZ
8532 ------------------------------------------------------------------
8533         Bra
8534          *+
8535         \H
8536         Ket
8537         End
8538 ------------------------------------------------------------------
8539
8540 /A*\v/BZ
8541 ------------------------------------------------------------------
8542         Bra
8543         A*+
8544         \v
8545         Ket
8546         End
8547 ------------------------------------------------------------------
8548
8549 /\x0b*\V/BZ
8550 ------------------------------------------------------------------
8551         Bra
8552         \x0b*+
8553         \V
8554         Ket
8555         End
8556 ------------------------------------------------------------------
8557
8558 /\d+\h/BZ
8559 ------------------------------------------------------------------
8560         Bra
8561         \d++
8562         \h
8563         Ket
8564         End
8565 ------------------------------------------------------------------
8566
8567 /\d*\v/BZ
8568 ------------------------------------------------------------------
8569         Bra
8570         \d*+
8571         \v
8572         Ket
8573         End
8574 ------------------------------------------------------------------
8575
8576 /S+\h\S+\v/BZ
8577 ------------------------------------------------------------------
8578         Bra
8579         S++
8580         \h
8581         \S++
8582         \v
8583         Ket
8584         End
8585 ------------------------------------------------------------------
8586
8587 /\w{3,}\h\w+\v/BZ
8588 ------------------------------------------------------------------
8589         Bra
8590         \w{3}
8591         \w*+
8592         \h
8593         \w++
8594         \v
8595         Ket
8596         End
8597 ------------------------------------------------------------------
8598
8599 /\h+\d\h+\w\h+\S\h+\H/BZ
8600 ------------------------------------------------------------------
8601         Bra
8602         \h++
8603         \d
8604         \h++
8605         \w
8606         \h++
8607         \S
8608         \h++
8609         \H
8610         Ket
8611         End
8612 ------------------------------------------------------------------
8613
8614 /\v+\d\v+\w\v+\S\v+\V/BZ
8615 ------------------------------------------------------------------
8616         Bra
8617         \v++
8618         \d
8619         \v++
8620         \w
8621         \v++
8622         \S
8623         \v++
8624         \V
8625         Ket
8626         End
8627 ------------------------------------------------------------------
8628
8629 /\H+\h\H+\d/BZ
8630 ------------------------------------------------------------------
8631         Bra
8632         \H++
8633         \h
8634         \H+
8635         \d
8636         Ket
8637         End
8638 ------------------------------------------------------------------
8639
8640 /\V+\v\V+\w/BZ
8641 ------------------------------------------------------------------
8642         Bra
8643         \V++
8644         \v
8645         \V+
8646         \w
8647         Ket
8648         End
8649 ------------------------------------------------------------------
8650
8651 /\( (?: [^()]* | (?R) )* \)/x
8652 \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)
8653  0: (0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(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)
8654
8655 /[\E]AAA/
8656 Failed: missing terminating ] for character class at offset 7
8657
8658 /[\Q\E]AAA/
8659 Failed: missing terminating ] for character class at offset 9
8660
8661 /[^\E]AAA/
8662 Failed: missing terminating ] for character class at offset 8
8663
8664 /[^\Q\E]AAA/
8665 Failed: missing terminating ] for character class at offset 10
8666
8667 /[\E^]AAA/
8668 Failed: missing terminating ] for character class at offset 8
8669
8670 /[\Q\E^]AAA/
8671 Failed: missing terminating ] for character class at offset 10
8672
8673 /A(*PRUNE)B(*SKIP)C(*THEN)D(*COMMIT)E(*F)F(*FAIL)G(?!)H(*ACCEPT)I/BZ
8674 ------------------------------------------------------------------
8675         Bra
8676         A
8677         *PRUNE
8678         B
8679         *SKIP
8680         C
8681         *THEN
8682         D
8683         *COMMIT
8684         E
8685         *FAIL
8686         F
8687         *FAIL
8688         G
8689         *FAIL
8690         H
8691         *ACCEPT
8692         I
8693         Ket
8694         End
8695 ------------------------------------------------------------------
8696
8697 /^a+(*FAIL)/C
8698     aaaaaa
8699 --->aaaaaa
8700  +0 ^          ^
8701  +1 ^          a+
8702  +3 ^     ^    (*FAIL)
8703  +3 ^    ^     (*FAIL)
8704  +3 ^   ^      (*FAIL)
8705  +3 ^  ^       (*FAIL)
8706  +3 ^ ^        (*FAIL)
8707  +3 ^^         (*FAIL)
8708 No match
8709     
8710 /a+b?c+(*FAIL)/C
8711     aaabccc
8712 --->aaabccc
8713  +0 ^           a+
8714  +2 ^  ^        b?
8715  +4 ^   ^       c+
8716  +6 ^      ^    (*FAIL)
8717  +6 ^     ^     (*FAIL)
8718  +6 ^    ^      (*FAIL)
8719  +0  ^          a+
8720  +2  ^ ^        b?
8721  +4  ^  ^       c+
8722  +6  ^     ^    (*FAIL)
8723  +6  ^    ^     (*FAIL)
8724  +6  ^   ^      (*FAIL)
8725  +0   ^         a+
8726  +2   ^^        b?
8727  +4   ^ ^       c+
8728  +6   ^    ^    (*FAIL)
8729  +6   ^   ^     (*FAIL)
8730  +6   ^  ^      (*FAIL)
8731 No match
8732
8733 /a+b?(*PRUNE)c+(*FAIL)/C
8734     aaabccc
8735 --->aaabccc
8736  +0 ^           a+
8737  +2 ^  ^        b?
8738  +4 ^   ^       (*PRUNE)
8739 +12 ^   ^       c+
8740 +14 ^      ^    (*FAIL)
8741 +14 ^     ^     (*FAIL)
8742 +14 ^    ^      (*FAIL)
8743  +0  ^          a+
8744  +2  ^ ^        b?
8745  +4  ^  ^       (*PRUNE)
8746 +12  ^  ^       c+
8747 +14  ^     ^    (*FAIL)
8748 +14  ^    ^     (*FAIL)
8749 +14  ^   ^      (*FAIL)
8750  +0   ^         a+
8751  +2   ^^        b?
8752  +4   ^ ^       (*PRUNE)
8753 +12   ^ ^       c+
8754 +14   ^    ^    (*FAIL)
8755 +14   ^   ^     (*FAIL)
8756 +14   ^  ^      (*FAIL)
8757 No match
8758
8759 /a+b?(*COMMIT)c+(*FAIL)/C
8760     aaabccc
8761 --->aaabccc
8762  +0 ^           a+
8763  +2 ^  ^        b?
8764  +4 ^   ^       (*COMMIT)
8765 +13 ^   ^       c+
8766 +15 ^      ^    (*FAIL)
8767 +15 ^     ^     (*FAIL)
8768 +15 ^    ^      (*FAIL)
8769 No match
8770     
8771 /a+b?(*SKIP)c+(*FAIL)/C
8772     aaabcccaaabccc
8773 --->aaabcccaaabccc
8774  +0 ^                  a+
8775  +2 ^  ^               b?
8776  +4 ^   ^              (*SKIP)
8777 +11 ^   ^              c+
8778 +13 ^      ^           (*FAIL)
8779 +13 ^     ^            (*FAIL)
8780 +13 ^    ^             (*FAIL)
8781  +0        ^           a+
8782  +2        ^  ^        b?
8783  +4        ^   ^       (*SKIP)
8784 +11        ^   ^       c+
8785 +13        ^      ^    (*FAIL)
8786 +13        ^     ^     (*FAIL)
8787 +13        ^    ^      (*FAIL)
8788 No match
8789
8790 /a+b?(*THEN)c+(*FAIL)/C
8791     aaabccc
8792 --->aaabccc
8793  +0 ^           a+
8794  +2 ^  ^        b?
8795  +4 ^   ^       (*THEN)
8796 +11 ^   ^       c+
8797 +13 ^      ^    (*FAIL)
8798 +13 ^     ^     (*FAIL)
8799 +13 ^    ^      (*FAIL)
8800  +0  ^          a+
8801  +2  ^ ^        b?
8802  +4  ^  ^       (*THEN)
8803 +11  ^  ^       c+
8804 +13  ^     ^    (*FAIL)
8805 +13  ^    ^     (*FAIL)
8806 +13  ^   ^      (*FAIL)
8807  +0   ^         a+
8808  +2   ^^        b?
8809  +4   ^ ^       (*THEN)
8810 +11   ^ ^       c+
8811 +13   ^    ^    (*FAIL)
8812 +13   ^   ^     (*FAIL)
8813 +13   ^  ^      (*FAIL)
8814 No match
8815     
8816 /a(*MARK)b/ 
8817 Failed: (*MARK) must have an argument at offset 7
8818
8819 /(?i:A{1,}\6666666666)/
8820 Failed: number is too big at offset 19
8821
8822 /\g6666666666/
8823 Failed: number is too big at offset 11
8824
8825 /[\g6666666666]/BZ
8826 ------------------------------------------------------------------
8827         Bra
8828         [6g]
8829         Ket
8830         End
8831 ------------------------------------------------------------------
8832
8833 /(?1)\c[/
8834 Failed: reference to non-existent subpattern at offset 3
8835
8836 /.+A/<crlf>
8837     \r\nA
8838 No match
8839     
8840 /\nA/<crlf>
8841     \r\nA 
8842  0: \x0aA
8843
8844 /[\r\n]A/<crlf>
8845     \r\nA 
8846  0: \x0aA
8847
8848 /(\r|\n)A/<crlf>
8849     \r\nA 
8850  0: \x0aA
8851  1: \x0a
8852
8853 /a(*CR)b/
8854 Failed: (*VERB) not recognized or malformed at offset 5
8855
8856 /(*CR)a.b/
8857     a\nb
8858  0: a\x0ab
8859     ** Failers
8860 No match
8861     a\rb  
8862 No match
8863
8864 /(*CR)a.b/<lf>
8865     a\nb
8866  0: a\x0ab
8867     ** Failers
8868 No match
8869     a\rb  
8870 No match
8871
8872 /(*LF)a.b/<CRLF>
8873     a\rb
8874  0: a\x0db
8875     ** Failers
8876 No match
8877     a\nb  
8878 No match
8879
8880 /(*CRLF)a.b/
8881     a\rb
8882  0: a\x0db
8883     a\nb  
8884  0: a\x0ab
8885     ** Failers
8886 No match
8887     a\r\nb  
8888 No match
8889
8890 /(*ANYCRLF)a.b/<CR>
8891     ** Failers
8892 No match
8893     a\rb
8894 No match
8895     a\nb  
8896 No match
8897     a\r\nb  
8898 No match
8899
8900 /(*ANY)a.b/<cr>
8901     ** Failers
8902 No match
8903     a\rb
8904 No match
8905     a\nb  
8906 No match
8907     a\r\nb  
8908 No match
8909     a\x85b 
8910 No match
8911     
8912 /(*ANY).*/g
8913     abc\r\ndef
8914  0: abc
8915  0: 
8916  0: def
8917  0: 
8918
8919 /(*ANYCRLF).*/g
8920     abc\r\ndef
8921  0: abc
8922  0: 
8923  0: def
8924  0: 
8925
8926 /(*CRLF).*/g
8927     abc\r\ndef
8928  0: abc
8929  0: 
8930  0: def
8931  0: 
8932
8933 /a\Rb/I<bsr_anycrlf>
8934 Capturing subpattern count = 0
8935 Options: bsr_anycrlf
8936 First char = 'a'
8937 Need char = 'b'
8938     a\rb
8939  0: a\x0db
8940     a\nb
8941  0: a\x0ab
8942     a\r\nb
8943  0: a\x0d\x0ab
8944     ** Failers
8945 No match
8946     a\x85b
8947 No match
8948     a\x0bb     
8949 No match
8950
8951 /a\Rb/I<bsr_unicode>
8952 Capturing subpattern count = 0
8953 Options: bsr_unicode
8954 First char = 'a'
8955 Need char = 'b'
8956     a\rb
8957  0: a\x0db
8958     a\nb
8959  0: a\x0ab
8960     a\r\nb
8961  0: a\x0d\x0ab
8962     a\x85b
8963  0: a\x85b
8964     a\x0bb     
8965  0: a\x0bb
8966     ** Failers 
8967 No match
8968     a\x85b\<bsr_anycrlf>
8969 No match
8970     a\x0bb\<bsr_anycrlf>
8971 No match
8972     
8973 /a\R?b/I<bsr_anycrlf>
8974 Capturing subpattern count = 0
8975 Options: bsr_anycrlf
8976 First char = 'a'
8977 Need char = 'b'
8978     a\rb
8979  0: a\x0db
8980     a\nb
8981  0: a\x0ab
8982     a\r\nb
8983  0: a\x0d\x0ab
8984     ** Failers
8985 No match
8986     a\x85b
8987 No match
8988     a\x0bb     
8989 No match
8990
8991 /a\R?b/I<bsr_unicode>
8992 Capturing subpattern count = 0
8993 Options: bsr_unicode
8994 First char = 'a'
8995 Need char = 'b'
8996     a\rb
8997  0: a\x0db
8998     a\nb
8999  0: a\x0ab
9000     a\r\nb
9001  0: a\x0d\x0ab
9002     a\x85b
9003  0: a\x85b
9004     a\x0bb     
9005  0: a\x0bb
9006     ** Failers 
9007 No match
9008     a\x85b\<bsr_anycrlf>
9009 No match
9010     a\x0bb\<bsr_anycrlf>
9011 No match
9012     
9013 /a\R{2,4}b/I<bsr_anycrlf>
9014 Capturing subpattern count = 0
9015 Options: bsr_anycrlf
9016 First char = 'a'
9017 Need char = 'b'
9018     a\r\n\nb
9019  0: a\x0d\x0a\x0ab
9020     a\n\r\rb
9021  0: a\x0a\x0d\x0db
9022     a\r\n\r\n\r\n\r\nb
9023  0: a\x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0ab
9024     ** Failers
9025 No match
9026     a\x85\85b
9027 No match
9028     a\x0b\0bb     
9029 No match
9030
9031 /a\R{2,4}b/I<bsr_unicode>
9032 Capturing subpattern count = 0
9033 Options: bsr_unicode
9034 First char = 'a'
9035 Need char = 'b'
9036     a\r\rb
9037  0: a\x0d\x0db
9038     a\n\n\nb
9039  0: a\x0a\x0a\x0ab
9040     a\r\n\n\r\rb
9041  0: a\x0d\x0a\x0a\x0d\x0db
9042     a\x85\85b
9043 No match
9044     a\x0b\0bb     
9045 No match
9046     ** Failers 
9047 No match
9048     a\r\r\r\r\rb 
9049 No match
9050     a\x85\85b\<bsr_anycrlf>
9051 No match
9052     a\x0b\0bb\<bsr_anycrlf>
9053 No match
9054  
9055 /(*BSR_ANYCRLF)a\Rb/I
9056 Capturing subpattern count = 0
9057 Options: bsr_anycrlf
9058 First char = 'a'
9059 Need char = 'b'
9060     a\nb
9061  0: a\x0ab
9062     a\rb 
9063  0: a\x0db
9064
9065 /(*BSR_UNICODE)a\Rb/I
9066 Capturing subpattern count = 0
9067 Options: bsr_unicode
9068 First char = 'a'
9069 Need char = 'b'
9070     a\x85b
9071  0: a\x85b
9072
9073 /(*BSR_ANYCRLF)(*CRLF)a\Rb/I
9074 Capturing subpattern count = 0
9075 Options: bsr_anycrlf
9076 Forced newline sequence: CRLF
9077 First char = 'a'
9078 Need char = 'b'
9079     a\nb
9080  0: a\x0ab
9081     a\rb 
9082  0: a\x0db
9083
9084 /(*CRLF)(*BSR_UNICODE)a\Rb/I
9085 Capturing subpattern count = 0
9086 Options: bsr_unicode
9087 Forced newline sequence: CRLF
9088 First char = 'a'
9089 Need char = 'b'
9090     a\x85b
9091  0: a\x85b
9092
9093 /(*CRLF)(*BSR_ANYCRLF)(*CR)ab/I
9094 Capturing subpattern count = 0
9095 Options: bsr_anycrlf
9096 Forced newline sequence: CR
9097 First char = 'a'
9098 Need char = 'b'
9099
9100 /(?<a>)(?&)/
9101 Failed: subpattern name expected at offset 9
9102
9103 /(?<abc>)(?&a)/
9104 Failed: reference to non-existent subpattern at offset 12
9105
9106 /(?<a>)(?&aaaaaaaaaaaaaaaaaaaaaaa)/
9107 Failed: reference to non-existent subpattern at offset 32
9108
9109 /(?+-a)/
9110 Failed: digit expected after (?+ at offset 3
9111
9112 /(?-+a)/
9113 Failed: unrecognized character after (? or (?- at offset 3
9114
9115 /(?(-1))/
9116 Failed: reference to non-existent subpattern at offset 6
9117
9118 /(?(+10))/
9119 Failed: reference to non-existent subpattern at offset 7
9120
9121 /(?(10))/
9122 Failed: reference to non-existent subpattern at offset 6
9123
9124 /(?(+2))()()/
9125
9126 /(?(2))()()/
9127
9128 /\k''/
9129 Failed: subpattern name expected at offset 3
9130
9131 /\k<>/
9132 Failed: subpattern name expected at offset 3
9133
9134 /\k{}/
9135 Failed: subpattern name expected at offset 3
9136
9137 /\k/
9138 Failed: \k is not followed by a braced, angle-bracketed, or quoted name at offset 1
9139
9140 /\kabc/
9141 Failed: \k is not followed by a braced, angle-bracketed, or quoted name at offset 1
9142
9143 /(?P=)/
9144 Failed: subpattern name expected at offset 4
9145
9146 /(?P>)/
9147 Failed: subpattern name expected at offset 4
9148
9149 /(?!\w)(?R)/
9150 Failed: recursive call could loop indefinitely at offset 9
9151
9152 /(?=\w)(?R)/
9153 Failed: recursive call could loop indefinitely at offset 9
9154
9155 /(?<!\w)(?R)/
9156 Failed: recursive call could loop indefinitely at offset 10
9157
9158 /(?<=\w)(?R)/
9159 Failed: recursive call could loop indefinitely at offset 10
9160
9161 /[[:foo:]]/
9162 Failed: unknown POSIX class name at offset 3
9163
9164 /[[:1234:]]/
9165 Failed: unknown POSIX class name at offset 3
9166
9167 /[[:f\oo:]]/
9168 Failed: unknown POSIX class name at offset 3
9169
9170 /[[: :]]/
9171 Failed: unknown POSIX class name at offset 3
9172
9173 /[[:...:]]/
9174 Failed: unknown POSIX class name at offset 3
9175
9176 /[[:l\ower:]]/
9177 Failed: unknown POSIX class name at offset 3
9178
9179 /[[:abc\:]]/
9180 Failed: unknown POSIX class name at offset 3
9181
9182 /[abc[:x\]pqr:]]/
9183 Failed: unknown POSIX class name at offset 6
9184
9185 /[[:a\dz:]]/
9186 Failed: unknown POSIX class name at offset 3
9187
9188 /(^(a|b\g<-1'c))/
9189 Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 8
9190
9191 /^(?+1)(?<a>x|y){0}z/
9192     xzxx
9193  0: xz
9194     yzyy 
9195  0: yz
9196     ** Failers
9197 No match
9198     xxz  
9199 No match
9200
9201 /(\3)(\1)(a)/
9202     cat
9203 No match
9204
9205 /(\3)(\1)(a)/<JS>
9206     cat
9207  0: a
9208  1: 
9209  2: 
9210  3: a
9211     
9212 /TA]/
9213     The ACTA] comes 
9214  0: TA]
9215
9216 /TA]/<JS>
9217 Failed: ] is an invalid data character in JavaScript compatibility mode at offset 2
9218
9219 /(?2)[]a()b](abc)/
9220 Failed: reference to non-existent subpattern at offset 3
9221
9222 /(?2)[^]a()b](abc)/
9223 Failed: reference to non-existent subpattern at offset 3
9224
9225 /(?1)[]a()b](abc)/
9226     abcbabc
9227  0: abcbabc
9228  1: abc
9229     ** Failers 
9230 No match
9231     abcXabc
9232 No match
9233
9234 /(?1)[^]a()b](abc)/
9235     abcXabc
9236  0: abcXabc
9237  1: abc
9238     ** Failers 
9239 No match
9240     abcbabc
9241 No match
9242
9243 /(?2)[]a()b](abc)(xyz)/
9244     xyzbabcxyz
9245  0: xyzbabcxyz
9246  1: abc
9247  2: xyz
9248
9249 /(?&N)[]a(?<N>)](?<M>abc)/
9250 Failed: reference to non-existent subpattern at offset 4
9251
9252 /(?&N)[]a(?<N>)](abc)/
9253 Failed: reference to non-existent subpattern at offset 4
9254
9255 /a[]b/
9256 Failed: missing terminating ] for character class at offset 4
9257
9258 /a[^]b/
9259 Failed: missing terminating ] for character class at offset 5
9260
9261 /a[]b/<JS>
9262     ** Failers
9263 No match
9264     ab
9265 No match
9266
9267 /a[]+b/<JS>
9268     ** Failers
9269 No match
9270     ab 
9271 No match
9272
9273 /a[]*+b/<JS>
9274     ** Failers
9275 No match
9276     ab 
9277 No match
9278
9279 /a[^]b/<JS>
9280     aXb
9281  0: aXb
9282     a\nb 
9283  0: a\x0ab
9284     ** Failers
9285 No match
9286     ab  
9287 No match
9288     
9289 /a[^]+b/<JS> 
9290     aXb
9291  0: aXb
9292     a\nX\nXb 
9293  0: a\x0aX\x0aXb
9294     ** Failers
9295 No match
9296     ab  
9297 No match
9298
9299 /a(?!)b/BZ
9300 ------------------------------------------------------------------
9301         Bra
9302         a
9303         *FAIL
9304         b
9305         Ket
9306         End
9307 ------------------------------------------------------------------
9308
9309 /(?!)?a/BZ
9310 ------------------------------------------------------------------
9311         Bra
9312         Brazero
9313         Assert not
9314         Ket
9315         a
9316         Ket
9317         End
9318 ------------------------------------------------------------------
9319     ab
9320  0: a
9321
9322 /a(*FAIL)+b/
9323 Failed: nothing to repeat at offset 8
9324
9325 /(abc|pqr|123){0}[xyz]/SI
9326 Capturing subpattern count = 1
9327 No options
9328 No first char
9329 No need char
9330 Subject length lower bound = 1
9331 Starting chars: x y z 
9332
9333 /(?(?=.*b)b|^)/CI
9334 Capturing subpattern count = 0
9335 May match empty string
9336 Options:
9337 No first char
9338 No need char
9339    adc
9340 --->adc
9341  +0 ^       (?(?=.*b)b|^)
9342  +2 ^       (?=.*b)
9343  +5 ^       .*
9344  +7 ^  ^    b
9345  +7 ^ ^     b
9346  +7 ^^      b
9347  +7 ^       b
9348 +11 ^       ^
9349 +12 ^       )
9350 +13 ^       
9351  0: 
9352    abc 
9353 --->abc
9354  +0 ^       (?(?=.*b)b|^)
9355  +2 ^       (?=.*b)
9356  +5 ^       .*
9357  +7 ^  ^    b
9358  +7 ^ ^     b
9359  +7 ^^      b
9360  +8 ^ ^     )
9361  +9 ^       b
9362  +0  ^      (?(?=.*b)b|^)
9363  +2  ^      (?=.*b)
9364  +5  ^      .*
9365  +7  ^ ^    b
9366  +7  ^^     b
9367  +7  ^      b
9368  +8  ^^     )
9369  +9  ^      b
9370 +10  ^^     |
9371 +13  ^^     
9372  0: b
9373    
9374 /(?(?=b).*b|^d)/I
9375 Capturing subpattern count = 0
9376 No options
9377 No first char
9378 No need char
9379
9380 /(?(?=.*b).*b|^d)/I
9381 Capturing subpattern count = 0
9382 No options
9383 First char at start or follows newline
9384 No need char
9385
9386 /xyz/C
9387   xyz 
9388 --->xyz
9389  +0 ^       x
9390  +1 ^^      y
9391  +2 ^ ^     z
9392  +3 ^  ^    
9393  0: xyz
9394   abcxyz 
9395 --->abcxyz
9396  +0    ^       x
9397  +1    ^^      y
9398  +2    ^ ^     z
9399  +3    ^  ^    
9400  0: xyz
9401   abcxyz\Y
9402 --->abcxyz
9403  +0 ^          x
9404  +0  ^         x
9405  +0   ^        x
9406  +0    ^       x
9407  +1    ^^      y
9408  +2    ^ ^     z
9409  +3    ^  ^    
9410  0: xyz
9411   ** Failers 
9412 No match
9413   abc
9414 No match
9415   abc\Y
9416 --->abc
9417  +0 ^       x
9418  +0  ^      x
9419  +0   ^     x
9420  +0    ^    x
9421 No match
9422   abcxypqr  
9423 No match
9424   abcxypqr\Y  
9425 --->abcxypqr
9426  +0 ^            x
9427  +0  ^           x
9428  +0   ^          x
9429  +0    ^         x
9430  +1    ^^        y
9431  +2    ^ ^       z
9432  +0     ^        x
9433  +0      ^       x
9434  +0       ^      x
9435  +0        ^     x
9436  +0         ^    x
9437 No match
9438   
9439 /(*NO_START_OPT)xyz/C
9440   abcxyz
9441 --->abcxyz
9442 +15 ^          x
9443 +15  ^         x
9444 +15   ^        x
9445 +15    ^       x
9446 +16    ^^      y
9447 +17    ^ ^     z
9448 +18    ^  ^    
9449  0: xyz
9450   
9451 /(*NO_AUTO_POSSESS)a+b/BZ  
9452 ------------------------------------------------------------------
9453         Bra
9454         a+
9455         b
9456         Ket
9457         End
9458 ------------------------------------------------------------------
9459
9460 /xyz/CY
9461   abcxyz 
9462 --->abcxyz
9463  +0 ^          x
9464  +0  ^         x
9465  +0   ^        x
9466  +0    ^       x
9467  +1    ^^      y
9468  +2    ^ ^     z
9469  +3    ^  ^    
9470  0: xyz
9471
9472 /^"((?(?=[a])[^"])|b)*"$/C
9473     "ab"
9474 --->"ab"
9475  +0 ^        ^
9476  +1 ^        "
9477  +2 ^^       ((?(?=[a])[^"])|b)*
9478  +3 ^^       (?(?=[a])[^"])
9479  +5 ^^       (?=[a])
9480  +8 ^^       [a]
9481 +11 ^ ^      )
9482 +12 ^^       [^"]
9483 +16 ^ ^      )
9484 +17 ^ ^      |
9485  +3 ^ ^      (?(?=[a])[^"])
9486  +5 ^ ^      (?=[a])
9487  +8 ^ ^      [a]
9488 +17 ^ ^      |
9489 +21 ^ ^      "
9490 +18 ^ ^      b
9491 +19 ^  ^     )
9492  +3 ^  ^     (?(?=[a])[^"])
9493  +5 ^  ^     (?=[a])
9494  +8 ^  ^     [a]
9495 +17 ^  ^     |
9496 +21 ^  ^     "
9497 +22 ^   ^    $
9498 +23 ^   ^    
9499  0: "ab"
9500  1: 
9501
9502 /^"((?(?=[a])[^"])|b)*"$/
9503     "ab"
9504  0: "ab"
9505  1: 
9506
9507 /^X(?5)(a)(?|(b)|(q))(c)(d)Y/
9508 Failed: reference to non-existent subpattern at offset 5
9509
9510 /^X(?&N)(a)(?|(b)|(q))(c)(d)(?<N>Y)/
9511     XYabcdY
9512  0: XYabcdY
9513  1: a
9514  2: b
9515  3: c
9516  4: d
9517  5: Y
9518  
9519 /Xa{2,4}b/
9520     X\P
9521 Partial match: X
9522     Xa\P
9523 Partial match: Xa
9524     Xaa\P 
9525 Partial match: Xaa
9526     Xaaa\P
9527 Partial match: Xaaa
9528     Xaaaa\P 
9529 Partial match: Xaaaa
9530     
9531 /Xa{2,4}?b/
9532     X\P
9533 Partial match: X
9534     Xa\P
9535 Partial match: Xa
9536     Xaa\P 
9537 Partial match: Xaa
9538     Xaaa\P
9539 Partial match: Xaaa
9540     Xaaaa\P 
9541 Partial match: Xaaaa
9542     
9543 /Xa{2,4}+b/
9544     X\P
9545 Partial match: X
9546     Xa\P
9547 Partial match: Xa
9548     Xaa\P 
9549 Partial match: Xaa
9550     Xaaa\P
9551 Partial match: Xaaa
9552     Xaaaa\P 
9553 Partial match: Xaaaa
9554     
9555 /X\d{2,4}b/
9556     X\P
9557 Partial match: X
9558     X3\P
9559 Partial match: X3
9560     X33\P 
9561 Partial match: X33
9562     X333\P
9563 Partial match: X333
9564     X3333\P 
9565 Partial match: X3333
9566     
9567 /X\d{2,4}?b/
9568     X\P
9569 Partial match: X
9570     X3\P
9571 Partial match: X3
9572     X33\P 
9573 Partial match: X33
9574     X333\P
9575 Partial match: X333
9576     X3333\P 
9577 Partial match: X3333
9578     
9579 /X\d{2,4}+b/
9580     X\P
9581 Partial match: X
9582     X3\P
9583 Partial match: X3
9584     X33\P 
9585 Partial match: X33
9586     X333\P
9587 Partial match: X333
9588     X3333\P 
9589 Partial match: X3333
9590     
9591 /X\D{2,4}b/
9592     X\P
9593 Partial match: X
9594     Xa\P
9595 Partial match: Xa
9596     Xaa\P 
9597 Partial match: Xaa
9598     Xaaa\P
9599 Partial match: Xaaa
9600     Xaaaa\P 
9601 Partial match: Xaaaa
9602     
9603 /X\D{2,4}?b/
9604     X\P
9605 Partial match: X
9606     Xa\P
9607 Partial match: Xa
9608     Xaa\P 
9609 Partial match: Xaa
9610     Xaaa\P
9611 Partial match: Xaaa
9612     Xaaaa\P 
9613 Partial match: Xaaaa
9614     
9615 /X\D{2,4}+b/
9616     X\P
9617 Partial match: X
9618     Xa\P
9619 Partial match: Xa
9620     Xaa\P 
9621 Partial match: Xaa
9622     Xaaa\P
9623 Partial match: Xaaa
9624     Xaaaa\P 
9625 Partial match: Xaaaa
9626     
9627 /X[abc]{2,4}b/
9628     X\P
9629 Partial match: X
9630     Xa\P
9631 Partial match: Xa
9632     Xaa\P 
9633 Partial match: Xaa
9634     Xaaa\P
9635 Partial match: Xaaa
9636     Xaaaa\P 
9637 Partial match: Xaaaa
9638     
9639 /X[abc]{2,4}?b/
9640     X\P
9641 Partial match: X
9642     Xa\P
9643 Partial match: Xa
9644     Xaa\P 
9645 Partial match: Xaa
9646     Xaaa\P
9647 Partial match: Xaaa
9648     Xaaaa\P 
9649 Partial match: Xaaaa
9650     
9651 /X[abc]{2,4}+b/
9652     X\P
9653 Partial match: X
9654     Xa\P
9655 Partial match: Xa
9656     Xaa\P 
9657 Partial match: Xaa
9658     Xaaa\P
9659 Partial match: Xaaa
9660     Xaaaa\P 
9661 Partial match: Xaaaa
9662     
9663 /X[^a]{2,4}b/
9664     X\P
9665 Partial match: X
9666     Xz\P
9667 Partial match: Xz
9668     Xzz\P 
9669 Partial match: Xzz
9670     Xzzz\P
9671 Partial match: Xzzz
9672     Xzzzz\P 
9673 Partial match: Xzzzz
9674     
9675 /X[^a]{2,4}?b/
9676     X\P
9677 Partial match: X
9678     Xz\P
9679 Partial match: Xz
9680     Xzz\P 
9681 Partial match: Xzz
9682     Xzzz\P
9683 Partial match: Xzzz
9684     Xzzzz\P 
9685 Partial match: Xzzzz
9686     
9687 /X[^a]{2,4}+b/
9688     X\P
9689 Partial match: X
9690     Xz\P
9691 Partial match: Xz
9692     Xzz\P 
9693 Partial match: Xzz
9694     Xzzz\P
9695 Partial match: Xzzz
9696     Xzzzz\P 
9697 Partial match: Xzzzz
9698     
9699 /(Y)X\1{2,4}b/
9700     YX\P
9701 Partial match: YX
9702     YXY\P
9703 Partial match: YXY
9704     YXYY\P 
9705 Partial match: YXYY
9706     YXYYY\P
9707 Partial match: YXYYY
9708     YXYYYY\P 
9709 Partial match: YXYYYY
9710     
9711 /(Y)X\1{2,4}?b/
9712     YX\P
9713 Partial match: YX
9714     YXY\P
9715 Partial match: YXY
9716     YXYY\P 
9717 Partial match: YXYY
9718     YXYYY\P
9719 Partial match: YXYYY
9720     YXYYYY\P 
9721 Partial match: YXYYYY
9722     
9723 /(Y)X\1{2,4}+b/
9724     YX\P
9725 Partial match: YX
9726     YXY\P
9727 Partial match: YXY
9728     YXYY\P 
9729 Partial match: YXYY
9730     YXYYY\P
9731 Partial match: YXYYY
9732     YXYYYY\P 
9733 Partial match: YXYYYY
9734     
9735 /\++\KZ|\d+X|9+Y/
9736     ++++123999\P
9737 Partial match: 123999
9738     ++++123999Y\P
9739  0: 999Y
9740     ++++Z1234\P 
9741  0: Z
9742
9743 /Z(*F)/
9744     Z\P
9745 No match
9746     ZA\P 
9747 No match
9748     
9749 /Z(?!)/
9750     Z\P 
9751 No match
9752     ZA\P 
9753 No match
9754
9755 /dog(sbody)?/
9756     dogs\P
9757  0: dog
9758     dogs\P\P 
9759 Partial match: dogs
9760     
9761 /dog(sbody)??/
9762     dogs\P
9763  0: dog
9764     dogs\P\P 
9765  0: dog
9766
9767 /dog|dogsbody/
9768     dogs\P
9769  0: dog
9770     dogs\P\P 
9771  0: dog
9772  
9773 /dogsbody|dog/
9774     dogs\P
9775  0: dog
9776     dogs\P\P 
9777 Partial match: dogs
9778
9779 /\bthe cat\b/
9780     the cat\P
9781  0: the cat
9782     the cat\P\P
9783 Partial match: the cat
9784
9785 /abc/
9786    abc\P
9787  0: abc
9788    abc\P\P
9789  0: abc
9790    
9791 /abc\K123/
9792     xyzabc123pqr
9793  0: 123
9794     xyzabc12\P
9795 Partial match: abc12
9796     xyzabc12\P\P
9797 Partial match: abc12
9798     
9799 /(?<=abc)123/
9800     xyzabc123pqr 
9801  0: 123
9802     xyzabc12\P
9803 Partial match at offset 6: abc12
9804     xyzabc12\P\P
9805 Partial match at offset 6: abc12
9806
9807 /\babc\b/
9808     +++abc+++
9809  0: abc
9810     +++ab\P
9811 Partial match at offset 3: +ab
9812     +++ab\P\P  
9813 Partial match at offset 3: +ab
9814
9815 /(?&word)(?&element)(?(DEFINE)(?<element><[^m][^>]>[^<])(?<word>\w*+))/BZ
9816 ------------------------------------------------------------------
9817         Bra
9818         Recurse
9819         Recurse
9820         Cond
9821         Cond def
9822         CBra 1
9823         <
9824         [^m]
9825         [^>]
9826         >
9827         [^<]
9828         Ket
9829         CBra 2
9830         \w*+
9831         Ket
9832         Ket
9833         Ket
9834         End
9835 ------------------------------------------------------------------
9836
9837 /(?&word)(?&element)(?(DEFINE)(?<element><[^\d][^>]>[^<])(?<word>\w*+))/BZ
9838 ------------------------------------------------------------------
9839         Bra
9840         Recurse
9841         Recurse
9842         Cond
9843         Cond def
9844         CBra 1
9845         <
9846         [\x00-/:-\xff] (neg)
9847         [^>]
9848         >
9849         [^<]
9850         Ket
9851         CBra 2
9852         \w*+
9853         Ket
9854         Ket
9855         Ket
9856         End
9857 ------------------------------------------------------------------
9858
9859 /(ab)(x(y)z(cd(*ACCEPT)))pq/BZ
9860 ------------------------------------------------------------------
9861         Bra
9862         CBra 1
9863         ab
9864         Ket
9865         CBra 2
9866         x
9867         CBra 3
9868         y
9869         Ket
9870         z
9871         CBra 4
9872         cd
9873         Close 4
9874         Close 2
9875         *ACCEPT
9876         Ket
9877         Ket
9878         pq
9879         Ket
9880         End
9881 ------------------------------------------------------------------
9882
9883 /abc\K/+
9884     abcdef
9885  0: 
9886  0+ def
9887     abcdef\N\N
9888  0: 
9889  0+ def
9890     xyzabcdef\N\N
9891  0: 
9892  0+ def
9893     ** Failers
9894 No match
9895     abcdef\N 
9896 No match
9897     xyzabcdef\N
9898 No match
9899     
9900 /^(?:(?=abc)|abc\K)/+
9901     abcdef
9902  0: 
9903  0+ abcdef
9904     abcdef\N\N 
9905  0: 
9906  0+ def
9907     ** Failers 
9908 No match
9909     abcdef\N 
9910 No match
9911
9912 /a?b?/+
9913     xyz
9914  0: 
9915  0+ xyz
9916     xyzabc
9917  0: 
9918  0+ xyzabc
9919     xyzabc\N
9920  0: ab
9921  0+ c
9922     xyzabc\N\N
9923  0: 
9924  0+ yzabc
9925     xyz\N\N    
9926  0: 
9927  0+ yz
9928     ** Failers 
9929  0: 
9930  0+ ** Failers
9931     xyz\N 
9932 No match
9933
9934 /^a?b?/+
9935     xyz
9936  0: 
9937  0+ xyz
9938     xyzabc
9939  0: 
9940  0+ xyzabc
9941     ** Failers 
9942  0: 
9943  0+ ** Failers
9944     xyzabc\N
9945 No match
9946     xyzabc\N\N
9947 No match
9948     xyz\N\N    
9949 No match
9950     xyz\N 
9951 No match
9952     
9953 /^(?<name>a|b\g<name>c)/
9954     aaaa
9955  0: a
9956  1: a
9957     bacxxx
9958  0: bac
9959  1: bac
9960     bbaccxxx 
9961  0: bbacc
9962  1: bbacc
9963     bbbacccxx
9964  0: bbbaccc
9965  1: bbbaccc
9966
9967 /^(?<name>a|b\g'name'c)/
9968     aaaa
9969  0: a
9970  1: a
9971     bacxxx
9972  0: bac
9973  1: bac
9974     bbaccxxx 
9975  0: bbacc
9976  1: bbacc
9977     bbbacccxx
9978  0: bbbaccc
9979  1: bbbaccc
9980
9981 /^(a|b\g<1>c)/
9982     aaaa
9983  0: a
9984  1: a
9985     bacxxx
9986  0: bac
9987  1: bac
9988     bbaccxxx 
9989  0: bbacc
9990  1: bbacc
9991     bbbacccxx
9992  0: bbbaccc
9993  1: bbbaccc
9994
9995 /^(a|b\g'1'c)/
9996     aaaa
9997  0: a
9998  1: a
9999     bacxxx
10000  0: bac
10001  1: bac
10002     bbaccxxx 
10003  0: bbacc
10004  1: bbacc
10005     bbbacccxx
10006  0: bbbaccc
10007  1: bbbaccc
10008
10009 /^(a|b\g'-1'c)/
10010     aaaa
10011  0: a
10012  1: a
10013     bacxxx
10014  0: bac
10015  1: bac
10016     bbaccxxx 
10017  0: bbacc
10018  1: bbacc
10019     bbbacccxx
10020  0: bbbaccc
10021  1: bbbaccc
10022
10023 /(^(a|b\g<-1>c))/
10024     aaaa
10025  0: a
10026  1: a
10027  2: a
10028     bacxxx
10029  0: bac
10030  1: bac
10031  2: bac
10032     bbaccxxx 
10033  0: bbacc
10034  1: bbacc
10035  2: bbacc
10036     bbbacccxx
10037  0: bbbaccc
10038  1: bbbaccc
10039  2: bbbaccc
10040
10041 /(?-i:\g<name>)(?i:(?<name>a))/
10042     XaaX
10043  0: aa
10044  1: a
10045     XAAX 
10046  0: AA
10047  1: A
10048
10049 /(?i:\g<name>)(?-i:(?<name>a))/
10050     XaaX
10051  0: aa
10052  1: a
10053     ** Failers 
10054 No match
10055     XAAX 
10056 No match
10057
10058 /(?-i:\g<+1>)(?i:(a))/
10059     XaaX
10060  0: aa
10061  1: a
10062     XAAX 
10063  0: AA
10064  1: A
10065
10066 /(?=(?<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>\})\}))\{/
10067
10068 /(?<n>a|b|c)\g<n>*/
10069    abc
10070  0: abc
10071  1: a
10072    accccbbb 
10073  0: accccbbb
10074  1: a
10075
10076 /^X(?7)(a)(?|(b)|(q)(r)(s))(c)(d)(Y)/
10077     XYabcdY
10078  0: XYabcdY
10079  1: a
10080  2: b
10081  3: <unset>
10082  4: <unset>
10083  5: c
10084  6: d
10085  7: Y
10086
10087 /(?<=b(?1)|zzz)(a)/
10088     xbaax
10089  0: a
10090  1: a
10091     xzzzax 
10092  0: a
10093  1: a
10094
10095 /(a)(?<=b\1)/
10096 Failed: lookbehind assertion is not fixed length at offset 10
10097
10098 /(a)(?<=b+(?1))/
10099 Failed: lookbehind assertion is not fixed length at offset 13
10100
10101 /(a+)(?<=b(?1))/
10102 Failed: lookbehind assertion is not fixed length at offset 14
10103
10104 /(a(?<=b(?1)))/
10105 Failed: lookbehind assertion is not fixed length at offset 13
10106
10107 /(?<=b(?1))xyz/
10108 Failed: reference to non-existent subpattern at offset 8
10109
10110 /(?<=b(?1))xyz(b+)pqrstuvew/
10111 Failed: lookbehind assertion is not fixed length at offset 26
10112
10113 /(a|bc)\1/SI
10114 Capturing subpattern count = 1
10115 Max back reference = 1
10116 No options
10117 No first char
10118 No need char
10119 Subject length lower bound = 2
10120 Starting chars: a b 
10121
10122 /(a|bc)\1{2,3}/SI
10123 Capturing subpattern count = 1
10124 Max back reference = 1
10125 No options
10126 No first char
10127 No need char
10128 Subject length lower bound = 3
10129 Starting chars: a b 
10130
10131 /(a|bc)(?1)/SI
10132 Capturing subpattern count = 1
10133 No options
10134 No first char
10135 No need char
10136 Subject length lower bound = 2
10137 Starting chars: a b 
10138
10139 /(a|b\1)(a|b\1)/SI
10140 Capturing subpattern count = 2
10141 Max back reference = 1
10142 No options
10143 No first char
10144 No need char
10145 Subject length lower bound = 2
10146 Starting chars: a b 
10147
10148 /(a|b\1){2}/SI
10149 Capturing subpattern count = 1
10150 Max back reference = 1
10151 No options
10152 No first char
10153 No need char
10154 Subject length lower bound = 2
10155 Starting chars: a b 
10156
10157 /(a|bbbb\1)(a|bbbb\1)/SI
10158 Capturing subpattern count = 2
10159 Max back reference = 1
10160 No options
10161 No first char
10162 No need char
10163 Subject length lower bound = 2
10164 Starting chars: a b 
10165
10166 /(a|bbbb\1){2}/SI
10167 Capturing subpattern count = 1
10168 Max back reference = 1
10169 No options
10170 No first char
10171 No need char
10172 Subject length lower bound = 2
10173 Starting chars: a b 
10174
10175 /^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
10176 Capturing subpattern count = 1
10177 Options: anchored
10178 No first char
10179 Need char = ':'
10180 Subject length lower bound = 22
10181 No starting char list
10182
10183 /<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
10184 Capturing subpattern count = 11
10185 Options: caseless dotall
10186 First char = '<'
10187 Need char = '>'
10188 Subject length lower bound = 47
10189 No starting char list
10190
10191 "(?>.*/)foo"SI
10192 Capturing subpattern count = 0
10193 No options
10194 No first char
10195 Need char = 'o'
10196 Subject length lower bound = 4
10197 No starting char list
10198
10199 /(?(?=[^a-z]+[a-z])  \d{2}-[a-z]{3}-\d{2}  |  \d{2}-\d{2}-\d{2} ) /xSI
10200 Capturing subpattern count = 0
10201 Options: extended
10202 No first char
10203 Need char = '-'
10204 Subject length lower bound = 8
10205 No starting char list
10206
10207 /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))/iSI
10208 Capturing subpattern count = 1
10209 Options: caseless
10210 No first char
10211 No need char
10212 Subject length lower bound = 1
10213 Starting chars: A B C a b c 
10214
10215 /(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/SI
10216 Capturing subpattern count = 0
10217 No options
10218 No first char
10219 Need char = 'b'
10220 Subject length lower bound = 41
10221 Starting chars: c d 
10222
10223 /<a[\s]+href[\s]*=[\s]*          # find <a href=
10224  ([\"\'])?                       # find single or double quote
10225  (?(1) (.*?)\1 | ([^\s]+))       # if quote found, match up to next matching
10226                                  # quote, otherwise match up to next space
10227 /isxSI
10228 Capturing subpattern count = 3
10229 Max back reference = 1
10230 Options: caseless extended dotall
10231 First char = '<'
10232 Need char = '='
10233 Subject length lower bound = 9
10234 No starting char list
10235
10236 /^(?!:)                       # colon disallowed at start
10237   (?:                         # start of item
10238     (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
10239     (?(1)0 | () ) )           # if null previously matched, fail; else null
10240     :                         # followed by colon
10241   ){1,7}                      # end item; 1-7 of them required               
10242   [0-9a-f]{1,4} $             # final hex number at end of string
10243   (?(1)|.)                    # check that there was an empty component
10244   /xiIS
10245 Capturing subpattern count = 1
10246 Max back reference = 1
10247 Options: anchored caseless extended
10248 No first char
10249 Need char = ':'
10250 Subject length lower bound = 2
10251 No starting char list
10252
10253 /(?|(?<a>A)|(?<a>B))/I
10254 Capturing subpattern count = 1
10255 Named capturing subpatterns:
10256   a   1
10257 No options
10258 No first char
10259 No need char
10260     AB\Ca
10261  0: A
10262  1: A
10263   C A (1) a
10264     BA\Ca
10265  0: B
10266  1: B
10267   C B (1) a
10268
10269 /(?|(?<a>A)|(?<b>B))/ 
10270 Failed: different names for subpatterns of the same number are not allowed at offset 15
10271
10272 /(?:a(?<quote> (?<apostrophe>')|(?<realquote>")) |
10273     b(?<quote> (?<apostrophe>')|(?<realquote>")) ) 
10274     (?('quote')[a-z]+|[0-9]+)/JIx
10275 Capturing subpattern count = 6
10276 Max back reference = 1
10277 Named capturing subpatterns:
10278   apostrophe   2
10279   apostrophe   5
10280   quote        1
10281   quote        4
10282   realquote    3
10283   realquote    6
10284 Options: extended dupnames
10285 No first char
10286 No need char
10287     a"aaaaa
10288  0: a"aaaaa
10289  1: "
10290  2: <unset>
10291  3: "
10292     b"aaaaa 
10293  0: b"aaaaa
10294  1: <unset>
10295  2: <unset>
10296  3: <unset>
10297  4: "
10298  5: <unset>
10299  6: "
10300     ** Failers 
10301 No match
10302     b"11111
10303 No match
10304     a"11111 
10305 No match
10306     
10307 /^(?|(a)(b)(c)(?<D>d)|(?<D>e)) (?('D')X|Y)/JDZx
10308 ------------------------------------------------------------------
10309         Bra
10310         ^
10311         Bra
10312         CBra 1
10313         a
10314         Ket
10315         CBra 2
10316         b
10317         Ket
10318         CBra 3
10319         c
10320         Ket
10321         CBra 4
10322         d
10323         Ket
10324         Alt
10325         CBra 1
10326         e
10327         Ket
10328         Ket
10329         Cond
10330         Cond ref <D>2
10331         X
10332         Alt
10333         Y
10334         Ket
10335         Ket
10336         End
10337 ------------------------------------------------------------------
10338 Capturing subpattern count = 4
10339 Max back reference = 4
10340 Named capturing subpatterns:
10341   D   4
10342   D   1
10343 Options: anchored extended dupnames
10344 No first char
10345 No need char
10346     abcdX
10347  0: abcdX
10348  1: a
10349  2: b
10350  3: c
10351  4: d
10352     eX
10353  0: eX
10354  1: e
10355     ** Failers
10356 No match
10357     abcdY
10358 No match
10359     ey     
10360 No match
10361     
10362 /(?<A>a) (b)(c)  (?<A>d  (?(R&A)$ | (?4)) )/JDZx
10363 ------------------------------------------------------------------
10364         Bra
10365         CBra 1
10366         a
10367         Ket
10368         CBra 2
10369         b
10370         Ket
10371         CBra 3
10372         c
10373         Ket
10374         CBra 4
10375         d
10376         Cond
10377         Cond recurse <A>2
10378         $
10379         Alt
10380         Recurse
10381         Ket
10382         Ket
10383         Ket
10384         End
10385 ------------------------------------------------------------------
10386 Capturing subpattern count = 4
10387 Max back reference = 1
10388 Named capturing subpatterns:
10389   A   1
10390   A   4
10391 Options: extended dupnames
10392 First char = 'a'
10393 Need char = 'd'
10394     abcdd
10395  0: abcdd
10396  1: a
10397  2: b
10398  3: c
10399  4: dd
10400     ** Failers
10401 No match
10402     abcdde  
10403 No match
10404
10405 /abcd*/
10406     xxxxabcd\P
10407  0: abcd
10408     xxxxabcd\P\P
10409 Partial match: abcd
10410
10411 /abcd*/i
10412     xxxxabcd\P
10413  0: abcd
10414     xxxxabcd\P\P
10415 Partial match: abcd
10416     XXXXABCD\P
10417  0: ABCD
10418     XXXXABCD\P\P
10419 Partial match: ABCD
10420
10421 /abc\d*/
10422     xxxxabc1\P
10423  0: abc1
10424     xxxxabc1\P\P
10425 Partial match: abc1
10426
10427 /(a)bc\1*/
10428     xxxxabca\P
10429  0: abca
10430  1: a
10431     xxxxabca\P\P
10432 Partial match: abca
10433
10434 /abc[de]*/
10435     xxxxabcde\P
10436  0: abcde
10437     xxxxabcde\P\P
10438 Partial match: abcde
10439
10440 /-- This is not in the Perl-compatible test because Perl seems currently to be
10441     broken and not behaving as specified in that it *does* bumpalong after
10442     hitting (*COMMIT). --/
10443
10444 /(?1)(A(*COMMIT)|B)D/
10445     ABD
10446  0: ABD
10447  1: B
10448     XABD
10449  0: ABD
10450  1: B
10451     BAD
10452  0: BAD
10453  1: A
10454     ABXABD  
10455  0: ABD
10456  1: B
10457     ** Failers 
10458 No match
10459     ABX 
10460 No match
10461     BAXBAD  
10462 No match
10463
10464 /(\3)(\1)(a)/<JS>
10465     cat
10466  0: a
10467  1: 
10468  2: 
10469  3: a
10470
10471 /(\3)(\1)(a)/SI<JS>
10472 Capturing subpattern count = 3
10473 Max back reference = 3
10474 Options:
10475 No first char
10476 Need char = 'a'
10477 Subject length lower bound = 1
10478 No starting char list
10479     cat
10480  0: a
10481  1: 
10482  2: 
10483  3: a
10484
10485 /(\3)(\1)(a)/SI
10486 Capturing subpattern count = 3
10487 Max back reference = 3
10488 No options
10489 No first char
10490 Need char = 'a'
10491 Subject length lower bound = 3
10492 No starting char list
10493     cat
10494 No match
10495
10496 /i(?(DEFINE)(?<s>a))/SI
10497 Capturing subpattern count = 1
10498 Named capturing subpatterns:
10499   s   1
10500 No options
10501 First char = 'i'
10502 No need char
10503 Subject length lower bound = 1
10504 No starting char list
10505     i
10506  0: i
10507     
10508 /()i(?(1)a)/SI 
10509 Capturing subpattern count = 1
10510 Max back reference = 1
10511 No options
10512 No first char
10513 Need char = 'i'
10514 Subject length lower bound = 1
10515 Starting chars: i 
10516     ia
10517  0: ia
10518  1: 
10519
10520 /(?i)a(?-i)b|c/BZ
10521 ------------------------------------------------------------------
10522         Bra
10523      /i a
10524         b
10525         Alt
10526         c
10527         Ket
10528         End
10529 ------------------------------------------------------------------
10530     XabX
10531  0: ab
10532     XAbX
10533  0: Ab
10534     CcC 
10535  0: c
10536     ** Failers
10537 No match
10538     XABX   
10539 No match
10540
10541 /(?i)a(?s)b|c/BZ
10542 ------------------------------------------------------------------
10543         Bra
10544      /i ab
10545         Alt
10546      /i c
10547         Ket
10548         End
10549 ------------------------------------------------------------------
10550
10551 /(?i)a(?s-i)b|c/BZ
10552 ------------------------------------------------------------------
10553         Bra
10554      /i a
10555         b
10556         Alt
10557         c
10558         Ket
10559         End
10560 ------------------------------------------------------------------
10561
10562 /^(ab(c\1)d|x){2}$/BZ
10563 ------------------------------------------------------------------
10564         Bra
10565         ^
10566         Once
10567         CBra 1
10568         ab
10569         CBra 2
10570         c
10571         \1
10572         Ket
10573         d
10574         Alt
10575         x
10576         Ket
10577         Ket
10578         Once
10579         CBra 1
10580         ab
10581         CBra 2
10582         c
10583         \1
10584         Ket
10585         d
10586         Alt
10587         x
10588         Ket
10589         Ket
10590         $
10591         Ket
10592         End
10593 ------------------------------------------------------------------
10594     xabcxd
10595  0: xabcxd
10596  1: abcxd
10597  2: cx
10598     
10599 /^(?&t)*+(?(DEFINE)(?<t>.))$/BZ
10600 ------------------------------------------------------------------
10601         Bra
10602         ^
10603         Braposzero
10604         SBraPos
10605         Recurse
10606         KetRpos
10607         Cond
10608         Cond def
10609         CBra 1
10610         Any
10611         Ket
10612         Ket
10613         $
10614         Ket
10615         End
10616 ------------------------------------------------------------------
10617
10618 /^(?&t)*(?(DEFINE)(?<t>.))$/BZ
10619 ------------------------------------------------------------------
10620         Bra
10621         ^
10622         Brazero
10623         Once
10624         Recurse
10625         KetRmax
10626         Cond
10627         Cond def
10628         CBra 1
10629         Any
10630         Ket
10631         Ket
10632         $
10633         Ket
10634         End
10635 ------------------------------------------------------------------
10636
10637 / -- This one is here because Perl gives the match as "b" rather than "ab". I
10638      believe this to be a Perl bug. --/  
10639       
10640 /(?>a\Kb)z|(ab)/
10641     ab 
10642  0: ab
10643  1: ab
10644
10645 /(?P<L1>(?P<L2>0|)|(?P>L2)(?P>L1))/
10646 Failed: recursive call could loop indefinitely at offset 31
10647
10648 /abc(*MARK:)pqr/
10649 Failed: (*MARK) must have an argument at offset 10
10650
10651 /abc(*:)pqr/
10652 Failed: (*MARK) must have an argument at offset 6
10653
10654 /abc(*FAIL:123)xyz/
10655 Failed: an argument is not allowed for (*ACCEPT), (*FAIL), or (*COMMIT) at offset 13
10656
10657 /--- This should, and does, fail. In Perl, it does not, which I think is a 
10658      bug because replacing the B in the pattern by (B|D) does make it fail. ---/
10659
10660 /A(*COMMIT)B/+K
10661     ACABX
10662 No match
10663
10664 /--- These should be different, but in Perl they are not, which I think
10665      is a bug in Perl. ---/
10666
10667 /A(*THEN)B|A(*THEN)C/K
10668     AC
10669  0: AC
10670
10671 /A(*PRUNE)B|A(*PRUNE)C/K
10672     AC
10673 No match
10674     
10675 /--- Mark names can be duplicated. Perl doesn't give a mark for this one,
10676 though PCRE does. ---/
10677
10678 /^A(*:A)B|^X(*:A)Y/K
10679     ** Failers
10680 No match
10681     XAQQ
10682 No match, mark = A
10683     
10684 /--- COMMIT at the start of a pattern should be the same as an anchor. Perl 
10685 optimizations defeat this. So does the PCRE optimization unless we disable it 
10686 with \Y. ---/
10687
10688 /(*COMMIT)ABC/
10689     ABCDEFG
10690  0: ABC
10691     ** Failers
10692 No match
10693     DEFGABC\Y  
10694 No match
10695     
10696 /^(ab (c+(*THEN)cd) | xyz)/x
10697     abcccd  
10698 No match
10699
10700 /^(ab (c+(*PRUNE)cd) | xyz)/x
10701     abcccd  
10702 No match
10703
10704 /^(ab (c+(*FAIL)cd) | xyz)/x
10705     abcccd  
10706 No match
10707     
10708 /--- Perl gets some of these wrong ---/ 
10709
10710 /(?>.(*ACCEPT))*?5/
10711     abcde
10712  0: a
10713
10714 /(.(*ACCEPT))*?5/
10715     abcde
10716  0: a
10717  1: a
10718
10719 /(.(*ACCEPT))5/
10720     abcde
10721  0: a
10722  1: a
10723
10724 /(.(*ACCEPT))*5/
10725     abcde
10726  0: a
10727  1: a
10728
10729 /A\NB./BZ
10730 ------------------------------------------------------------------
10731         Bra
10732         A
10733         Any
10734         B
10735         Any
10736         Ket
10737         End
10738 ------------------------------------------------------------------
10739     ACBD
10740  0: ACBD
10741     *** Failers
10742 No match
10743     A\nB
10744 No match
10745     ACB\n   
10746 No match
10747
10748 /A\NB./sBZ
10749 ------------------------------------------------------------------
10750         Bra
10751         A
10752         Any
10753         B
10754         AllAny
10755         Ket
10756         End
10757 ------------------------------------------------------------------
10758     ACBD
10759  0: ACBD
10760     ACB\n 
10761  0: ACB\x0a
10762     *** Failers
10763 No match
10764     A\nB  
10765 No match
10766   
10767 /A\NB/<crlf>
10768     A\nB
10769  0: A\x0aB
10770     A\rB
10771  0: A\x0dB
10772     ** Failers
10773 No match
10774     A\r\nB    
10775 No match
10776
10777 /\R+b/BZ
10778 ------------------------------------------------------------------
10779         Bra
10780         \R++
10781         b
10782         Ket
10783         End
10784 ------------------------------------------------------------------
10785
10786 /\R+\n/BZ
10787 ------------------------------------------------------------------
10788         Bra
10789         \R+
10790         \x0a
10791         Ket
10792         End
10793 ------------------------------------------------------------------
10794
10795 /\R+\d/BZ
10796 ------------------------------------------------------------------
10797         Bra
10798         \R++
10799         \d
10800         Ket
10801         End
10802 ------------------------------------------------------------------
10803
10804 /\d*\R/BZ
10805 ------------------------------------------------------------------
10806         Bra
10807         \d*+
10808         \R
10809         Ket
10810         End
10811 ------------------------------------------------------------------
10812
10813 /\s*\R/BZ
10814 ------------------------------------------------------------------
10815         Bra
10816         \s*
10817         \R
10818         Ket
10819         End
10820 ------------------------------------------------------------------
10821     \x20\x0a
10822  0:  \x0a
10823     \x20\x0d
10824  0:  \x0d
10825     \x20\x0d\x0a
10826  0:  \x0d\x0a
10827
10828 /\S*\R/BZ
10829 ------------------------------------------------------------------
10830         Bra
10831         \S*+
10832         \R
10833         Ket
10834         End
10835 ------------------------------------------------------------------
10836     a\x0a
10837  0: a\x0a
10838
10839 /X\h*\R/BZ
10840 ------------------------------------------------------------------
10841         Bra
10842         X
10843         \h*+
10844         \R
10845         Ket
10846         End
10847 ------------------------------------------------------------------
10848     X\x20\x0a
10849  0: X \x0a
10850
10851 /X\H*\R/BZ
10852 ------------------------------------------------------------------
10853         Bra
10854         X
10855         \H*
10856         \R
10857         Ket
10858         End
10859 ------------------------------------------------------------------
10860     X\x0d\x0a
10861  0: X\x0d\x0a
10862
10863 /X\H+\R/BZ
10864 ------------------------------------------------------------------
10865         Bra
10866         X
10867         \H+
10868         \R
10869         Ket
10870         End
10871 ------------------------------------------------------------------
10872     X\x0d\x0a
10873  0: X\x0d\x0a
10874
10875 /X\H++\R/BZ
10876 ------------------------------------------------------------------
10877         Bra
10878         X
10879         \H++
10880         \R
10881         Ket
10882         End
10883 ------------------------------------------------------------------
10884     X\x0d\x0a
10885 No match
10886
10887 /(?<=abc)def/
10888     abc\P\P
10889 Partial match at offset 3: abc
10890
10891 /abc$/
10892     abc
10893  0: abc
10894     abc\P
10895  0: abc
10896     abc\P\P
10897 Partial match: abc
10898
10899 /abc$/m
10900     abc
10901  0: abc
10902     abc\n
10903  0: abc
10904     abc\P\P
10905 Partial match: abc
10906     abc\n\P\P 
10907  0: abc
10908     abc\P
10909  0: abc
10910     abc\n\P
10911  0: abc
10912
10913 /abc\z/
10914     abc
10915  0: abc
10916     abc\P
10917  0: abc
10918     abc\P\P
10919 Partial match: abc
10920
10921 /abc\Z/
10922     abc
10923  0: abc
10924     abc\P
10925  0: abc
10926     abc\P\P
10927 Partial match: abc
10928
10929 /abc\b/
10930     abc
10931  0: abc
10932     abc\P
10933  0: abc
10934     abc\P\P
10935 Partial match: abc
10936
10937 /abc\B/
10938     abc
10939 No match
10940     abc\P
10941 Partial match: abc
10942     abc\P\P
10943 Partial match: abc
10944
10945 /.+/
10946     abc\>0
10947  0: abc
10948     abc\>1
10949  0: bc
10950     abc\>2
10951  0: c
10952     abc\>3
10953 No match
10954     abc\>4
10955 Error -24 (bad offset value)
10956     abc\>-4 
10957 Error -24 (bad offset value)
10958
10959 /^\cģ/
10960 Failed: \c must be followed by an ASCII character at offset 3
10961
10962 /(?P<abn>(?P=abn)xxx)/BZ
10963 ------------------------------------------------------------------
10964         Bra
10965         Once
10966         CBra 1
10967         \1
10968         xxx
10969         Ket
10970         Ket
10971         Ket
10972         End
10973 ------------------------------------------------------------------
10974
10975 /(a\1z)/BZ
10976 ------------------------------------------------------------------
10977         Bra
10978         Once
10979         CBra 1
10980         a
10981         \1
10982         z
10983         Ket
10984         Ket
10985         Ket
10986         End
10987 ------------------------------------------------------------------
10988
10989 /(?P<abn>(?P=abn)(?<badstufxxx)/BZ
10990 Failed: syntax error in subpattern name (missing terminator) at offset 29
10991
10992 /(?P<abn>(?P=axn)xxx)/BZ
10993 Failed: reference to non-existent subpattern at offset 15
10994
10995 /(?P<abn>(?P=axn)xxx)(?<axn>yy)/BZ
10996 ------------------------------------------------------------------
10997         Bra
10998         CBra 1
10999         \2
11000         xxx
11001         Ket
11002         CBra 2
11003         yy
11004         Ket
11005         Ket
11006         End
11007 ------------------------------------------------------------------
11008
11009 /-- These tests are here because Perl gets the first one wrong. --/
11010
11011 /(\R*)(.)/s
11012     \r\n
11013  0: \x0d
11014  1: 
11015  2: \x0d
11016     \r\r\n\n\r 
11017  0: \x0d\x0d\x0a\x0a\x0d
11018  1: \x0d\x0d\x0a\x0a
11019  2: \x0d
11020     \r\r\n\n\r\n 
11021  0: \x0d\x0d\x0a\x0a\x0d
11022  1: \x0d\x0d\x0a\x0a
11023  2: \x0d
11024
11025 /(\R)*(.)/s
11026     \r\n
11027  0: \x0d
11028  1: <unset>
11029  2: \x0d
11030     \r\r\n\n\r 
11031  0: \x0d\x0d\x0a\x0a\x0d
11032  1: \x0a
11033  2: \x0d
11034     \r\r\n\n\r\n 
11035  0: \x0d\x0d\x0a\x0a\x0d
11036  1: \x0a
11037  2: \x0d
11038
11039 /((?>\r\n|\n|\x0b|\f|\r|\x85)*)(.)/s
11040     \r\n
11041  0: \x0d
11042  1: 
11043  2: \x0d
11044     \r\r\n\n\r 
11045  0: \x0d\x0d\x0a\x0a\x0d
11046  1: \x0d\x0d\x0a\x0a
11047  2: \x0d
11048     \r\r\n\n\r\n 
11049  0: \x0d\x0d\x0a\x0a\x0d
11050  1: \x0d\x0d\x0a\x0a
11051  2: \x0d
11052
11053 /-- --/
11054
11055 /^abc$/BZ
11056 ------------------------------------------------------------------
11057         Bra
11058         ^
11059         abc
11060         $
11061         Ket
11062         End
11063 ------------------------------------------------------------------
11064
11065 /^abc$/BZm
11066 ------------------------------------------------------------------
11067         Bra
11068      /m ^
11069         abc
11070      /m $
11071         Ket
11072         End
11073 ------------------------------------------------------------------
11074
11075 /^(a)*+(\w)/S
11076     aaaaX
11077  0: aaaaX
11078  1: a
11079  2: X
11080     ** Failers 
11081 No match
11082     aaaa
11083 No match
11084
11085 /^(?:a)*+(\w)/S
11086     aaaaX
11087  0: aaaaX
11088  1: X
11089     ** Failers 
11090 No match
11091     aaaa
11092 No match
11093
11094 /(a)++1234/SDZ
11095 ------------------------------------------------------------------
11096         Bra
11097         CBraPos 1
11098         a
11099         KetRpos
11100         1234
11101         Ket
11102         End
11103 ------------------------------------------------------------------
11104 Capturing subpattern count = 1
11105 No options
11106 First char = 'a'
11107 Need char = '4'
11108 Subject length lower bound = 5
11109 No starting char list
11110
11111 /([abc])++1234/SI
11112 Capturing subpattern count = 1
11113 No options
11114 No first char
11115 Need char = '4'
11116 Subject length lower bound = 5
11117 Starting chars: a b c 
11118
11119 /(?<=(abc)+)X/
11120 Failed: lookbehind assertion is not fixed length at offset 10
11121
11122 /(^ab)/I
11123 Capturing subpattern count = 1
11124 Options: anchored
11125 No first char
11126 No need char
11127
11128 /(^ab)++/I
11129 Capturing subpattern count = 1
11130 Options: anchored
11131 No first char
11132 No need char
11133
11134 /(^ab|^)+/I
11135 Capturing subpattern count = 1
11136 May match empty string
11137 Options: anchored
11138 No first char
11139 No need char
11140
11141 /(^ab|^)++/I
11142 Capturing subpattern count = 1
11143 May match empty string
11144 Options: anchored
11145 No first char
11146 No need char
11147
11148 /(?:^ab)/I
11149 Capturing subpattern count = 0
11150 Options: anchored
11151 No first char
11152 No need char
11153
11154 /(?:^ab)++/I
11155 Capturing subpattern count = 0
11156 Options: anchored
11157 No first char
11158 No need char
11159
11160 /(?:^ab|^)+/I
11161 Capturing subpattern count = 0
11162 May match empty string
11163 Options: anchored
11164 No first char
11165 No need char
11166
11167 /(?:^ab|^)++/I
11168 Capturing subpattern count = 0
11169 May match empty string
11170 Options: anchored
11171 No first char
11172 No need char
11173
11174 /(.*ab)/I
11175 Capturing subpattern count = 1
11176 No options
11177 First char at start or follows newline
11178 Need char = 'b'
11179
11180 /(.*ab)++/I
11181 Capturing subpattern count = 1
11182 No options
11183 First char at start or follows newline
11184 Need char = 'b'
11185
11186 /(.*ab|.*)+/I
11187 Capturing subpattern count = 1
11188 May match empty string
11189 No options
11190 First char at start or follows newline
11191 No need char
11192
11193 /(.*ab|.*)++/I
11194 Capturing subpattern count = 1
11195 May match empty string
11196 No options
11197 First char at start or follows newline
11198 No need char
11199
11200 /(?:.*ab)/I
11201 Capturing subpattern count = 0
11202 No options
11203 First char at start or follows newline
11204 Need char = 'b'
11205
11206 /(?:.*ab)++/I
11207 Capturing subpattern count = 0
11208 No options
11209 First char at start or follows newline
11210 Need char = 'b'
11211
11212 /(?:.*ab|.*)+/I
11213 Capturing subpattern count = 0
11214 May match empty string
11215 No options
11216 First char at start or follows newline
11217 No need char
11218
11219 /(?:.*ab|.*)++/I
11220 Capturing subpattern count = 0
11221 May match empty string
11222 No options
11223 First char at start or follows newline
11224 No need char
11225
11226 /(?=a)[bcd]/I
11227 Capturing subpattern count = 0
11228 No options
11229 First char = 'a'
11230 No need char
11231
11232 /((?=a))[bcd]/I
11233 Capturing subpattern count = 1
11234 No options
11235 First char = 'a'
11236 No need char
11237
11238 /((?=a))+[bcd]/I
11239 Capturing subpattern count = 1
11240 No options
11241 First char = 'a'
11242 No need char
11243
11244 /((?=a))++[bcd]/I
11245 Capturing subpattern count = 1
11246 No options
11247 First char = 'a'
11248 No need char
11249
11250 /(?=a+)[bcd]/iI
11251 Capturing subpattern count = 0
11252 Options: caseless
11253 First char = 'a' (caseless)
11254 No need char
11255
11256 /(?=a+?)[bcd]/iI
11257 Capturing subpattern count = 0
11258 Options: caseless
11259 First char = 'a' (caseless)
11260 No need char
11261
11262 /(?=a++)[bcd]/iI
11263 Capturing subpattern count = 0
11264 Options: caseless
11265 First char = 'a' (caseless)
11266 No need char
11267
11268 /(?=a{3})[bcd]/iI
11269 Capturing subpattern count = 0
11270 Options: caseless
11271 First char = 'a' (caseless)
11272 Need char = 'a' (caseless)
11273
11274 /(abc)\1+/S
11275
11276 /-- Perl doesn't get these right IMO (the 3rd is PCRE-specific) --/
11277
11278 /(?1)(?:(b(*ACCEPT))){0}/
11279     b
11280  0: b
11281
11282 /(?1)(?:(b(*ACCEPT))){0}c/
11283     bc
11284  0: bc
11285     ** Failers 
11286 No match
11287     b 
11288 No match
11289
11290 /(?1)(?:((*ACCEPT))){0}c/
11291     c
11292  0: c
11293     c\N 
11294  0: c
11295
11296 /^.*?(?(?=a)a|b(*THEN)c)/
11297     ba
11298 No match
11299
11300 /^.*?(?(?=a)a|bc)/
11301     ba
11302  0: ba
11303
11304 /^.*?(?(?=a)a(*THEN)b|c)/
11305     ac
11306 No match
11307
11308 /^.*?(?(?=a)a(*THEN)b)c/
11309     ac
11310 No match
11311
11312 /^.*?(a(*THEN)b)c/
11313     aabc
11314 No match
11315     
11316 /^.*? (?1) c (?(DEFINE)(a(*THEN)b))/x
11317     aabc
11318  0: aabc
11319
11320 /^.*?(a(*THEN)b|z)c/
11321     aabc
11322  0: aabc
11323  1: ab
11324
11325 /^.*?(z|a(*THEN)b)c/
11326     aabc
11327  0: aabc
11328  1: ab
11329
11330 /-- --/
11331
11332 /-- These studied versions are here because they are not Perl-compatible; the
11333     studying means the mark is not seen. --/
11334
11335 /(*MARK:A)(*SKIP:B)(C|X)/KS
11336     C
11337  0: C
11338  1: C
11339 MK: A
11340     D
11341 No match, mark = A
11342      
11343 /(*:A)A+(*SKIP:A)(B|Z)/KS
11344     AAAC
11345 No match, mark = A
11346
11347 /-- --/
11348
11349 "(?=a*(*ACCEPT)b)c"
11350     c
11351  0: c
11352     c\N 
11353  0: c
11354     
11355 /(?1)c(?(DEFINE)((*ACCEPT)b))/
11356     c
11357  0: c
11358     c\N  
11359  0: c
11360     
11361 /(?>(*ACCEPT)b)c/
11362     c
11363  0: 
11364     c\N  
11365 No match
11366
11367 /(?:(?>(a)))+a%/++
11368     %aa%
11369  0: aa%
11370  0+ 
11371  1: a
11372  1+ a%
11373
11374 /(a)b|ac/++SS
11375     ac\O3
11376  0: ac
11377  0+ 
11378     
11379 /(a)(b)x|abc/++
11380      abc\O6
11381  0: abc
11382  0+ 
11383
11384 /(a)bc|(a)(b)\2/
11385     \O3abc
11386 Matched, but too many substrings
11387  0: abc
11388     \O4abc 
11389 Matched, but too many substrings
11390  0: abc
11391
11392 /(?(DEFINE)(a(?2)|b)(b(?1)|a))(?:(?1)|(?2))/SI
11393 Capturing subpattern count = 2
11394 No options
11395 No first char
11396 No need char
11397 Subject length lower bound = 1
11398 No starting char list
11399
11400 /(a(?2)|b)(b(?1)|a)(?:(?1)|(?2))/SI
11401 Capturing subpattern count = 2
11402 No options
11403 No first char
11404 No need char
11405 Subject length lower bound = 3
11406 Starting chars: a b 
11407
11408 /(a(?2)|b)(b(?1)|a)(?1)(?2)/SI
11409 Capturing subpattern count = 2
11410 No options
11411 No first char
11412 No need char
11413 Subject length lower bound = 4
11414 Starting chars: a b 
11415
11416 /(abc)(?1)/SI
11417 Capturing subpattern count = 1
11418 No options
11419 First char = 'a'
11420 Need char = 'c'
11421 Subject length lower bound = 6
11422 No starting char list
11423
11424 /^(?>a)++/
11425     aa\M
11426 Minimum match() limit = 5
11427 Minimum match() recursion limit = 2
11428  0: aa
11429     aaaaaaaaa\M 
11430 Minimum match() limit = 12
11431 Minimum match() recursion limit = 2
11432  0: aaaaaaaaa
11433     
11434 /(a)(?1)++/
11435     aa\M
11436 Minimum match() limit = 7
11437 Minimum match() recursion limit = 4
11438  0: aa
11439  1: a
11440     aaaaaaaaa\M  
11441 Minimum match() limit = 21
11442 Minimum match() recursion limit = 4
11443  0: aaaaaaaaa
11444  1: a
11445
11446 /(?:(foo)|(bar)|(baz))X/SS=
11447     bazfooX
11448  0: fooX
11449  1: foo
11450  2: <unset>
11451  3: <unset>
11452     foobazbarX
11453  0: barX
11454  1: <unset>
11455  2: bar
11456  3: <unset>
11457     barfooX
11458  0: fooX
11459  1: foo
11460  2: <unset>
11461  3: <unset>
11462     bazX
11463  0: bazX
11464  1: <unset>
11465  2: <unset>
11466  3: baz
11467     foobarbazX    
11468  0: bazX
11469  1: <unset>
11470  2: <unset>
11471  3: baz
11472     bazfooX\O0
11473 Matched, but too many substrings
11474     bazfooX\O2
11475 Matched, but too many substrings
11476  0: fooX
11477     bazfooX\O4
11478 Matched, but too many substrings
11479  0: fooX
11480  1: <unset>
11481     bazfooX\O6
11482 Matched, but too many substrings
11483  0: fooX
11484  1: foo
11485  2: <unset>
11486     bazfooX\O8
11487 Matched, but too many substrings
11488  0: fooX
11489  1: foo
11490  2: <unset>
11491  3: <unset>
11492     bazfooX\O10
11493  0: fooX
11494  1: foo
11495  2: <unset>
11496  3: <unset>
11497
11498 /(?=abc){3}abc/BZ
11499 ------------------------------------------------------------------
11500         Bra
11501         Assert
11502         abc
11503         Ket
11504         abc
11505         Ket
11506         End
11507 ------------------------------------------------------------------
11508
11509 /(?=abc)+abc/BZ
11510 ------------------------------------------------------------------
11511         Bra
11512         Assert
11513         abc
11514         Ket
11515         abc
11516         Ket
11517         End
11518 ------------------------------------------------------------------
11519
11520 /(?=abc)++abc/BZ
11521 ------------------------------------------------------------------
11522         Bra
11523         Assert
11524         abc
11525         Ket
11526         abc
11527         Ket
11528         End
11529 ------------------------------------------------------------------
11530
11531 /(?=abc){0}xyz/BZ
11532 ------------------------------------------------------------------
11533         Bra
11534         Skip zero
11535         Assert
11536         abc
11537         Ket
11538         xyz
11539         Ket
11540         End
11541 ------------------------------------------------------------------
11542
11543 /(?=(a))?./BZ
11544 ------------------------------------------------------------------
11545         Bra
11546         Brazero
11547         Assert
11548         CBra 1
11549         a
11550         Ket
11551         Ket
11552         Any
11553         Ket
11554         End
11555 ------------------------------------------------------------------
11556
11557 /(?=(a))??./BZ
11558 ------------------------------------------------------------------
11559         Bra
11560         Braminzero
11561         Assert
11562         CBra 1
11563         a
11564         Ket
11565         Ket
11566         Any
11567         Ket
11568         End
11569 ------------------------------------------------------------------
11570
11571 /^(?=(a)){0}b(?1)/BZ
11572 ------------------------------------------------------------------
11573         Bra
11574         ^
11575         Skip zero
11576         Assert
11577         CBra 1
11578         a
11579         Ket
11580         Ket
11581         b
11582         Recurse
11583         Ket
11584         End
11585 ------------------------------------------------------------------
11586
11587 /(?(DEFINE)(a))?b(?1)/BZ
11588 ------------------------------------------------------------------
11589         Bra
11590         Cond
11591         Cond def
11592         CBra 1
11593         a
11594         Ket
11595         Ket
11596         b
11597         Recurse
11598         Ket
11599         End
11600 ------------------------------------------------------------------
11601
11602 /^(?=(?1))?[az]([abc])d/BZ
11603 ------------------------------------------------------------------
11604         Bra
11605         ^
11606         Brazero
11607         Assert
11608         Recurse
11609         Ket
11610         [az]
11611         CBra 1
11612         [a-c]
11613         Ket
11614         d
11615         Ket
11616         End
11617 ------------------------------------------------------------------
11618
11619 /^(?!a){0}\w+/BZ
11620 ------------------------------------------------------------------
11621         Bra
11622         ^
11623         Skip zero
11624         Assert not
11625         a
11626         Ket
11627         \w++
11628         Ket
11629         End
11630 ------------------------------------------------------------------
11631
11632 /(?<=(abc))?xyz/BZ
11633 ------------------------------------------------------------------
11634         Bra
11635         Brazero
11636         AssertB
11637         Reverse
11638         CBra 1
11639         abc
11640         Ket
11641         Ket
11642         xyz
11643         Ket
11644         End
11645 ------------------------------------------------------------------
11646
11647 /[:a[:abc]b:]/BZ
11648 ------------------------------------------------------------------
11649         Bra
11650         [:[a-c]
11651         b:]
11652         Ket
11653         End
11654 ------------------------------------------------------------------
11655
11656 /((?2))((?1))/SS
11657     abc
11658 Error -26 (nested recursion at the same subject position)
11659
11660 /((?(R2)a+|(?1)b))/SS
11661     aaaabcde
11662 Error -26 (nested recursion at the same subject position)
11663
11664 /(?(R)a*(?1)|((?R))b)/SS
11665     aaaabcde
11666 Error -26 (nested recursion at the same subject position)
11667
11668 /(a+|(?R)b)/
11669 Failed: recursive call could loop indefinitely at offset 7
11670
11671 /^(a(*:A)(d|e(*:B))z|aeq)/C
11672     adz
11673 --->adz
11674  +0 ^       ^
11675  +1 ^       (a(*:A)(d|e(*:B))z|aeq)
11676  +2 ^       a
11677  +3 ^^      (*:A)
11678  +8 ^^      (d|e(*:B))
11679 Latest Mark: A
11680  +9 ^^      d
11681 +10 ^ ^     |
11682 +18 ^ ^     z
11683 +19 ^  ^    |
11684 +24 ^  ^    
11685  0: adz
11686  1: adz
11687  2: d
11688     aez
11689 --->aez
11690  +0 ^       ^
11691  +1 ^       (a(*:A)(d|e(*:B))z|aeq)
11692  +2 ^       a
11693  +3 ^^      (*:A)
11694  +8 ^^      (d|e(*:B))
11695 Latest Mark: A
11696  +9 ^^      d
11697 +11 ^^      e
11698 +12 ^ ^     (*:B)
11699 +17 ^ ^     )
11700 Latest Mark: B
11701 +18 ^ ^     z
11702 +19 ^  ^    |
11703 +24 ^  ^    
11704  0: aez
11705  1: aez
11706  2: e
11707     aeqwerty
11708 --->aeqwerty
11709  +0 ^            ^
11710  +1 ^            (a(*:A)(d|e(*:B))z|aeq)
11711  +2 ^            a
11712  +3 ^^           (*:A)
11713  +8 ^^           (d|e(*:B))
11714 Latest Mark: A
11715  +9 ^^           d
11716 +11 ^^           e
11717 +12 ^ ^          (*:B)
11718 +17 ^ ^          )
11719 Latest Mark: B
11720 +18 ^ ^          z
11721 +20 ^            a
11722 +21 ^^           e
11723 +22 ^ ^          q
11724 +23 ^  ^         )
11725 +24 ^  ^         
11726  0: aeq
11727  1: aeq
11728
11729 /.(*F)/
11730     \P\Pabc
11731 No match
11732
11733 /\btype\b\W*?\btext\b\W*?\bjavascript\b/IS
11734 Capturing subpattern count = 0
11735 Max lookbehind = 1
11736 No options
11737 First char = 't'
11738 Need char = 't'
11739 Subject length lower bound = 18
11740 No starting char list
11741
11742 /\btype\b\W*?\btext\b\W*?\bjavascript\b|\burl\b\W*?\bshell:|<input\b.*?\btype\b\W*?\bimage\b|\bonkeyup\b\W*?\=/IS
11743 Capturing subpattern count = 0
11744 Max lookbehind = 1
11745 No options
11746 No first char
11747 No need char
11748 Subject length lower bound = 8
11749 Starting chars: < o t u 
11750
11751 /a(*SKIP)c|b(*ACCEPT)|/+S!I
11752 Capturing subpattern count = 0
11753 May match empty string
11754 No options
11755 No first char
11756 No need char
11757 Subject length lower bound = -1
11758 No starting char list
11759     a
11760  0: 
11761  0+ 
11762
11763 /a(*SKIP)c|b(*ACCEPT)cd(*ACCEPT)|x/SI
11764 Capturing subpattern count = 0
11765 No options
11766 No first char
11767 No need char
11768 Subject length lower bound = -1
11769 Starting chars: a b x 
11770     ax
11771  0: x
11772
11773 'a*(*ACCEPT)b'+
11774     \N\N
11775 No match
11776     abc\N\N
11777  0: a
11778  0+ bc
11779     bbb\N\N 
11780  0: 
11781  0+ bb
11782
11783 /(*ACCEPT)a/+I
11784 Capturing subpattern count = 0
11785 No options
11786 No first char
11787 No need char
11788     bax
11789  0: 
11790  0+ bax
11791
11792 /z(*ACCEPT)a/+I
11793 Capturing subpattern count = 0
11794 No options
11795 First char = 'z'
11796 No need char
11797     baxzbx
11798  0: z
11799  0+ bx
11800
11801 /a(?:.)*?a/ims                                                                  
11802     \Mabbbbbbbbbbbbbbbbbbbbba
11803 Minimum match() limit = 65
11804 Minimum match() recursion limit = 2
11805  0: abbbbbbbbbbbbbbbbbbbbba
11806     
11807 /a(?:.(*THEN))*?a/ims
11808     \Mabbbbbbbbbbbbbbbbbbbbba
11809 Minimum match() limit = 86
11810 Minimum match() recursion limit = 45
11811  0: abbbbbbbbbbbbbbbbbbbbba
11812
11813 /a(?:.(*THEN:ABC))*?a/ims
11814     \Mabbbbbbbbbbbbbbbbbbbbba
11815 Minimum match() limit = 86
11816 Minimum match() recursion limit = 45
11817  0: abbbbbbbbbbbbbbbbbbbbba
11818
11819 /^(?>a+)(?>(z+))\w/BZ
11820 ------------------------------------------------------------------
11821         Bra
11822         ^
11823         Once_NC
11824         a++
11825         Ket
11826         Once
11827         CBra 1
11828         z++
11829         Ket
11830         Ket
11831         \w
11832         Ket
11833         End
11834 ------------------------------------------------------------------
11835     aaaazzzzb
11836  0: aaaazzzzb
11837  1: zzzz
11838     ** Failers
11839 No match
11840     aazz  
11841 No match
11842
11843 /(.)(\1|a(?2))/
11844     bab
11845  0: bab
11846  1: b
11847  2: ab
11848     
11849 /\1|(.)(?R)\1/
11850     cbbbc
11851  0: cbbbc
11852  1: c
11853     
11854 /(.)((?(1)c|a)|a(?2))/
11855     baa  
11856 No match
11857
11858 /(?P<abn>(?P=abn)xxx)/BZ
11859 ------------------------------------------------------------------
11860         Bra
11861         Once
11862         CBra 1
11863         \1
11864         xxx
11865         Ket
11866         Ket
11867         Ket
11868         End
11869 ------------------------------------------------------------------
11870
11871 /(a\1z)/BZ
11872 ------------------------------------------------------------------
11873         Bra
11874         Once
11875         CBra 1
11876         a
11877         \1
11878         z
11879         Ket
11880         Ket
11881         Ket
11882         End
11883 ------------------------------------------------------------------
11884
11885 /^(?>a+)(?>b+)(?>c+)(?>d+)(?>e+)/
11886      \Maabbccddee
11887 Minimum match() limit = 7
11888 Minimum match() recursion limit = 2
11889  0: aabbccddee
11890
11891 /^(?>(a+))(?>(b+))(?>(c+))(?>(d+))(?>(e+))/
11892      \Maabbccddee
11893 Minimum match() limit = 17
11894 Minimum match() recursion limit = 16
11895  0: aabbccddee
11896  1: aa
11897  2: bb
11898  3: cc
11899  4: dd
11900  5: ee
11901
11902 /^(?>(a+))(?>b+)(?>(c+))(?>d+)(?>(e+))/
11903      \Maabbccddee
11904 Minimum match() limit = 13
11905 Minimum match() recursion limit = 10
11906  0: aabbccddee
11907  1: aa
11908  2: cc
11909  3: ee
11910
11911 /^a\x41z/<JS>
11912     aAz
11913  0: aAz
11914     *** Failers
11915 No match
11916     ax41z
11917 No match
11918
11919 /^a[m\x41]z/<JS>
11920     aAz
11921  0: aAz
11922
11923 /^a\x1z/<JS>
11924     ax1z
11925  0: ax1z
11926
11927 /^a\u0041z/<JS>
11928     aAz
11929  0: aAz
11930     *** Failers
11931 No match
11932     au0041z
11933 No match
11934
11935 /^a[m\u0041]z/<JS>
11936     aAz
11937  0: aAz
11938
11939 /^a\u041z/<JS>
11940     au041z
11941  0: au041z
11942     *** Failers
11943 No match
11944     aAz
11945 No match
11946
11947 /^a\U0041z/<JS>
11948     aU0041z
11949  0: aU0041z
11950     *** Failers
11951 No match
11952     aAz
11953 No match
11954
11955 /(?(?=c)c|d)++Y/BZ
11956 ------------------------------------------------------------------
11957         Bra
11958         BraPos
11959         Cond
11960         Assert
11961         c
11962         Ket
11963         c
11964         Alt
11965         d
11966         Ket
11967         KetRpos
11968         Y
11969         Ket
11970         End
11971 ------------------------------------------------------------------
11972
11973 /(?(?=c)c|d)*+Y/BZ
11974 ------------------------------------------------------------------
11975         Bra
11976         Braposzero
11977         BraPos
11978         Cond
11979         Assert
11980         c
11981         Ket
11982         c
11983         Alt
11984         d
11985         Ket
11986         KetRpos
11987         Y
11988         Ket
11989         End
11990 ------------------------------------------------------------------
11991
11992 /a[\NB]c/
11993 Failed: \N is not supported in a class at offset 3
11994
11995 /a[B-\Nc]/ 
11996 Failed: invalid range in character class at offset 5
11997
11998 /a[B\Nc]/ 
11999 Failed: \N is not supported in a class at offset 4
12000
12001 /(a)(?2){0,1999}?(b)/
12002
12003 /(a)(?(DEFINE)(b))(?2){0,1999}?(?2)/
12004
12005 /--- This test, with something more complicated than individual letters, causes
12006 different behaviour in Perl. Perhaps it disables some optimization; no tag is
12007 passed back for the failures, whereas in PCRE there is a tag. ---/
12008     
12009 /(A|P)(*:A)(B|P) | (X|P)(X|P)(*:B)(Y|P)/xK
12010     AABC
12011  0: AB
12012  1: A
12013  2: B
12014 MK: A
12015     XXYZ 
12016  0: XXY
12017  1: <unset>
12018  2: <unset>
12019  3: X
12020  4: X
12021  5: Y
12022 MK: B
12023     ** Failers
12024 No match
12025     XAQQ  
12026 No match, mark = A
12027     XAQQXZZ  
12028 No match, mark = A
12029     AXQQQ 
12030 No match, mark = A
12031     AXXQQQ 
12032 No match, mark = B
12033
12034 /-- Perl doesn't give marks for these, though it does if the alternatives are
12035 replaced by single letters. --/
12036     
12037 /(b|q)(*:m)f|a(*:n)w/K
12038     aw 
12039  0: aw
12040 MK: n
12041     ** Failers 
12042 No match, mark = n
12043     abc
12044 No match, mark = m
12045
12046 /(q|b)(*:m)f|a(*:n)w/K
12047     aw 
12048  0: aw
12049 MK: n
12050     ** Failers 
12051 No match, mark = n
12052     abc
12053 No match, mark = m
12054
12055 /-- After a partial match, the behaviour is as for a failure. --/
12056
12057 /^a(*:X)bcde/K
12058    abc\P
12059 Partial match, mark=X: abc
12060    
12061 /-- These are here because Perl doesn't return a mark, except for the first --/
12062
12063 /(?=(*:x))(q|)/K+
12064     abc
12065  0: 
12066  0+ abc
12067  1: 
12068 MK: x
12069
12070 /(?=(*:x))((*:y)q|)/K+
12071     abc
12072  0: 
12073  0+ abc
12074  1: 
12075 MK: x
12076
12077 /(?=(*:x))(?:(*:y)q|)/K+
12078     abc
12079  0: 
12080  0+ abc
12081 MK: x
12082
12083 /(?=(*:x))(?>(*:y)q|)/K+
12084     abc
12085  0: 
12086  0+ abc
12087 MK: x
12088
12089 /(?=a(*:x))(?!a(*:y)c)/K+
12090     ab
12091  0: 
12092  0+ ab
12093 MK: x
12094
12095 /(?=a(*:x))(?=a(*:y)c|)/K+
12096     ab
12097  0: 
12098  0+ ab
12099 MK: x
12100
12101 /(..)\1/
12102     ab\P
12103 Partial match: ab
12104     aba\P
12105 Partial match: aba
12106     abab\P
12107  0: abab
12108  1: ab
12109
12110 /(..)\1/i
12111     ab\P
12112 Partial match: ab
12113     abA\P
12114 Partial match: abA
12115     aBAb\P
12116  0: aBAb
12117  1: aB
12118
12119 /(..)\1{2,}/
12120     ab\P
12121 Partial match: ab
12122     aba\P
12123 Partial match: aba
12124     abab\P
12125 Partial match: abab
12126     ababa\P
12127 Partial match: ababa
12128     ababab\P
12129  0: ababab
12130  1: ab
12131     ababab\P\P
12132 Partial match: ababab
12133     abababa\P
12134  0: ababab
12135  1: ab
12136     abababa\P\P
12137 Partial match: abababa
12138
12139 /(..)\1{2,}/i
12140     ab\P
12141 Partial match: ab
12142     aBa\P
12143 Partial match: aBa
12144     aBAb\P
12145 Partial match: aBAb
12146     AbaBA\P
12147 Partial match: AbaBA
12148     abABAb\P
12149  0: abABAb
12150  1: ab
12151     aBAbaB\P\P
12152 Partial match: aBAbaB
12153     abABabA\P
12154  0: abABab
12155  1: ab
12156     abaBABa\P\P
12157 Partial match: abaBABa
12158
12159 /(..)\1{2,}?x/i
12160     ab\P
12161 Partial match: ab
12162     abA\P
12163 Partial match: abA
12164     aBAb\P
12165 Partial match: aBAb
12166     abaBA\P
12167 Partial match: abaBA
12168     abAbaB\P
12169 Partial match: abAbaB
12170     abaBabA\P
12171 Partial match: abaBabA
12172     abAbABaBx\P
12173  0: abAbABaBx
12174  1: ab
12175
12176 /^(..)\1/
12177     aba\P
12178 Partial match: aba
12179
12180 /^(..)\1{2,3}x/
12181     aba\P
12182 Partial match: aba
12183     ababa\P
12184 Partial match: ababa
12185     ababa\P\P
12186 Partial match: ababa
12187     abababx
12188  0: abababx
12189  1: ab
12190     ababababx  
12191  0: ababababx
12192  1: ab
12193
12194 /^(..)\1{2,3}?x/
12195     aba\P
12196 Partial match: aba
12197     ababa\P
12198 Partial match: ababa
12199     ababa\P\P
12200 Partial match: ababa
12201     abababx
12202  0: abababx
12203  1: ab
12204     ababababx  
12205  0: ababababx
12206  1: ab
12207     
12208 /^(..)(\1{2,3})ab/
12209     abababab
12210  0: abababab
12211  1: ab
12212  2: abab
12213
12214 /^\R/
12215     \r\P
12216  0: \x0d
12217     \r\P\P
12218 Partial match: \x0d
12219     
12220 /^\R{2,3}x/
12221     \r\P
12222 Partial match: \x0d
12223     \r\P\P
12224 Partial match: \x0d
12225     \r\r\P 
12226 Partial match: \x0d\x0d
12227     \r\r\P\P
12228 Partial match: \x0d\x0d
12229     \r\r\r\P  
12230 Partial match: \x0d\x0d\x0d
12231     \r\r\r\P\P
12232 Partial match: \x0d\x0d\x0d
12233     \r\rx
12234  0: \x0d\x0dx
12235     \r\r\rx    
12236  0: \x0d\x0d\x0dx
12237
12238 /^\R{2,3}?x/
12239     \r\P
12240 Partial match: \x0d
12241     \r\P\P
12242 Partial match: \x0d
12243     \r\r\P 
12244 Partial match: \x0d\x0d
12245     \r\r\P\P
12246 Partial match: \x0d\x0d
12247     \r\r\r\P  
12248 Partial match: \x0d\x0d\x0d
12249     \r\r\r\P\P
12250 Partial match: \x0d\x0d\x0d
12251     \r\rx
12252  0: \x0d\x0dx
12253     \r\r\rx    
12254  0: \x0d\x0d\x0dx
12255     
12256 /^\R?x/
12257     \r\P
12258 Partial match: \x0d
12259     \r\P\P 
12260 Partial match: \x0d
12261     x
12262  0: x
12263     \rx  
12264  0: \x0dx
12265
12266 /^\R+x/
12267     \r\P
12268 Partial match: \x0d
12269     \r\P\P 
12270 Partial match: \x0d
12271     \r\n\P
12272 Partial match: \x0d\x0a
12273     \r\n\P\P  
12274 Partial match: \x0d\x0a
12275     \rx  
12276  0: \x0dx
12277
12278 /^a$/<CRLF>
12279     a\r\P
12280 Partial match: a\x0d
12281     a\r\P\P 
12282 Partial match: a\x0d
12283
12284 /^a$/m<CRLF>
12285     a\r\P
12286 Partial match: a\x0d
12287     a\r\P\P 
12288 Partial match: a\x0d
12289
12290 /^(a$|a\r)/<CRLF>
12291     a\r\P
12292  0: a\x0d
12293  1: a\x0d
12294     a\r\P\P 
12295 Partial match: a\x0d
12296
12297 /^(a$|a\r)/m<CRLF>
12298     a\r\P
12299  0: a\x0d
12300  1: a\x0d
12301     a\r\P\P 
12302 Partial match: a\x0d
12303
12304 /./<CRLF>
12305     \r\P
12306  0: \x0d
12307     \r\P\P 
12308 Partial match: \x0d
12309   
12310 /.{2,3}/<CRLF>
12311     \r\P 
12312 Partial match: \x0d
12313     \r\P\P
12314 Partial match: \x0d
12315     \r\r\P
12316  0: \x0d\x0d
12317     \r\r\P\P
12318 Partial match: \x0d\x0d
12319     \r\r\r\P
12320  0: \x0d\x0d\x0d
12321     \r\r\r\P\P     
12322 Partial match: \x0d\x0d\x0d
12323
12324 /.{2,3}?/<CRLF>
12325     \r\P 
12326 Partial match: \x0d
12327     \r\P\P
12328 Partial match: \x0d
12329     \r\r\P
12330  0: \x0d\x0d
12331     \r\r\P\P
12332 Partial match: \x0d\x0d
12333     \r\r\r\P
12334  0: \x0d\x0d
12335     \r\r\r\P\P     
12336  0: \x0d\x0d
12337
12338 "AB(C(D))(E(F))?(?(?=\2)(?=\4))"
12339     ABCDGHI\O03
12340 Matched, but too many substrings
12341  0: ABCD
12342     
12343 /-- These are all run as real matches in test 1; here we are just checking the
12344 settings of the anchored and startline bits. --/ 
12345
12346 /(?>.*?a)(?<=ba)/I
12347 Capturing subpattern count = 0
12348 Max lookbehind = 2
12349 No options
12350 No first char
12351 Need char = 'a'
12352
12353 /(?:.*?a)(?<=ba)/I
12354 Capturing subpattern count = 0
12355 Max lookbehind = 2
12356 No options
12357 First char at start or follows newline
12358 Need char = 'a'
12359
12360 /.*?a(*PRUNE)b/I
12361 Capturing subpattern count = 0
12362 No options
12363 No first char
12364 Need char = 'b'
12365
12366 /.*?a(*PRUNE)b/sI
12367 Capturing subpattern count = 0
12368 Options: dotall
12369 No first char
12370 Need char = 'b'
12371
12372 /^a(*PRUNE)b/sI
12373 Capturing subpattern count = 0
12374 Options: anchored dotall
12375 No first char
12376 No need char
12377
12378 /.*?a(*SKIP)b/I
12379 Capturing subpattern count = 0
12380 No options
12381 No first char
12382 Need char = 'b'
12383
12384 /(?>.*?a)b/sI
12385 Capturing subpattern count = 0
12386 Options: dotall
12387 No first char
12388 Need char = 'b'
12389
12390 /(?>.*?a)b/I
12391 Capturing subpattern count = 0
12392 No options
12393 No first char
12394 Need char = 'b'
12395
12396 /(?>^a)b/sI
12397 Capturing subpattern count = 0
12398 Options: anchored dotall
12399 No first char
12400 No need char
12401
12402 /(?>.*?)(?<=(abcd)|(wxyz))/I
12403 Capturing subpattern count = 2
12404 Max lookbehind = 4
12405 May match empty string
12406 No options
12407 No first char
12408 No need char
12409
12410 /(?>.*)(?<=(abcd)|(wxyz))/I
12411 Capturing subpattern count = 2
12412 Max lookbehind = 4
12413 May match empty string
12414 No options
12415 No first char
12416 No need char
12417
12418 "(?>.*)foo"I
12419 Capturing subpattern count = 0
12420 No options
12421 No first char
12422 Need char = 'o'
12423
12424 "(?>.*?)foo"I
12425 Capturing subpattern count = 0
12426 No options
12427 No first char
12428 Need char = 'o'
12429
12430 /(?>^abc)/mI
12431 Capturing subpattern count = 0
12432 Options: multiline
12433 First char at start or follows newline
12434 Need char = 'c'
12435
12436 /(?>.*abc)/mI
12437 Capturing subpattern count = 0
12438 Options: multiline
12439 No first char
12440 Need char = 'c'
12441
12442 /(?:.*abc)/mI
12443 Capturing subpattern count = 0
12444 Options: multiline
12445 First char at start or follows newline
12446 Need char = 'c'
12447
12448 /-- Check PCRE_STUDY_EXTRA_NEEDED --/
12449
12450 /.?/S-I
12451 Capturing subpattern count = 0
12452 May match empty string
12453 No options
12454 No first char
12455 No need char
12456 Study returned NULL
12457
12458 /.?/S!I
12459 Capturing subpattern count = 0
12460 May match empty string
12461 No options
12462 No first char
12463 No need char
12464 Subject length lower bound = -1
12465 No starting char list
12466
12467 /(?:(a)+(?C1)bb|aa(?C2)b)/
12468     aab\C+
12469 Callout 1: last capture = 1
12470  0: <unset>
12471  1: a
12472 --->aab
12473     ^ ^     b
12474 Callout 1: last capture = 1
12475  0: <unset>
12476  1: a
12477 --->aab
12478     ^^      b
12479 Callout 2: last capture = -1
12480  0: <unset>
12481 --->aab
12482     ^ ^     b
12483  0: aab
12484    
12485 /(?:(a)++(?C1)bb|aa(?C2)b)/
12486     aab\C+ 
12487 Callout 1: last capture = 1
12488  0: <unset>
12489  1: a
12490 --->aab
12491     ^ ^     b
12492 Callout 2: last capture = -1
12493  0: <unset>
12494 --->aab
12495     ^ ^     b
12496  0: aab
12497     
12498 /(?:(?>(a))(?C1)bb|aa(?C2)b)/
12499     aab\C+ 
12500 Callout 1: last capture = 1
12501  0: <unset>
12502  1: a
12503 --->aab
12504     ^^      b
12505 Callout 2: last capture = -1
12506  0: <unset>
12507 --->aab
12508     ^ ^     b
12509  0: aab
12510
12511 /(?:(?1)(?C1)x|ab(?C2))((a)){0}/                                                
12512     aab\C+ 
12513 Callout 1: last capture = -1
12514  0: <unset>
12515 --->aab
12516     ^^      x
12517 Callout 1: last capture = -1
12518  0: <unset>
12519 --->aab
12520      ^^     x
12521 Callout 2: last capture = -1
12522  0: <unset>
12523 --->aab
12524      ^ ^    )
12525  0: ab
12526
12527 /(?1)(?C1)((a)(?C2)){0}/   
12528     aab\C+ 
12529 Callout 2: last capture = 2
12530  0: <unset>
12531  1: <unset>
12532  2: a
12533 --->aab
12534     ^^      )
12535 Callout 1: last capture = -1
12536  0: <unset>
12537 --->aab
12538     ^^      ((a)(?C2)){0}
12539  0: a
12540
12541 /(?:(a)+(?C1)bb|aa(?C2)b)++/
12542     aab\C+
12543 Callout 1: last capture = 1
12544  0: <unset>
12545  1: a
12546 --->aab
12547     ^ ^     b
12548 Callout 1: last capture = 1
12549  0: <unset>
12550  1: a
12551 --->aab
12552     ^^      b
12553 Callout 2: last capture = -1
12554  0: <unset>
12555 --->aab
12556     ^ ^     b
12557  0: aab
12558     aab\C+\O2
12559 Callout 1: last capture = 1
12560  0: <unset>
12561 --->aab
12562     ^ ^     b
12563 Callout 1: last capture = 1
12564  0: <unset>
12565 --->aab
12566     ^^      b
12567 Callout 2: last capture = -1
12568  0: <unset>
12569 --->aab
12570     ^ ^     b
12571  0: aab
12572
12573 /(ab)x|ab/
12574     ab\O3
12575  0: ab
12576     ab\O2 
12577  0: ab
12578   
12579 /(ab)/
12580     ab\O3
12581 Matched, but too many substrings
12582  0: ab
12583     ab\O2 
12584 Matched, but too many substrings
12585  0: ab
12586     
12587 /(?<=123)(*MARK:xx)abc/K
12588     xxxx123a\P\P
12589 Partial match at offset 7, mark=xx: 123a
12590     xxxx123a\P
12591 Partial match at offset 7, mark=xx: 123a
12592     
12593 /123\Kabc/
12594     xxxx123a\P\P
12595 Partial match: 123a
12596     xxxx123a\P
12597 Partial match: 123a
12598
12599 /^(?(?=a)aa|bb)/C
12600     bb
12601 --->bb
12602  +0 ^      ^
12603  +1 ^      (?(?=a)aa|bb)
12604  +3 ^      (?=a)
12605  +6 ^      a
12606 +11 ^      b
12607 +12 ^^     b
12608 +13 ^ ^    )
12609 +14 ^ ^    
12610  0: bb
12611
12612 /(?C1)^(?C2)(?(?C99)(?=(?C3)a(?C4))(?C5)a(?C6)a(?C7)|(?C8)b(?C9)b(?C10))(?C11)/
12613     bb
12614 --->bb
12615   1 ^      ^
12616   2 ^      (?(?C99)(?=(?C3)a(?C4))(?C5)a(?C6)a(?C7)|(?C8)b(?C9)b(?C10))
12617  99 ^      (?=(?C3)a(?C4))
12618   3 ^      a
12619   8 ^      b
12620   9 ^^     b
12621  10 ^ ^    )
12622  11 ^ ^    
12623  0: bb
12624
12625 /-- Perl seems to have a bug with this one --/
12626
12627 /aaaaa(*COMMIT)(*PRUNE)b|a+c/
12628     aaaaaac
12629  0: aaaac
12630     
12631 /-- Here are some that Perl treats differently because of the way it handles
12632 backtracking verbs. --/
12633
12634  /(?!a(*COMMIT)b)ac|ad/
12635      ac
12636  0: ac
12637      ad 
12638  0: ad
12639
12640 /^(?!a(*THEN)b|ac)../
12641      ac
12642 No match
12643      ad 
12644  0: ad
12645
12646 /^(?=a(*THEN)b|ac)/
12647     ac
12648  0: 
12649     
12650 /\A.*?(?:a|b(*THEN)c)/
12651     ba
12652  0: ba
12653
12654 /\A.*?(?:a|b(*THEN)c)++/
12655     ba
12656  0: ba
12657
12658 /\A.*?(?:a|b(*THEN)c|d)/
12659     ba
12660  0: ba
12661
12662 /(?:(a(*MARK:X)a+(*SKIP:X)b)){0}(?:(?1)|aac)/
12663     aac 
12664  0: aac
12665
12666 /\A.*?(a|b(*THEN)c)/
12667     ba
12668  0: ba
12669  1: a
12670
12671 /^(A(*THEN)B|A(*THEN)D)/
12672     AD           
12673  0: AD
12674  1: AD
12675     
12676 /(?!b(*THEN)a)bn|bnn/
12677     bnn
12678  0: bn
12679
12680 /(?(?=b(*SKIP)a)bn|bnn)/
12681     bnn
12682 No match
12683
12684 /(?=b(*THEN)a|)bn|bnn/
12685     bnn
12686  0: bn
12687
12688 /-------------------------/ 
12689
12690 /(*LIMIT_MATCH=12bc)abc/
12691 Failed: (*VERB) not recognized or malformed at offset 7
12692
12693 /(*LIMIT_MATCH=4294967290)abc/
12694 Failed: (*VERB) not recognized or malformed at offset 7
12695
12696 /(*LIMIT_RECURSION=4294967280)abc/I
12697 Capturing subpattern count = 0
12698 Recursion limit = 4294967280
12699 No options
12700 First char = 'a'
12701 Need char = 'c'
12702
12703 /(a+)*zz/
12704     aaaaaaaaaaaaaz
12705 No match
12706     aaaaaaaaaaaaaz\q3000
12707 Error -8 (match limit exceeded)
12708
12709 /(a+)*zz/S-
12710     aaaaaaaaaaaaaz\Q10 
12711 Error -21 (recursion limit exceeded)
12712
12713 /(*LIMIT_MATCH=3000)(a+)*zz/I
12714 Capturing subpattern count = 1
12715 Match limit = 3000
12716 No options
12717 No first char
12718 Need char = 'z'
12719     aaaaaaaaaaaaaz
12720 Error -8 (match limit exceeded)
12721     aaaaaaaaaaaaaz\q60000
12722 Error -8 (match limit exceeded)
12723
12724 /(*LIMIT_MATCH=60000)(*LIMIT_MATCH=3000)(a+)*zz/I
12725 Capturing subpattern count = 1
12726 Match limit = 3000
12727 No options
12728 No first char
12729 Need char = 'z'
12730     aaaaaaaaaaaaaz
12731 Error -8 (match limit exceeded)
12732
12733 /(*LIMIT_MATCH=60000)(a+)*zz/I
12734 Capturing subpattern count = 1
12735 Match limit = 60000
12736 No options
12737 No first char
12738 Need char = 'z'
12739     aaaaaaaaaaaaaz
12740 No match
12741     aaaaaaaaaaaaaz\q3000
12742 Error -8 (match limit exceeded)
12743
12744 /(*LIMIT_RECURSION=10)(a+)*zz/IS-
12745 Capturing subpattern count = 1
12746 Recursion limit = 10
12747 No options
12748 No first char
12749 Need char = 'z'
12750 Subject length lower bound = 2
12751 Starting chars: a z 
12752     aaaaaaaaaaaaaz
12753 Error -21 (recursion limit exceeded)
12754     aaaaaaaaaaaaaz\Q1000
12755 Error -21 (recursion limit exceeded)
12756
12757 /(*LIMIT_RECURSION=10)(*LIMIT_RECURSION=1000)(a+)*zz/IS-
12758 Capturing subpattern count = 1
12759 Recursion limit = 10
12760 No options
12761 No first char
12762 Need char = 'z'
12763 Subject length lower bound = 2
12764 Starting chars: a z 
12765     aaaaaaaaaaaaaz
12766 Error -21 (recursion limit exceeded)
12767
12768 /(*LIMIT_RECURSION=1000)(a+)*zz/IS-
12769 Capturing subpattern count = 1
12770 Recursion limit = 1000
12771 No options
12772 No first char
12773 Need char = 'z'
12774 Subject length lower bound = 2
12775 Starting chars: a z 
12776     aaaaaaaaaaaaaz
12777 No match
12778     aaaaaaaaaaaaaz\Q10
12779 Error -21 (recursion limit exceeded)
12780
12781 /-- This test causes a segfault with Perl 5.18.0 --/
12782
12783 /^(?=(a)){0}b(?1)/
12784     backgammon
12785  0: ba
12786
12787 /(?|(?<n>f)|(?<n>b))/JI
12788 Capturing subpattern count = 1
12789 Named capturing subpatterns:
12790   n   1
12791 Options: dupnames
12792 No first char
12793 No need char
12794
12795 /(?<a>abc)(?<a>z)\k<a>()/JDZS
12796 ------------------------------------------------------------------
12797         Bra
12798         CBra 1
12799         abc
12800         Ket
12801         CBra 2
12802         z
12803         Ket
12804         \k<a>2
12805         CBra 3
12806         Ket
12807         Ket
12808         End
12809 ------------------------------------------------------------------
12810 Capturing subpattern count = 3
12811 Max back reference = 2
12812 Named capturing subpatterns:
12813   a   1
12814   a   2
12815 Options: dupnames
12816 First char = 'a'
12817 Need char = 'z'
12818 Subject length lower bound = 5
12819 No starting char list
12820
12821 /a*[bcd]/BZ
12822 ------------------------------------------------------------------
12823         Bra
12824         a*+
12825         [b-d]
12826         Ket
12827         End
12828 ------------------------------------------------------------------
12829
12830 /[bcd]*a/BZ
12831 ------------------------------------------------------------------
12832         Bra
12833         [b-d]*+
12834         a
12835         Ket
12836         End
12837 ------------------------------------------------------------------
12838
12839 /-- A complete set of tests for auto-possessification of character types --/
12840
12841 /\D+\D \D+\d \D+\S \D+\s \D+\W \D+\w \D+. \D+\C \D+\R \D+\H \D+\h \D+\V \D+\v \D+\Z \D+\z \D+$/BZx
12842 ------------------------------------------------------------------
12843         Bra
12844         \D+
12845         \D
12846         \D++
12847         \d
12848         \D+
12849         \S
12850         \D+
12851         \s
12852         \D+
12853         \W
12854         \D+
12855         \w
12856         \D+
12857         Any
12858         \D+
12859         AllAny
12860         \D+
12861         \R
12862         \D+
12863         \H
12864         \D+
12865         \h
12866         \D+
12867         \V
12868         \D+
12869         \v
12870         \D+
12871         \Z
12872         \D++
12873         \z
12874         \D+
12875         $
12876         Ket
12877         End
12878 ------------------------------------------------------------------
12879
12880 /\d+\D \d+\d \d+\S \d+\s \d+\W \d+\w \d+. \d+\C \d+\R \d+\H \d+\h \d+\V \d+\v \d+\Z \d+\z \d+$/BZx
12881 ------------------------------------------------------------------
12882         Bra
12883         \d++
12884         \D
12885         \d+
12886         \d
12887         \d+
12888         \S
12889         \d++
12890         \s
12891         \d++
12892         \W
12893         \d+
12894         \w
12895         \d+
12896         Any
12897         \d+
12898         AllAny
12899         \d++
12900         \R
12901         \d+
12902         \H
12903         \d++
12904         \h
12905         \d+
12906         \V
12907         \d++
12908         \v
12909         \d++
12910         \Z
12911         \d++
12912         \z
12913         \d++
12914         $
12915         Ket
12916         End
12917 ------------------------------------------------------------------
12918
12919 /\S+\D \S+\d \S+\S \S+\s \S+\W \S+\w \S+. \S+\C \S+\R \S+\H \S+\h \S+\V \S+\v \S+\Z \S+\z \S+$/BZx
12920 ------------------------------------------------------------------
12921         Bra
12922         \S+
12923         \D
12924         \S+
12925         \d
12926         \S+
12927         \S
12928         \S++
12929         \s
12930         \S+
12931         \W
12932         \S+
12933         \w
12934         \S+
12935         Any
12936         \S+
12937         AllAny
12938         \S++
12939         \R
12940         \S+
12941         \H
12942         \S++
12943         \h
12944         \S+
12945         \V
12946         \S++
12947         \v
12948         \S++
12949         \Z
12950         \S++
12951         \z
12952         \S++
12953         $
12954         Ket
12955         End
12956 ------------------------------------------------------------------
12957
12958 /\s+\D \s+\d \s+\S \s+\s \s+\W \s+\w \s+. \s+\C \s+\R \s+\H \s+\h \s+\V \s+\v \s+\Z \s+\z \s+$/BZx
12959 ------------------------------------------------------------------
12960         Bra
12961         \s+
12962         \D
12963         \s++
12964         \d
12965         \s++
12966         \S
12967         \s+
12968         \s
12969         \s+
12970         \W
12971         \s++
12972         \w
12973         \s+
12974         Any
12975         \s+
12976         AllAny
12977         \s+
12978         \R
12979         \s+
12980         \H
12981         \s+
12982         \h
12983         \s+
12984         \V
12985         \s+
12986         \v
12987         \s+
12988         \Z
12989         \s++
12990         \z
12991         \s+
12992         $
12993         Ket
12994         End
12995 ------------------------------------------------------------------
12996
12997 /\W+\D \W+\d \W+\S \W+\s \W+\W \W+\w \W+. \W+\C \W+\R \W+\H \W+\h \W+\V \W+\v \W+\Z \W+\z \W+$/BZx
12998 ------------------------------------------------------------------
12999         Bra
13000         \W+
13001         \D
13002         \W++
13003         \d
13004         \W+
13005         \S
13006         \W+
13007         \s
13008         \W+
13009         \W
13010         \W++
13011         \w
13012         \W+
13013         Any
13014         \W+
13015         AllAny
13016         \W+
13017         \R
13018         \W+
13019         \H
13020         \W+
13021         \h
13022         \W+
13023         \V
13024         \W+
13025         \v
13026         \W+
13027         \Z
13028         \W++
13029         \z
13030         \W+
13031         $
13032         Ket
13033         End
13034 ------------------------------------------------------------------
13035
13036 /\w+\D \w+\d \w+\S \w+\s \w+\W \w+\w \w+. \w+\C \w+\R \w+\H \w+\h \w+\V \w+\v \w+\Z \w+\z \w+$/BZx
13037 ------------------------------------------------------------------
13038         Bra
13039         \w+
13040         \D
13041         \w+
13042         \d
13043         \w+
13044         \S
13045         \w++
13046         \s
13047         \w++
13048         \W
13049         \w+
13050         \w
13051         \w+
13052         Any
13053         \w+
13054         AllAny
13055         \w++
13056         \R
13057         \w+
13058         \H
13059         \w++
13060         \h
13061         \w+
13062         \V
13063         \w++
13064         \v
13065         \w++
13066         \Z
13067         \w++
13068         \z
13069         \w++
13070         $
13071         Ket
13072         End
13073 ------------------------------------------------------------------
13074
13075 /\C+\D \C+\d \C+\S \C+\s \C+\W \C+\w \C+. \C+\C \C+\R \C+\H \C+\h \C+\V \C+\v \C+\Z \C+\z \C+$/BZx
13076 ------------------------------------------------------------------
13077         Bra
13078         AllAny+
13079         \D
13080         AllAny+
13081         \d
13082         AllAny+
13083         \S
13084         AllAny+
13085         \s
13086         AllAny+
13087         \W
13088         AllAny+
13089         \w
13090         AllAny+
13091         Any
13092         AllAny+
13093         AllAny
13094         AllAny+
13095         \R
13096         AllAny+
13097         \H
13098         AllAny+
13099         \h
13100         AllAny+
13101         \V
13102         AllAny+
13103         \v
13104         AllAny+
13105         \Z
13106         AllAny++
13107         \z
13108         AllAny+
13109         $
13110         Ket
13111         End
13112 ------------------------------------------------------------------
13113
13114 /\R+\D \R+\d \R+\S \R+\s \R+\W \R+\w \R+. \R+\C \R+\R \R+\H \R+\h \R+\V \R+\v \R+\Z \R+\z \R+$/BZx
13115 ------------------------------------------------------------------
13116         Bra
13117         \R+
13118         \D
13119         \R++
13120         \d
13121         \R+
13122         \S
13123         \R++
13124         \s
13125         \R+
13126         \W
13127         \R++
13128         \w
13129         \R++
13130         Any
13131         \R+
13132         AllAny
13133         \R+
13134         \R
13135         \R+
13136         \H
13137         \R++
13138         \h
13139         \R+
13140         \V
13141         \R+
13142         \v
13143         \R+
13144         \Z
13145         \R++
13146         \z
13147         \R+
13148         $
13149         Ket
13150         End
13151 ------------------------------------------------------------------
13152
13153 /\H+\D \H+\d \H+\S \H+\s \H+\W \H+\w \H+. \H+\C \H+\R \H+\H \H+\h \H+\V \H+\v \H+\Z \H+\z \H+$/BZx
13154 ------------------------------------------------------------------
13155         Bra
13156         \H+
13157         \D
13158         \H+
13159         \d
13160         \H+
13161         \S
13162         \H+
13163         \s
13164         \H+
13165         \W
13166         \H+
13167         \w
13168         \H+
13169         Any
13170         \H+
13171         AllAny
13172         \H+
13173         \R
13174         \H+
13175         \H
13176         \H++
13177         \h
13178         \H+
13179         \V
13180         \H+
13181         \v
13182         \H+
13183         \Z
13184         \H++
13185         \z
13186         \H+
13187         $
13188         Ket
13189         End
13190 ------------------------------------------------------------------
13191
13192 /\h+\D \h+\d \h+\S \h+\s \h+\W \h+\w \h+. \h+\C \h+\R \h+\H \h+\h \h+\V \h+\v \h+\Z \h+\z \h+$/BZx
13193 ------------------------------------------------------------------
13194         Bra
13195         \h+
13196         \D
13197         \h++
13198         \d
13199         \h++
13200         \S
13201         \h+
13202         \s
13203         \h+
13204         \W
13205         \h++
13206         \w
13207         \h+
13208         Any
13209         \h+
13210         AllAny
13211         \h++
13212         \R
13213         \h++
13214         \H
13215         \h+
13216         \h
13217         \h+
13218         \V
13219         \h++
13220         \v
13221         \h+
13222         \Z
13223         \h++
13224         \z
13225         \h+
13226         $
13227         Ket
13228         End
13229 ------------------------------------------------------------------
13230
13231 /\V+\D \V+\d \V+\S \V+\s \V+\W \V+\w \V+. \V+\C \V+\R \V+\H \V+\h \V+\V \V+\v \V+\Z \V+\z \V+$/BZx
13232 ------------------------------------------------------------------
13233         Bra
13234         \V+
13235         \D
13236         \V+
13237         \d
13238         \V+
13239         \S
13240         \V+
13241         \s
13242         \V+
13243         \W
13244         \V+
13245         \w
13246         \V+
13247         Any
13248         \V+
13249         AllAny
13250         \V++
13251         \R
13252         \V+
13253         \H
13254         \V+
13255         \h
13256         \V+
13257         \V
13258         \V++
13259         \v
13260         \V+
13261         \Z
13262         \V++
13263         \z
13264         \V+
13265         $
13266         Ket
13267         End
13268 ------------------------------------------------------------------
13269
13270 /\v+\D \v+\d \v+\S \v+\s \v+\W \v+\w \v+. \v+\C \v+\R \v+\H \v+\h \v+\V \v+\v \v+\Z \v+\z \v+$/BZx
13271 ------------------------------------------------------------------
13272         Bra
13273         \v+
13274         \D
13275         \v++
13276         \d
13277         \v++
13278         \S
13279         \v+
13280         \s
13281         \v+
13282         \W
13283         \v++
13284         \w
13285         \v+
13286         Any
13287         \v+
13288         AllAny
13289         \v+
13290         \R
13291         \v+
13292         \H
13293         \v++
13294         \h
13295         \v++
13296         \V
13297         \v+
13298         \v
13299         \v+
13300         \Z
13301         \v++
13302         \z
13303         \v+
13304         $
13305         Ket
13306         End
13307 ------------------------------------------------------------------
13308
13309 / a+\D  a+\d  a+\S  a+\s  a+\W  a+\w  a+.  a+\C  a+\R  a+\H  a+\h  a+\V  a+\v  a+\Z  a+\z  a+$/BZx
13310 ------------------------------------------------------------------
13311         Bra
13312         a+
13313         \D
13314         a++
13315         \d
13316         a+
13317         \S
13318         a++
13319         \s
13320         a++
13321         \W
13322         a+
13323         \w
13324         a+
13325         Any
13326         a+
13327         AllAny
13328         a++
13329         \R
13330         a+
13331         \H
13332         a++
13333         \h
13334         a+
13335         \V
13336         a++
13337         \v
13338         a++
13339         \Z
13340         a++
13341         \z
13342         a++
13343         $
13344         Ket
13345         End
13346 ------------------------------------------------------------------
13347
13348 /\n+\D \n+\d \n+\S \n+\s \n+\W \n+\w \n+. \n+\C \n+\R \n+\H \n+\h \n+\V \n+\v \n+\Z \n+\z \n+$/BZx
13349 ------------------------------------------------------------------
13350         Bra
13351         \x0a+
13352         \D
13353         \x0a++
13354         \d
13355         \x0a++
13356         \S
13357         \x0a+
13358         \s
13359         \x0a+
13360         \W
13361         \x0a++
13362         \w
13363         \x0a+
13364         Any
13365         \x0a+
13366         AllAny
13367         \x0a+
13368         \R
13369         \x0a+
13370         \H
13371         \x0a++
13372         \h
13373         \x0a++
13374         \V
13375         \x0a+
13376         \v
13377         \x0a+
13378         \Z
13379         \x0a++
13380         \z
13381         \x0a+
13382         $
13383         Ket
13384         End
13385 ------------------------------------------------------------------
13386
13387 / .+\D  .+\d  .+\S  .+\s  .+\W  .+\w  .+.  .+\C  .+\R  .+\H  .+\h  .+\V  .+\v  .+\Z  .+\z  .+$/BZx
13388 ------------------------------------------------------------------
13389         Bra
13390         Any+
13391         \D
13392         Any+
13393         \d
13394         Any+
13395         \S
13396         Any+
13397         \s
13398         Any+
13399         \W
13400         Any+
13401         \w
13402         Any+
13403         Any
13404         Any+
13405         AllAny
13406         Any++
13407         \R
13408         Any+
13409         \H
13410         Any+
13411         \h
13412         Any+
13413         \V
13414         Any+
13415         \v
13416         Any+
13417         \Z
13418         Any++
13419         \z
13420         Any+
13421         $
13422         Ket
13423         End
13424 ------------------------------------------------------------------
13425
13426 / .+\D  .+\d  .+\S  .+\s  .+\W  .+\w  .+.  .+\C  .+\R  .+\H  .+\h  .+\V  .+\v  .+\Z  .+\z  .+$/BZxs
13427 ------------------------------------------------------------------
13428         Bra
13429         AllAny+
13430         \D
13431         AllAny+
13432         \d
13433         AllAny+
13434         \S
13435         AllAny+
13436         \s
13437         AllAny+
13438         \W
13439         AllAny+
13440         \w
13441         AllAny+
13442         AllAny
13443         AllAny+
13444         AllAny
13445         AllAny+
13446         \R
13447         AllAny+
13448         \H
13449         AllAny+
13450         \h
13451         AllAny+
13452         \V
13453         AllAny+
13454         \v
13455         AllAny+
13456         \Z
13457         AllAny++
13458         \z
13459         AllAny+
13460         $
13461         Ket
13462         End
13463 ------------------------------------------------------------------
13464
13465 /\D+$  \d+$  \S+$  \s+$  \W+$  \w+$  \C+$  \R+$  \H+$  \h+$  \V+$  \v+$   a+$  \n+$   .+$  .+$/BZxm
13466 ------------------------------------------------------------------
13467         Bra
13468         \D+
13469      /m $
13470         \d++
13471      /m $
13472         \S++
13473      /m $
13474         \s+
13475      /m $
13476         \W+
13477      /m $
13478         \w++
13479      /m $
13480         AllAny+
13481      /m $
13482         \R+
13483      /m $
13484         \H+
13485      /m $
13486         \h+
13487      /m $
13488         \V+
13489      /m $
13490         \v+
13491      /m $
13492         a+
13493      /m $
13494         \x0a+
13495      /m $
13496         Any+
13497      /m $
13498         Any+
13499      /m $
13500         Ket
13501         End
13502 ------------------------------------------------------------------
13503
13504 /(?=a+)a(a+)++a/BZ
13505 ------------------------------------------------------------------
13506         Bra
13507         Assert
13508         a++
13509         Ket
13510         a
13511         CBraPos 1
13512         a++
13513         KetRpos
13514         a
13515         Ket
13516         End
13517 ------------------------------------------------------------------
13518
13519 /a+(bb|cc)a+(?:bb|cc)a+(?>bb|cc)a+(?:bb|cc)+a+(aa)a+(?:bb|aa)/BZ
13520 ------------------------------------------------------------------
13521         Bra
13522         a++
13523         CBra 1
13524         bb
13525         Alt
13526         cc
13527         Ket
13528         a++
13529         Bra
13530         bb
13531         Alt
13532         cc
13533         Ket
13534         a++
13535         Once_NC
13536         bb
13537         Alt
13538         cc
13539         Ket
13540         a++
13541         Bra
13542         bb
13543         Alt
13544         cc
13545         KetRmax
13546         a+
13547         CBra 2
13548         aa
13549         Ket
13550         a+
13551         Bra
13552         bb
13553         Alt
13554         aa
13555         Ket
13556         Ket
13557         End
13558 ------------------------------------------------------------------
13559
13560 /a+(bb|cc)?#a+(?:bb|cc)??#a+(?:bb|cc)?+#a+(?:bb|cc)*#a+(bb|cc)?a#a+(?:aa)?/BZ
13561 ------------------------------------------------------------------
13562         Bra
13563         a++
13564         Brazero
13565         CBra 1
13566         bb
13567         Alt
13568         cc
13569         Ket
13570         #
13571         a++
13572         Braminzero
13573         Bra
13574         bb
13575         Alt
13576         cc
13577         Ket
13578         #
13579         a++
13580         Once
13581         Brazero
13582         Bra
13583         bb
13584         Alt
13585         cc
13586         Ket
13587         Ket
13588         #
13589         a++
13590         Brazero
13591         Bra
13592         bb
13593         Alt
13594         cc
13595         KetRmax
13596         #
13597         a+
13598         Brazero
13599         CBra 2
13600         bb
13601         Alt
13602         cc
13603         Ket
13604         a#
13605         a+
13606         Brazero
13607         Bra
13608         aa
13609         Ket
13610         Ket
13611         End
13612 ------------------------------------------------------------------
13613
13614 /a+(?:bb)?a#a+(?:|||)#a+(?:|b)a#a+(?:|||)?a/BZ
13615 ------------------------------------------------------------------
13616         Bra
13617         a+
13618         Brazero
13619         Bra
13620         bb
13621         Ket
13622         a#
13623         a++
13624         Bra
13625         Alt
13626         Alt
13627         Alt
13628         Ket
13629         #
13630         a+
13631         Bra
13632         Alt
13633         b
13634         Ket
13635         a#
13636         a+
13637         Brazero
13638         Bra
13639         Alt
13640         Alt
13641         Alt
13642         Ket
13643         a
13644         Ket
13645         End
13646 ------------------------------------------------------------------
13647
13648 /[ab]*/BZ
13649 ------------------------------------------------------------------
13650         Bra
13651         [ab]*+
13652         Ket
13653         End
13654 ------------------------------------------------------------------
13655     aaaa
13656  0: aaaa
13657
13658 /[ab]*?/BZ
13659 ------------------------------------------------------------------
13660         Bra
13661         [ab]*?
13662         Ket
13663         End
13664 ------------------------------------------------------------------
13665     aaaa
13666  0: 
13667
13668 /[ab]?/BZ
13669 ------------------------------------------------------------------
13670         Bra
13671         [ab]?+
13672         Ket
13673         End
13674 ------------------------------------------------------------------
13675     aaaa
13676  0: a
13677
13678 /[ab]??/BZ
13679 ------------------------------------------------------------------
13680         Bra
13681         [ab]??
13682         Ket
13683         End
13684 ------------------------------------------------------------------
13685     aaaa
13686  0: 
13687
13688 /[ab]+/BZ
13689 ------------------------------------------------------------------
13690         Bra
13691         [ab]++
13692         Ket
13693         End
13694 ------------------------------------------------------------------
13695     aaaa
13696  0: aaaa
13697
13698 /[ab]+?/BZ
13699 ------------------------------------------------------------------
13700         Bra
13701         [ab]+?
13702         Ket
13703         End
13704 ------------------------------------------------------------------
13705     aaaa
13706  0: a
13707
13708 /[ab]{2,3}/BZ
13709 ------------------------------------------------------------------
13710         Bra
13711         [ab]{2,3}+
13712         Ket
13713         End
13714 ------------------------------------------------------------------
13715     aaaa
13716  0: aaa
13717
13718 /[ab]{2,3}?/BZ
13719 ------------------------------------------------------------------
13720         Bra
13721         [ab]{2,3}?
13722         Ket
13723         End
13724 ------------------------------------------------------------------
13725     aaaa
13726  0: aa
13727
13728 /[ab]{2,}/BZ
13729 ------------------------------------------------------------------
13730         Bra
13731         [ab]{2,}+
13732         Ket
13733         End
13734 ------------------------------------------------------------------
13735     aaaa
13736  0: aaaa
13737
13738 /[ab]{2,}?/BZ
13739 ------------------------------------------------------------------
13740         Bra
13741         [ab]{2,}?
13742         Ket
13743         End
13744 ------------------------------------------------------------------
13745     aaaa
13746  0: aa
13747
13748 /\d+\s{0,5}=\s*\S?=\w{0,4}\W*/BZ
13749 ------------------------------------------------------------------
13750         Bra
13751         \d++
13752         \s{0,5}+
13753         =
13754         \s*+
13755         \S?
13756         =
13757         \w{0,4}+
13758         \W*+
13759         Ket
13760         End
13761 ------------------------------------------------------------------
13762
13763 /[a-d]{5,12}[e-z0-9]*#[^a-z]+[b-y]*a[2-7]?[^0-9a-z]+/BZ
13764 ------------------------------------------------------------------
13765         Bra
13766         [a-d]{5,12}+
13767         [0-9e-z]*+
13768         #
13769         [\x00-`{-\xff] (neg)++
13770         [b-y]*+
13771         a
13772         [2-7]?+
13773         [\x00-/:-`{-\xff] (neg)++
13774         Ket
13775         End
13776 ------------------------------------------------------------------
13777
13778 /[a-z]*\s#[ \t]?\S#[a-c]*\S#[C-G]+?\d#[4-8]*\D#[4-9,]*\D#[!$]{0,5}\w#[M-Xf-l]+\W#[a-c,]?\W/BZ
13779 ------------------------------------------------------------------
13780         Bra
13781         [a-z]*+
13782         \s
13783         #
13784         [\x09 ]?+
13785         \S
13786         #
13787         [a-c]*
13788         \S
13789         #
13790         [C-G]++
13791         \d
13792         #
13793         [4-8]*+
13794         \D
13795         #
13796         [,4-9]*
13797         \D
13798         #
13799         [!$]{0,5}+
13800         \w
13801         #
13802         [M-Xf-l]++
13803         \W
13804         #
13805         [,a-c]?
13806         \W
13807         Ket
13808         End
13809 ------------------------------------------------------------------
13810
13811 /a+(aa|bb)*c#a*(bb|cc)*a#a?(bb|cc)*d#[a-f]*(g|hh)*f/BZ
13812 ------------------------------------------------------------------
13813         Bra
13814         a+
13815         Brazero
13816         CBra 1
13817         aa
13818         Alt
13819         bb
13820         KetRmax
13821         c#
13822         a*
13823         Brazero
13824         CBra 2
13825         bb
13826         Alt
13827         cc
13828         KetRmax
13829         a#
13830         a?+
13831         Brazero
13832         CBra 3
13833         bb
13834         Alt
13835         cc
13836         KetRmax
13837         d#
13838         [a-f]*
13839         Brazero
13840         CBra 4
13841         g
13842         Alt
13843         hh
13844         KetRmax
13845         f
13846         Ket
13847         End
13848 ------------------------------------------------------------------
13849
13850 /[a-f]*(g|hh|i)*i#[a-x]{4,}(y{0,6})*y#[a-k]+(ll|mm)+n/BZ
13851 ------------------------------------------------------------------
13852         Bra
13853         [a-f]*+
13854         Brazero
13855         CBra 1
13856         g
13857         Alt
13858         hh
13859         Alt
13860         i
13861         KetRmax
13862         i#
13863         [a-x]{4,}
13864         Brazero
13865         SCBra 2
13866         y{0,6}
13867         KetRmax
13868         y#
13869         [a-k]++
13870         CBra 3
13871         ll
13872         Alt
13873         mm
13874         KetRmax
13875         n
13876         Ket
13877         End
13878 ------------------------------------------------------------------
13879
13880 /[a-f]*(?>gg|hh)+#[a-f]*(?>gg|hh)?#[a-f]*(?>gg|hh)*a#[a-f]*(?>gg|hh)*h/BZ
13881 ------------------------------------------------------------------
13882         Bra
13883         [a-f]*+
13884         Once_NC
13885         gg
13886         Alt
13887         hh
13888         KetRmax
13889         #
13890         [a-f]*+
13891         Brazero
13892         Once_NC
13893         gg
13894         Alt
13895         hh
13896         Ket
13897         #
13898         [a-f]*
13899         Brazero
13900         Once_NC
13901         gg
13902         Alt
13903         hh
13904         KetRmax
13905         a#
13906         [a-f]*+
13907         Brazero
13908         Once_NC
13909         gg
13910         Alt
13911         hh
13912         KetRmax
13913         h
13914         Ket
13915         End
13916 ------------------------------------------------------------------
13917
13918 /[a-c]*d/DZS
13919 ------------------------------------------------------------------
13920         Bra
13921         [a-c]*+
13922         d
13923         Ket
13924         End
13925 ------------------------------------------------------------------
13926 Capturing subpattern count = 0
13927 No options
13928 No first char
13929 Need char = 'd'
13930 Subject length lower bound = 1
13931 Starting chars: a b c d 
13932
13933 /[a-c]+d/DZS
13934 ------------------------------------------------------------------
13935         Bra
13936         [a-c]++
13937         d
13938         Ket
13939         End
13940 ------------------------------------------------------------------
13941 Capturing subpattern count = 0
13942 No options
13943 No first char
13944 Need char = 'd'
13945 Subject length lower bound = 2
13946 Starting chars: a b c 
13947
13948 /[a-c]?d/DZS
13949 ------------------------------------------------------------------
13950         Bra
13951         [a-c]?+
13952         d
13953         Ket
13954         End
13955 ------------------------------------------------------------------
13956 Capturing subpattern count = 0
13957 No options
13958 No first char
13959 Need char = 'd'
13960 Subject length lower bound = 1
13961 Starting chars: a b c d 
13962
13963 /[a-c]{4,6}d/DZS
13964 ------------------------------------------------------------------
13965         Bra
13966         [a-c]{4,6}+
13967         d
13968         Ket
13969         End
13970 ------------------------------------------------------------------
13971 Capturing subpattern count = 0
13972 No options
13973 No first char
13974 Need char = 'd'
13975 Subject length lower bound = 5
13976 Starting chars: a b c 
13977
13978 /[a-c]{0,6}d/DZS
13979 ------------------------------------------------------------------
13980         Bra
13981         [a-c]{0,6}+
13982         d
13983         Ket
13984         End
13985 ------------------------------------------------------------------
13986 Capturing subpattern count = 0
13987 No options
13988 No first char
13989 Need char = 'd'
13990 Subject length lower bound = 1
13991 Starting chars: a b c d 
13992
13993 /-- End of special auto-possessive tests --/
13994
13995 /^A\o{1239}B/
13996 Failed: non-octal character in \o{} (closing brace missing?) at offset 8
13997
13998 /^A\oB/
13999 Failed: missing opening brace after \o at offset 3
14000
14001 /^A\x{zz}B/ 
14002 Failed: non-hex character in \x{} (closing brace missing?) at offset 5
14003
14004 /^A\x{12Z/
14005 Failed: non-hex character in \x{} (closing brace missing?) at offset 7
14006
14007 /^A\x{/
14008 Failed: non-hex character in \x{} (closing brace missing?) at offset 5
14009
14010 /[ab]++/BZO
14011 ------------------------------------------------------------------
14012         Bra
14013         [ab]++
14014         Ket
14015         End
14016 ------------------------------------------------------------------
14017
14018 /[^ab]*+/BZO
14019 ------------------------------------------------------------------
14020         Bra
14021         [\x00-`c-\xff] (neg)*+
14022         Ket
14023         End
14024 ------------------------------------------------------------------
14025
14026 /a{4}+/BZO
14027 ------------------------------------------------------------------
14028         Bra
14029         a{4}
14030         Ket
14031         End
14032 ------------------------------------------------------------------
14033
14034 /a{4}+/BZOi
14035 ------------------------------------------------------------------
14036         Bra
14037      /i a{4}
14038         Ket
14039         End
14040 ------------------------------------------------------------------
14041
14042 /[a-[:digit:]]+/
14043 Failed: invalid range in character class at offset 3
14044
14045 /[A-[:digit:]]+/
14046 Failed: invalid range in character class at offset 3
14047
14048 /[a-[.xxx.]]+/
14049 Failed: invalid range in character class at offset 3
14050
14051 /[a-[=xxx=]]+/
14052 Failed: invalid range in character class at offset 3
14053
14054 /[a-[!xxx!]]+/
14055 Failed: range out of order in character class at offset 3
14056
14057 /[A-[!xxx!]]+/
14058     A]]]
14059  0: A]]]
14060
14061 /[a-\d]+/
14062 Failed: invalid range in character class at offset 4
14063
14064 /(?<0abc>xx)/
14065 Failed: group name must start with a non-digit at offset 3
14066
14067 /(?&1abc)xx(?<1abc>y)/
14068 Failed: group name must start with a non-digit at offset 3
14069
14070 /(?<ab-cd>xx)/
14071 Failed: syntax error in subpattern name (missing terminator) at offset 5
14072
14073 /(?'0abc'xx)/
14074 Failed: group name must start with a non-digit at offset 3
14075
14076 /(?P<0abc>xx)/
14077 Failed: group name must start with a non-digit at offset 4
14078
14079 /\k<5ghj>/
14080 Failed: group name must start with a non-digit at offset 3
14081
14082 /\k'5ghj'/
14083 Failed: group name must start with a non-digit at offset 3
14084
14085 /\k{2fgh}/
14086 Failed: group name must start with a non-digit at offset 3
14087
14088 /(?P=8yuki)/
14089 Failed: group name must start with a non-digit at offset 4
14090
14091 /\g{4df}/
14092 Failed: group name must start with a non-digit at offset 3
14093
14094 /(?&1abc)xx(?<1abc>y)/
14095 Failed: group name must start with a non-digit at offset 3
14096
14097 /(?P>1abc)xx(?<1abc>y)/
14098 Failed: group name must start with a non-digit at offset 4
14099
14100 /\g'3gh'/
14101 Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 2
14102
14103 /\g<5fg>/
14104 Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 2
14105
14106 /(?(<4gh>)abc)/
14107 Failed: group name must start with a non-digit at offset 4
14108
14109 /(?('4gh')abc)/
14110 Failed: group name must start with a non-digit at offset 4
14111
14112 /(?(4gh)abc)/
14113 Failed: malformed number or name after (?( at offset 4
14114
14115 /(?(R&6yh)abc)/
14116 Failed: group name must start with a non-digit at offset 5
14117
14118 /(((a\2)|(a*)\g<-1>))*a?/BZ
14119 ------------------------------------------------------------------
14120         Bra
14121         Brazero
14122         SCBra 1
14123         Once
14124         CBra 2
14125         CBra 3
14126         a
14127         \2
14128         Ket
14129         Alt
14130         CBra 4
14131         a*
14132         Ket
14133         Recurse
14134         Ket
14135         Ket
14136         KetRmax
14137         a?+
14138         Ket
14139         End
14140 ------------------------------------------------------------------
14141
14142 /-- Test the ugly "start or end of word" compatibility syntax --/
14143
14144 /[[:<:]]red[[:>:]]/BZ
14145 ------------------------------------------------------------------
14146         Bra
14147         \b
14148         Assert
14149         \w
14150         Ket
14151         red
14152         \b
14153         AssertB
14154         Reverse
14155         \w
14156         Ket
14157         Ket
14158         End
14159 ------------------------------------------------------------------
14160     little red riding hood
14161  0: red
14162     a /red/ thing 
14163  0: red
14164     red is a colour
14165  0: red
14166     put it all on red  
14167  0: red
14168     ** Failers
14169 No match
14170     no reduction
14171 No match
14172     Alfred Winifred
14173 No match
14174     
14175 /[a[:<:]] should give error/ 
14176 Failed: unknown POSIX class name at offset 4
14177
14178 /(?=ab\K)/+
14179     abcd
14180 Start of matched string is beyond its end - displaying from end to start.
14181  0: ab
14182  0+ abcd
14183
14184 /abcd/f<lf>
14185     xx\nxabcd
14186 No match
14187     
14188 / -- Test stack check external calls --/ 
14189
14190 /(((((a)))))/Q0
14191
14192 /(((((a)))))/Q1
14193 Failed: parentheses are too deeply nested (stack check) at offset 0
14194
14195 /(((((a)))))/Q
14196 ** Missing 0 or 1 after /Q
14197
14198 /^\w+(?>\s*)(?<=\w)/BZ
14199 ------------------------------------------------------------------
14200         Bra
14201         ^
14202         \w+
14203         Once_NC
14204         \s*+
14205         Ket
14206         AssertB
14207         Reverse
14208         \w
14209         Ket
14210         Ket
14211         End
14212 ------------------------------------------------------------------
14213
14214 /\othing/
14215 Failed: missing opening brace after \o at offset 1
14216
14217 /\o{}/
14218 Failed: digits missing in \x{} or \o{} at offset 1
14219
14220 /\o{whatever}/
14221 Failed: non-octal character in \o{} (closing brace missing?) at offset 3
14222
14223 /\xthing/
14224
14225 /\x{}/
14226 Failed: digits missing in \x{} or \o{} at offset 3
14227
14228 /\x{whatever}/
14229 Failed: non-hex character in \x{} (closing brace missing?) at offset 3
14230
14231 "((?=(?(?=(?(?=(?(?=()))))))))"
14232     a
14233  0: 
14234  1: 
14235  2: 
14236
14237 "(?(?=)==)(((((((((?=)))))))))"
14238     a
14239 No match
14240
14241 /^(?:(a)|b)(?(1)A|B)/I
14242 Capturing subpattern count = 1
14243 Max back reference = 1
14244 Options: anchored
14245 No first char
14246 No need char
14247     aA123\O3
14248 Matched, but too many substrings
14249  0: aA
14250     aA123\O6
14251  0: aA
14252  1: a
14253
14254 '^(?:(?<AA>a)|b)(?(<AA>)A|B)'
14255     aA123\O3
14256 Matched, but too many substrings
14257  0: aA
14258     aA123\O6
14259  0: aA
14260  1: a
14261
14262 '^(?<AA>)(?:(?<AA>a)|b)(?(<AA>)A|B)'J
14263     aA123\O3
14264 Matched, but too many substrings
14265  0: aA
14266     aA123\O6
14267 Matched, but too many substrings
14268  0: aA
14269  1: 
14270
14271 '^(?:(?<AA>X)|)(?:(?<AA>a)|b)\k{AA}'J
14272     aa123\O3
14273 Matched, but too many substrings
14274  0: aa
14275     aa123\O6
14276 Matched, but too many substrings
14277  0: aa
14278  1: <unset>
14279
14280 /(?<N111>(?J)(?<N111>1(111111)11|)1|1|)(?(<N111>)1)/
14281
14282 /(?(?=0)?)+/
14283 Failed: nothing to repeat at offset 7
14284
14285 /(?(?=0)(?=00)?00765)/
14286      00765
14287  0: 00765
14288
14289 /(?(?=0)(?=00)?00765|(?!3).56)/
14290      00765
14291  0: 00765
14292      456
14293  0: 456
14294      ** Failers
14295 No match
14296      356   
14297 No match
14298
14299 '^(a)*+(\w)'
14300     g
14301  0: g
14302  1: <unset>
14303  2: g
14304     g\O3
14305 Matched, but too many substrings
14306  0: g
14307
14308 '^(?:a)*+(\w)'
14309     g
14310  0: g
14311  1: g
14312     g\O3
14313 Matched, but too many substrings
14314  0: g
14315
14316 //C
14317     \O\C+
14318 Callout 255: last capture = -1
14319 --->
14320  +0 ^    
14321 Matched, but too many substrings
14322
14323 "((?2){0,1999}())?"
14324
14325 /((?+1)(\1))/BZ
14326 ------------------------------------------------------------------
14327         Bra
14328         Once
14329         CBra 1
14330         Recurse
14331         CBra 2
14332         \1
14333         Ket
14334         Ket
14335         Ket
14336         Ket
14337         End
14338 ------------------------------------------------------------------
14339
14340 /(?(?!)a|b)/
14341     bbb
14342  0: b
14343     aaa 
14344 No match
14345
14346 "((?2)+)((?1))"
14347
14348 "(?(?<E>.*!.*)?)"
14349 Failed: assertion expected after (?( or (?(?C) at offset 3
14350
14351 "X((?2)()*+){2}+"BZ
14352 ------------------------------------------------------------------
14353         Bra
14354         X
14355         Once
14356         CBra 1
14357         Recurse
14358         Braposzero
14359         SCBraPos 2
14360         KetRpos
14361         Ket
14362         CBra 1
14363         Recurse
14364         Braposzero
14365         SCBraPos 2
14366         KetRpos
14367         Ket
14368         Ket
14369         Ket
14370         End
14371 ------------------------------------------------------------------
14372
14373 "X((?2)()*+){2}"BZ
14374 ------------------------------------------------------------------
14375         Bra
14376         X
14377         CBra 1
14378         Recurse
14379         Braposzero
14380         SCBraPos 2
14381         KetRpos
14382         Ket
14383         CBra 1
14384         Recurse
14385         Braposzero
14386         SCBraPos 2
14387         KetRpos
14388         Ket
14389         Ket
14390         End
14391 ------------------------------------------------------------------
14392
14393 "(?<=((?2))((?1)))"
14394 Failed: lookbehind assertion is not fixed length at offset 17
14395
14396 /(?<=\Ka)/g+
14397     aaaaa
14398  0: a
14399  0+ aaaa
14400  0: a
14401  0+ aaaa
14402  0: a
14403  0+ aaa
14404  0: a
14405  0+ aa
14406  0: a
14407  0+ a
14408  0: a
14409  0+ 
14410
14411 /(?<=\Ka)/G+
14412     aaaaa
14413  0: a
14414  0+ aaaa
14415  0: a
14416  0+ aaa
14417  0: a
14418  0+ aa
14419  0: a
14420  0+ a
14421  0: a
14422  0+ 
14423
14424 /((?2){73}(?2))((?1))/
14425
14426 /.((?2)(?R)\1)()/BZ
14427 ------------------------------------------------------------------
14428         Bra
14429         Any
14430         Once
14431         CBra 1
14432         Recurse
14433         Recurse
14434         \1
14435         Ket
14436         Ket
14437         CBra 2
14438         Ket
14439         Ket
14440         End
14441 ------------------------------------------------------------------
14442
14443 /(?1)()((((((\1++))\x85)+)|))/
14444
14445 /(\9*+(?2);\3++()2|)++{/
14446 Failed: reference to non-existent subpattern at offset 22
14447
14448 /\V\x85\9*+((?2)\3++()2)*:2/
14449 Failed: reference to non-existent subpattern at offset 26
14450
14451 /(((?(R)){0,2}) (?''((?'R')((?'R')))))/J
14452
14453 /(((?(X)){0,2}) (?''((?'X')((?'X')))))/J
14454
14455 /(((?(R)){0,2}) (?''((?'X')((?'R')))))/
14456
14457 "(?J)(?'d'(?'d'\g{d}))"
14458
14459 ".*?\h.+.\.+\R*?\xd(?i)(?=!(?=b`b`b`\`b\xa9b!)`\a`bbbbbbbbbbbbb`bbbbbbbbbbbb*R\x85bbbbbbb\C?{((?2)(?))((
14460 \H){8(?<=(?1){29}\xa8bbbb\x16\xd\xc6^($(?<! )(\xa9H4){4}h}1)B))\x15')"
14461
14462 "(?J:(?|(?'R')(\k'R')|((?'R'))))"
14463
14464 /(?<=|(\,\$(?73591620449005828816)\xa8.{7}){6}\x09)/
14465 Failed: number is too big at offset 32
14466
14467 //
14468 \O1
14469 Matched, but too many substrings
14470
14471 /^(?:(?(1)x|)+)+$()/BZ
14472 ------------------------------------------------------------------
14473         Bra
14474         ^
14475         SBra
14476         SCond
14477       1 Cond ref
14478         x
14479         Alt
14480         KetRmax
14481         KetRmax
14482         $
14483         CBra 1
14484         Ket
14485         Ket
14486         End
14487 ------------------------------------------------------------------
14488
14489 /(?=di(?<=(?1))|(?=(.))))/
14490 Failed: unmatched parentheses at offset 23
14491
14492 /(?(R))*+/BZ
14493 ------------------------------------------------------------------
14494         Bra
14495         Braposzero
14496         SBraPos
14497         SCond
14498         Cond recurse any
14499         Ket
14500         KetRpos
14501         Ket
14502         End
14503 ------------------------------------------------------------------
14504
14505 /[[:\\](?'abc')[a:]/
14506
14507 "[[[.\xe8Nq\xffq\xff\xe0\x2|||::Nq\xffq\xff\xe0\x6\x2|||::[[[:[::::::[[[[[::::::::[:[[[:[:::[[[[[[[[[[[[:::::::::::::::::[[.\xe8Nq\xffq\xff\xe0\x2|||::Nq\xffq\xff\xe0\x6\x2|||::[[[:[::::::[[[[[::::::::[:[[[:[:::[[[[[[[[[[[[[[:::E[[[:[:[[:[:::[[:::E[[[:[:[[:'[:::::E[[[:[::::::[[[:[[[[[[[::E[[[:[::::::[[[:[[[[[[[[:[[::[::::[[:::::::[[:[[[[[[[:[[::[:[[:[~"
14508 Failed: missing terminating ] for character class at offset 353
14509
14510 /()(?(R)0)*+/BZ
14511 ------------------------------------------------------------------
14512         Bra
14513         CBra 1
14514         Ket
14515         Braposzero
14516         SBraPos
14517         SCond
14518         Cond recurse any
14519         0
14520         Ket
14521         KetRpos
14522         Ket
14523         End
14524 ------------------------------------------------------------------
14525
14526 /(?R-:(?</
14527 Failed: (?R or (?[+-]digits must be followed by ) at offset 3
14528
14529 /(?1){3918}(((((0(\k'R'))))(?J)(?'R'(?'R'\3){99})))/I
14530 Capturing subpattern count = 8
14531 Max back reference = 8
14532 Named capturing subpatterns:
14533   R   7
14534   R   8
14535 No options
14536 Duplicate name status changes
14537 No first char
14538 Need char = '0'
14539
14540 /(?J:(?|(:(?|(?'R')(\k'R')|((?'R')))H'Rk'Rf)|s(?'R')))/
14541
14542 /0(?0)|(1)(*THEN)(*SKIP:0)(*FAIL)/
14543     01
14544 No match
14545
14546 /((?(R8000000000)))/ 
14547 Failed: number is too big at offset 16
14548
14549 /(?(8000000000/
14550 Failed: number is too big at offset 13
14551
14552 /(?:ab)?(?:ab)(?:ab)/
14553     abab
14554  0: abab
14555     ababab
14556  0: ababab
14557     aba
14558 No match
14559
14560 /((*MARK:A))++a(*SKIP:B)b/
14561     aacb
14562 No match
14563
14564 /(?J:(?|(:(?|(?'R')(\z(?|(?'R')(\k'R')|((?'R')))k'R')|((?'R')))H'Ak'Rf)|s(?'R')))/
14565
14566 /(?&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)(?&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)(?&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)(?&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)(?&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)(?&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)(?&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)(?&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)(?&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)(?&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)(?&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)(?&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)(?&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)(?&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)(?&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)(?&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)(?&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)(?&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)(?&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)(?&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>1)/
14567
14568 /a[[:punct:]b]/BZ
14569 ------------------------------------------------------------------
14570         Bra
14571         a
14572         [!-/:-@[-`b{-~]
14573         Ket
14574         End
14575 ------------------------------------------------------------------
14576
14577 /L(?#(|++<!(2)?/BZ
14578 ------------------------------------------------------------------
14579         Bra
14580         L?+
14581         Ket
14582         End
14583 ------------------------------------------------------------------
14584
14585 /L(?#(|++<!(2)?/BOZ
14586 ------------------------------------------------------------------
14587         Bra
14588         L?
14589         Ket
14590         End
14591 ------------------------------------------------------------------
14592
14593 /L(?#(|++<!(2)?/BCZ
14594 ------------------------------------------------------------------
14595         Bra
14596         Callout 255 0 14
14597         L?+
14598         Callout 255 14 0
14599         Ket
14600         End
14601 ------------------------------------------------------------------
14602
14603 /L(?#(|++<!(2)?/BCOZ
14604 ------------------------------------------------------------------
14605         Bra
14606         Callout 255 0 14
14607         L?
14608         Callout 255 14 0
14609         Ket
14610         End
14611 ------------------------------------------------------------------
14612
14613 /(A*)\E+/CBZ
14614 ------------------------------------------------------------------
14615         Bra
14616         Callout 255 0 7
14617         SCBra 1
14618         Callout 255 1 2
14619         A*
14620         Callout 255 3 0
14621         KetRmax
14622         Callout 255 7 0
14623         Ket
14624         End
14625 ------------------------------------------------------------------
14626
14627 /()\Q\E*]/BCZ
14628 ------------------------------------------------------------------
14629         Bra
14630         Callout 255 0 7
14631         Brazero
14632         SCBra 1
14633         Callout 255 1 0
14634         KetRmax
14635         Callout 255 7 1
14636         ]
14637         Callout 255 8 0
14638         Ket
14639         End
14640 ------------------------------------------------------------------
14641
14642 /(?<A>)(?J:(?<B>)(?<B>))(?<C>)/
14643     \O\CC
14644 Matched, but too many substrings
14645 copy substring C failed -7
14646
14647 /(?=a\K)/ 
14648     ring bpattingbobnd $ 1,oern cou \rb\L
14649 Start of matched string is beyond its end - displaying from end to start.
14650  0: a
14651  0L 
14652
14653 /(?<=((?C)0))/
14654     9010
14655 --->9010
14656   0  ^       0
14657   0   ^      0
14658  0: 
14659  1: 0
14660     abcd
14661 --->abcd
14662   0  ^       0
14663   0   ^      0
14664   0    ^     0
14665   0     ^    0
14666 No match
14667      
14668 /((?J)(?'R'(?'R'(?'R'(?'R'(?'R'(?|(\k'R'))))))))/
14669
14670 /\N(?(?C)0?!.)*/
14671 Failed: assertion expected after (?( or (?(?C) at offset 4
14672
14673 /-- End of testinput2 --/