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

Contents of /code/trunk/testdata/testoutput2

Parent Directory Parent Directory | Revision Log Revision Log


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