/[pcre]/code/branches/pcre16/testdata/testoutput2
ViewVC logotype

Contents of /code/branches/pcre16/testdata/testoutput2

Parent Directory Parent Directory | Revision Log Revision Log


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