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

Contents of /code/trunk/testdata/testoutput2

Parent Directory Parent Directory | Revision Log Revision Log


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