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

Contents of /code/trunk/testdata/testoutput2

Parent Directory Parent Directory | Revision Log Revision Log


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