/[pcre]/code/trunk/testdata/testoutput2
ViewVC logotype

Contents of /code/trunk/testdata/testoutput2

Parent Directory Parent Directory | Revision Log Revision Log


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