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

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

Parent Directory Parent Directory | Revision Log Revision Log


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