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

Contents of /code/trunk/testdata/testoutput2

Parent Directory Parent Directory | Revision Log Revision Log


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