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

Contents of /code/trunk/testdata/testoutput2

Parent Directory Parent Directory | Revision Log Revision Log


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