/[pcre]/code/branches/pcre16/testdata/testoutput2
ViewVC logotype

Contents of /code/branches/pcre16/testdata/testoutput2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 826 - (show annotations)
Tue Dec 27 09:42:33 2011 UTC (7 years, 7 months ago) by zherczeg
File size: 233714 byte(s)
fix horizontal and vertical white space ranges in 16 bit mode
1 /-- This set of tests is not Perl-compatible. It checks on special features
2 of PCRE's API, error diagnostics, and the compiled code of some patterns.
3 It also checks the non-Perl syntax the PCRE supports (Python, .NET,
4 Oniguruma). Finally, there are some tests where PCRE and Perl differ,
5 either because PCRE can't be compatible, or there is a possible Perl
6 bug.
7
8 NOTE: This is a non-UTF set of tests. When UTF support is needed, use
9 test 5, and if Unicode Property Support is needed, use test 7. --/
10
11 /(a)b|/I
12 Capturing subpattern count = 1
13 No options
14 No first char
15 No need char
16
17 /abc/I
18 Capturing subpattern count = 0
19 No options
20 First char = 'a'
21 Need char = 'c'
22 abc
23 0: abc
24 defabc
25 0: abc
26 \Aabc
27 0: abc
28 *** Failers
29 No match
30 \Adefabc
31 No match
32 ABC
33 No match
34
35 /^abc/I
36 Capturing subpattern count = 0
37 Options: anchored
38 No first char
39 No need char
40 abc
41 0: abc
42 \Aabc
43 0: abc
44 *** Failers
45 No match
46 defabc
47 No match
48 \Adefabc
49 No match
50
51 /a+bc/I
52 Capturing subpattern count = 0
53 No options
54 First char = 'a'
55 Need char = 'c'
56
57 /a*bc/I
58 Capturing subpattern count = 0
59 No options
60 No first char
61 Need char = 'c'
62
63 /a{3}bc/I
64 Capturing subpattern count = 0
65 No options
66 First char = 'a'
67 Need char = 'c'
68
69 /(abc|a+z)/I
70 Capturing subpattern count = 1
71 No options
72 First char = 'a'
73 No need char
74
75 /^abc$/I
76 Capturing subpattern count = 0
77 Options: anchored
78 No first char
79 No need char
80 abc
81 0: abc
82 *** Failers
83 No match
84 def\nabc
85 No match
86
87 /ab\idef/X
88 Failed: unrecognized character follows \ at offset 3
89
90 /(?X)ab\idef/X
91 Failed: unrecognized character follows \ at offset 7
92
93 /x{5,4}/
94 Failed: numbers out of order in {} quantifier at offset 5
95
96 /z{65536}/
97 Failed: number too big in {} quantifier at offset 7
98
99 /[abcd/
100 Failed: missing terminating ] for character class at offset 5
101
102 /(?X)[\B]/
103 Failed: invalid escape sequence in character class at offset 6
104
105 /(?X)[\R]/
106 Failed: invalid escape sequence in character class at offset 6
107
108 /(?X)[\X]/
109 Failed: invalid escape sequence in character class at offset 6
110
111 /[\B]/BZ
112 ------------------------------------------------------------------
113 Bra
114 B
115 Ket
116 End
117 ------------------------------------------------------------------
118
119 /[\R]/BZ
120 ------------------------------------------------------------------
121 Bra
122 R
123 Ket
124 End
125 ------------------------------------------------------------------
126
127 /[\X]/BZ
128 ------------------------------------------------------------------
129 Bra
130 X
131 Ket
132 End
133 ------------------------------------------------------------------
134
135 /[z-a]/
136 Failed: range out of order in character class at offset 3
137
138 /^*/
139 Failed: nothing to repeat at offset 1
140
141 /(abc/
142 Failed: missing ) at offset 4
143
144 /(?# abc/
145 Failed: missing ) after comment at offset 7
146
147 /(?z)abc/
148 Failed: unrecognized character after (? or (?- at offset 2
149
150 /.*b/I
151 Capturing subpattern count = 0
152 No options
153 First char at start or follows newline
154 Need char = 'b'
155
156 /.*?b/I
157 Capturing subpattern count = 0
158 No options
159 First char at start or follows newline
160 Need char = 'b'
161
162 /cat|dog|elephant/I
163 Capturing subpattern count = 0
164 No options
165 No first char
166 No need char
167 this sentence eventually mentions a cat
168 0: cat
169 this sentences rambles on and on for a while and then reaches elephant
170 0: elephant
171
172 /cat|dog|elephant/IS
173 Capturing subpattern count = 0
174 No options
175 No first char
176 No need char
177 Subject length lower bound = 3
178 Starting byte set: c d e
179 this sentence eventually mentions a cat
180 0: cat
181 this sentences rambles on and on for a while and then reaches elephant
182 0: elephant
183
184 /cat|dog|elephant/IiS
185 Capturing subpattern count = 0
186 Options: caseless
187 No first char
188 No need char
189 Subject length lower bound = 3
190 Starting byte set: C D E c d e
191 this sentence eventually mentions a CAT cat
192 0: CAT
193 this sentences rambles on and on for a while to elephant ElePhant
194 0: elephant
195
196 /a|[bcd]/IS
197 Capturing subpattern count = 0
198 No options
199 No first char
200 No need char
201 Subject length lower bound = 1
202 Starting byte set: a b c d
203
204 /(a|[^\dZ])/IS
205 Capturing subpattern count = 1
206 No options
207 No first char
208 No need char
209 Subject length lower bound = 1
210 Starting byte set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a
211 \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19
212 \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = >
213 ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y [ \ ] ^ _ ` a b c d
214 e f g h i j k l m n o p q r s t u v w x y z { | } ~ \x7f \x80 \x81 \x82 \x83
215 \x84 \x85 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f \x90 \x91 \x92
216 \x93 \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e \x9f \xa0 \xa1
217 \xa2 \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae \xaf \xb0
218 \xb1 \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd \xbe \xbf
219 \xc0 \xc1 \xc2 \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc \xcd \xce
220 \xcf \xd0 \xd1 \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb \xdc \xdd
221 \xde \xdf \xe0 \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb \xec
222 \xed \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb
223 \xfc \xfd \xfe \xff
224
225 /(a|b)*[\s]/IS
226 Capturing subpattern count = 1
227 No options
228 No first char
229 No need char
230 Subject length lower bound = 1
231 Starting byte set: \x09 \x0a \x0c \x0d \x20 a b
232
233 /(ab\2)/
234 Failed: reference to non-existent subpattern at offset 6
235
236 /{4,5}abc/
237 Failed: nothing to repeat at offset 4
238
239 /(a)(b)(c)\2/I
240 Capturing subpattern count = 3
241 Max back reference = 2
242 No options
243 First char = 'a'
244 Need char = 'c'
245 abcb
246 0: abcb
247 1: a
248 2: b
249 3: c
250 \O0abcb
251 Matched, but too many substrings
252 \O3abcb
253 Matched, but too many substrings
254 0: abcb
255 \O6abcb
256 Matched, but too many substrings
257 0: abcb
258 1: a
259 \O9abcb
260 Matched, but too many substrings
261 0: abcb
262 1: a
263 2: b
264 \O12abcb
265 0: abcb
266 1: a
267 2: b
268 3: c
269
270 /(a)bc|(a)(b)\2/I
271 Capturing subpattern count = 3
272 Max back reference = 2
273 No options
274 First char = 'a'
275 No need char
276 abc
277 0: abc
278 1: a
279 \O0abc
280 Matched, but too many substrings
281 \O3abc
282 Matched, but too many substrings
283 0: abc
284 \O6abc
285 0: abc
286 1: a
287 aba
288 0: aba
289 1: <unset>
290 2: a
291 3: b
292 \O0aba
293 Matched, but too many substrings
294 \O3aba
295 Matched, but too many substrings
296 0: aba
297 \O6aba
298 Matched, but too many substrings
299 0: aba
300 1: <unset>
301 \O9aba
302 Matched, but too many substrings
303 0: aba
304 1: <unset>
305 2: a
306 \O12aba
307 0: aba
308 1: <unset>
309 2: a
310 3: b
311
312 /abc$/IE
313 Capturing subpattern count = 0
314 Options: dollar_endonly
315 First char = 'a'
316 Need char = 'c'
317 abc
318 0: abc
319 *** Failers
320 No match
321 abc\n
322 No match
323 abc\ndef
324 No match
325
326 /(a)(b)(c)(d)(e)\6/
327 Failed: reference to non-existent subpattern at offset 17
328
329 /the quick brown fox/I
330 Capturing subpattern count = 0
331 No options
332 First char = 't'
333 Need char = 'x'
334 the quick brown fox
335 0: the quick brown fox
336 this is a line with the quick brown fox
337 0: the quick brown fox
338
339 /the quick brown fox/IA
340 Capturing subpattern count = 0
341 Options: anchored
342 No first char
343 No need char
344 the quick brown fox
345 0: the quick brown fox
346 *** Failers
347 No match
348 this is a line with the quick brown fox
349 No match
350
351 /ab(?z)cd/
352 Failed: unrecognized character after (? or (?- at offset 4
353
354 /^abc|def/I
355 Capturing subpattern count = 0
356 No options
357 No first char
358 No need char
359 abcdef
360 0: abc
361 abcdef\B
362 0: def
363
364 /.*((abc)$|(def))/I
365 Capturing subpattern count = 3
366 No options
367 First char at start or follows newline
368 No need char
369 defabc
370 0: defabc
371 1: abc
372 2: abc
373 \Zdefabc
374 0: def
375 1: def
376 2: <unset>
377 3: def
378
379 /)/
380 Failed: unmatched parentheses at offset 0
381
382 /a[]b/
383 Failed: missing terminating ] for character class at offset 4
384
385 /[^aeiou ]{3,}/I
386 Capturing subpattern count = 0
387 No options
388 No first char
389 No need char
390 co-processors, and for
391 0: -pr
392
393 /<.*>/I
394 Capturing subpattern count = 0
395 No options
396 First char = '<'
397 Need char = '>'
398 abc<def>ghi<klm>nop
399 0: <def>ghi<klm>
400
401 /<.*?>/I
402 Capturing subpattern count = 0
403 No options
404 First char = '<'
405 Need char = '>'
406 abc<def>ghi<klm>nop
407 0: <def>
408
409 /<.*>/IU
410 Capturing subpattern count = 0
411 Options: ungreedy
412 First char = '<'
413 Need char = '>'
414 abc<def>ghi<klm>nop
415 0: <def>
416
417 /(?U)<.*>/I
418 Capturing subpattern count = 0
419 Options: ungreedy
420 First char = '<'
421 Need char = '>'
422 abc<def>ghi<klm>nop
423 0: <def>
424
425 /<.*?>/IU
426 Capturing subpattern count = 0
427 Options: ungreedy
428 First char = '<'
429 Need char = '>'
430 abc<def>ghi<klm>nop
431 0: <def>ghi<klm>
432
433 /={3,}/IU
434 Capturing subpattern count = 0
435 Options: ungreedy
436 First char = '='
437 Need char = '='
438 abc========def
439 0: ===
440
441 /(?U)={3,}?/I
442 Capturing subpattern count = 0
443 Options: ungreedy
444 First char = '='
445 Need char = '='
446 abc========def
447 0: ========
448
449 /(?<!bar|cattle)foo/I
450 Capturing subpattern count = 0
451 No options
452 First char = 'f'
453 Need char = 'o'
454 foo
455 0: foo
456 catfoo
457 0: foo
458 *** Failers
459 No match
460 the barfoo
461 No match
462 and cattlefoo
463 No match
464
465 /(?<=a+)b/
466 Failed: lookbehind assertion is not fixed length at offset 6
467
468 /(?<=aaa|b{0,3})b/
469 Failed: lookbehind assertion is not fixed length at offset 14
470
471 /(?<!(foo)a\1)bar/
472 Failed: lookbehind assertion is not fixed length at offset 12
473
474 /(?i)abc/I
475 Capturing subpattern count = 0
476 Options: caseless
477 First char = 'a' (caseless)
478 Need char = 'c' (caseless)
479
480 /(a|(?m)a)/I
481 Capturing subpattern count = 1
482 No options
483 First char = 'a'
484 No need char
485
486 /(?i)^1234/I
487 Capturing subpattern count = 0
488 Options: anchored caseless
489 No first char
490 No need char
491
492 /(^b|(?i)^d)/I
493 Capturing subpattern count = 1
494 Options: anchored
495 No first char
496 No need char
497
498 /(?s).*/I
499 Capturing subpattern count = 0
500 Options: anchored dotall
501 No first char
502 No need char
503
504 /[abcd]/IS
505 Capturing subpattern count = 0
506 No options
507 No first char
508 No need char
509 Subject length lower bound = 1
510 Starting byte set: a b c d
511
512 /(?i)[abcd]/IS
513 Capturing subpattern count = 0
514 Options: caseless
515 No first char
516 No need char
517 Subject length lower bound = 1
518 Starting byte set: A B C D a b c d
519
520 /(?m)[xy]|(b|c)/IS
521 Capturing subpattern count = 1
522 Options: multiline
523 No first char
524 No need char
525 Subject length lower bound = 1
526 Starting byte set: b c x y
527
528 /(^a|^b)/Im
529 Capturing subpattern count = 1
530 Options: multiline
531 First char at start or follows newline
532 No need char
533
534 /(?i)(^a|^b)/Im
535 Capturing subpattern count = 1
536 Options: caseless multiline
537 First char at start or follows newline
538 No need char
539
540 /(a)(?(1)a|b|c)/
541 Failed: conditional group contains more than two branches at offset 13
542
543 /(?(?=a)a|b|c)/
544 Failed: conditional group contains more than two branches at offset 12
545
546 /(?(1a)/
547 Failed: missing ) at offset 6
548
549 /(?(1a))/
550 Failed: reference to non-existent subpattern at offset 6
551
552 /(?(?i))/
553 Failed: assertion expected after (?( at offset 3
554
555 /(?(abc))/
556 Failed: reference to non-existent subpattern at offset 7
557
558 /(?(?<ab))/
559 Failed: syntax error in subpattern name (missing terminator) at offset 7
560
561 /((?s)blah)\s+\1/I
562 Capturing subpattern count = 1
563 Max back reference = 1
564 No options
565 First char = 'b'
566 Need char = 'h'
567
568 /((?i)blah)\s+\1/I
569 Capturing subpattern count = 1
570 Max back reference = 1
571 No options
572 First char = 'b' (caseless)
573 Need char = 'h' (caseless)
574
575 /((?i)b)/IDZS
576 ------------------------------------------------------------------
577 Bra
578 CBra 1
579 /i b
580 Ket
581 Ket
582 End
583 ------------------------------------------------------------------
584 Capturing subpattern count = 1
585 No options
586 First char = 'b' (caseless)
587 No need char
588 Subject length lower bound = 1
589 No set of starting bytes
590
591 /(a*b|(?i:c*(?-i)d))/IS
592 Capturing subpattern count = 1
593 No options
594 No first char
595 No need char
596 Subject length lower bound = 1
597 Starting byte set: C a b c d
598
599 /a$/I
600 Capturing subpattern count = 0
601 No options
602 First char = 'a'
603 No need char
604 a
605 0: a
606 a\n
607 0: a
608 *** Failers
609 No match
610 \Za
611 No match
612 \Za\n
613 No match
614
615 /a$/Im
616 Capturing subpattern count = 0
617 Options: multiline
618 First char = 'a'
619 No need char
620 a
621 0: a
622 a\n
623 0: a
624 \Za\n
625 0: a
626 *** Failers
627 No match
628 \Za
629 No match
630
631 /\Aabc/Im
632 Capturing subpattern count = 0
633 Options: anchored multiline
634 No first char
635 No need char
636
637 /^abc/Im
638 Capturing subpattern count = 0
639 Options: multiline
640 First char at start or follows newline
641 Need char = 'c'
642
643 /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I
644 Capturing subpattern count = 5
645 Options: anchored
646 No first char
647 No need char
648 aaaaabbbbbcccccdef
649 0: aaaaabbbbbcccccdef
650 1: aaaaabbbbbcccccdef
651 2: aaaaa
652 3: b
653 4: bbbbccccc
654 5: def
655
656 /(?<=foo)[ab]/IS
657 Capturing subpattern count = 0
658 No options
659 No first char
660 No need char
661 Subject length lower bound = 1
662 Starting byte set: a b
663
664 /(?<!foo)(alpha|omega)/IS
665 Capturing subpattern count = 1
666 No options
667 No first char
668 Need char = 'a'
669 Subject length lower bound = 5
670 Starting byte set: a o
671
672 /(?!alphabet)[ab]/IS
673 Capturing subpattern count = 0
674 No options
675 No first char
676 No need char
677 Subject length lower bound = 1
678 Starting byte set: a b
679
680 /(?<=foo\n)^bar/Im
681 Capturing subpattern count = 0
682 Contains explicit CR or LF match
683 Options: multiline
684 No first char
685 Need char = 'r'
686 foo\nbarbar
687 0: bar
688 ***Failers
689 No match
690 rhubarb
691 No match
692 barbell
693 No match
694 abc\nbarton
695 No match
696
697 /^(?<=foo\n)bar/Im
698 Capturing subpattern count = 0
699 Contains explicit CR or LF match
700 Options: multiline
701 First char at start or follows newline
702 Need char = 'r'
703 foo\nbarbar
704 0: bar
705 ***Failers
706 No match
707 rhubarb
708 No match
709 barbell
710 No match
711 abc\nbarton
712 No match
713
714 /(?>^abc)/Im
715 Capturing subpattern count = 0
716 Options: multiline
717 First char at start or follows newline
718 Need char = 'c'
719 abc
720 0: abc
721 def\nabc
722 0: abc
723 *** Failers
724 No match
725 defabc
726 No match
727
728 /(?<=ab(c+)d)ef/
729 Failed: lookbehind assertion is not fixed length at offset 11
730
731 /(?<=ab(?<=c+)d)ef/
732 Failed: lookbehind assertion is not fixed length at offset 12
733
734 /(?<=ab(c|de)f)g/
735 Failed: lookbehind assertion is not fixed length at offset 13
736
737 /The next three are in testinput2 because they have variable length branches/
738
739 /(?<=bullock|donkey)-cart/I
740 Capturing subpattern count = 0
741 No options
742 First char = '-'
743 Need char = 't'
744 the bullock-cart
745 0: -cart
746 a donkey-cart race
747 0: -cart
748 *** Failers
749 No match
750 cart
751 No match
752 horse-and-cart
753 No match
754
755 /(?<=ab(?i)x|y|z)/I
756 Capturing subpattern count = 0
757 No options
758 No first char
759 No need char
760
761 /(?>.*)(?<=(abcd)|(xyz))/I
762 Capturing subpattern count = 2
763 No options
764 First char at start or follows newline
765 No need char
766 alphabetabcd
767 0: alphabetabcd
768 1: abcd
769 endingxyz
770 0: endingxyz
771 1: <unset>
772 2: xyz
773
774 /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/I
775 Capturing subpattern count = 0
776 No options
777 First char = 'Z'
778 Need char = 'Z'
779 abxyZZ
780 0: ZZ
781 abXyZZ
782 0: ZZ
783 ZZZ
784 0: ZZ
785 zZZ
786 0: ZZ
787 bZZ
788 0: ZZ
789 BZZ
790 0: ZZ
791 *** Failers
792 No match
793 ZZ
794 No match
795 abXYZZ
796 No match
797 zzz
798 No match
799 bzz
800 No match
801
802 /(?<!(foo)a)bar/I
803 Capturing subpattern count = 1
804 No options
805 First char = 'b'
806 Need char = 'r'
807 bar
808 0: bar
809 foobbar
810 0: bar
811 *** Failers
812 No match
813 fooabar
814 No match
815
816 /This one is here because Perl 5.005_02 doesn't fail it/I
817 Capturing subpattern count = 0
818 No options
819 First char = 'T'
820 Need char = 't'
821
822 /^(a)?(?(1)a|b)+$/I
823 Capturing subpattern count = 1
824 Options: anchored
825 No first char
826 No need char
827 *** Failers
828 No match
829 a
830 No match
831
832 /This one is here because Perl behaves differently; see also the following/I
833 Capturing subpattern count = 0
834 No options
835 First char = 'T'
836 Need char = 'g'
837
838 /^(a\1?){4}$/I
839 Capturing subpattern count = 1
840 Max back reference = 1
841 Options: anchored
842 No first char
843 No need char
844 aaaa
845 No match
846 aaaaaa
847 No match
848
849 /Perl does not fail these two for the final subjects. Neither did PCRE until/
850 /release 8.01. The problem is in backtracking into a subpattern that contains/
851 No match
852 /a recursive reference to itself. PCRE has now made these into atomic patterns./
853 No match
854
855 /^(xa|=?\1a){2}$/
856 xa=xaa
857 0: xa=xaa
858 1: =xaa
859 ** Failers
860 No match
861 xa=xaaa
862 No match
863
864 /^(xa|=?\1a)+$/
865 xa=xaa
866 0: xa=xaa
867 1: =xaa
868 ** Failers
869 No match
870 xa=xaaa
871 No match
872
873 /These are syntax tests from Perl 5.005/I
874 Capturing subpattern count = 0
875 No options
876 First char = 'T'
877 Need char = '5'
878
879 /a[b-a]/
880 Failed: range out of order in character class at offset 4
881
882 /a[]b/
883 Failed: missing terminating ] for character class at offset 4
884
885 /a[/
886 Failed: missing terminating ] for character class at offset 2
887
888 /*a/
889 Failed: nothing to repeat at offset 0
890
891 /(*)b/
892 Failed: nothing to repeat at offset 1
893
894 /abc)/
895 Failed: unmatched parentheses at offset 3
896
897 /(abc/
898 Failed: missing ) at offset 4
899
900 /a**/
901 Failed: nothing to repeat at offset 2
902
903 /)(/
904 Failed: unmatched parentheses at offset 0
905
906 /\1/
907 Failed: reference to non-existent subpattern at offset 2
908
909 /\2/
910 Failed: reference to non-existent subpattern at offset 2
911
912 /(a)|\2/
913 Failed: reference to non-existent subpattern at offset 6
914
915 /a[b-a]/Ii
916 Failed: range out of order in character class at offset 4
917
918 /a[]b/Ii
919 Failed: missing terminating ] for character class at offset 4
920
921 /a[/Ii
922 Failed: missing terminating ] for character class at offset 2
923
924 /*a/Ii
925 Failed: nothing to repeat at offset 0
926
927 /(*)b/Ii
928 Failed: nothing to repeat at offset 1
929
930 /abc)/Ii
931 Failed: unmatched parentheses at offset 3
932
933 /(abc/Ii
934 Failed: missing ) at offset 4
935
936 /a**/Ii
937 Failed: nothing to repeat at offset 2
938
939 /)(/Ii
940 Failed: unmatched parentheses at offset 0
941
942 /:(?:/
943 Failed: missing ) at offset 4
944
945 /(?<%)b/
946 Failed: unrecognized character after (?< at offset 3
947
948 /a(?{)b/
949 Failed: unrecognized character after (? or (?- at offset 3
950
951 /a(?{{})b/
952 Failed: unrecognized character after (? or (?- at offset 3
953
954 /a(?{}})b/
955 Failed: unrecognized character after (? or (?- at offset 3
956
957 /a(?{"{"})b/
958 Failed: unrecognized character after (? or (?- at offset 3
959
960 /a(?{"{"}})b/
961 Failed: unrecognized character after (? or (?- at offset 3
962
963 /(?(1?)a|b)/
964 Failed: malformed number or name after (?( at offset 4
965
966 /[a[:xyz:/
967 Failed: missing terminating ] for character class at offset 8
968
969 /(?<=x+)y/
970 Failed: lookbehind assertion is not fixed length at offset 6
971
972 /a{37,17}/
973 Failed: numbers out of order in {} quantifier at offset 7
974
975 /abc/\
976 Failed: \ at end of pattern at offset 4
977
978 /abc/\i
979 Failed: \ at end of pattern at offset 4
980
981 /(a)bc(d)/I
982 Capturing subpattern count = 2
983 No options
984 First char = 'a'
985 Need char = 'd'
986 abcd
987 0: abcd
988 1: a
989 2: d
990 abcd\C2
991 0: abcd
992 1: a
993 2: d
994 2C d (1)
995 abcd\C5
996 0: abcd
997 1: a
998 2: d
999 copy substring 5 failed -7
1000
1001 /(.{20})/I
1002 Capturing subpattern count = 1
1003 No options
1004 No first char
1005 No need char
1006 abcdefghijklmnopqrstuvwxyz
1007 0: abcdefghijklmnopqrst
1008 1: abcdefghijklmnopqrst
1009 abcdefghijklmnopqrstuvwxyz\C1
1010 0: abcdefghijklmnopqrst
1011 1: abcdefghijklmnopqrst
1012 1C abcdefghijklmnopqrst (20)
1013 abcdefghijklmnopqrstuvwxyz\G1
1014 0: abcdefghijklmnopqrst
1015 1: abcdefghijklmnopqrst
1016 1G abcdefghijklmnopqrst (20)
1017
1018 /(.{15})/I
1019 Capturing subpattern count = 1
1020 No options
1021 No first char
1022 No need char
1023 abcdefghijklmnopqrstuvwxyz
1024 0: abcdefghijklmno
1025 1: abcdefghijklmno
1026 abcdefghijklmnopqrstuvwxyz\C1\G1
1027 0: abcdefghijklmno
1028 1: abcdefghijklmno
1029 1C abcdefghijklmno (15)
1030 1G abcdefghijklmno (15)
1031
1032 /(.{16})/I
1033 Capturing subpattern count = 1
1034 No options
1035 No first char
1036 No need char
1037 abcdefghijklmnopqrstuvwxyz
1038 0: abcdefghijklmnop
1039 1: abcdefghijklmnop
1040 abcdefghijklmnopqrstuvwxyz\C1\G1\L
1041 0: abcdefghijklmnop
1042 1: abcdefghijklmnop
1043 1C abcdefghijklmnop (16)
1044 1G abcdefghijklmnop (16)
1045 0L abcdefghijklmnop
1046 1L abcdefghijklmnop
1047
1048 /^(a|(bc))de(f)/I
1049 Capturing subpattern count = 3
1050 Options: anchored
1051 No first char
1052 No need char
1053 adef\G1\G2\G3\G4\L
1054 0: adef
1055 1: a
1056 2: <unset>
1057 3: f
1058 1G a (1)
1059 2G (0)
1060 3G f (1)
1061 get substring 4 failed -7
1062 0L adef
1063 1L a
1064 2L
1065 3L f
1066 bcdef\G1\G2\G3\G4\L
1067 0: bcdef
1068 1: bc
1069 2: bc
1070 3: f
1071 1G bc (2)
1072 2G bc (2)
1073 3G f (1)
1074 get substring 4 failed -7
1075 0L bcdef
1076 1L bc
1077 2L bc
1078 3L f
1079 adefghijk\C0
1080 0: adef
1081 1: a
1082 2: <unset>
1083 3: f
1084 0C adef (4)
1085
1086 /^abc\00def/I
1087 Capturing subpattern count = 0
1088 Options: anchored
1089 No first char
1090 No need char
1091 abc\00def\L\C0
1092 0: abc\x00def
1093 0C abc\x00def (7)
1094 0L abc
1095
1096 /word ((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
1097 )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
1098 )?)?)?)?)?)?)?)?)?otherword/I
1099 Capturing subpattern count = 8
1100 Contains explicit CR or LF match
1101 No options
1102 First char = 'w'
1103 Need char = 'd'
1104
1105 /.*X/IDZ
1106 ------------------------------------------------------------------
1107 Bra
1108 Any*
1109 X
1110 Ket
1111 End
1112 ------------------------------------------------------------------
1113 Capturing subpattern count = 0
1114 No options
1115 First char at start or follows newline
1116 Need char = 'X'
1117
1118 /.*X/IDZs
1119 ------------------------------------------------------------------
1120 Bra
1121 AllAny*
1122 X
1123 Ket
1124 End
1125 ------------------------------------------------------------------
1126 Capturing subpattern count = 0
1127 Options: anchored dotall
1128 No first char
1129 Need char = 'X'
1130
1131 /(.*X|^B)/IDZ
1132 ------------------------------------------------------------------
1133 Bra
1134 CBra 1
1135 Any*
1136 X
1137 Alt
1138 ^
1139 B
1140 Ket
1141 Ket
1142 End
1143 ------------------------------------------------------------------
1144 Capturing subpattern count = 1
1145 No options
1146 First char at start or follows newline
1147 No need char
1148
1149 /(.*X|^B)/IDZs
1150 ------------------------------------------------------------------
1151 Bra
1152 CBra 1
1153 AllAny*
1154 X
1155 Alt
1156 ^
1157 B
1158 Ket
1159 Ket
1160 End
1161 ------------------------------------------------------------------
1162 Capturing subpattern count = 1
1163 Options: anchored dotall
1164 No first char
1165 No need char
1166
1167 /(?s)(.*X|^B)/IDZ
1168 ------------------------------------------------------------------
1169 Bra
1170 CBra 1
1171 AllAny*
1172 X
1173 Alt
1174 ^
1175 B
1176 Ket
1177 Ket
1178 End
1179 ------------------------------------------------------------------
1180 Capturing subpattern count = 1
1181 Options: anchored dotall
1182 No first char
1183 No need char
1184
1185 /(?s:.*X|^B)/IDZ
1186 ------------------------------------------------------------------
1187 Bra
1188 Bra
1189 AllAny*
1190 X
1191 Alt
1192 ^
1193 B
1194 Ket
1195 Ket
1196 End
1197 ------------------------------------------------------------------
1198 Capturing subpattern count = 0
1199 Options: anchored
1200 No first char
1201 No need char
1202
1203 /\Biss\B/I+
1204 Capturing subpattern count = 0
1205 No options
1206 First char = 'i'
1207 Need char = 's'
1208 Mississippi
1209 0: iss
1210 0+ issippi
1211
1212 /iss/IG+
1213 Capturing subpattern count = 0
1214 No options
1215 First char = 'i'
1216 Need char = 's'
1217 Mississippi
1218 0: iss
1219 0+ issippi
1220 0: iss
1221 0+ ippi
1222
1223 /\Biss\B/IG+
1224 Capturing subpattern count = 0
1225 No options
1226 First char = 'i'
1227 Need char = 's'
1228 Mississippi
1229 0: iss
1230 0+ issippi
1231
1232 /\Biss\B/Ig+
1233 Capturing subpattern count = 0
1234 No options
1235 First char = 'i'
1236 Need char = 's'
1237 Mississippi
1238 0: iss
1239 0+ issippi
1240 0: iss
1241 0+ ippi
1242 *** Failers
1243 No match
1244 Mississippi\A
1245 No match
1246
1247 /(?<=[Ms])iss/Ig+
1248 Capturing subpattern count = 0
1249 No options
1250 First char = 'i'
1251 Need char = 's'
1252 Mississippi
1253 0: iss
1254 0+ issippi
1255 0: iss
1256 0+ ippi
1257
1258 /(?<=[Ms])iss/IG+
1259 Capturing subpattern count = 0
1260 No options
1261 First char = 'i'
1262 Need char = 's'
1263 Mississippi
1264 0: iss
1265 0+ issippi
1266
1267 /^iss/Ig+
1268 Capturing subpattern count = 0
1269 Options: anchored
1270 No first char
1271 No need char
1272 ississippi
1273 0: iss
1274 0+ issippi
1275
1276 /.*iss/Ig+
1277 Capturing subpattern count = 0
1278 No options
1279 First char at start or follows newline
1280 Need char = 's'
1281 abciss\nxyzisspqr
1282 0: abciss
1283 0+ \x0axyzisspqr
1284 0: xyziss
1285 0+ pqr
1286
1287 /.i./I+g
1288 Capturing subpattern count = 0
1289 No options
1290 No first char
1291 Need char = 'i'
1292 Mississippi
1293 0: Mis
1294 0+ sissippi
1295 0: sis
1296 0+ sippi
1297 0: sip
1298 0+ pi
1299 Mississippi\A
1300 0: Mis
1301 0+ sissippi
1302 0: sis
1303 0+ sippi
1304 0: sip
1305 0+ pi
1306 Missouri river
1307 0: Mis
1308 0+ souri river
1309 0: ri
1310 0+ river
1311 0: riv
1312 0+ er
1313 Missouri river\A
1314 0: Mis
1315 0+ souri river
1316
1317 /^.is/I+g
1318 Capturing subpattern count = 0
1319 Options: anchored
1320 No first char
1321 No need char
1322 Mississippi
1323 0: Mis
1324 0+ sissippi
1325
1326 /^ab\n/Ig+
1327 Capturing subpattern count = 0
1328 Contains explicit CR or LF match
1329 Options: anchored
1330 No first char
1331 No need char
1332 ab\nab\ncd
1333 0: ab\x0a
1334 0+ ab\x0acd
1335
1336 /^ab\n/Img+
1337 Capturing subpattern count = 0
1338 Contains explicit CR or LF match
1339 Options: multiline
1340 First char at start or follows newline
1341 Need char = \x0a
1342 ab\nab\ncd
1343 0: ab\x0a
1344 0+ ab\x0acd
1345 0: ab\x0a
1346 0+ cd
1347
1348 /abc/I
1349 Capturing subpattern count = 0
1350 No options
1351 First char = 'a'
1352 Need char = 'c'
1353
1354 /abc|bac/I
1355 Capturing subpattern count = 0
1356 No options
1357 No first char
1358 Need char = 'c'
1359
1360 /(abc|bac)/I
1361 Capturing subpattern count = 1
1362 No options
1363 No first char
1364 Need char = 'c'
1365
1366 /(abc|(c|dc))/I
1367 Capturing subpattern count = 2
1368 No options
1369 No first char
1370 Need char = 'c'
1371
1372 /(abc|(d|de)c)/I
1373 Capturing subpattern count = 2
1374 No options
1375 No first char
1376 Need char = 'c'
1377
1378 /a*/I
1379 Capturing subpattern count = 0
1380 No options
1381 No first char
1382 No need char
1383
1384 /a+/I
1385 Capturing subpattern count = 0
1386 No options
1387 First char = 'a'
1388 No need char
1389
1390 /(baa|a+)/I
1391 Capturing subpattern count = 1
1392 No options
1393 No first char
1394 Need char = 'a'
1395
1396 /a{0,3}/I
1397 Capturing subpattern count = 0
1398 No options
1399 No first char
1400 No need char
1401
1402 /baa{3,}/I
1403 Capturing subpattern count = 0
1404 No options
1405 First char = 'b'
1406 Need char = 'a'
1407
1408 /"([^\\"]+|\\.)*"/I
1409 Capturing subpattern count = 1
1410 No options
1411 First char = '"'
1412 Need char = '"'
1413
1414 /(abc|ab[cd])/I
1415 Capturing subpattern count = 1
1416 No options
1417 First char = 'a'
1418 No need char
1419
1420 /(a|.)/I
1421 Capturing subpattern count = 1
1422 No options
1423 No first char
1424 No need char
1425
1426 /a|ba|\w/I
1427 Capturing subpattern count = 0
1428 No options
1429 No first char
1430 No need char
1431
1432 /abc(?=pqr)/I
1433 Capturing subpattern count = 0
1434 No options
1435 First char = 'a'
1436 Need char = 'r'
1437
1438 /...(?<=abc)/I
1439 Capturing subpattern count = 0
1440 No options
1441 No first char
1442 No need char
1443
1444 /abc(?!pqr)/I
1445 Capturing subpattern count = 0
1446 No options
1447 First char = 'a'
1448 Need char = 'c'
1449
1450 /ab./I
1451 Capturing subpattern count = 0
1452 No options
1453 First char = 'a'
1454 Need char = 'b'
1455
1456 /ab[xyz]/I
1457 Capturing subpattern count = 0
1458 No options
1459 First char = 'a'
1460 Need char = 'b'
1461
1462 /abc*/I
1463 Capturing subpattern count = 0
1464 No options
1465 First char = 'a'
1466 Need char = 'b'
1467
1468 /ab.c*/I
1469 Capturing subpattern count = 0
1470 No options
1471 First char = 'a'
1472 Need char = 'b'
1473
1474 /a.c*/I
1475 Capturing subpattern count = 0
1476 No options
1477 First char = 'a'
1478 No need char
1479
1480 /.c*/I
1481 Capturing subpattern count = 0
1482 No options
1483 No first char
1484 No need char
1485
1486 /ac*/I
1487 Capturing subpattern count = 0
1488 No options
1489 First char = 'a'
1490 No need char
1491
1492 /(a.c*|b.c*)/I
1493 Capturing subpattern count = 1
1494 No options
1495 No first char
1496 No need char
1497
1498 /a.c*|aba/I
1499 Capturing subpattern count = 0
1500 No options
1501 First char = 'a'
1502 No need char
1503
1504 /.+a/I
1505 Capturing subpattern count = 0
1506 No options
1507 No first char
1508 Need char = 'a'
1509
1510 /(?=abcda)a.*/I
1511 Capturing subpattern count = 0
1512 No options
1513 First char = 'a'
1514 Need char = 'a'
1515
1516 /(?=a)a.*/I
1517 Capturing subpattern count = 0
1518 No options
1519 First char = 'a'
1520 No need char
1521
1522 /a(b)*/I
1523 Capturing subpattern count = 1
1524 No options
1525 First char = 'a'
1526 No need char
1527
1528 /a\d*/I
1529 Capturing subpattern count = 0
1530 No options
1531 First char = 'a'
1532 No need char
1533
1534 /ab\d*/I
1535 Capturing subpattern count = 0
1536 No options
1537 First char = 'a'
1538 Need char = 'b'
1539
1540 /a(\d)*/I
1541 Capturing subpattern count = 1
1542 No options
1543 First char = 'a'
1544 No need char
1545
1546 /abcde{0,0}/I
1547 Capturing subpattern count = 0
1548 No options
1549 First char = 'a'
1550 Need char = 'd'
1551
1552 /ab\d+/I
1553 Capturing subpattern count = 0
1554 No options
1555 First char = 'a'
1556 Need char = 'b'
1557
1558 /a(?(1)b)(.)/I
1559 Capturing subpattern count = 1
1560 No options
1561 First char = 'a'
1562 No need char
1563
1564 /a(?(1)bag|big)(.)/I
1565 Capturing subpattern count = 1
1566 No options
1567 First char = 'a'
1568 Need char = 'g'
1569
1570 /a(?(1)bag|big)*(.)/I
1571 Capturing subpattern count = 1
1572 No options
1573 First char = 'a'
1574 No need char
1575
1576 /a(?(1)bag|big)+(.)/I
1577 Capturing subpattern count = 1
1578 No options
1579 First char = 'a'
1580 Need char = 'g'
1581
1582 /a(?(1)b..|b..)(.)/I
1583 Capturing subpattern count = 1
1584 No options
1585 First char = 'a'
1586 Need char = 'b'
1587
1588 /ab\d{0}e/I
1589 Capturing subpattern count = 0
1590 No options
1591 First char = 'a'
1592 Need char = 'e'
1593
1594 /a?b?/I
1595 Capturing subpattern count = 0
1596 No options
1597 No first char
1598 No need char
1599 a
1600 0: a
1601 b
1602 0: b
1603 ab
1604 0: ab
1605 \
1606 0:
1607 *** Failers
1608 0:
1609 \N
1610 No match
1611
1612 /|-/I
1613 Capturing subpattern count = 0
1614 No options
1615 No first char
1616 No need char
1617 abcd
1618 0:
1619 -abc
1620 0:
1621 \Nab-c
1622 0: -
1623 *** Failers
1624 0:
1625 \Nabc
1626 No match
1627
1628 /^.?abcd/IS
1629 Capturing subpattern count = 0
1630 Options: anchored
1631 No first char
1632 Need char = 'd'
1633 Subject length lower bound = 4
1634 No set of starting bytes
1635
1636 /\( # ( at start
1637 (?: # Non-capturing bracket
1638 (?>[^()]+) # Either a sequence of non-brackets (no backtracking)
1639 | # Or
1640 (?R) # Recurse - i.e. nested bracketed string
1641 )* # Zero or more contents
1642 \) # Closing )
1643 /Ix
1644 Capturing subpattern count = 0
1645 Options: extended
1646 First char = '('
1647 Need char = ')'
1648 (abcd)
1649 0: (abcd)
1650 (abcd)xyz
1651 0: (abcd)
1652 xyz(abcd)
1653 0: (abcd)
1654 (ab(xy)cd)pqr
1655 0: (ab(xy)cd)
1656 (ab(xycd)pqr
1657 0: (xycd)
1658 () abc ()
1659 0: ()
1660 12(abcde(fsh)xyz(foo(bar))lmno)89
1661 0: (abcde(fsh)xyz(foo(bar))lmno)
1662 *** Failers
1663 No match
1664 abcd
1665 No match
1666 abcd)
1667 No match
1668 (abcd
1669 No match
1670
1671 /\( ( (?>[^()]+) | (?R) )* \) /Ixg
1672 Capturing subpattern count = 1
1673 Options: extended
1674 First char = '('
1675 Need char = ')'
1676 (ab(xy)cd)pqr
1677 0: (ab(xy)cd)
1678 1: cd
1679 1(abcd)(x(y)z)pqr
1680 0: (abcd)
1681 1: abcd
1682 0: (x(y)z)
1683 1: z
1684
1685 /\( (?: (?>[^()]+) | (?R) ) \) /Ix
1686 Capturing subpattern count = 0
1687 Options: extended
1688 First char = '('
1689 Need char = ')'
1690 (abcd)
1691 0: (abcd)
1692 (ab(xy)cd)
1693 0: (xy)
1694 (a(b(c)d)e)
1695 0: (c)
1696 ((ab))
1697 0: ((ab))
1698 *** Failers
1699 No match
1700 ()
1701 No match
1702
1703 /\( (?: (?>[^()]+) | (?R) )? \) /Ix
1704 Capturing subpattern count = 0
1705 Options: extended
1706 First char = '('
1707 Need char = ')'
1708 ()
1709 0: ()
1710 12(abcde(fsh)xyz(foo(bar))lmno)89
1711 0: (fsh)
1712
1713 /\( ( (?>[^()]+) | (?R) )* \) /Ix
1714 Capturing subpattern count = 1
1715 Options: extended
1716 First char = '('
1717 Need char = ')'
1718 (ab(xy)cd)
1719 0: (ab(xy)cd)
1720 1: cd
1721
1722 /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix
1723 Capturing subpattern count = 2
1724 Options: extended
1725 First char = '('
1726 Need char = ')'
1727 (ab(xy)cd)
1728 0: (ab(xy)cd)
1729 1: ab(xy)cd
1730 2: cd
1731
1732 /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix
1733 Capturing subpattern count = 3
1734 Options: extended
1735 First char = '('
1736 Need char = ')'
1737 (ab(xy)cd)
1738 0: (ab(xy)cd)
1739 1: <unset>
1740 2: ab(xy)cd
1741 3: cd
1742 (123ab(xy)cd)
1743 0: (123ab(xy)cd)
1744 1: 123
1745 2: ab(xy)cd
1746 3: 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: ab(xy)cd
1756 2: <unset>
1757 3: cd
1758 (123ab(xy)cd)
1759 0: (123ab(xy)cd)
1760 1: 123ab(xy)cd
1761 2: 123
1762 3: cd
1763
1764 /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix
1765 Capturing subpattern count = 11
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: ab(xy)cd
1773 3: ab(xy)cd
1774 4: ab(xy)cd
1775 5: ab(xy)cd
1776 6: ab(xy)cd
1777 7: ab(xy)cd
1778 8: ab(xy)cd
1779 9: ab(xy)cd
1780 10: ab(xy)cd
1781 11: cd
1782
1783 /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix
1784 Capturing subpattern count = 3
1785 Options: extended
1786 First char = '('
1787 Need char = ')'
1788 (abcd(xyz<p>qrs)123)
1789 0: (abcd(xyz<p>qrs)123)
1790 1: abcd(xyz<p>qrs)123
1791 2: 123
1792
1793 /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix
1794 Capturing subpattern count = 3
1795 Options: extended
1796 First char = '('
1797 Need char = ')'
1798 (ab(cd)ef)
1799 0: (ab(cd)ef)
1800 1: ab(cd)ef
1801 2: ef
1802 3: (cd)
1803 (ab(cd(ef)gh)ij)
1804 0: (ab(cd(ef)gh)ij)
1805 1: ab(cd(ef)gh)ij
1806 2: ij
1807 3: (cd(ef)gh)
1808
1809 /^[[:alnum:]]/DZ
1810 ------------------------------------------------------------------
1811 Bra
1812 ^
1813 [0-9A-Za-z]
1814 Ket
1815 End
1816 ------------------------------------------------------------------
1817 Capturing subpattern count = 0
1818 Options: anchored
1819 No first char
1820 No need char
1821
1822 /^[[:^alnum:]]/DZ
1823 ------------------------------------------------------------------
1824 Bra
1825 ^
1826 [\x00-/:-@[-`{-\xff] (neg)
1827 Ket
1828 End
1829 ------------------------------------------------------------------
1830 Capturing subpattern count = 0
1831 Options: anchored
1832 No first char
1833 No need char
1834
1835 /^[[:alpha:]]/DZ
1836 ------------------------------------------------------------------
1837 Bra
1838 ^
1839 [A-Za-z]
1840 Ket
1841 End
1842 ------------------------------------------------------------------
1843 Capturing subpattern count = 0
1844 Options: anchored
1845 No first char
1846 No need char
1847
1848 /^[[:^alpha:]]/DZ
1849 ------------------------------------------------------------------
1850 Bra
1851 ^
1852 [\x00-@[-`{-\xff] (neg)
1853 Ket
1854 End
1855 ------------------------------------------------------------------
1856 Capturing subpattern count = 0
1857 Options: anchored
1858 No first char
1859 No need char
1860
1861 /[_[:alpha:]]/IS
1862 Capturing subpattern count = 0
1863 No options
1864 No first char
1865 No need char
1866 Subject length lower bound = 1
1867 Starting byte set: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
1868 _ 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
1869
1870 /^[[:ascii:]]/DZ
1871 ------------------------------------------------------------------
1872 Bra
1873 ^
1874 [\x00-\x7f]
1875 Ket
1876 End
1877 ------------------------------------------------------------------
1878 Capturing subpattern count = 0
1879 Options: anchored
1880 No first char
1881 No need char
1882
1883 /^[[:^ascii:]]/DZ
1884 ------------------------------------------------------------------
1885 Bra
1886 ^
1887 [\x80-\xff] (neg)
1888 Ket
1889 End
1890 ------------------------------------------------------------------
1891 Capturing subpattern count = 0
1892 Options: anchored
1893 No first char
1894 No need char
1895
1896 /^[[:blank:]]/DZ
1897 ------------------------------------------------------------------
1898 Bra
1899 ^
1900 [\x09 ]
1901 Ket
1902 End
1903 ------------------------------------------------------------------
1904 Capturing subpattern count = 0
1905 Options: anchored
1906 No first char
1907 No need char
1908
1909 /^[[:^blank:]]/DZ
1910 ------------------------------------------------------------------
1911 Bra
1912 ^
1913 [\x00-\x08\x0a-\x1f!-\xff] (neg)
1914 Ket
1915 End
1916 ------------------------------------------------------------------
1917 Capturing subpattern count = 0
1918 Options: anchored
1919 No first char
1920 No need char
1921
1922 /[\n\x0b\x0c\x0d[:blank:]]/IS
1923 Capturing subpattern count = 0
1924 Contains explicit CR or LF match
1925 No options
1926 No first char
1927 No need char
1928 Subject length lower bound = 1
1929 Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20
1930
1931 /^[[:cntrl:]]/DZ
1932 ------------------------------------------------------------------
1933 Bra
1934 ^
1935 [\x00-\x1f\x7f]
1936 Ket
1937 End
1938 ------------------------------------------------------------------
1939 Capturing subpattern count = 0
1940 Options: anchored
1941 No first char
1942 No need char
1943
1944 /^[[:digit:]]/DZ
1945 ------------------------------------------------------------------
1946 Bra
1947 ^
1948 [0-9]
1949 Ket
1950 End
1951 ------------------------------------------------------------------
1952 Capturing subpattern count = 0
1953 Options: anchored
1954 No first char
1955 No need char
1956
1957 /^[[:graph:]]/DZ
1958 ------------------------------------------------------------------
1959 Bra
1960 ^
1961 [!-~]
1962 Ket
1963 End
1964 ------------------------------------------------------------------
1965 Capturing subpattern count = 0
1966 Options: anchored
1967 No first char
1968 No need char
1969
1970 /^[[:lower:]]/DZ
1971 ------------------------------------------------------------------
1972 Bra
1973 ^
1974 [a-z]
1975 Ket
1976 End
1977 ------------------------------------------------------------------
1978 Capturing subpattern count = 0
1979 Options: anchored
1980 No first char
1981 No need char
1982
1983 /^[[:print:]]/DZ
1984 ------------------------------------------------------------------
1985 Bra
1986 ^
1987 [ -~]
1988 Ket
1989 End
1990 ------------------------------------------------------------------
1991 Capturing subpattern count = 0
1992 Options: anchored
1993 No first char
1994 No need char
1995
1996 /^[[:punct:]]/DZ
1997 ------------------------------------------------------------------
1998 Bra
1999 ^
2000 [!-/:-@[-`{-~]
2001 Ket
2002 End
2003 ------------------------------------------------------------------
2004 Capturing subpattern count = 0
2005 Options: anchored
2006 No first char
2007 No need char
2008
2009 /^[[:space:]]/DZ
2010 ------------------------------------------------------------------
2011 Bra
2012 ^
2013 [\x09-\x0d ]
2014 Ket
2015 End
2016 ------------------------------------------------------------------
2017 Capturing subpattern count = 0
2018 Options: anchored
2019 No first char
2020 No need char
2021
2022 /^[[:upper:]]/DZ
2023 ------------------------------------------------------------------
2024 Bra
2025 ^
2026 [A-Z]
2027 Ket
2028 End
2029 ------------------------------------------------------------------
2030 Capturing subpattern count = 0
2031 Options: anchored
2032 No first char
2033 No need char
2034
2035 /^[[:xdigit:]]/DZ
2036 ------------------------------------------------------------------
2037 Bra
2038 ^
2039 [0-9A-Fa-f]
2040 Ket
2041 End
2042 ------------------------------------------------------------------
2043 Capturing subpattern count = 0
2044 Options: anchored
2045 No first char
2046 No need char
2047
2048 /^[[:word:]]/DZ
2049 ------------------------------------------------------------------
2050 Bra
2051 ^
2052 [0-9A-Z_a-z]
2053 Ket
2054 End
2055 ------------------------------------------------------------------
2056 Capturing subpattern count = 0
2057 Options: anchored
2058 No first char
2059 No need char
2060
2061 /^[[:^cntrl:]]/DZ
2062 ------------------------------------------------------------------
2063 Bra
2064 ^
2065 [ -~\x80-\xff] (neg)
2066 Ket
2067 End
2068 ------------------------------------------------------------------
2069 Capturing subpattern count = 0
2070 Options: anchored
2071 No first char
2072 No need char
2073
2074 /^[12[:^digit:]]/DZ
2075 ------------------------------------------------------------------
2076 Bra
2077 ^
2078 [\x00-/12:-\xff] (neg)
2079 Ket
2080 End
2081 ------------------------------------------------------------------
2082 Capturing subpattern count = 0
2083 Options: anchored
2084 No first char
2085 No need char
2086
2087 /^[[:^blank:]]/DZ
2088 ------------------------------------------------------------------
2089 Bra
2090 ^
2091 [\x00-\x08\x0a-\x1f!-\xff] (neg)
2092 Ket
2093 End
2094 ------------------------------------------------------------------
2095 Capturing subpattern count = 0
2096 Options: anchored
2097 No first char
2098 No need char
2099
2100 /[01[:alpha:]%]/DZ
2101 ------------------------------------------------------------------
2102 Bra
2103 [%01A-Za-z]
2104 Ket
2105 End
2106 ------------------------------------------------------------------
2107 Capturing subpattern count = 0
2108 No options
2109 No first char
2110 No need char
2111
2112 /[[.ch.]]/I
2113 Failed: POSIX collating elements are not supported at offset 1
2114
2115 /[[=ch=]]/I
2116 Failed: POSIX collating elements are not supported at offset 1
2117
2118 /[[:rhubarb:]]/I
2119 Failed: unknown POSIX class name at offset 3
2120
2121 /[[:upper:]]/Ii
2122 Capturing subpattern count = 0
2123 Options: caseless
2124 No first char
2125 No need char
2126 A
2127 0: A
2128 a
2129 0: a
2130
2131 /[[:lower:]]/Ii
2132 Capturing subpattern count = 0
2133 Options: caseless
2134 No first char
2135 No need char
2136 A
2137 0: A
2138 a
2139 0: a
2140
2141 /((?-i)[[:lower:]])[[:lower:]]/Ii
2142 Capturing subpattern count = 1
2143 Options: caseless
2144 No first char
2145 No need char
2146 ab
2147 0: ab
2148 1: a
2149 aB
2150 0: aB
2151 1: a
2152 *** Failers
2153 0: ai
2154 1: a
2155 Ab
2156 No match
2157 AB
2158 No match
2159
2160 /[\200-\110]/I
2161 Failed: range out of order in character class at offset 9
2162
2163 /^(?(0)f|b)oo/I
2164 Failed: invalid condition (?(0) at offset 6
2165
2166 /This one's here because of the large output vector needed/I
2167 Capturing subpattern count = 0
2168 No options
2169 First char = 'T'
2170 Need char = 'd'
2171
2172 /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\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
2173 Capturing subpattern count = 271
2174 Max back reference = 270
2175 No options
2176 No first char
2177 No need char
2178 \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
2179 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
2180 1: 1
2181 2: 2
2182 3: 3
2183 4: 4
2184 5: 5
2185 6: 6
2186 7: 7
2187 8: 8
2188 9: 9
2189 10: 10
2190 11: 11
2191 12: 12
2192 13: 13
2193 14: 14
2194 15: 15
2195 16: 16
2196 17: 17
2197 18: 18
2198 19: 19
2199 20: 20
2200 21: 21
2201 22: 22
2202 23: 23
2203 24: 24
2204 25: 25
2205 26: 26
2206 27: 27
2207 28: 28
2208 29: 29
2209 30: 30
2210 31: 31
2211 32: 32
2212 33: 33
2213 34: 34
2214 35: 35
2215 36: 36
2216 37: 37
2217 38: 38
2218 39: 39
2219 40: 40
2220 41: 41
2221 42: 42
2222 43: 43
2223 44: 44
2224 45: 45
2225 46: 46
2226 47: 47
2227 48: 48
2228 49: 49
2229 50: 50
2230 51: 51
2231 52: 52
2232 53: 53
2233 54: 54
2234 55: 55
2235 56: 56
2236 57: 57
2237 58: 58
2238 59: 59
2239 60: 60
2240 61: 61
2241 62: 62
2242 63: 63
2243 64: 64
2244 65: 65
2245 66: 66
2246 67: 67
2247 68: 68
2248 69: 69
2249 70: 70
2250 71: 71
2251 72: 72
2252 73: 73
2253 74: 74
2254 75: 75
2255 76: 76
2256 77: 77
2257 78: 78
2258 79: 79
2259 80: 80
2260 81: 81
2261 82: 82
2262 83: 83
2263 84: 84
2264 85: 85
2265 86: 86
2266 87: 87
2267 88: 88
2268 89: 89
2269 90: 90
2270 91: 91
2271 92: 92
2272 93: 93
2273 94: 94
2274 95: 95
2275 96: 96
2276 97: 97
2277 98: 98
2278 99: 99
2279 100: 100
2280 101: 101
2281 102: 102
2282 103: 103
2283 104: 104
2284 105: 105
2285 106: 106
2286 107: 107
2287 108: 108
2288 109: 109
2289 110: 110
2290 111: 111
2291 112: 112
2292 113: 113
2293 114: 114
2294 115: 115
2295 116: 116
2296 117: 117
2297 118: 118
2298 119: 119
2299 120: 120
2300 121: 121
2301 122: 122
2302 123: 123
2303 124: 124
2304 125: 125
2305 126: 126
2306 127: 127
2307 128: 128
2308 129: 129
2309 130: 130
2310 131: 131
2311 132: 132
2312 133: 133
2313 134: 134
2314 135: 135
2315 136: 136
2316 137: 137
2317 138: 138
2318 139: 139
2319 140: 140
2320 141: 141
2321 142: 142
2322 143: 143
2323 144: 144
2324 145: 145
2325 146: 146
2326 147: 147
2327 148: 148
2328 149: 149
2329 150: 150
2330 151: 151
2331 152: 152
2332 153: 153
2333 154: 154
2334 155: 155
2335 156: 156
2336 157: 157
2337 158: 158
2338 159: 159
2339 160: 160
2340 161: 161
2341 162: 162
2342 163: 163
2343 164: 164
2344 165: 165
2345 166: 166
2346 167: 167
2347 168: 168
2348 169: 169
2349 170: 170
2350 171: 171
2351 172: 172
2352 173: 173
2353 174: 174
2354 175: 175
2355 176: 176
2356 177: 177
2357 178: 178
2358 179: 179
2359 180: 180
2360 181: 181
2361 182: 182
2362 183: 183
2363 184: 184
2364 185: 185
2365 186: 186
2366 187: 187
2367 188: 188
2368 189: 189
2369 190: 190
2370 191: 191
2371 192: 192
2372 193: 193
2373 194: 194
2374 195: 195
2375 196: 196
2376 197: 197
2377 198: 198
2378 199: 199
2379 200: 200
2380 201: 201
2381 202: 202
2382 203: 203
2383 204: 204
2384 205: 205
2385 206: 206
2386 207: 207
2387 208: 208
2388 209: 209
2389 210: 210
2390 211: 211
2391 212: 212
2392 213: 213
2393 214: 214
2394 215: 215
2395 216: 216
2396 217: 217
2397 218: 218
2398 219: 219
2399 220: 220
2400 221: 221
2401 222: 222
2402 223: 223
2403 224: 224
2404 225: 225
2405 226: 226
2406 227: 227
2407 228: 228
2408 229: 229
2409 230: 230
2410 231: 231
2411 232: 232
2412 233: 233
2413 234: 234
2414 235: 235
2415 236: 236
2416 237: 237
2417 238: 238
2418 239: 239
2419 240: 240
2420 241: 241
2421 242: 242
2422 243: 243
2423 244: 244
2424 245: 245
2425 246: 246
2426 247: 247
2427 248: 248
2428 249: 249
2429 250: 250
2430 251: 251
2431 252: 252
2432 253: 253
2433 254: 254
2434 255: 255
2435 256: 256
2436 257: 257
2437 258: 258
2438 259: 259
2439 260: 260
2440 261: 261
2441 262: 262
2442 263: 263
2443 264: 264
2444 265: 265
2445 266: 266
2446 267: 267
2447 268: 268
2448 269: 269
2449 270: ABC
2450 271: ABC
2451
2452 /This one's here because Perl does this differently and PCRE can't at present/I
2453 Capturing subpattern count = 0
2454 No options
2455 First char = 'T'
2456 Need char = 't'
2457
2458 /(main(O)?)+/I
2459 Capturing subpattern count = 2
2460 No options
2461 First char = 'm'
2462 Need char = 'n'
2463 mainmain
2464 0: mainmain
2465 1: main
2466 mainOmain
2467 0: mainOmain
2468 1: main
2469 2: O
2470
2471 /These are all cases where Perl does it differently (nested captures)/I
2472 Capturing subpattern count = 1
2473 No options
2474 First char = 'T'
2475 Need char = 's'
2476
2477 /^(a(b)?)+$/I
2478 Capturing subpattern count = 2
2479 Options: anchored
2480 No first char
2481 No need char
2482 aba
2483 0: aba
2484 1: a
2485 2: b
2486
2487 /^(aa(bb)?)+$/I
2488 Capturing subpattern count = 2
2489 Options: anchored
2490 No first char
2491 No need char
2492 aabbaa
2493 0: aabbaa
2494 1: aa
2495 2: bb
2496
2497 /^(aa|aa(bb))+$/I
2498 Capturing subpattern count = 2
2499 Options: anchored
2500 No first char
2501 No need char
2502 aabbaa
2503 0: aabbaa
2504 1: aa
2505 2: bb
2506
2507 /^(aa(bb)??)+$/I
2508 Capturing subpattern count = 2
2509 Options: anchored
2510 No first char
2511 No need char
2512 aabbaa
2513 0: aabbaa
2514 1: aa
2515 2: bb
2516
2517 /^(?:aa(bb)?)+$/I
2518 Capturing subpattern count = 1
2519 Options: anchored
2520 No first char
2521 No need char
2522 aabbaa
2523 0: aabbaa
2524 1: bb
2525
2526 /^(aa(b(b))?)+$/I
2527 Capturing subpattern count = 3
2528 Options: anchored
2529 No first char
2530 No need char
2531 aabbaa
2532 0: aabbaa
2533 1: aa
2534 2: bb
2535 3: b
2536
2537 /^(?:aa(b(b))?)+$/I
2538 Capturing subpattern count = 2
2539 Options: anchored
2540 No first char
2541 No need char
2542 aabbaa
2543 0: aabbaa
2544 1: bb
2545 2: b
2546
2547 /^(?:aa(b(?:b))?)+$/I
2548 Capturing subpattern count = 1
2549 Options: anchored
2550 No first char
2551 No need char
2552 aabbaa
2553 0: aabbaa
2554 1: bb
2555
2556 /^(?:aa(bb(?:b))?)+$/I
2557 Capturing subpattern count = 1
2558 Options: anchored
2559 No first char
2560 No need char
2561 aabbbaa
2562 0: aabbbaa
2563 1: bbb
2564
2565 /^(?:aa(b(?:bb))?)+$/I
2566 Capturing subpattern count = 1
2567 Options: anchored
2568 No first char
2569 No need char
2570 aabbbaa
2571 0: aabbbaa
2572 1: bbb
2573
2574 /^(?:aa(?:b(b))?)+$/I
2575 Capturing subpattern count = 1
2576 Options: anchored
2577 No first char
2578 No need char
2579 aabbaa
2580 0: aabbaa
2581 1: b
2582
2583 /^(?:aa(?:b(bb))?)+$/I
2584 Capturing subpattern count = 1
2585 Options: anchored
2586 No first char
2587 No need char
2588 aabbbaa
2589 0: aabbbaa
2590 1: bb
2591
2592 /^(aa(b(bb))?)+$/I
2593 Capturing subpattern count = 3
2594 Options: anchored
2595 No first char
2596 No need char
2597 aabbbaa
2598 0: aabbbaa
2599 1: aa
2600 2: bbb
2601 3: bb
2602
2603 /^(aa(bb(bb))?)+$/I
2604 Capturing subpattern count = 3
2605 Options: anchored
2606 No first char
2607 No need char
2608 aabbbbaa
2609 0: aabbbbaa
2610 1: aa
2611 2: bbbb
2612 3: bb
2613
2614 /--------------------------------------------------------------------/I
2615 Capturing subpattern count = 0
2616 No options
2617 First char = '-'
2618 Need char = '-'
2619
2620 /#/IxDZ
2621 ------------------------------------------------------------------
2622 Bra
2623 Ket
2624 End
2625 ------------------------------------------------------------------
2626 Capturing subpattern count = 0
2627 Options: extended
2628 No first char
2629 No need char
2630
2631 /a#/IxDZ
2632 ------------------------------------------------------------------
2633 Bra
2634 a
2635 Ket
2636 End
2637 ------------------------------------------------------------------
2638 Capturing subpattern count = 0
2639 Options: extended
2640 First char = 'a'
2641 No need char
2642
2643 /[\s]/DZ
2644 ------------------------------------------------------------------
2645 Bra
2646 [\x09\x0a\x0c\x0d ]
2647 Ket
2648 End
2649 ------------------------------------------------------------------
2650 Capturing subpattern count = 0
2651 No options
2652 No first char
2653 No need char
2654
2655 /[\S]/DZ
2656 ------------------------------------------------------------------
2657 Bra
2658 [\x00-\x08\x0b\x0e-\x1f!-\xff] (neg)
2659 Ket
2660 End
2661 ------------------------------------------------------------------
2662 Capturing subpattern count = 0
2663 No options
2664 No first char
2665 No need char
2666
2667 /a(?i)b/DZ
2668 ------------------------------------------------------------------
2669 Bra
2670 a
2671 /i b
2672 Ket
2673 End
2674 ------------------------------------------------------------------
2675 Capturing subpattern count = 0
2676 No options
2677 First char = 'a'
2678 Need char = 'b' (caseless)
2679 ab
2680 0: ab
2681 aB
2682 0: aB
2683 *** Failers
2684 No match
2685 AB
2686 No match
2687
2688 /(a(?i)b)/DZ
2689 ------------------------------------------------------------------
2690 Bra
2691 CBra 1
2692 a
2693 /i b
2694 Ket
2695 Ket
2696 End
2697 ------------------------------------------------------------------
2698 Capturing subpattern count = 1
2699 No options
2700 First char = 'a'
2701 Need char = 'b' (caseless)
2702 ab
2703 0: ab
2704 1: ab
2705 aB
2706 0: aB
2707 1: aB
2708 *** Failers
2709 No match
2710 AB
2711 No match
2712
2713 / (?i)abc/IxDZ
2714 ------------------------------------------------------------------
2715 Bra
2716 /i abc
2717 Ket
2718 End
2719 ------------------------------------------------------------------
2720 Capturing subpattern count = 0
2721 Options: caseless extended
2722 First char = 'a' (caseless)
2723 Need char = 'c' (caseless)
2724
2725 /#this is a comment
2726 (?i)abc/IxDZ
2727 ------------------------------------------------------------------
2728 Bra
2729 /i abc
2730 Ket
2731 End
2732 ------------------------------------------------------------------
2733 Capturing subpattern count = 0
2734 Options: caseless extended
2735 First char = 'a' (caseless)
2736 Need char = 'c' (caseless)
2737
2738 /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
2739 ------------------------------------------------------------------
2740 Bra
2741 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
2742 Ket
2743 End
2744 ------------------------------------------------------------------
2745 Capturing subpattern count = 0
2746 No options
2747 First char = '1'
2748 Need char = '0'
2749
2750 /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
2751 ------------------------------------------------------------------
2752 Bra
2753 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
2754 Ket
2755 End
2756 ------------------------------------------------------------------
2757 Capturing subpattern count = 0
2758 No options
2759 First char = '1'
2760 Need char = '0'
2761
2762 /\Q\E/DZ
2763 ------------------------------------------------------------------
2764 Bra
2765 Ket
2766 End
2767 ------------------------------------------------------------------
2768 Capturing subpattern count = 0
2769 No options
2770 No first char
2771 No need char
2772 \
2773 0:
2774
2775 /\Q\Ex/DZ
2776 ------------------------------------------------------------------
2777 Bra
2778 x
2779 Ket
2780 End
2781 ------------------------------------------------------------------
2782 Capturing subpattern count = 0
2783 No options
2784 First char = 'x'
2785 No need char
2786
2787 / \Q\E/DZ
2788 ------------------------------------------------------------------
2789 Bra
2790
2791 Ket
2792 End
2793 ------------------------------------------------------------------
2794 Capturing subpattern count = 0
2795 No options
2796 First char = ' '
2797 No need char
2798
2799 /a\Q\E/DZ
2800 ------------------------------------------------------------------
2801 Bra
2802 a
2803 Ket
2804 End
2805 ------------------------------------------------------------------
2806 Capturing subpattern count = 0
2807 No options
2808 First char = 'a'
2809 No need char
2810 abc
2811 0: a
2812 bca
2813 0: a
2814 bac
2815 0: a
2816
2817 /a\Q\Eb/DZ
2818 ------------------------------------------------------------------
2819 Bra
2820 ab
2821 Ket
2822 End
2823 ------------------------------------------------------------------
2824 Capturing subpattern count = 0
2825 No options
2826 First char = 'a'
2827 Need char = 'b'
2828 abc
2829 0: ab
2830
2831 /\Q\Eabc/DZ
2832 ------------------------------------------------------------------
2833 Bra
2834 abc
2835 Ket
2836 End
2837 ------------------------------------------------------------------
2838 Capturing subpattern count = 0
2839 No options
2840 First char = 'a'
2841 Need char = 'c'
2842
2843 /x*+\w/DZ
2844 ------------------------------------------------------------------
2845 Bra
2846 x*+
2847 \w
2848 Ket
2849 End
2850 ------------------------------------------------------------------
2851 Capturing subpattern count = 0
2852 No options
2853 No first char
2854 No need char
2855 *** Failers
2856 0: F
2857 xxxxx
2858 No match
2859
2860 /x?+/DZ
2861 ------------------------------------------------------------------
2862 Bra
2863 x?+
2864 Ket
2865 End
2866 ------------------------------------------------------------------
2867 Capturing subpattern count = 0
2868 No options
2869 No first char
2870 No need char
2871
2872 /x++/DZ
2873 ------------------------------------------------------------------
2874 Bra
2875 x++
2876 Ket
2877 End
2878 ------------------------------------------------------------------
2879 Capturing subpattern count = 0
2880 No options
2881 First char = 'x'
2882 No need char
2883
2884 /x{1,3}+/DZ
2885 ------------------------------------------------------------------
2886 Bra
2887 Once
2888 x
2889 x{0,2}
2890 Ket
2891 Ket
2892 End
2893 ------------------------------------------------------------------
2894 Capturing subpattern count = 0
2895 No options
2896 First char = 'x'
2897 No need char
2898
2899 /(x)*+/DZ
2900 ------------------------------------------------------------------
2901 Bra
2902 Braposzero
2903 CBraPos 1
2904 x
2905 KetRpos
2906 Ket
2907 End
2908 ------------------------------------------------------------------
2909 Capturing subpattern count = 1
2910 No options
2911 No first char
2912 No need char
2913
2914 /^(\w++|\s++)*$/I
2915 Capturing subpattern count = 1
2916 Options: anchored
2917 No first char
2918 No need char
2919 now is the time for all good men to come to the aid of the party
2920 0: now is the time for all good men to come to the aid of the party
2921 1: party
2922 *** Failers
2923 No match
2924 this is not a line with only words and spaces!
2925 No match
2926
2927 /(\d++)(\w)/I
2928 Capturing subpattern count = 2
2929 No options
2930 No first char
2931 No need char
2932 12345a
2933 0: 12345a
2934 1: 12345
2935 2: a
2936 *** Failers
2937 No match
2938 12345+
2939 No match
2940
2941 /a++b/I
2942 Capturing subpattern count = 0
2943 No options
2944 First char = 'a'
2945 Need char = 'b'
2946 aaab
2947 0: aaab
2948
2949 /(a++b)/I
2950 Capturing subpattern count = 1
2951 No options
2952 First char = 'a'
2953 Need char = 'b'
2954 aaab
2955 0: aaab
2956 1: aaab
2957
2958 /(a++)b/I
2959 Capturing subpattern count = 1
2960 No options
2961 First char = 'a'
2962 Need char = 'b'
2963 aaab
2964 0: aaab
2965 1: aaa
2966
2967 /([^()]++|\([^()]*\))+/I
2968 Capturing subpattern count = 1
2969 No options
2970 No first char
2971 No need char
2972 ((abc(ade)ufh()()x
2973 0: abc(ade)ufh()()x
2974 1: x
2975
2976 /\(([^()]++|\([^()]+\))+\)/I
2977 Capturing subpattern count = 1
2978 No options
2979 First char = '('
2980 Need char = ')'
2981 (abc)
2982 0: (abc)
2983 1: abc
2984 (abc(def)xyz)
2985 0: (abc(def)xyz)
2986 1: xyz
2987 *** Failers
2988 No match
2989 ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
2990 No match
2991
2992 /(abc){1,3}+/DZ
2993 ------------------------------------------------------------------
2994 Bra
2995 Once
2996 CBra 1
2997 abc
2998 Ket
2999 Brazero
3000 Bra
3001 CBra 1
3002 abc
3003 Ket
3004 Brazero
3005 CBra 1
3006 abc
3007 Ket
3008 Ket
3009 Ket
3010 Ket
3011 End
3012 ------------------------------------------------------------------
3013 Capturing subpattern count = 1
3014 No options
3015 First char = 'a'
3016 Need char = 'c'
3017
3018 /a+?+/I
3019 Failed: nothing to repeat at offset 3
3020
3021 /a{2,3}?+b/I
3022 Failed: nothing to repeat at offset 7
3023
3024 /(?U)a+?+/I
3025 Failed: nothing to repeat at offset 7
3026
3027 /a{2,3}?+b/IU
3028 Failed: nothing to repeat at offset 7
3029
3030 /x(?U)a++b/DZ
3031 ------------------------------------------------------------------
3032 Bra
3033 x
3034 a++
3035 b
3036 Ket
3037 End
3038 ------------------------------------------------------------------
3039 Capturing subpattern count = 0
3040 No options
3041 First char = 'x'
3042 Need char = 'b'
3043 xaaaab
3044 0: xaaaab
3045
3046 /(?U)xa++b/DZ
3047 ------------------------------------------------------------------
3048 Bra
3049 x
3050 a++
3051 b
3052 Ket
3053 End
3054 ------------------------------------------------------------------
3055 Capturing subpattern count = 0
3056 Options: ungreedy
3057 First char = 'x'
3058 Need char = 'b'
3059 xaaaab
3060 0: xaaaab
3061
3062 /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/DZ
3063 ------------------------------------------------------------------
3064 Bra
3065 ^
3066 CBra 1
3067 CBra 2
3068 a+
3069 Ket
3070 CBra 3
3071 [ab]+?
3072 Ket
3073 CBra 4
3074 [bc]+
3075 Ket
3076 CBra 5
3077 \w*
3078 Ket
3079 Ket
3080 Ket
3081 End
3082 ------------------------------------------------------------------
3083 Capturing subpattern count = 5
3084 Options: anchored
3085 No first char
3086 No need char
3087
3088 /^x(?U)a+b/DZ
3089 ------------------------------------------------------------------
3090 Bra
3091 ^
3092 x
3093 a++
3094 b
3095 Ket
3096 End
3097 ------------------------------------------------------------------
3098 Capturing subpattern count = 0
3099 Options: anchored
3100 No first char
3101 Need char = 'b'
3102
3103 /^x(?U)(a+)b/DZ
3104 ------------------------------------------------------------------
3105 Bra
3106 ^
3107 x
3108 CBra 1
3109 a+?
3110 Ket
3111 b
3112 Ket
3113 End
3114 ------------------------------------------------------------------
3115 Capturing subpattern count = 1
3116 Options: anchored
3117 No first char
3118 Need char = 'b'
3119
3120 /[.x.]/I
3121 Failed: POSIX collating elements are not supported at offset 0
3122
3123 /[=x=]/I
3124 Failed: POSIX collating elements are not supported at offset 0
3125
3126 /[:x:]/I
3127 Failed: POSIX named classes are supported only within a class at offset 0
3128
3129 /\l/I
3130 Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
3131
3132 /\L/I
3133 Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
3134
3135 /\N{name}/I
3136 Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
3137
3138 /\u/I
3139 Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
3140
3141 /\U/I
3142 Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
3143
3144 /[/I
3145 Failed: missing terminating ] for character class at offset 1
3146
3147 /[a-/I
3148 Failed: missing terminating ] for character class at offset 3
3149
3150 /[[:space:]/I
3151 Failed: missing terminating ] for character class at offset 10
3152
3153 /[\s]/IDZ
3154 ------------------------------------------------------------------
3155 Bra
3156 [\x09\x0a\x0c\x0d ]
3157 Ket
3158 End
3159 ------------------------------------------------------------------
3160 Capturing subpattern count = 0
3161 No options
3162 No first char
3163 No need char
3164
3165 /[[:space:]]/IDZ
3166 ------------------------------------------------------------------
3167 Bra
3168 [\x09-\x0d ]
3169 Ket
3170 End
3171 ------------------------------------------------------------------
3172 Capturing subpattern count = 0
3173 No options
3174 No first char
3175 No need char
3176
3177 /[[:space:]abcde]/IDZ
3178 ------------------------------------------------------------------
3179 Bra
3180 [\x09-\x0d a-e]
3181 Ket
3182 End
3183 ------------------------------------------------------------------
3184 Capturing subpattern count = 0
3185 No options
3186 No first char
3187 No need char
3188
3189 /< (?: (?(R) \d++ | [^<>]*+) | (?R)) * >/Ix
3190 Capturing subpattern count = 0
3191 Options: extended
3192 First char = '<'
3193 Need char = '>'
3194 <>
3195 0: <>
3196 <abcd>
3197 0: <abcd>
3198 <abc <123> hij>
3199 0: <abc <123> hij>
3200 <abc <def> hij>
3201 0: <def>
3202 <abc<>def>
3203 0: <abc<>def>
3204 <abc<>
3205 0: <>
3206 *** Failers
3207 No match
3208 <abc
3209 No match
3210
3211 |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
3212 ------------------------------------------------------------------
3213 Bra
3214 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
3215 \b
3216 Ket
3217 End
3218 ------------------------------------------------------------------
3219 Capturing subpattern count = 0
3220 No options
3221 First char = '8'
3222 Need char = 'X'
3223
3224 |\$\<\.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
3225 ------------------------------------------------------------------
3226 Bra
3227 $<.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
3228 \b
3229 Ket
3230 End
3231 ------------------------------------------------------------------
3232 Capturing subpattern count = 0
3233 No options
3234 First char = '$'
3235 Need char = 'X'
3236
3237 /(.*)\d+\1/I
3238 Capturing subpattern count = 1
3239 Max back reference = 1
3240 No options
3241 No first char
3242 No need char
3243
3244 /(.*)\d+/I
3245 Capturing subpattern count = 1
3246 No options
3247 First char at start or follows newline
3248 No need char
3249
3250 /(.*)\d+\1/Is
3251 Capturing subpattern count = 1
3252 Max back reference = 1
3253 Options: dotall
3254 No first char
3255 No need char
3256
3257 /(.*)\d+/Is
3258 Capturing subpattern count = 1
3259 Options: anchored dotall
3260 No first char
3261 No need char
3262
3263 /(.*(xyz))\d+\2/I
3264 Capturing subpattern count = 2
3265 Max back reference = 2
3266 No options
3267 First char at start or follows newline
3268 Need char = 'z'
3269
3270 /((.*))\d+\1/I
3271 Capturing subpattern count = 2
3272 Max back reference = 1
3273 No options
3274 No first char
3275 No need char
3276 abc123bc
3277 0: bc123bc
3278 1: bc
3279 2: bc
3280
3281 /a[b]/I
3282 Capturing subpattern count = 0
3283 No options
3284 First char = 'a'
3285 Need char = 'b'
3286
3287 /(?=a).*/I
3288 Capturing subpattern count = 0
3289 No options
3290 First char = 'a'
3291 No need char
3292
3293 /(?=abc).xyz/IiI
3294 Capturing subpattern count = 0
3295 Options: caseless
3296 First char = 'a' (caseless)
3297 Need char = 'z' (caseless)
3298
3299 /(?=abc)(?i).xyz/I
3300 Capturing subpattern count = 0
3301 No options
3302 First char = 'a'
3303 Need char = 'z' (caseless)
3304
3305 /(?=a)(?=b)/I
3306 Capturing subpattern count = 0
3307 No options
3308 First char = 'a'
3309 No need char
3310
3311 /(?=.)a/I
3312 Capturing subpattern count = 0
3313 No options
3314 First char = 'a'
3315 No need char
3316
3317 /((?=abcda)a)/I
3318 Capturing subpattern count = 1
3319 No options
3320 First char = 'a'
3321 Need char = 'a'
3322
3323 /((?=abcda)ab)/I
3324 Capturing subpattern count = 1
3325 No options
3326 First char = 'a'
3327 Need char = 'b'
3328
3329 /()a/I
3330 Capturing subpattern count = 1
3331 No options
3332 No first char
3333 Need char = 'a'
3334
3335 /(?(1)ab|ac)(.)/I
3336 Capturing subpattern count = 1
3337 No options
3338 First char = 'a'
3339 No need char
3340
3341 /(?(1)abz|acz)(.)/I
3342 Capturing subpattern count = 1
3343 No options
3344 First char = 'a'
3345 Need char = 'z'
3346
3347 /(?(1)abz)(.)/I
3348 Capturing subpattern count = 1
3349 No options
3350 No first char
3351 No need char
3352
3353 /(?(1)abz)(1)23/I
3354 Capturing subpattern count = 1
3355 No options
3356 No first char
3357 Need char = '3'
3358
3359 /(a)+/I
3360 Capturing subpattern count = 1
3361 No options
3362 First char = 'a'
3363 No need char
3364
3365 /(a){2,3}/I
3366 Capturing subpattern count = 1
3367 No options
3368 First char = 'a'
3369 Need char = 'a'
3370
3371 /(a)*/I
3372 Capturing subpattern count = 1
3373 No options
3374 No first char
3375 No need char
3376
3377 /[a]/I
3378 Capturing subpattern count = 0
3379 No options
3380 First char = 'a'
3381 No need char
3382
3383 /[ab]/I
3384 Capturing subpattern count = 0
3385 No options
3386 No first char
3387 No need char
3388
3389 /[ab]/IS
3390 Capturing subpattern count = 0
3391 No options
3392 No first char
3393 No need char
3394 Subject length lower bound = 1
3395 Starting byte set: a b
3396
3397 /[^a]/I
3398 Capturing subpattern count = 0
3399 No options
3400 No first char
3401 No need char
3402
3403 /\d456/I
3404 Capturing subpattern count = 0
3405 No options
3406 No first char
3407 Need char = '6'
3408
3409 /\d456/IS
3410 Capturing subpattern count = 0
3411 No options
3412 No first char
3413 Need char = '6'
3414 Subject length lower bound = 4
3415 Starting byte set: 0 1 2 3 4 5 6 7 8 9
3416
3417 /a^b/I
3418 Capturing subpattern count = 0
3419 No options
3420 First char = 'a'
3421 Need char = 'b'
3422
3423 /^a/Im
3424 Capturing subpattern count = 0
3425 Options: multiline
3426 First char at start or follows newline
3427 Need char = 'a'
3428 abcde
3429 0: a
3430 xy\nabc
3431 0: a
3432 *** Failers
3433 No match
3434 xyabc
3435 No match
3436
3437 /c|abc/I
3438 Capturing subpattern count = 0
3439 No options
3440 No first char
3441 Need char = 'c'
3442
3443 /(?i)[ab]/IS
3444 Capturing subpattern count = 0
3445 Options: caseless
3446 No first char
3447 No need char
3448 Subject length lower bound = 1
3449 Starting byte set: A B a b
3450
3451 /[ab](?i)cd/IS
3452 Capturing subpattern count = 0
3453 No options
3454 No first char
3455 Need char = 'd' (caseless)
3456 Subject length lower bound = 3
3457 Starting byte set: a b
3458
3459 /abc(?C)def/I
3460 Capturing subpattern count = 0
3461 No options
3462 First char = 'a'
3463 Need char = 'f'
3464 abcdef
3465 --->abcdef
3466 0 ^ ^ d
3467 0: abcdef
3468 1234abcdef
3469 --->1234abcdef
3470 0 ^ ^ d
3471 0: abcdef
3472 *** Failers
3473 No match
3474 abcxyz
3475 No match
3476 abcxyzf
3477 --->abcxyzf
3478 0 ^ ^ d
3479 No match
3480
3481 /abc(?C)de(?C1)f/I
3482 Capturing subpattern count = 0
3483 No options
3484 First char = 'a'
3485 Need char = 'f'
3486 123abcdef
3487 --->123abcdef
3488 0 ^ ^ d
3489 1 ^ ^ f
3490 0: abcdef
3491
3492 /(?C1)\dabc(?C2)def/IS
3493 Capturing subpattern count = 0
3494 No options
3495 No first char
3496 Need char = 'f'
3497 Subject length lower bound = 7
3498 Starting byte set: 0 1 2 3 4 5 6 7 8 9
3499 1234abcdef
3500 --->1234abcdef
3501 1 ^ \d
3502 1 ^ \d
3503 1 ^ \d
3504 1 ^ \d
3505 2 ^ ^ d
3506 0: 4abcdef
3507 *** Failers
3508 No match
3509 abcdef
3510 No match
3511
3512 /(?C1)\dabc(?C2)def/ISS
3513 Capturing subpattern count = 0
3514 No options
3515 No first char
3516 Need char = 'f'
3517 1234abcdef
3518 --->1234abcdef
3519 1 ^ \d
3520 1 ^ \d
3521 1 ^ \d
3522 1 ^ \d
3523 2 ^ ^ d
3524 0: 4abcdef
3525 *** Failers
3526 No match
3527 abcdef
3528 --->abcdef
3529 1 ^ \d
3530 1 ^ \d
3531 1 ^ \d
3532 1 ^ \d
3533 1 ^ \d
3534 1 ^ \d
3535 No match
3536
3537 /(?C255)ab/I
3538 Capturing subpattern count = 0
3539 No options
3540 First char = 'a'
3541 Need char = 'b'
3542
3543 /(?C256)ab/I
3544 Failed: number after (?C is > 255 at offset 6
3545
3546 /(?Cab)xx/I
3547 Failed: closing ) for (?C expected at offset 3
3548
3549 /(?C12vr)x/I
3550 Failed: closing ) for (?C expected at offset 5
3551
3552 /abc(?C)def/I
3553 Capturing subpattern count = 0
3554 No options
3555 First char = 'a'
3556 Need char = 'f'
3557 *** Failers
3558 No match
3559 \x83\x0\x61bcdef
3560 --->\x83\x00abcdef
3561 0 ^ ^ d
3562 0: abcdef
3563
3564 /(abc)(?C)de(?C1)f/I
3565 Capturing subpattern count = 1
3566 No options
3567 First char = 'a'
3568 Need char = 'f'
3569 123abcdef
3570 --->123abcdef
3571 0 ^ ^ d
3572 1 ^ ^ f
3573 0: abcdef
3574 1: abc
3575 123abcdef\C+
3576 Callout 0: last capture = 1
3577 0: <unset>
3578 1: abc
3579 --->123abcdef
3580 ^ ^ d
3581 Callout 1: last capture = 1
3582 0: <unset>
3583 1: abc
3584 --->123abcdef
3585 ^ ^ f
3586 0: abcdef
3587 1: abc
3588 123abcdef\C-
3589 0: abcdef
3590 1: abc
3591 *** Failers
3592 No match
3593 123abcdef\C!1
3594 --->123abcdef
3595 0 ^ ^ d
3596 1 ^ ^ f
3597 No match
3598
3599 /(?C0)(abc(?C1))*/I
3600 Capturing subpattern count = 1
3601 No options
3602 No first char
3603 No need char
3604 abcabcabc
3605 --->abcabcabc
3606 0 ^ (abc(?C1))*
3607 1 ^ ^ )
3608 1 ^ ^ )
3609 1 ^ ^ )
3610 0: abcabcabc
3611 1: abc
3612 abcabc\C!1!3
3613 --->abcabc
3614 0 ^ (abc(?C1))*
3615 1 ^ ^ )
3616 1 ^ ^ )
3617 0: abcabc
3618 1: abc
3619 *** Failers
3620 --->*** Failers
3621 0 ^ (abc(?C1))*
3622 0:
3623 abcabcabc\C!1!3
3624 --->abcabcabc
3625 0 ^ (abc(?C1))*
3626 1 ^ ^ )
3627 1 ^ ^ )
3628 1 ^ ^ )
3629 0: abcabc
3630 1: abc
3631
3632 /(\d{3}(?C))*/I
3633 Capturing subpattern count = 1
3634 No options
3635 No first char
3636 No need char
3637 123\C+
3638 Callout 0: last capture = -1
3639 0: <unset>
3640 --->123
3641 ^ ^ )
3642 0: 123
3643 1: 123
3644 123456\C+
3645 Callout 0: last capture = -1
3646 0: <unset>
3647 --->123456
3648 ^ ^ )
3649 Callout 0: last capture = 1
3650 0: <unset>
3651 1: 123
3652 --->123456
3653 ^ ^ )
3654 0: 123456
3655 1: 456
3656 123456789\C+
3657 Callout 0: last capture = -1
3658 0: <unset>
3659 --->123456789
3660 ^ ^ )
3661 Callout 0: last capture = 1
3662 0: <unset>
3663 1: 123
3664 --->123456789
3665 ^ ^ )
3666 Callout 0: last capture = 1
3667 0: <unset>
3668 1: 456
3669 --->123456789
3670 ^ ^ )
3671 0: 123456789
3672 1: 789
3673
3674 /((xyz)(?C)p|(?C1)xyzabc)/I
3675 Capturing subpattern count = 2
3676 No options
3677 First char = 'x'
3678 No need char
3679 xyzabc\C+
3680 Callout 0: last capture = 2
3681 0: <unset>
3682 1: <unset>
3683 2: xyz
3684 --->xyzabc
3685 ^ ^ p
3686 Callout 1: last capture = -1
3687 0: <unset>
3688 --->xyzabc
3689 ^ x
3690 0: xyzabc
3691 1: xyzabc
3692
3693 /(X)((xyz)(?C)p|(?C1)xyzabc)/I
3694 Capturing subpattern count = 3
3695 No options
3696 First char = 'X'
3697 Need char = 'x'
3698 Xxyzabc\C+
3699 Callout 0: last capture = 3
3700 0: <unset>
3701 1: X
3702 2: <unset>
3703 3: xyz
3704 --->Xxyzabc
3705 ^ ^ p
3706 Callout 1: last capture = 1
3707 0: <unset>
3708 1: X
3709 --->Xxyzabc
3710 ^^ x
3711 0: Xxyzabc
3712 1: X
3713 2: xyzabc
3714
3715 /(?=(abc))(?C)abcdef/I
3716 Capturing subpattern count = 1
3717 No options
3718 First char = 'a'
3719 Need char = 'f'
3720 abcdef\C+
3721 Callout 0: last capture = 1
3722 0: <unset>
3723 1: abc
3724 --->abcdef
3725 ^ a
3726 0: abcdef
3727 1: abc
3728
3729 /(?!(abc)(?C1)d)(?C2)abcxyz/I
3730 Capturing subpattern count = 1
3731 No options
3732 First char = 'a'
3733 Need char = 'z'
3734 abcxyz\C+
3735 Callout 1: last capture = 1
3736 0: <unset>
3737 1: abc
3738 --->abcxyz
3739 ^ ^ d
3740 Callout 2: last capture = -1
3741 0: <unset>
3742 --->abcxyz
3743 ^ a
3744 0: abcxyz
3745
3746 /(?<=(abc)(?C))xyz/I
3747 Capturing subpattern count = 1
3748 No options
3749 First char = 'x'
3750 Need char = 'z'
3751 abcxyz\C+
3752 Callout 0: last capture = 1
3753 0: <unset>
3754 1: abc
3755 --->abcxyz
3756 ^ )
3757 0: xyz
3758 1: abc
3759
3760 /a(b+)(c*)(?C1)/I
3761 Capturing subpattern count = 2
3762 No options
3763 First char = 'a'
3764 Need char = 'b'
3765 abbbbbccc\C*1
3766 --->abbbbbccc
3767 1 ^ ^
3768 Callout data = 1
3769 1 ^ ^
3770 Callout data = 1
3771 1 ^ ^
3772 Callout data = 1
3773 1 ^ ^
3774 Callout data = 1
3775 1 ^ ^
3776 Callout data = 1
3777 1 ^ ^
3778 Callout data = 1
3779 1 ^ ^
3780 Callout data = 1
3781 1 ^ ^
3782 Callout data = 1
3783 No match
3784
3785 /a(b+?)(c*?)(?C1)/I
3786 Capturing subpattern count = 2
3787 No options
3788 First char = 'a'
3789 Need char = 'b'
3790 abbbbbccc\C*1
3791 --->abbbbbccc
3792 1 ^ ^
3793 Callout data = 1
3794 1 ^ ^
3795 Callout data = 1
3796 1 ^ ^
3797 Callout data = 1
3798 1 ^ ^
3799 Callout data = 1
3800 1 ^ ^
3801 Callout data = 1
3802 1 ^ ^
3803 Callout data = 1
3804 1 ^ ^
3805 Callout data = 1
3806 1 ^ ^
3807 Callout data = 1
3808 No match
3809
3810 /(?C)abc/I
3811 Capturing subpattern count = 0
3812 No options
3813 First char = 'a'
3814 Need char = 'c'
3815
3816 /(?C)^abc/I
3817 Capturing subpattern count = 0
3818 Options: anchored
3819 No first char
3820 No need char
3821
3822 /(?C)a|b/IS
3823 Capturing subpattern count = 0
3824 No options
3825 No first char
3826 No need char
3827 Subject length lower bound = 1
3828 Starting byte set: a b
3829
3830 /(?R)/I
3831 Failed: recursive call could loop indefinitely at offset 3
3832
3833 /(a|(?R))/I
3834 Failed: recursive call could loop indefinitely at offset 6
3835
3836 /(ab|(bc|(de|(?R))))/I
3837 Failed: recursive call could loop indefinitely at offset 15
3838
3839 /x(ab|(bc|(de|(?R))))/I
3840 Capturing subpattern count = 3
3841 No options
3842 First char = 'x'
3843 No need char
3844 xab
3845 0: xab
3846 1: ab
3847 xbc
3848 0: xbc
3849 1: bc
3850 2: bc
3851 xde
3852 0: xde
3853 1: de
3854 2: de
3855 3: de
3856 xxab
3857 0: xxab
3858 1: xab
3859 2: xab
3860 3: xab
3861 xxxab
3862 0: xxxab
3863 1: xxab
3864 2: xxab
3865 3: xxab
3866 *** Failers
3867 No match
3868 xyab
3869 No match
3870
3871 /(ab|(bc|(de|(?1))))/I
3872 Failed: recursive call could loop indefinitely at offset 15
3873
3874 /x(ab|(bc|(de|(?1)x)x)x)/I
3875 Failed: recursive call could loop indefinitely at offset 16
3876
3877 /^([^()]|\((?1)*\))*$/I
3878 Capturing subpattern count = 1
3879 Options: anchored
3880 No first char
3881 No need char
3882 abc
3883 0: abc
3884 1: c
3885 a(b)c
3886 0: a(b)c
3887 1: c
3888 a(b(c))d
3889 0: a(b(c))d
3890 1: d
3891 *** Failers)
3892 No match
3893 a(b(c)d
3894 No match
3895
3896 /^>abc>([^()]|\((?1)*\))*<xyz<$/I
3897 Capturing subpattern count = 1
3898 Options: anchored
3899 No first char
3900 Need char = '<'
3901 >abc>123<xyz<
3902 0: >abc>123<xyz<
3903 1: 3
3904 >abc>1(2)3<xyz<
3905 0: >abc>1(2)3<xyz<
3906 1: 3
3907 >abc>(1(2)3)<xyz<
3908 0: >abc>(1(2)3)<xyz<
3909 1: (1(2)3)
3910
3911 /(a(?1)b)/DZ
3912 ------------------------------------------------------------------
3913 Bra
3914 CBra 1
3915 a
3916 Recurse
3917 b
3918 Ket
3919 Ket
3920 End
3921 ------------------------------------------------------------------
3922 Capturing subpattern count = 1
3923 No options
3924 First char = 'a'
3925 Need char = 'b'
3926
3927 /(a(?1)+b)/DZ
3928 ------------------------------------------------------------------
3929 Bra
3930 CBra 1
3931 a
3932 Once
3933 Recurse
3934 KetRmax
3935 b
3936 Ket
3937 Ket
3938 End
3939 ------------------------------------------------------------------
3940 Capturing subpattern count = 1
3941 No options
3942 First char = 'a'
3943 Need char = 'b'
3944
3945 /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I
3946 Capturing subpattern count = 2
3947 Options: anchored
3948 No first char
3949 No need char
3950 12
3951 0: 12
3952 1: 12
3953 (((2+2)*-3)-7)
3954 0: (((2+2)*-3)-7)
3955 1: (((2+2)*-3)-7)
3956 2: -
3957 -12
3958 0: -12
3959 1: -12
3960 *** Failers
3961 No match
3962 ((2+2)*-3)-7)
3963 No match
3964
3965 /^(x(y|(?1){2})z)/I
3966 Capturing subpattern count = 2
3967 Options: anchored
3968 No first char
3969 No need char
3970 xyz
3971 0: xyz
3972 1: xyz
3973 2: y
3974 xxyzxyzz
3975 0: xxyzxyzz
3976 1: xxyzxyzz
3977 2: xyzxyz
3978 *** Failers
3979 No match
3980 xxyzz
3981 No match
3982 xxyzxyzxyzz
3983 No match
3984
3985 /((< (?: (?(R) \d++ | [^<>]*+) | (?2)) * >))/Ix
3986 Capturing subpattern count = 2
3987 Options: extended
3988 First char = '<'
3989 Need char = '>'
3990 <>
3991 0: <>
3992 1: <>
3993 2: <>
3994 <abcd>
3995 0: <abcd>
3996 1: <abcd>
3997 2: <abcd>
3998 <abc <123> hij>
3999 0: <abc <123> hij>
4000 1: <abc <123> hij>
4001 2: <abc <123> hij>
4002 <abc <def> hij>
4003 0: <def>
4004 1: <def>
4005 2: <def>
4006 <abc<>def>
4007 0: <abc<>def>
4008 1: <abc<>def>
4009 2: <abc<>def>
4010 <abc<>
4011 0: <>
4012 1: <>
4013 2: <>
4014 *** Failers
4015 No match
4016 <abc
4017 No match
4018
4019 /(?1)/I
4020 Failed: reference to non-existent subpattern at offset 3
4021
4022 /((?2)(abc)/I
4023 Failed: missing ) at offset 10
4024
4025 /^(abc)def(?1)/I
4026 Capturing subpattern count = 1
4027 Options: anchored
4028 No first char
4029 No need char
4030 abcdefabc
4031 0: abcdefabc
4032 1: abc
4033
4034 /^(a|b|c)=(?1)+/I
4035 Capturing subpattern count = 1
4036 Options: anchored
4037 No first char
4038 No need char
4039 a=a
4040 0: a=a
4041 1: a
4042 a=b
4043 0: a=b
4044 1: a
4045 a=bc
4046 0: a=bc
4047 1: a
4048
4049 /^(a|b|c)=((?1))+/I
4050 Capturing subpattern count = 2
4051 Options: anchored
4052 No first char
4053 No need char
4054 a=a
4055 0: a=a
4056 1: a
4057 2: a
4058 a=b
4059 0: a=b
4060 1: a
4061 2: b
4062 a=bc
4063 0: a=bc
4064 1: a
4065 2: c
4066
4067 /a(?P<name1>b|c)d(?P<longername2>e)/DZ
4068 ------------------------------------------------------------------
4069 Bra
4070 a
4071 CBra 1
4072 b
4073 Alt
4074 c
4075 Ket
4076 d
4077 CBra 2
4078 e
4079 Ket
4080 Ket
4081 End
4082 ------------------------------------------------------------------
4083 Capturing subpattern count = 2
4084 Named capturing subpatterns:
4085 longername2 2
4086 name1 1
4087 No options
4088 First char = 'a'
4089 Need char = 'e'
4090 abde
4091 0: abde
4092 1: b
4093 2: e
4094 acde
4095 0: acde
4096 1: c
4097 2: e
4098
4099 /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/DZ
4100 ------------------------------------------------------------------
4101 Bra
4102 Bra
4103 a
4104 CBra 1
4105 c
4106 CBra 2
4107 d
4108 Ket
4109 Ket
4110 Ket
4111 CBra 3
4112 a
4113 Ket
4114 Ket
4115 End
4116 ------------------------------------------------------------------
4117 Capturing subpattern count = 3
4118 Named capturing subpatterns:
4119 a 3
4120 c 1
4121 d 2
4122 No options
4123 First char = 'a'
4124 Need char = 'a'
4125
4126 /(?P<a>a)...(?P=a)bbb(?P>a)d/DZ
4127 ------------------------------------------------------------------
4128 Bra
4129 CBra 1
4130 a
4131 Ket
4132 Any
4133 Any
4134 Any
4135 \1
4136 bbb
4137 Recurse
4138 d
4139 Ket
4140 End
4141 ------------------------------------------------------------------
4142 Capturing subpattern count = 1
4143 Max back reference = 1
4144 Named capturing subpatterns:
4145 a 1
4146 No options
4147 First char = 'a'
4148 Need char = 'd'
4149
4150 /^\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
4151 Capturing subpattern count = 4
4152 Max back reference = 4
4153 Named capturing subpatterns:
4154 four 4
4155 one 1
4156 three 3
4157 two 2
4158 Options: anchored caseless
4159 No first char
4160 No need char
4161 1221
4162 0: 1221
4163 1: 1221
4164 2: 1
4165 Satan, oscillate my metallic sonatas!
4166 0: Satan, oscillate my metallic sonatas!
4167 1: <unset>
4168 2: <unset>
4169 3: Satan, oscillate my metallic sonatas
4170 4: S
4171 A man, a plan, a canal: Panama!
4172 0: A man, a plan, a canal: Panama!
4173 1: <unset>
4174 2: <unset>
4175 3: A man, a plan, a canal: Panama
4176 4: A
4177 Able was I ere I saw Elba.
4178 0: Able was I ere I saw Elba.
4179 1: <unset>
4180 2: <unset>
4181 3: Able was I ere I saw Elba
4182 4: A
4183 *** Failers
4184 No match
4185 The quick brown fox
4186 No match
4187
4188 /((?(R)a|b))\1(?1)?/I
4189 Capturing subpattern count = 1
4190 Max back reference = 1
4191 No options
4192 No first char
4193 No need char
4194 bb
4195 0: bb
4196 1: b
4197 bbaa
4198 0: bba
4199 1: b
4200
4201 /(.*)a/Is
4202 Capturing subpattern count = 1
4203 Options: anchored dotall
4204 No first char
4205 Need char = 'a'
4206
4207 /(.*)a\1/Is
4208 Capturing subpattern count = 1
4209 Max back reference = 1
4210 Options: dotall
4211 No first char
4212 Need char = 'a'
4213
4214 /(.*)a(b)\2/Is
4215 Capturing subpattern count = 2
4216 Max back reference = 2
4217 Options: anchored dotall
4218 No first char
4219 Need char = 'b'
4220
4221 /((.*)a|(.*)b)z/Is
4222 Capturing subpattern count = 3
4223 Options: anchored dotall
4224 No first char
4225 Need char = 'z'
4226
4227 /((.*)a|(.*)b)z\1/Is
4228 Capturing subpattern count = 3
4229 Max back reference = 1
4230 Options: dotall
4231 No first char
4232 Need char = 'z'
4233
4234 /((.*)a|(.*)b)z\2/Is
4235 Capturing subpattern count = 3
4236 Max back reference = 2
4237 Options: dotall
4238 No first char
4239 Need char = 'z'
4240
4241 /((.*)a|(.*)b)z\3/Is
4242 Capturing subpattern count = 3
4243 Max back reference = 3
4244 Options: dotall
4245 No first char
4246 Need char = 'z'
4247
4248 /((.*)a|^(.*)b)z\3/Is
4249 Capturing subpattern count = 3
4250 Max back reference = 3
4251 Options: anchored dotall
4252 No first char
4253 Need char = 'z'
4254
4255 /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is
4256 Capturing subpattern count = 31
4257 Options: anchored dotall
4258 No first char
4259 No need char
4260
4261 /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is
4262 Capturing subpattern count = 31
4263 Max back reference = 31
4264 Options: dotall
4265 No first char
4266 No need char
4267
4268 /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is
4269 Capturing subpattern count = 32
4270 Max back reference = 32
4271 Options: dotall
4272 No first char
4273 No need char
4274
4275 /(a)(bc)/INDZ
4276 ------------------------------------------------------------------
4277 Bra
4278 Bra
4279 a
4280 Ket
4281 Bra
4282 bc
4283 Ket
4284 Ket
4285 End
4286 ------------------------------------------------------------------
4287 Capturing subpattern count = 0
4288 Options: no_auto_capture
4289 First char = 'a'
4290 Need char = 'c'
4291 abc
4292 0: abc
4293
4294 /(?P<one>a)(bc)/INDZ
4295 ------------------------------------------------------------------
4296 Bra
4297 CBra 1
4298 a
4299 Ket
4300 Bra
4301 bc
4302 Ket
4303 Ket
4304 End
4305 ------------------------------------------------------------------
4306 Capturing subpattern count = 1
4307 Named capturing subpatterns:
4308 one 1
4309 Options: no_auto_capture
4310 First char = 'a'
4311 Need char = 'c'
4312 abc
4313 0: abc
4314 1: a
4315
4316 /(a)(?P<named>bc)/INDZ
4317 ------------------------------------------------------------------
4318 Bra
4319 Bra
4320 a
4321 Ket
4322 CBra 1
4323 bc
4324 Ket
4325 Ket
4326 End
4327 ------------------------------------------------------------------
4328 Capturing subpattern count = 1
4329 Named capturing subpatterns:
4330 named 1
4331 Options: no_auto_capture
4332 First char = 'a'
4333 Need char = 'c'
4334
4335 /(a+)*zz/I
4336 Capturing subpattern count = 1
4337 No options
4338 No first char
4339 Need char = 'z'
4340 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzbbbbbb\M
4341 Minimum match() limit = 8
4342 Minimum match() recursion limit = 6
4343 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazz
4344 1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
4345 aaaaaaaaaaaaaz\M
4346 Minimum match() limit = 32768
4347 Minimum match() recursion limit = 42
4348 No match
4349
4350 /(aaa(?C1)bbb|ab)/I
4351 Capturing subpattern count = 1
4352 No options
4353 First char = 'a'
4354 Need char = 'b'
4355 aaabbb
4356 --->aaabbb
4357 1 ^ ^ b
4358 0: aaabbb
4359 1: aaabbb
4360 aaabbb\C*0
4361 --->aaabbb
4362 1 ^ ^ b
4363 0: aaabbb
4364 1: aaabbb
4365 aaabbb\C*1
4366 --->aaabbb
4367 1 ^ ^ b
4368 Callout data = 1
4369 0: ab
4370 1: ab
4371 aaabbb\C*-1
4372 --->aaabbb
4373 1 ^ ^ b
4374 Callout data = -1
4375 No match
4376
4377 /ab(?P<one>cd)ef(?P<two>gh)/I
4378 Capturing subpattern count = 2
4379 Named capturing subpatterns:
4380 one 1
4381 two 2
4382 No options
4383 First char = 'a'
4384 Need char = 'h'
4385 abcdefgh
4386 0: abcdefgh
4387 1: cd
4388 2: gh
4389 abcdefgh\C1\Gtwo
4390 0: abcdefgh
4391 1: cd
4392 2: gh
4393 1C cd (2)
4394 G gh (2) two
4395 abcdefgh\Cone\Ctwo
4396 0: abcdefgh
4397 1: cd
4398 2: gh
4399 C cd (2) one
4400 C gh (2) two
4401 abcdefgh\Cthree
4402 no parentheses with name "three"
4403 0: abcdefgh
4404 1: cd
4405 2: gh
4406 copy substring three failed -7
4407
4408 /(?P<Tes>)(?P<Test>)/DZ
4409 ------------------------------------------------------------------
4410 Bra
4411 CBra 1
4412 Ket
4413 CBra 2
4414 Ket
4415 Ket
4416 End
4417 ------------------------------------------------------------------
4418 Capturing subpattern count = 2
4419 Named capturing subpatterns:
4420 Tes 1
4421 Test 2
4422 No options
4423 No first char
4424 No need char
4425
4426 /(?P<Test>)(?P<Tes>)/DZ
4427 ------------------------------------------------------------------
4428 Bra
4429 CBra 1
4430 Ket
4431 CBra 2
4432 Ket
4433 Ket
4434 End
4435 ------------------------------------------------------------------
4436 Capturing subpattern count = 2
4437 Named capturing subpatterns:
4438 Tes 2
4439 Test 1
4440 No options
4441 No first char
4442 No need char
4443
4444 /(?P<Z>zz)(?P<A>aa)/I
4445 Capturing subpattern count = 2
4446 Named capturing subpatterns:
4447 A 2
4448 Z 1
4449 No options
4450 First char = 'z'
4451 Need char = 'a'
4452 zzaa\CZ
4453 0: zzaa
4454 1: zz
4455 2: aa
4456 C zz (2) Z
4457 zzaa\CA
4458 0: zzaa
4459 1: zz
4460 2: aa
4461 C aa (2) A
4462
4463 /(?P<x>eks)(?P<x>eccs)/I
4464 Failed: two named subpatterns have the same name at offset 15
4465
4466 /(?P<abc>abc(?P<def>def)(?P<abc>xyz))/I
4467 Failed: two named subpatterns have the same name at offset 30
4468
4469 "\[((?P<elem>\d+)(,(?P>elem))*)\]"I
4470 Capturing subpattern count = 3
4471 Named capturing subpatterns:
4472 elem 2
4473 No options
4474 First char = '['
4475 Need char = ']'
4476 [10,20,30,5,5,4,4,2,43,23,4234]
4477 0: [10,20,30,5,5,4,4,2,43,23,4234]
4478 1: 10,20,30,5,5,4,4,2,43,23,4234
4479 2: 10
4480 3: ,4234
4481 *** Failers
4482 No match
4483 []
4484 No match
4485
4486 "\[((?P<elem>\d+)(,(?P>elem))*)?\]"I
4487 Capturing subpattern count = 3
4488 Named capturing subpatterns:
4489 elem 2
4490 No options
4491 First char = '['
4492 Need char = ']'
4493 [10,20,30,5,5,4,4,2,43,23,4234]
4494 0: [10,20,30,5,5,4,4,2,43,23,4234]
4495 1: 10,20,30,5,5,4,4,2,43,23,4234
4496 2: 10
4497 3: ,4234
4498 []
4499 0: []
4500
4501 /(a(b(?2)c))?/DZ
4502 ------------------------------------------------------------------
4503 Bra
4504 Brazero
4505 CBra 1
4506 a
4507 CBra 2
4508 b
4509 Recurse
4510 c
4511 Ket
4512 Ket
4513 Ket
4514 End
4515 ------------------------------------------------------------------
4516 Capturing subpattern count = 2
4517 No options
4518 No first char
4519 No need char
4520
4521 /(a(b(?2)c))*/DZ
4522 ------------------------------------------------------------------
4523 Bra
4524 Brazero
4525 CBra 1
4526 a
4527 CBra 2
4528 b
4529 Recurse
4530 c
4531 Ket
4532 KetRmax
4533 Ket
4534 End
4535 ------------------------------------------------------------------
4536 Capturing subpattern count = 2
4537 No options
4538 No first char
4539 No need char
4540
4541 /(a(b(?2)c)){0,2}/DZ
4542 ------------------------------------------------------------------
4543 Bra
4544 Brazero
4545 Bra
4546 CBra 1
4547 a
4548 CBra 2
4549 b
4550 Recurse
4551 c
4552 Ket
4553 Ket
4554 Brazero
4555 CBra 1
4556 a
4557 CBra 2
4558 b
4559 Recurse
4560 c
4561 Ket
4562 Ket
4563 Ket
4564 Ket
4565 End
4566 ------------------------------------------------------------------
4567 Capturing subpattern count = 2
4568 No options
4569 No first char
4570 No need char
4571
4572 /[ab]{1}+/DZ
4573 ------------------------------------------------------------------
4574 Bra
4575 Once
4576 [ab]{1,1}
4577 Ket
4578 Ket
4579 End
4580 ------------------------------------------------------------------
4581 Capturing subpattern count = 0
4582 No options
4583 No first char
4584 No need char
4585
4586 /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii
4587 Capturing subpattern count = 3
4588 Options: caseless
4589 No first char
4590 Need char = 'g' (caseless)
4591 Baby Bjorn Active Carrier - With free SHIPPING!!
4592 0: Baby Bjorn Active Carrier - With free SHIPPING!!
4593 1: Baby Bjorn Active Carrier - With free SHIPPING!!
4594
4595 /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS
4596 Capturing subpattern count = 3
4597 Options: caseless
4598 No first char
4599 Need char = 'g' (caseless)
4600 Subject length lower bound = 8
4601 No set of starting bytes
4602 Baby Bjorn Active Carrier - With free SHIPPING!!
4603 0: Baby Bjorn Active Carrier - With free SHIPPING!!
4604 1: Baby Bjorn Active Carrier - With free SHIPPING!!
4605
4606 /a*.*b/ISDZ
4607 ------------------------------------------------------------------
4608 Bra
4609 a*
4610 Any*
4611 b
4612 Ket
4613 End
4614 ------------------------------------------------------------------
4615 Capturing subpattern count = 0
4616 No options
4617 No first char
4618 Need char = 'b'
4619 Subject length lower bound = 1
4620 No set of starting bytes
4621
4622 /(a|b)*.?c/ISDZ
4623 ------------------------------------------------------------------
4624 Bra
4625 Brazero
4626 CBra 1
4627 a
4628 Alt
4629 b
4630 KetRmax
4631 Any?
4632 c
4633 Ket
4634 End
4635 ------------------------------------------------------------------
4636 Capturing subpattern count = 1
4637 No options
4638 No first char
4639 Need char = 'c'
4640 Subject length lower bound = 1
4641 No set of starting bytes
4642
4643 /abc(?C255)de(?C)f/DZ
4644 ------------------------------------------------------------------
4645 Bra
4646 abc
4647 Callout 255 10 1
4648 de
4649 Callout 0 16 1
4650 f
4651 Ket
4652 End
4653 ------------------------------------------------------------------
4654 Capturing subpattern count = 0
4655 No options
4656 First char = 'a'
4657 Need char = 'f'
4658
4659 /abcde/ICDZ
4660 ------------------------------------------------------------------
4661 Bra
4662 Callout 255 0 1
4663 a
4664 Callout 255 1 1
4665 b
4666 Callout 255 2 1
4667 c
4668 Callout 255 3 1
4669 d
4670 Callout 255 4 1
4671 e
4672 Callout 255 5 0
4673 Ket
4674 End
4675 ------------------------------------------------------------------
4676 Capturing subpattern count = 0
4677 Options:
4678 First char = 'a'
4679 Need char = 'e'
4680 abcde
4681 --->abcde
4682 +0 ^ a
4683 +1 ^^ b
4684 +2 ^ ^ c
4685 +3 ^ ^ d
4686 +4 ^ ^ e
4687 +5 ^ ^
4688 0: abcde
4689 abcdfe
4690 --->abcdfe
4691 +0 ^ a
4692 +1 ^^ b
4693 +2 ^ ^ c
4694 +3 ^ ^ d
4695 +4 ^ ^ e
4696 No match
4697
4698 /a*b/ICDZS
4699 ------------------------------------------------------------------
4700 Bra
4701 Callout 255 0 2
4702 a*+
4703 Callout 255 2 1
4704 b
4705 Callout 255 3 0
4706 Ket
4707 End
4708 ------------------------------------------------------------------
4709 Capturing subpattern count = 0
4710 Options:
4711 No first char
4712 Need char = 'b'
4713 Subject length lower bound = 1
4714 Starting byte set: a b
4715 ab
4716 --->ab
4717 +0 ^ a*
4718 +2 ^^ b
4719 +3 ^ ^
4720 0: ab
4721 aaaab
4722 --->aaaab
4723 +0 ^ a*
4724 +2 ^ ^ b
4725 +3 ^ ^
4726 0: aaaab
4727 aaaacb
4728 --->aaaacb
4729 +0 ^ a*
4730 +2 ^ ^ b
4731 +0 ^ a*
4732 +2 ^ ^ b
4733 +0 ^ a*
4734 +2 ^ ^ b
4735 +0 ^ a*
4736 +2 ^^ b
4737 +0 ^ a*
4738 +2 ^ b
4739 +3 ^^
4740 0: b
4741
4742 /a*b/ICDZSS
4743 ------------------------------------------------------------------
4744 Bra
4745 Callout 255 0 2
4746 a*+
4747 Callout 255 2 1
4748 b
4749 Callout 255 3 0
4750 Ket
4751 End
4752 ------------------------------------------------------------------
4753 Capturing subpattern count = 0
4754 Options:
4755 No first char
4756 Need char = 'b'
4757 ab
4758 --->ab
4759 +0 ^ a*
4760 +2 ^^ b
4761 +3 ^ ^
4762 0: ab
4763 aaaab
4764 --->aaaab
4765 +0 ^ a*
4766 +2 ^ ^ b
4767 +3 ^ ^
4768 0: aaaab
4769 aaaacb
4770 --->aaaacb
4771 +0 ^ a*
4772 +2 ^ ^ b
4773 +0 ^ a*
4774 +2 ^ ^ b
4775 +0 ^ a*
4776 +2 ^ ^ b
4777 +0 ^ a*
4778 +2 ^^ b
4779 +0 ^ a*
4780 +2 ^ b
4781 +0 ^ a*
4782 +2 ^ b
4783 +3 ^^
4784 0: b
4785
4786 /a+b/ICDZ
4787 ------------------------------------------------------------------
4788 Bra
4789 Callout 255 0 2
4790 a++
4791 Callout 255 2 1
4792 b
4793 Callout 255 3 0
4794 Ket
4795 End
4796 ------------------------------------------------------------------
4797 Capturing subpattern count = 0
4798 Options:
4799 First char = 'a'
4800 Need char = 'b'
4801 ab
4802 --->ab
4803 +0 ^ a+
4804 +2 ^^ b
4805 +3 ^ ^
4806 0: ab
4807 aaaab
4808 --->aaaab
4809 +0 ^ a+
4810 +2 ^ ^ b
4811 +3 ^ ^
4812 0: aaaab
4813 aaaacb
4814 --->aaaacb
4815 +0 ^ a+
4816 +2 ^ ^ b
4817 +0 ^ a+
4818 +2 ^ ^ b
4819 +0 ^ a+
4820 +2 ^ ^ b
4821 +0 ^ a+
4822 +2 ^^ b
4823 No match
4824
4825 /(abc|def)x/ICDZS
4826 ------------------------------------------------------------------
4827 Bra
4828 Callout 255 0 9
4829 CBra 1
4830 Callout 255 1 1
4831 a
4832 Callout 255 2 1
4833 b
4834 Callout 255 3 1
4835 c
4836 Callout 255 4 0
4837 Alt
4838 Callout 255 5 1
4839 d
4840 Callout 255 6 1
4841 e
4842 Callout 255 7 1
4843 f
4844 Callout 255 8 0
4845 Ket
4846 Callout 255 9 1
4847 x
4848 Callout 255 10 0
4849 Ket
4850 End
4851 ------------------------------------------------------------------
4852 Capturing subpattern count = 1
4853 Options:
4854 No first char
4855 Need char = 'x'
4856 Subject length lower bound = 4
4857 Starting byte set: a d
4858 abcx
4859 --->abcx
4860 +0 ^ (abc|def)
4861 +1 ^ a
4862 +2 ^^ b
4863 +3 ^ ^ c
4864 +4 ^ ^ |
4865 +9 ^ ^ x
4866 +10 ^ ^
4867 0: abcx
4868 1: abc
4869 defx
4870 --->defx
4871 +0 ^ (abc|def)
4872 +1 ^ a
4873 +5 ^ d
4874 +6 ^^ e
4875 +7 ^ ^ f
4876 +8 ^ ^ )
4877 +9 ^ ^ x
4878 +10 ^ ^
4879 0: defx
4880 1: def
4881 ** Failers
4882 No match
4883 abcdefzx
4884 --->abcdefzx
4885 +0 ^ (abc|def)
4886 +1 ^ a
4887 +2 ^^ b
4888 +3 ^ ^ c
4889 +4 ^ ^ |
4890 +9 ^ ^ x
4891 +5 ^ d
4892 +0 ^ (abc|def)
4893 +1 ^ a
4894 +5 ^ d
4895 +6 ^^ e
4896 +7 ^ ^ f
4897 +8 ^ ^ )
4898 +9 ^ ^ x
4899 No match
4900
4901 /(abc|def)x/ICDZSS
4902 ------------------------------------------------------------------
4903 Bra
4904 Callout 255 0 9
4905 CBra 1
4906 Callout 255 1 1
4907 a
4908 Callout 255 2 1
4909 b
4910 Callout 255 3 1
4911 c
4912 Callout 255 4 0
4913 Alt
4914 Callout 255 5 1
4915 d
4916 Callout 255 6 1
4917 e
4918 Callout 255 7 1
4919 f
4920 Callout 255 8 0
4921 Ket
4922 Callout 255 9 1
4923 x
4924 Callout 255 10 0
4925 Ket
4926 End
4927 ------------------------------------------------------------------
4928 Capturing subpattern count = 1
4929 Options:
4930 No first char
4931 Need char = 'x'
4932 abcx
4933 --->abcx
4934 +0 ^ (abc|def)
4935 +1 ^ a
4936 +2 ^^ b
4937 +3 ^ ^ c
4938 +4 ^ ^ |
4939 +9 ^ ^ x
4940 +10 ^ ^
4941 0: abcx
4942 1: abc
4943 defx
4944 --->defx
4945 +0 ^ (abc|def)
4946 +1 ^ a
4947 +5 ^ d
4948 +6 ^^ e
4949 +7 ^ ^ f
4950 +8 ^ ^ )
4951 +9 ^ ^ x
4952 +10 ^ ^
4953 0: defx
4954 1: def
4955 ** Failers
4956 No match
4957 abcdefzx
4958 --->abcdefzx
4959 +0 ^ (abc|def)
4960 +1 ^ a
4961 +2 ^^ b
4962 +3 ^ ^ c
4963 +4 ^ ^ |
4964 +9 ^ ^ x
4965 +5 ^ d
4966 +0 ^ (abc|def)
4967 +1 ^ a
4968 +5 ^ d
4969 +0 ^ (abc|def)
4970 +1 ^ a
4971 +5 ^ d
4972 +0 ^ (abc|def)
4973 +1 ^ a
4974 +5 ^ d
4975 +6 ^^ e
4976 +7 ^ ^ f
4977 +8 ^ ^ )
4978 +9 ^ ^ x
4979 +0 ^ (abc|def)
4980 +1 ^ a
4981 +5 ^ d
4982 +0 ^ (abc|def)
4983 +1 ^ a
4984 +5 ^ d
4985 +0 ^ (abc|def)
4986 +1 ^ a
4987 +5 ^ d
4988 +0 ^ (abc|def)
4989 +1 ^ a
4990 +5 ^ d
4991 No match
4992
4993 /(ab|cd){3,4}/IC
4994 Capturing subpattern count = 1
4995 Options:
4996 No first char
4997 No need char
4998 ababab
4999 --->ababab
5000 +0 ^ (ab|cd){3,4}
5001 +1 ^ a
5002 +2 ^^ b
5003 +3 ^ ^ |
5004 +1 ^ ^ a
5005 +2 ^ ^ b
5006 +3 ^ ^ |
5007 +1 ^ ^ a
5008 +2 ^ ^ b
5009 +3 ^ ^ |
5010 +1 ^ ^ a
5011 +4 ^ ^ c
5012 +12 ^ ^
5013 0: ababab
5014 1: ab
5015 abcdabcd
5016 --->abcdabcd
5017 +0 ^ (ab|cd){3,4}
5018 +1 ^ a
5019 +2 ^^ b
5020 +3 ^ ^ |
5021 +1 ^ ^ a
5022 +4 ^ ^ c
5023 +5 ^ ^ d
5024 +6 ^ ^ )
5025 +1 ^ ^ a
5026 +2 ^ ^ b
5027 +3 ^ ^ |
5028 +1 ^ ^ a
5029 +4 ^ ^ c
5030 +5 ^ ^ d
5031 +6 ^ ^ )
5032 +12 ^ ^
5033 0: abcdabcd
5034 1: cd
5035 abcdcdcdcdcd
5036 --->abcdcdcdcdcd
5037 +0 ^ (ab|cd){3,4}
5038 +1 ^ a
5039 +2 ^^ b
5040 +3 ^ ^ |
5041 +1 ^ ^ a
5042 +4 ^ ^ c
5043 +5 ^ ^ d
5044 +6 ^ ^ )
5045 +1 ^ ^ a
5046 +4 ^ ^ c
5047 +5 ^ ^ d
5048 +6 ^ ^ )
5049 +1 ^ ^ a
5050 +4 ^ ^ c
5051 +5 ^ ^ d
5052 +6 ^ ^ )
5053 +12 ^ ^
5054 0: abcdcdcd
5055 1: cd
5056
5057 /([ab]{,4}c|xy)/ICDZS
5058 ------------------------------------------------------------------
5059 Bra
5060 Callout 255 0 14
5061 CBra 1
5062 Callout 255 1 4
5063 [ab]
5064 Callout 255 5 1
5065 {
5066 Callout 255 6 1
5067 ,
5068 Callout 255 7 1
5069 4
5070 Callout 255 8 1
5071 }
5072 Callout 255 9 1
5073 c
5074 Callout 255 10 0
5075 Alt
5076 Callout 255 11 1
5077 x
5078 Callout 255 12 1
5079 y
5080 Callout 255 13 0
5081 Ket
5082 Callout 255 14 0
5083 Ket
5084 End
5085 ------------------------------------------------------------------
5086 Capturing subpattern count = 1
5087 Options:
5088 No first char
5089 No need char
5090 Subject length lower bound = 2
5091 Starting byte set: a b x
5092 Note: that { does NOT introduce a quantifier
5093 --->Note: that { does NOT introduce a quantifier
5094 +0 ^ ([ab]{,4}c|xy)
5095 +1 ^ [ab]
5096 +5 ^^ {
5097 +11 ^ x
5098 +0 ^ ([ab]{,4}c|xy)
5099 +1 ^ [ab]
5100 +5 ^^ {
5101 +11 ^ x
5102 +0 ^ ([ab]{,4}c|xy)
5103 +1 ^ [ab]
5104 +5 ^^ {
5105 +11 ^ x
5106 No match
5107
5108 /([ab]{,4}c|xy)/ICDZSS
5109 ------------------------------------------------------------------
5110 Bra
5111 Callout 255 0 14
5112 CBra 1
5113 Callout 255 1 4
5114 [ab]
5115 Callout 255 5 1
5116 {
5117 Callout 255 6 1
5118 ,
5119 Callout 255 7 1
5120 4
5121 Callout 255 8 1
5122 }
5123 Callout 255 9 1
5124 c
5125 Callout 255 10 0
5126 Alt
5127 Callout 255 11 1
5128 x
5129 Callout 255 12 1
5130 y
5131 Callout 255 13 0
5132 Ket
5133 Callout 255 14 0
5134 Ket
5135 End
5136 ------------------------------------------------------------------
5137 Capturing subpattern count = 1
5138 Options:
5139 No first char
5140 No need char
5141 Note: that { does NOT introduce a quantifier
5142 --->Note: that { does NOT introduce a quantifier
5143 +0 ^ ([ab]{,4}c|xy)
5144 +1 ^ [ab]
5145 +11 ^ x
5146 +0 ^ ([ab]{,4}c|xy)
5147 +1 ^ [ab]
5148 +11 ^ x
5149 +0 ^ ([ab]{,4}c|xy)
5150 +1 ^ [ab]
5151 +11 ^ x
5152 +0 ^ ([ab]{,4}c|xy)
5153 +1 ^ [ab]
5154 +11 ^ x
5155 +0 ^ ([ab]{,4}c|xy)
5156 +1 ^ [ab]
5157 +11 ^ x
5158 +0 ^ ([ab]{,4}c|xy)
5159 +1 ^ [ab]
5160 +11 ^ x
5161 +0 ^ ([ab]{,4}c|xy)
5162 +1 ^ [ab]
5163 +11 ^ x
5164 +0 ^ ([ab]{,4}c|xy)
5165 +1 ^ [ab]
5166 +11 ^ x
5167 +0 ^ ([ab]{,4}c|xy)
5168 +1 ^ [ab]
5169 +5 ^^ {
5170 +11 ^ x
5171 +0 ^ ([ab]{,4}c|xy)
5172 +1 ^ [ab]
5173 +11 ^ x
5174 +0 ^ ([ab]{,4}c|xy)
5175 +1 ^ [ab]
5176 +11 ^ x
5177 +0 ^ ([ab]{,4}c|xy)
5178 +1 ^ [ab]
5179 +11 ^ x
5180 +0 ^ ([ab]{,4}c|xy)
5181 +1 ^ [ab]
5182 +11 ^ x
5183 +0 ^ ([ab]{,4}c|xy)
5184 +1 ^ [ab]
5185 +11 ^ x
5186 +0 ^ ([ab]{,4}c|xy)
5187 +1 ^ [ab]
5188 +11 ^ x
5189 +0 ^ ([ab]{,4}c|xy)
5190 +1 ^ [ab]
5191 +11 ^ x
5192 +0 ^ ([ab]{,4}c|xy)
5193 +1 ^ [ab]
5194 +11 ^ x
5195 +0 ^ ([ab]{,4}c|xy)
5196 +1 ^ [ab]
5197 +11 ^ x
5198 +0 ^ ([ab]{,4}c|xy)
5199 +1 ^ [ab]
5200 +11 ^ x
5201 +0 ^ ([ab]{,4}c|xy)
5202 +1 ^ [ab]
5203 +11 ^ x
5204 +0 ^ ([ab]{,4}c|xy)
5205 +1 ^ [ab]
5206 +11 ^ x
5207 +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 +11 ^ x
5222 +0 ^ ([ab]{,4}c|xy)
5223 +1 ^ [ab]
5224 +11 ^ x
5225 +0 ^ ([ab]{,4}c|xy)
5226 +1 ^ [ab]
5227 +11 ^ x
5228 +0 ^ ([ab]{,4}c|xy)
5229 +1 ^ [ab]
5230 +11 ^ x
5231 +0 ^ ([ab]{,4}c|xy)
5232 +1 ^ [ab]
5233 +11 ^ x
5234 +0 ^ ([ab]{,4}c|xy)
5235 +1 ^ [ab]
5236 +11 ^ x
5237 +0 ^ ([ab]{,4}c|xy)
5238 +1 ^ [ab]
5239 +11 ^ x
5240 +0 ^ ([ab]{,4}c|xy)
5241 +1 ^ [ab]
5242 +5 ^^ {
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 +5 ^^ {
5256 +11 ^ x
5257 +0 ^ ([ab]{,4}c|xy)
5258 +1 ^ [ab]
5259 +11 ^ x
5260 +0 ^ ([ab]{,4}c|xy)
5261 +1 ^ [ab]
5262 +11 ^ x
5263 +0 ^ ([ab]{,4}c|xy)
5264 +1 ^ [ab]
5265 +11 ^ x
5266 +0 ^ ([ab]{,4}c|xy)
5267 +1 ^ [ab]
5268 +11 ^ x
5269 +0 ^ ([ab]{,4}c|xy)
5270 +1 ^ [ab]
5271 +11 ^ x
5272 +0 ^ ([ab]{,4}c|xy)
5273 +1 ^ [ab]
5274 +11 ^ x
5275 +0 ^ ([ab]{,4}c|xy)
5276 +1 ^ [ab]
5277 +11 ^ x
5278 +0 ^ ([ab]{,4}c|xy)
5279 +1 ^ [ab]
5280 +11 ^ x
5281 No match
5282
5283 /([ab]{1,4}c|xy){4,5}?123/ICDZ
5284 ------------------------------------------------------------------
5285 Bra
5286 Callout 255 0 21
5287 CBra 1
5288 Callout 255 1 9
5289 [ab]{1,4}
5290 Callout 255 10 1
5291 c
5292 Callout 255 11 0
5293 Alt
5294 Callout 255 12 1
5295 x
5296 Callout 255 13 1
5297 y
5298 Callout 255 14 0
5299 Ket
5300 CBra 1
5301 Callout 255 1 9
5302 [ab]{1,4}
5303 Callout 255 10 1
5304 c
5305 Callout 255 11 0
5306 Alt
5307 Callout 255 12 1
5308 x
5309 Callout 255 13 1
5310 y
5311 Callout 255 14 0
5312 Ket
5313 CBra 1
5314 Callout 255 1 9
5315 [ab]{1,4}
5316 Callout 255 10 1
5317 c
5318 Callout 255 11 0
5319 Alt
5320 Callout 255 12 1
5321 x
5322 Callout 255 13 1
5323 y
5324 Callout 255 14 0
5325 Ket
5326 CBra 1
5327 Callout 255 1 9
5328 [ab]{1,4}
5329 Callout 255 10 1
5330 c
5331 Callout 255 11 0
5332 Alt
5333 Callout 255 12 1
5334 x
5335 Callout 255 13 1
5336 y
5337 Callout 255 14 0
5338 Ket
5339 Braminzero
5340 CBra 1
5341 Callout 255 1 9
5342 [ab]{1,4}
5343 Callout 255 10 1
5344 c
5345 Callout 255 11 0
5346 Alt
5347 Callout 255 12 1
5348 x
5349 Callout 255 13 1
5350 y
5351 Callout 255 14 0
5352 Ket
5353 Callout 255 21 1
5354 1
5355 Callout 255 22 1
5356 2
5357 Callout 255 23 1
5358 3
5359 Callout 255 24 0
5360 Ket
5361 End
5362 ------------------------------------------------------------------
5363 Capturing subpattern count = 1
5364 Options:
5365 No first char
5366 Need char = '3'
5367 aacaacaacaacaac123
5368 --->aacaacaacaacaac123
5369 +0 ^ ([ab]{1,4}c|xy){4,5}?
5370 +1 ^ [ab]{1,4}
5371 +10 ^ ^ c
5372 +11 ^ ^ |
5373 +1 ^ ^ [ab]{1,4}
5374 +10 ^ ^ c
5375 +11 ^ ^ |
5376 +1 ^ ^ [ab]{1,4}
5377 +10 ^ ^ c
5378 +11 ^ ^ |
5379 +1 ^ ^ [ab]{1,4}
5380 +10 ^ ^ c
5381 +11 ^ ^ |
5382 +21 ^ ^ 1
5383 +1 ^ ^ [ab]{1,4}
5384 +10 ^ ^ c
5385 +11 ^ ^ |
5386 +21 ^ ^ 1
5387 +22 ^ ^ 2
5388 +23 ^ ^ 3
5389 +24 ^ ^
5390 0: aacaacaacaacaac123
5391 1: aac
5392
5393 /\b.*/I
5394 Capturing subpattern count = 0
5395 No options
5396 No first char
5397 No need char
5398 ab cd\>1
5399 0: cd
5400
5401 /\b.*/Is
5402 Capturing subpattern count = 0
5403 Options: dotall
5404 No first char
5405 No need char
5406 ab cd\>1
5407 0: cd
5408
5409 /(?!.bcd).*/I
5410 Capturing subpattern count = 0
5411 No options
5412 No first char
5413 No need char
5414 Xbcd12345
5415 0: bcd12345
5416
5417 /abcde/I
5418 Capturing subpattern count = 0
5419 No options
5420 First char = 'a'
5421 Need char = 'e'
5422 ab\P
5423 Partial match: ab
5424 abc\P
5425 Partial match: abc
5426 abcd\P
5427 Partial match: abcd
5428 abcde\P
5429 0: abcde
5430 the quick brown abc\P
5431 Partial match: abc
5432 ** Failers\P
5433 No match
5434 the quick brown abxyz fox\P
5435 No match
5436
5437 "^(0?[1-9]|[12][0-9]|3[01])/(0?[1-9]|1[012])/(20)?\d\d$"I
5438 Capturing subpattern count = 3
5439 Options: anchored
5440 No first char
5441 Need char = '/'
5442 13/05/04\P
5443 0: 13/05/04
5444 1: 13
5445 2: 05
5446 13/5/2004\P
5447 0: 13/5/2004
5448 1: 13
5449 2: 5
5450 3: 20
5451 02/05/09\P
5452 0: 02/05/09
5453 1: 02
5454 2: 05
5455 1\P
5456 Partial match: 1
5457 1/2\P
5458 Partial match: 1/2
5459 1/2/0\P
5460 Partial match: 1/2/0
5461 1/2/04\P
5462 0: 1/2/04
5463 1: 1
5464 2: 2
5465 0\P
5466 Partial match: 0
5467 02/\P
5468 Partial match: 02/
5469 02/0\P
5470 Partial match: 02/0
5471 02/1\P
5472 Partial match: 02/1
5473 ** Failers\P
5474 No match
5475 \P
5476 No match
5477 123\P
5478 No match
5479 33/4/04\P
5480 No match
5481 3/13/04\P
5482 No match
5483 0/1/2003\P
5484 No match
5485 0/\P
5486 No match
5487 02/0/\P
5488 No match
5489 02/13\P
5490 No match
5491
5492 /0{0,2}ABC/I
5493 Capturing subpattern count = 0
5494 No options
5495 No first char
5496 Need char = 'C'
5497
5498 /\d{3,}ABC/I
5499 Capturing subpattern count = 0
5500 No options
5501 No first char
5502 Need char = 'C'
5503
5504 /\d*ABC/I
5505 Capturing subpattern count = 0
5506 No options
5507 No first char
5508 Need char = 'C'
5509
5510 /[abc]+DE/I
5511 Capturing subpattern count = 0
5512 No options
5513 No first char
5514 Need char = 'E'
5515
5516 /[abc]?123/I
5517 Capturing subpattern count = 0
5518 No options
5519 No first char
5520 Need char = '3'
5521 123\P
5522 0: 123
5523 a\P
5524 Partial match: a
5525 b\P
5526 Partial match: b
5527 c\P
5528 Partial match: c
5529 c12\P
5530 Partial match: c12
5531 c123\P
5532 0: c123
5533
5534 /^(?:\d){3,5}X/I
5535 Capturing subpattern count = 0
5536 Options: anchored
5537 No first char
5538 Need char = 'X'
5539 1\P
5540 Partial match: 1
5541 123\P
5542 Partial match: 123
5543 123X
5544 0: 123X
5545 1234\P
5546 Partial match: 1234
5547 1234X
5548 0: 1234X
5549 12345\P
5550 Partial match: 12345
5551 12345X
5552 0: 12345X
5553 *** Failers
5554 No match
5555 1X
5556 No match
5557 123456\P
5558 No match
5559
5560 /abc/IS>testsavedregex
5561 Capturing subpattern count = 0
5562 No options
5563 First char = 'a'
5564 Need char = 'c'
5565 Subject length lower bound = 3
5566 No set of starting bytes
5567 Compiled pattern written to testsavedregex
5568 Study data written to testsavedregex
5569 <testsavedregex
5570 Compiled pattern loaded from testsavedregex
5571 Study data loaded from testsavedregex
5572 abc
5573 0: abc
5574 ** Failers
5575 No match
5576 bca
5577 No match
5578
5579 /abc/ISS>testsavedregex
5580 Capturing subpattern count = 0
5581 No options
5582 First char = 'a'
5583 Need char = 'c'
5584 Compiled pattern written to testsavedregex
5585 <testsavedregex
5586 Compiled pattern loaded from testsavedregex
5587 No study data
5588 abc
5589 0: abc
5590 ** Failers
5591 No match
5592 bca
5593 No match
5594
5595 /abc/IFS>testsavedregex
5596 Capturing subpattern count = 0
5597 No options
5598 First char = 'a'
5599 Need char = 'c'
5600 Subject length lower bound = 3
5601 No set of starting bytes
5602 Compiled pattern written to testsavedregex
5603 Study data written to testsavedregex
5604 <testsavedregex
5605 Compiled pattern (byte-inverted) loaded from testsavedregex
5606 Study data loaded from testsavedregex
5607 abc
5608 0: abc
5609 ** Failers
5610 No match
5611 bca
5612 No match
5613
5614 /abc/IFSS>testsavedregex
5615 Capturing subpattern count = 0
5616 No options
5617 First char = 'a'
5618 Need char = 'c'
5619 Compiled pattern written to testsavedregex
5620 <testsavedregex
5621 Compiled pattern (byte-inverted) loaded from testsavedregex
5622 No study data
5623 abc
5624 0: abc
5625 ** Failers
5626 No match
5627 bca
5628 No match
5629
5630 /(a|b)/IS>testsavedregex
5631 Capturing subpattern count = 1
5632 No options
5633 No first char
5634 No need char
5635 Subject length lower bound = 1
5636 Starting byte set: a b
5637 Compiled pattern written to testsavedregex
5638 Study data written to testsavedregex
5639 <testsavedregex
5640 Compiled pattern loaded from testsavedregex
5641 Study data loaded from testsavedregex
5642 abc
5643 0: a
5644 1: a
5645 ** Failers
5646 0: a
5647 1: a
5648 def
5649 No match
5650
5651 /(a|b)/ISS>testsavedregex
5652 Capturing subpattern count = 1
5653 No options
5654 No first char
5655 No need char
5656 Compiled pattern written to testsavedregex
5657 <testsavedregex
5658 Compiled pattern loaded from testsavedregex
5659 No study data
5660 abc
5661 0: a
5662 1: a
5663 ** Failers
5664 0: a
5665 1: a
5666 def
5667 No match
5668
5669 /(a|b)/ISF>testsavedregex
5670 Capturing subpattern count = 1
5671 No options
5672 No first char
5673 No need char
5674 Subject length lower bound = 1
5675 Starting byte set: a b
5676 Compiled pattern written to testsavedregex
5677 Study data written to testsavedregex
5678 <testsavedregex
5679 Compiled pattern (byte-inverted) loaded from testsavedregex
5680 Study data loaded from testsavedregex
5681 abc
5682 0: a
5683 1: a
5684 ** Failers
5685 0: a
5686 1: a
5687 def
5688 No match
5689
5690 /(a|b)/ISSF>testsavedregex
5691 Capturing subpattern count = 1
5692 No options
5693 No first char
5694 No need char
5695 Compiled pattern written to testsavedregex
5696 <testsavedregex
5697 Compiled pattern (byte-inverted) loaded from testsavedregex
5698 No study data
5699 abc
5700 0: a
5701 1: a
5702 ** Failers
5703 0: a
5704 1: a
5705 def
5706 No match
5707
5708 ~<(\w+)/?>(.)*</(\1)>~smgI
5709 Capturing subpattern count = 3
5710 Max back reference = 1
5711 Options: multiline dotall
5712 First char = '<'
5713 Need char = '>'
5714 \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>
5715 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>
5716 1: seite
5717 2: \x0a
5718 3: seite
5719
5720 /^a/IF
5721 Capturing subpattern count = 0
5722 Options: anchored
5723 No first char
5724 No need char
5725
5726 /line\nbreak/I
5727 Capturing subpattern count = 0
5728 Contains explicit CR or LF match
5729 No options
5730 First char = 'l'
5731 Need char = 'k'
5732 this is a line\nbreak
5733 0: line\x0abreak
5734 line one\nthis is a line\nbreak in the second line
5735 0: line\x0abreak
5736
5737 /line\nbreak/If
5738 Capturing subpattern count = 0
5739 Contains explicit CR or LF match
5740 Options: firstline
5741 First char = 'l'
5742 Need char = 'k'
5743 this is a line\nbreak
5744 0: line\x0abreak
5745 ** Failers
5746 No match
5747 line one\nthis is a line\nbreak in the second line
5748 No match
5749
5750 /line\nbreak/Imf
5751 Capturing subpattern count = 0
5752 Contains explicit CR or LF match
5753 Options: multiline firstline
5754 First char = 'l'
5755 Need char = 'k'
5756 this is a line\nbreak
5757 0: line\x0abreak
5758 ** Failers
5759 No match
5760 line one\nthis is a line\nbreak in the second line
5761 No match
5762
5763 /(?i)(?-i)AbCd/I
5764 Capturing subpattern count = 0
5765 No options
5766 First char = 'A'
5767 Need char = 'd'
5768 AbCd
5769 0: AbCd
5770 ** Failers
5771 No match
5772 abcd
5773 No match
5774
5775 /a{11111111111111111111}/I
5776 Failed: number too big in {} quantifier at offset 22
5777
5778 /(){64294967295}/I
5779 Failed: number too big in {} quantifier at offset 14
5780
5781 /(){2,4294967295}/I
5782 Failed: number too big in {} quantifier at offset 15
5783
5784 "(?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
5785 Capturing subpattern count = 1
5786 Max back reference = 1
5787 No options
5788 First char = 'a' (caseless)
5789 Need char = 'B'
5790 abcdefghijklAkB
5791 0: abcdefghijklAkB
5792 1: k
5793
5794 "(?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
5795 Capturing subpattern count = 12
5796 Max back reference = 11
5797 Named capturing subpatterns:
5798 n0 1
5799 n1 2
5800 n10 11
5801 n11 12
5802 n2 3
5803 n3 4
5804 n4 5
5805 n5 6
5806 n6 7
5807 n7 8
5808 n8 9
5809 n9 10
5810 No options
5811 First char = 'a'
5812 Need char = 'B'
5813 abcdefghijklAkB
5814 0: abcdefghijklAkB
5815 1: a
5816 2: b
5817 3: c
5818 4: d
5819 5: e
5820 6: f
5821 7: g
5822 8: h
5823 9: i
5824 10: j
5825 11: k
5826 12: l
5827
5828 "(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)A\11B"I
5829 Capturing subpattern count = 12
5830 Max back reference = 11
5831 No options
5832 First char = 'a'
5833 Need char = 'B'
5834 abcdefghijklAkB
5835 0: abcdefghijklAkB
5836 1: a
5837 2: b
5838 3: c
5839 4: d
5840 5: e
5841 6: f
5842 7: g
5843 8: h
5844 9: i
5845 10: j
5846 11: k
5847 12: l
5848
5849 "(?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
5850 Capturing subpattern count = 101
5851 Named capturing subpatterns:
5852 name0 1
5853 name1 2
5854 name10 11
5855 name100 101
5856 name11 12
5857 name12 13
5858 name13 14
5859 name14 15
5860 name15 16
5861 name16 17
5862 name17 18
5863 name18 19
5864 name19 20
5865 name2 3
5866 name20 21
5867 name21 22
5868 name22 23
5869 name23 24
5870 name24 25
5871 name25 26
5872 name26 27
5873 name27 28
5874 name28 29
5875 name29 30
5876 name3 4
5877 name30 31
5878 name31 32
5879 name32 33
5880 name33 34
5881 name34 35
5882 name35 36
5883 name36 37
5884 name37 38
5885 name38 39
5886 name39 40
5887 name4 5
5888 name40 41
5889 name41 42
5890 name42 43
5891 name43 44
5892 name44 45
5893 name45 46
5894 name46 47
5895 name47 48
5896 name48 49
5897 name49 50
5898 name5 6
5899 name50 51
5900 name51 52
5901 name52 53
5902 name53 54
5903 name54 55
5904 name55 56
5905 name56 57
5906 name57 58
5907 name58 59
5908 name59 60
5909 name6 7
5910 name60 61
5911 name61 62
5912 name62 63
5913 name63 64
5914 name64 65
5915 name65 66
5916 name66 67
5917 name67 68
5918 name68 69
5919 name69 70
5920 name7 8
5921 name70 71
5922 name71 72
5923 name72 73
5924 name73 74
5925 name74 75
5926 name75 76
5927 name76 77
5928 name77 78
5929 name78 79
5930 name79 80
5931 name8 9
5932 name80 81
5933 name81 82
5934 name82 83
5935 name83 84
5936 name84 85
5937 name85 86
5938 name86 87
5939 name87 88
5940 name88 89
5941 name89 90
5942 name9 10
5943 name90 91
5944 name91 92
5945 name92 93
5946 name93 94
5947 name94 95
5948 name95 96
5949 name96 97
5950 name97 98
5951 name98 99
5952 name99 100
5953 No options
5954 First char = 'a'
5955 Need char = 'a'
5956 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
5957 Matched, but too many substrings
5958 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
5959 1: a
5960 2: a
5961 3: a
5962 4: a
5963 5: a
5964 6: a
5965 7: a
5966 8: a
5967 9: a
5968 10: a
5969 11: a
5970 12: a
5971 13: a
5972 14: a
5973
5974 "(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(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
5975 Capturing subpattern count = 101
5976 No options
5977 First char = 'a'
5978 Need char = 'a'
5979 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
5980 Matched, but too many substrings
5981 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
5982 1: a
5983 2: a
5984 3: a
5985 4: a
5986 5: a
5987 6: a
5988 7: a
5989 8: a
5990 9: a
5991 10: a
5992 11: a
5993 12: a
5994 13: a
5995 14: a
5996
5997 /[^()]*(?:\((?R)\)[^()]*)*/I
5998 Capturing subpattern count = 0
5999 No options
6000 No first char
6001 No need char
6002 (this(and)that
6003 0:
6004 (this(and)that)
6005 0: (this(and)that)
6006 (this(and)that)stuff
6007 0: (this(and)that)stuff
6008
6009 /[^()]*(?:\((?>(?R))\)[^()]*)*/I
6010 Capturing subpattern count = 0
6011 No options
6012 No first char
6013 No need char
6014 (this(and)that
6015 0:
6016 (this(and)that)
6017 0: (this(and)that)
6018
6019 /[^()]*(?:\((?R)\))*[^()]*/I
6020 Capturing subpattern count = 0
6021 No options
6022 No first char
6023 No need char
6024 (this(and)that
6025 0:
6026 (this(and)that)
6027 0: (this(and)that)
6028
6029 /(?:\((?R)\))*[^()]*/I
6030 Capturing subpattern count = 0
6031 No options
6032 No first char
6033 No need char
6034 (this(and)that
6035 0:
6036 (this(and)that)
6037 0:
6038 ((this))
6039 0: ((this))
6040
6041 /(?:\((?R)\))|[^()]*/I
6042 Capturing subpattern count = 0
6043 No options
6044 No first char
6045 No need char
6046 (this(and)that
6047 0:
6048 (this(and)that)
6049 0:
6050 (this)
6051 0: (this)
6052 ((this))
6053 0: ((this))
6054
6055 /\x{0000ff}/I
6056 Capturing subpattern count = 0
6057 No options
6058 First char = \xff
6059 No need char
6060
6061 /^((?P<A>a1)|(?P<A>a2)b)/I
6062 Failed: two named subpatterns have the same name at offset 17
6063
6064 /^((?P<A>a1)|(?P<A>a2)b)/IJ
6065 Capturing subpattern count = 3
6066 Named capturing subpatterns:
6067 A 2
6068 A 3
6069 Options: anchored dupnames
6070 No first char
6071 No need char
6072 a1b\CA
6073 0: a1
6074 1: a1
6075 2: a1
6076 C a1 (2) A
6077 a2b\CA
6078 0: a2b
6079 1: a2b
6080 2: <unset>
6081 3: a2
6082 C a2 (2) A
6083 ** Failers
6084 No match
6085 a1b\CZ\CA
6086 no parentheses with name "Z"
6087 0: a1
6088 1: a1
6089 2: a1
6090 copy substring Z failed -7
6091 C a1 (2) A
6092
6093 /^(?P<A>a)(?P<A>b)/IJ
6094 Capturing subpattern count = 2
6095 Named capturing subpatterns:
6096 A 1
6097 A 2
6098 Options: anchored dupnames
6099 No first char
6100 No need char
6101 ab\CA
6102 0: ab
6103 1: a
6104 2: b
6105 C a (1) A
6106
6107 /^(?P<A>a)(?P<A>b)|cd/IJ
6108 Capturing subpattern count = 2
6109 Named capturing subpatterns:
6110 A 1
6111 A 2
6112 Options: dupnames
6113 No first char
6114 No need char
6115 ab\CA
6116 0: ab
6117 1: a
6118 2: b
6119 C a (1) A
6120 cd\CA
6121 0: cd
6122 copy substring A failed -7
6123
6124 /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ
6125 Capturing subpattern count = 4
6126 Named capturing subpatterns:
6127 A 1
6128 A 2
6129 A 3
6130 A 4
6131 Options: dupnames
6132 No first char
6133 No need char
6134 cdefgh\CA
6135 0: cdefgh
6136 1: <unset>
6137 2: <unset>
6138 3: ef
6139 4: gh
6140 C ef (2) A
6141
6142 /^((?P<A>a1)|(?P<A>a2)b)/IJ
6143 Capturing subpattern count = 3
6144 Named capturing subpatterns:
6145 A 2
6146 A 3
6147 Options: anchored dupnames
6148 No first char
6149 No need char
6150 a1b\GA
6151 0: a1
6152 1: a1
6153 2: a1
6154 G a1 (2) A
6155 a2b\GA
6156 0: a2b
6157 1: a2b
6158 2: <unset>
6159 3: a2
6160 G a2 (2) A
6161 ** Failers
6162 No match
6163 a1b\GZ\GA
6164 no parentheses with name "Z"
6165 0: a1
6166 1: a1
6167 2: a1
6168 get substring Z failed -7
6169 G a1 (2) A
6170
6171 /^(?P<A>a)(?P<A>b)/IJ
6172 Capturing subpattern count = 2
6173 Named capturing subpatterns:
6174 A 1
6175 A 2
6176 Options: anchored dupnames
6177 No first char
6178 No need char
6179 ab\GA
6180 0: ab
6181 1: a
6182 2: b
6183 G a (1) A
6184
6185 /^(?P<A>a)(?P<A>b)|cd/IJ
6186 Capturing subpattern count = 2
6187 Named capturing subpatterns:
6188 A 1
6189 A 2
6190 Options: dupnames
6191 No first char
6192 No need char
6193 ab\GA
6194 0: ab
6195 1: a
6196 2: b
6197 G a (1) A
6198 cd\GA
6199 0: cd
6200 get substring A failed -7
6201
6202 /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ
6203 Capturing subpattern count = 4
6204 Named capturing subpatterns:
6205 A 1
6206 A 2
6207 A 3
6208 A 4
6209 Options: dupnames
6210 No first char
6211 No need char
6212 cdefgh\GA
6213 0: cdefgh
6214 1: <unset>
6215 2: <unset>
6216 3: ef
6217 4: gh
6218 G ef (2) A
6219
6220 /(?J)^((?P<A>a1)|(?P<A>a2)b)/I
6221 Capturing subpattern count = 3
6222 Named capturing subpatterns:
6223 A 2
6224 A 3
6225 Options: anchored dupnames
6226 Duplicate name status changes
6227 No first char
6228 No need char
6229 a1b\CA
6230 0: a1
6231 1: a1
6232 2: a1
6233 C a1 (2) A
6234 a2b\CA
6235 0: a2b
6236 1: a2b
6237 2: <unset>
6238 3: a2
6239 C a2 (2) A
6240
6241 /^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<A>d)/I
6242 Failed: two named subpatterns have the same name at offset 37
6243
6244 / In this next test, J is not set at the outer level; consequently it isn't
6245 set in the pattern's options; consequently pcre_get_named_substring() produces
6246 a random value. /Ix
6247 Capturing subpattern count = 1
6248 Options: extended
6249 First char = 'I'
6250 Need char = 'e'
6251
6252 /^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<C>d)/I
6253 Capturing subpattern count = 4
6254 Named capturing subpatterns:
6255 A 1
6256 B 2
6257 B 3
6258 C 4
6259 Options: anchored
6260 Duplicate name status changes
6261 No first char
6262 No need char
6263 a bc d\CA\CB\CC
6264 0: a bc d
6265 1: a
6266 2: b
6267 3: c
6268 4: d
6269 C a (1) A
6270 C b (1) B
6271 C d (1) C
6272
6273 /^(?P<A>a)?(?(A)a|b)/I
6274 Capturing subpattern count = 1
6275 Named capturing subpatterns:
6276 A 1
6277 Options: anchored
6278 No first char
6279 No need char
6280 aabc
6281 0: aa
6282 1: a
6283 bc
6284 0: b
6285 ** Failers
6286 No match
6287 abc
6288 No match
6289
6290 /(?:(?(ZZ)a|b)(?P<ZZ>X))+/I
6291 Capturing subpattern count = 1
6292 Named capturing subpatterns:
6293 ZZ 1
6294 No options
6295 No first char
6296 Need char = 'X'
6297 bXaX
6298 0: bXaX
6299 1: X
6300
6301 /(?:(?(2y)a|b)(X))+/I
6302 Failed: reference to non-existent subpattern at offset 9
6303
6304 /(?:(?(ZA)a|b)(?P<ZZ>X))+/I
6305 Failed: reference to non-existent subpattern at offset 9
6306
6307 /(?:(?(ZZ)a|b)(?(ZZ)a|b)(?P<ZZ>X))+/I
6308 Capturing subpattern count = 1
6309 Named capturing subpatterns:
6310 ZZ 1
6311 No options
6312 No first char
6313 Need char = 'X'
6314 bbXaaX
6315 0: bbXaaX
6316 1: X
6317
6318 /(?:(?(ZZ)a|\(b\))\\(?P<ZZ>X))+/I
6319 Capturing subpattern count = 1
6320 Named capturing subpatterns:
6321 ZZ 1
6322 No options
6323 No first char
6324 Need char = 'X'
6325 (b)\\Xa\\X
6326 0: (b)\Xa\X
6327 1: X
6328
6329 /(?P<ABC/I
6330 Failed: syntax error in subpattern name (missing terminator) at offset 7
6331
6332 /(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/I
6333 Capturing subpattern count = 1
6334 Max back reference = 1
6335 Named capturing subpatterns:
6336 A 1
6337 No options
6338 No first char
6339 No need char
6340 bXXaYYaY
6341 0: bXXaYYaY
6342 1: Y
6343 bXYaXXaX
6344 0: bX
6345 1: X
6346
6347 /()()()()()()()()()(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/I
6348 Capturing subpattern count = 10
6349 Max back reference = 10
6350 Named capturing subpatterns:
6351 A 10
6352 No options
6353 No first char
6354 No need char
6355 bXXaYYaY
6356 0: bXXaYYaY
6357 1:
6358 2:
6359 3:
6360 4:
6361 5:
6362 6:
6363 7:
6364 8:
6365 9:
6366 10: Y
6367
6368 /\777/I
6369 Failed: octal value is greater than \377 (not in UTF-8 mode) at offset 3
6370
6371 /\s*,\s*/IS
6372 Capturing subpattern count = 0
6373 No options
6374 No first char
6375 Need char = ','
6376 Subject length lower bound = 1
6377 Starting byte set: \x09 \x0a \x0c \x0d \x20 ,
6378 \x0b,\x0b
6379 0: ,
6380 \x0c,\x0d
6381 0: \x0c,\x0d
6382
6383 /^abc/Im
6384 Capturing subpattern count = 0
6385 Options: multiline
6386 First char at start or follows newline
6387 Need char = 'c'
6388 xyz\nabc
6389 0: abc
6390 xyz\nabc\<lf>
6391 0: abc
6392 xyz\r\nabc\<lf>
6393 0: abc
6394 xyz\rabc\<cr>
6395 0: abc
6396 xyz\r\nabc\<crlf>
6397 0: abc
6398 ** Failers
6399 No match
6400 xyz\nabc\<cr>
6401 No match
6402 xyz\r\nabc\<cr>
6403 No match
6404 xyz\nabc\<crlf>
6405 No match
6406 xyz\rabc\<crlf>
6407 No match
6408 xyz\rabc\<lf>
6409 No match
6410
6411 /abc$/Im<lf>
6412 Capturing subpattern count = 0
6413 Options: multiline
6414 Forced newline sequence: LF
6415 First char = 'a'
6416 Need char = 'c'
6417 xyzabc
6418 0: abc
6419 xyzabc\n
6420 0: abc
6421 xyzabc\npqr
6422 0: abc
6423 xyzabc\r\<cr>
6424 0: abc
6425 xyzabc\rpqr\<cr>
6426 0: abc
6427 xyzabc\r\n\<crlf>
6428 0: abc
6429 xyzabc\r\npqr\<crlf>
6430 0: abc
6431 ** Failers
6432 No match
6433 xyzabc\r
6434 No match
6435 xyzabc\rpqr
6436 No match
6437 xyzabc\r\n
6438 No match
6439 xyzabc\r\npqr
6440 No match
6441
6442 /^abc/Im<cr>
6443 Capturing subpattern count = 0
6444 Options: multiline
6445 Forced newline sequence: CR
6446 First char at start or follows newline
6447 Need char = 'c'
6448 xyz\rabcdef
6449 0: abc
6450 xyz\nabcdef\<lf>
6451 0: abc
6452 ** Failers
6453 No match
6454 xyz\nabcdef
6455 No match
6456
6457 /^abc/Im<lf>
6458 Capturing subpattern count = 0
6459 Options: multiline
6460 Forced newline sequence: LF
6461 First char at start or follows newline
6462 Need char = 'c'
6463 xyz\nabcdef
6464 0: abc
6465 xyz\rabcdef\<cr>
6466 0: abc
6467 ** Failers
6468 No match
6469 xyz\rabcdef
6470 No match
6471
6472 /^abc/Im<crlf>
6473 Capturing subpattern count = 0
6474 Options: multiline
6475 Forced newline sequence: CRLF
6476 First char at start or follows newline
6477 Need char = 'c'
6478 xyz\r\nabcdef
6479 0: abc
6480 xyz\rabcdef\<cr>
6481 0: abc
6482 ** Failers
6483 No match
6484 xyz\rabcdef
6485 No match
6486
6487 /^abc/Im<bad>
6488 Unknown newline type at: <bad>
6489
6490
6491 /abc/I
6492 Capturing subpattern count = 0
6493 No options
6494 First char = 'a'
6495 Need char = 'c'
6496 xyz\rabc\<bad>
6497 Unknown newline type at: <bad>
6498 abc
6499 0: abc
6500
6501 /.*/I<lf>
6502 Capturing subpattern count = 0
6503 Options:
6504 Forced newline sequence: LF
6505 First char at start or follows newline
6506 No need char
6507 abc\ndef
6508 0: abc
6509 abc\rdef
6510 0: abc\x0ddef
6511 abc\r\ndef
6512 0: abc\x0d
6513 \<cr>abc\ndef
6514 0: abc\x0adef
6515 \<cr>abc\rdef
6516 0: abc
6517 \<cr>abc\r\ndef
6518 0: abc
6519 \<crlf>abc\ndef
6520 0: abc\x0adef
6521 \<crlf>abc\rdef
6522 0: abc\x0ddef
6523 \<crlf>abc\r\ndef
6524 0: abc
6525
6526 /\w+(.)(.)?def/Is
6527 Capturing subpattern count = 2
6528 Options: dotall
6529 No first char
6530 Need char = 'f'
6531 abc\ndef
6532 0: abc\x0adef
6533 1: \x0a
6534 abc\rdef
6535 0: abc\x0ddef
6536 1: \x0d
6537 abc\r\ndef
6538 0: abc\x0d\x0adef
6539 1: \x0d
6540 2: \x0a
6541
6542 +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I
6543 Capturing subpattern count = 1
6544 No options
6545 No first char
6546 No need char
6547 /* this is a C style comment */\M
6548 Minimum match() limit = 120
6549 Minimum match() recursion limit = 6
6550 0: /* this is a C style comment */
6551 1: /* this is a C style comment */
6552
6553 /(?P<B>25[0-5]|2[0-4]\d|[01]?\d?\d)(?:\.(?P>B)){3}/I
6554 Capturing subpattern count = 1
6555 Named capturing subpatterns:
6556 B 1
6557 No options
6558 No first char
6559 Need char = '.'
6560
6561 /()()()()()()()()()()()()()()()()()()()()
6562 ()()()()()()()()()()()()()()()()()()()()
6563 ()()()()()()()()()()()()()()()()()()()()
6564 ()()()()()()()()()()()()()()()()()()()()
6565 ()()()()()()()()()()()()()()()()()()()()
6566 (.(.))/Ix
6567 Capturing subpattern count = 102
6568 Options: extended
6569 No first char
6570 No need char
6571 XY\O400
6572 0: XY
6573 1:
6574 2:
6575 3:
6576 4:
6577 5:
6578 6:
6579 7:
6580 8:
6581 9:
6582 10:
6583 11:
6584 12:
6585 13:
6586 14:
6587 15:
6588 16:
6589 17:
6590 18:
6591 19:
6592 20:
6593 21:
6594 22:
6595 23:
6596 24:
6597 25:
6598 26:
6599 27:
6600 28:
6601 29:
6602 30:
6603 31:
6604 32:
6605 33:
6606 34:
6607 35:
6608 36:
6609 37:
6610 38:
6611 39:
6612 40:
6613 41:
6614 42:
6615 43:
6616 44:
6617 45:
6618 46:
6619 47:
6620 48:
6621 49:
6622 50:
6623 51:
6624 52:
6625 53:
6626 54:
6627 55:
6628 56:
6629 57:
6630 58:
6631 59:
6632 60:
6633 61:
6634 62:
6635 63:
6636 64:
6637 65:
6638 66:
6639 67:
6640 68:
6641 69:
6642 70:
6643 71:
6644 72:
6645 73:
6646 74:
6647 75:
6648 76:
6649 77:
6650 78:
6651 79:
6652 80:
6653 81:
6654 82:
6655 83:
6656 84:
6657 85:
6658 86:
6659 87:
6660 88:
6661 89:
6662 90:
6663 91:
6664 92:
6665 93:
6666 94:
6667 95:
6668 96:
6669 97:
6670 98:
6671 99:
6672 100:
6673 101: XY
6674 102: Y
6675
6676 /(a*b|(?i:c*(?-i)d))/IS
6677 Capturing subpattern count = 1
6678 No options
6679 No first char
6680 No need char
6681 Subject length lower bound = 1
6682 Starting byte set: C a b c d
6683
6684 /()[ab]xyz/IS
6685 Capturing subpattern count = 1
6686 No options
6687 No first char
6688 Need char = 'z'
6689 Subject length lower bound = 4
6690 Starting byte set: a b
6691
6692 /(|)[ab]xyz/IS
6693 Capturing subpattern count = 1
6694 No options
6695 No first char
6696 Need char = 'z'
6697 Subject length lower bound = 4
6698 Starting byte set: a b
6699
6700 /(|c)[ab]xyz/IS
6701 Capturing subpattern count = 1
6702 No options
6703 No first char
6704 Need char = 'z'
6705 Subject length lower bound = 4
6706 Starting byte set: a b c
6707
6708 /(|c?)[ab]xyz/IS
6709 Capturing subpattern count = 1
6710 No options
6711 No first char
6712 Need char = 'z'
6713 Subject length lower bound = 4
6714 Starting byte set: a b c
6715
6716 /(d?|c?)[ab]xyz/IS
6717 Capturing subpattern count = 1
6718 No options
6719 No first char
6720 Need char = 'z'
6721 Subject length lower bound = 4
6722 Starting byte set: a b c d
6723
6724 /(d?|c)[ab]xyz/IS
6725 Capturing subpattern count = 1
6726 No options
6727 No first char
6728 Need char = 'z'
6729 Subject length lower bound = 4
6730 Starting byte set: a b c d
6731
6732 /^a*b\d/DZ
6733 ------------------------------------------------------------------
6734 Bra
6735 ^
6736 a*+
6737 b
6738 \d
6739 Ket
6740 End
6741 ------------------------------------------------------------------
6742 Capturing subpattern count = 0
6743 Options: anchored
6744 No first char
6745 Need char = 'b'
6746
6747 /^a*+b\d/DZ
6748 ------------------------------------------------------------------
6749 Bra
6750 ^
6751 a*+
6752 b
6753 \d
6754 Ket
6755 End
6756 ------------------------------------------------------------------
6757 Capturing subpattern count = 0
6758 Options: anchored
6759 No first char
6760 Need char = 'b'
6761
6762 /^a*?b\d/DZ
6763 ------------------------------------------------------------------
6764 Bra
6765 ^
6766 a*+
6767 b
6768 \d
6769 Ket
6770 End
6771 ------------------------------------------------------------------
6772 Capturing subpattern count = 0
6773 Options: anchored
6774 No first char
6775 Need char = 'b'
6776
6777 /^a+A\d/DZ
6778 ------------------------------------------------------------------
6779 Bra
6780 ^
6781 a++
6782 A
6783 \d
6784 Ket
6785 End
6786 ------------------------------------------------------------------
6787 Capturing subpattern count = 0
6788 Options: anchored
6789 No first char
6790 Need char = 'A'
6791 aaaA5
6792 0: aaaA5
6793 ** Failers
6794 No match
6795 aaaa5
6796 No match
6797
6798 /^a*A\d/IiDZ
6799 ------------------------------------------------------------------
6800 Bra
6801 ^
6802 /i a*
6803 /i A
6804 \d
6805 Ket
6806 End
6807 ------------------------------------------------------------------
6808 Capturing subpattern count = 0
6809 Options: anchored caseless
6810 No first char
6811 Need char = 'A' (caseless)
6812 aaaA5
6813 0: aaaA5
6814 aaaa5
6815 0: aaaa5
6816
6817 /(a*|b*)[cd]/IS
6818 Capturing subpattern count = 1
6819 No options
6820 No first char
6821 No need char
6822 Subject length lower bound = 1
6823 Starting byte set: a b c d
6824
6825 /(a+|b*)[cd]/IS
6826 Capturing subpattern count = 1
6827 No options
6828 No first char
6829 No need char
6830 Subject length lower bound = 1
6831 Starting byte set: a b c d
6832
6833 /(a*|b+)[cd]/IS
6834 Capturing subpattern count = 1
6835 No options
6836 No first char
6837 No need char
6838 Subject length lower bound = 1
6839 Starting byte set: a b c d
6840
6841 /(a+|b+)[cd]/IS
6842 Capturing subpattern count = 1
6843 No options
6844 No first char
6845 No need char
6846 Subject length lower bound = 2
6847 Starting byte set: a b
6848
6849 /((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
6850 ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
6851 (((
6852 a
6853 ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
6854 ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
6855 )))
6856 /Ix
6857 Capturing subpattern count = 203
6858 Options: extended
6859 First char = 'a'
6860 No need char
6861 large nest
6862 Matched, but too many substrings
6863 0: a
6864 1: a
6865 2: a
6866 3: a
6867 4: a
6868 5: a
6869 6: a
6870 7: a
6871 8: a
6872 9: a
6873 10: a
6874 11: a
6875 12: a
6876 13: a
6877 14: a
6878
6879 /a*\d/BZ
6880 ------------------------------------------------------------------
6881 Bra
6882 a*+
6883 \d
6884 Ket
6885 End
6886 ------------------------------------------------------------------
6887
6888 /a*\D/BZ
6889 ------------------------------------------------------------------
6890 Bra
6891 a*
6892 \D
6893 Ket
6894 End
6895 ------------------------------------------------------------------
6896
6897 /0*\d/BZ
6898 ------------------------------------------------------------------
6899 Bra
6900 0*
6901 \d
6902 Ket
6903 End
6904 ------------------------------------------------------------------
6905
6906 /0*\D/BZ
6907 ------------------------------------------------------------------
6908 Bra
6909 0*+
6910 \D
6911 Ket
6912 End
6913 ------------------------------------------------------------------
6914
6915 /a*\s/BZ
6916 ------------------------------------------------------------------
6917 Bra
6918 a*+
6919 \s
6920 Ket
6921 End
6922 ------------------------------------------------------------------
6923
6924 /a*\S/BZ
6925 ------------------------------------------------------------------
6926 Bra
6927 a*
6928 \S
6929 Ket
6930 End
6931 ------------------------------------------------------------------
6932
6933 / *\s/BZ
6934 ------------------------------------------------------------------
6935 Bra
6936 *
6937 \s
6938 Ket
6939 End
6940 ------------------------------------------------------------------
6941
6942 / *\S/BZ
6943 ------------------------------------------------------------------
6944 Bra
6945 *+
6946 \S
6947 Ket
6948 End
6949 ------------------------------------------------------------------
6950
6951 /a*\w/BZ
6952 ------------------------------------------------------------------
6953 Bra
6954 a*
6955 \w
6956 Ket
6957 End
6958 ------------------------------------------------------------------
6959
6960 /a*\W/BZ
6961 ------------------------------------------------------------------
6962 Bra
6963 a*+
6964 \W
6965 Ket
6966 End
6967 ------------------------------------------------------------------
6968
6969 /=*\w/BZ
6970 ------------------------------------------------------------------
6971 Bra
6972 =*+
6973 \w
6974 Ket
6975 End
6976 ------------------------------------------------------------------
6977
6978 /=*\W/BZ
6979 ------------------------------------------------------------------
6980 Bra
6981 =*
6982 \W
6983 Ket
6984 End
6985 ------------------------------------------------------------------
6986
6987 /\d*a/BZ
6988 ------------------------------------------------------------------
6989 Bra
6990 \d*+
6991 a
6992 Ket
6993 End
6994 ------------------------------------------------------------------
6995
6996 /\d*2/BZ
6997 ------------------------------------------------------------------
6998 Bra
6999 \d*
7000 2
7001 Ket
7002 End
7003 ------------------------------------------------------------------
7004
7005 /\d*\d/BZ
7006 ------------------------------------------------------------------
7007 Bra
7008 \d*
7009 \d
7010 Ket
7011 End
7012 ------------------------------------------------------------------
7013
7014 /\d*\D/BZ
7015 ------------------------------------------------------------------
7016 Bra
7017 \d*+
7018 \D
7019 Ket
7020 End
7021 ------------------------------------------------------------------
7022
7023 /\d*\s/BZ
7024 ------------------------------------------------------------------
7025 Bra
7026 \d*+
7027 \s
7028 Ket
7029 End
7030 ------------------------------------------------------------------
7031
7032 /\d*\S/BZ
7033 ------------------------------------------------------------------
7034 Bra
7035 \d*
7036 \S
7037 Ket
7038 End
7039 ------------------------------------------------------------------
7040
7041 /\d*\w/BZ
7042 ------------------------------------------------------------------
7043 Bra
7044 \d*
7045 \w
7046 Ket
7047 End
7048 ------------------------------------------------------------------
7049
7050 /\d*\W/BZ
7051 ------------------------------------------------------------------
7052 Bra
7053 \d*+
7054 \W
7055 Ket
7056 End
7057 ------------------------------------------------------------------
7058
7059 /\D*a/BZ
7060 ------------------------------------------------------------------
7061 Bra
7062 \D*
7063 a
7064 Ket
7065 End
7066 ------------------------------------------------------------------
7067
7068 /\D*2/BZ
7069 ------------------------------------------------------------------
7070 Bra
7071 \D*+
7072 2
7073 Ket
7074 End
7075 ------------------------------------------------------------------
7076
7077 /\D*\d/BZ
7078 ------------------------------------------------------------------
7079 Bra
7080 \D*+
7081 \d
7082 Ket
7083 End
7084 ------------------------------------------------------------------
7085
7086 /\D*\D/BZ
7087 ------------------------------------------------------------------
7088 Bra
7089 \D*
7090 \D
7091 Ket
7092 End
7093 ------------------------------------------------------------------
7094
7095 /\D*\s/BZ
7096 ------------------------------------------------------------------
7097 Bra
7098 \D*
7099 \s
7100 Ket
7101 End
7102 ------------------------------------------------------------------
7103
7104 /\D*\S/BZ
7105 ------------------------------------------------------------------
7106 Bra
7107 \D*
7108 \S
7109 Ket
7110 End
7111 ------------------------------------------------------------------
7112
7113 /\D*\w/BZ
7114 ------------------------------------------------------------------
7115 Bra
7116 \D*
7117 \w
7118 Ket
7119 End
7120 ------------------------------------------------------------------
7121
7122 /\D*\W/BZ
7123 ------------------------------------------------------------------
7124 Bra
7125 \D*
7126 \W
7127 Ket
7128 End
7129 ------------------------------------------------------------------
7130
7131 /\s*a/BZ
7132 ------------------------------------------------------------------
7133 Bra
7134 \s*+
7135 a
7136 Ket
7137 End
7138 ------------------------------------------------------------------
7139
7140 /\s*2/BZ
7141 ------------------------------------------------------------------
7142 Bra
7143 \s*+
7144 2
7145 Ket
7146 End
7147 ------------------------------------------------------------------
7148
7149 /\s*\d/BZ
7150 ------------------------------------------------------------------
7151 Bra
7152 \s*+
7153 \d
7154 Ket
7155 End
7156 ------------------------------------------------------------------
7157
7158 /\s*\D/BZ
7159 ------------------------------------------------------------------
7160 Bra
7161 \s*
7162 \D
7163 Ket
7164 End
7165 ------------------------------------------------------------------
7166
7167 /\s*\s/BZ
7168 ------------------------------------------------------------------
7169 Bra
7170 \s*
7171 \s
7172 Ket
7173 End
7174 ------------------------------------------------------------------
7175
7176 /\s*\S/BZ
7177 ------------------------------------------------------------------
7178 Bra
7179 \s*+
7180 \S
7181 Ket
7182 End
7183 ------------------------------------------------------------------
7184
7185 /\s*\w/BZ
7186 ------------------------------------------------------------------
7187 Bra
7188 \s*+
7189 \w
7190 Ket
7191 End
7192 ------------------------------------------------------------------
7193
7194 /\s*\W/BZ
7195 ------------------------------------------------------------------
7196 Bra
7197 \s*
7198 \W
7199 Ket
7200 End
7201 ------------------------------------------------------------------
7202
7203 /\S*a/BZ
7204 ------------------------------------------------------------------
7205 Bra
7206 \S*
7207 a
7208 Ket
7209 End
7210 ------------------------------------------------------------------
7211
7212 /\S*2/BZ
7213 ------------------------------------------------------------------
7214 Bra
7215 \S*
7216 2
7217 Ket
7218 End
7219 ------------------------------------------------------------------
7220
7221 /\S*\d/BZ
7222 ------------------------------------------------------------------
7223 Bra
7224 \S*
7225 \d
7226 Ket
7227 End
7228 ------------------------------------------------------------------
7229
7230 /\S*\D/BZ
7231 ------------------------------------------------------------------
7232 Bra
7233 \S*
7234 \D
7235 Ket
7236 End
7237 ------------------------------------------------------------------
7238
723