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

Contents of /code/trunk/testdata/testoutput8

Parent Directory Parent Directory | Revision Log Revision Log


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