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

Contents of /code/trunk/testdata/testoutput2

Parent Directory Parent Directory | Revision Log Revision Log


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