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

Contents of /code/trunk/testdata/testoutput7

Parent Directory Parent Directory | Revision Log Revision Log


Revision 131 - (show annotations) (download)
Mon Mar 26 15:10:12 2007 UTC (7 years, 1 month ago) by ph10
File size: 109137 byte(s)
Various new tidies.

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

Properties

Name Value
svn:keywords "Author Date Id Revision Url"

webmaster@exim.org
ViewVC Help
Powered by ViewVC 1.1.12