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

Contents of /code/trunk/testdata/testoutput2

Parent Directory Parent Directory | Revision Log Revision Log


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