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

Contents of /code/trunk/testdata/testoutput7

Parent Directory Parent Directory | Revision Log Revision Log


Revision 435 - (show annotations)
Sat Sep 5 10:20:44 2009 UTC (5 years, 10 months ago) by ph10
File size: 115476 byte(s)
Error occurred while calculating annotation data.
Further updates to partial matching.
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: foob
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\idef/
3043 abidef
3044 0: abidef
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+bc/
4577 abbbbc
4578 0: abbbbc
4579
4580 /ab{1,}bc/
4581 abbbbc
4582 0: abbbbc
4583
4584 /ab{1,3}bc/
4585 abbbbc
4586 0: abbbbc
4587
4588 /ab{3,4}bc/
4589 abbbbc
4590 0: abbbbc
4591
4592 /ab{4,5}bc/
4593 *** Failers
4594 No match
4595 abq
4596 No match
4597 abbbbc
4598 No match
4599
4600 /ab?bc/
4601 abbc
4602 0: abbc
4603 abc
4604 0: abc
4605
4606 /ab{0,1}bc/
4607 abc
4608 0: abc
4609
4610 /ab?bc/
4611
4612 /ab?c/
4613 abc
4614 0: abc
4615
4616 /ab{0,1}c/
4617 abc
4618 0: abc
4619
4620 /^abc$/
4621 abc
4622 0: abc
4623 *** Failers
4624 No match
4625 abbbbc
4626 No match
4627 abcc
4628 No match
4629
4630 /^abc/
4631 abcc
4632 0: abc
4633
4634 /^abc$/
4635
4636 /abc$/
4637 aabc
4638 0: abc
4639 *** Failers
4640 No match
4641 aabc
4642 0: abc
4643 aabcd
4644 No match
4645
4646 /^/
4647 abc
4648 0:
4649
4650 /$/
4651 abc
4652 0:
4653
4654 /a.c/
4655 abc
4656 0: abc
4657 axc
4658 0: axc
4659
4660 /a.*c/
4661 axyzc
4662 0: axyzc
4663
4664 /a[bc]d/
4665 abd
4666 0: abd
4667 *** Failers
4668 No match
4669 axyzd
4670 No match
4671 abc
4672 No match
4673
4674 /a[b-d]e/
4675 ace
4676 0: ace
4677
4678 /a[b-d]/
4679 aac
4680 0: ac
4681
4682 /a[-b]/
4683 a-
4684 0: a-
4685
4686 /a[b-]/
4687 a-
4688 0: a-
4689
4690 /a]/
4691 a]
4692 0: a]
4693
4694 /a[]]b/
4695 a]b
4696 0: a]b
4697
4698 /a[^bc]d/
4699 aed
4700 0: aed
4701 *** Failers
4702 No match
4703 abd
4704 No match
4705 abd
4706 No match
4707
4708 /a[^-b]c/
4709 adc
4710 0: adc
4711
4712 /a[^]b]c/
4713 adc
4714 0: adc
4715 *** Failers
4716 No match
4717 a-c
4718 0: a-c
4719 a]c
4720 No match
4721
4722 /\ba\b/
4723 a-
4724 0: a
4725 -a
4726 0: a
4727 -a-
4728 0: a
4729
4730 /\by\b/
4731 *** Failers
4732 No match
4733 xy
4734 No match
4735 yz
4736 No match
4737 xyz
4738 No match
4739
4740 /\Ba\B/
4741 *** Failers
4742 0: a
4743 a-
4744 No match
4745 -a
4746 No match
4747 -a-
4748 No match
4749
4750 /\By\b/
4751 xy
4752 0: y
4753
4754 /\by\B/
4755 yz
4756 0: y
4757
4758 /\By\B/
4759 xyz
4760 0: y
4761
4762 /\w/
4763 a
4764 0: a
4765
4766 /\W/
4767 -
4768 0: -
4769 *** Failers
4770 0: *
4771 -
4772 0: -
4773 a
4774 No match
4775
4776 /a\sb/
4777 a b
4778 0: a b
4779
4780 /a\Sb/
4781 a-b
4782 0: a-b
4783 *** Failers
4784 No match
4785 a-b
4786 0: a-b
4787 a b
4788 No match
4789
4790 /\d/
4791 1
4792 0: 1
4793
4794 /\D/
4795 -
4796 0: -
4797 *** Failers
4798 0: *
4799 -
4800 0: -
4801 1
4802 No match
4803
4804 /[\w]/
4805 a
4806 0: a
4807
4808 /[\W]/
4809 -
4810 0: -
4811 *** Failers
4812 0: *
4813 -
4814 0: -
4815 a
4816 No match
4817
4818 /a[\s]b/
4819 a b
4820 0: a b
4821
4822 /a[\S]b/
4823 a-b
4824 0: a-b
4825 *** Failers
4826 No match
4827 a-b
4828 0: a-b
4829 a b
4830 No match
4831
4832 /[\d]/
4833 1
4834 0: 1
4835
4836 /[\D]/
4837 -
4838 0: -
4839 *** Failers
4840 0: *
4841 -
4842 0: -
4843 1
4844 No match
4845
4846 /ab|cd/
4847 abc
4848 0: ab
4849 abcd
4850 0: ab
4851
4852 /()ef/
4853 def
4854 0: ef
4855
4856 /$b/
4857
4858 /a\(b/
4859 a(b
4860 0: a(b
4861
4862 /a\(*b/
4863 ab
4864 0: ab
4865 a((b
4866 0: a((b
4867
4868 /a\\b/
4869 a\b
4870 No match
4871
4872 /((a))/
4873 abc
4874 0: a
4875
4876 /(a)b(c)/
4877 abc
4878 0: abc
4879
4880 /a+b+c/
4881 aabbabc
4882 0: abc
4883
4884 /a{1,}b{1,}c/
4885 aabbabc
4886 0: abc
4887
4888 /a.+?c/
4889 abcabc
4890 0: abcabc
4891 1: abc
4892
4893 /(a+|b)*/
4894 ab
4895 0: ab
4896 1: a
4897 2:
4898
4899 /(a+|b){0,}/
4900 ab
4901 0: ab
4902 1: a
4903 2:
4904
4905 /(a+|b)+/
4906 ab
4907 0: ab
4908 1: a
4909
4910 /(a+|b){1,}/
4911 ab
4912 0: ab
4913 1: a
4914
4915 /(a+|b)?/
4916 ab
4917 0: a
4918 1:
4919
4920 /(a+|b){0,1}/
4921 ab
4922 0: a
4923 1:
4924
4925 /[^ab]*/
4926 cde
4927 0: cde
4928 1: cd
4929 2: c
4930 3:
4931
4932 /abc/
4933 *** Failers
4934 No match
4935 b
4936 No match
4937
4938
4939 /a*/
4940
4941
4942 /([abc])*d/
4943 abbbcd
4944 0: abbbcd
4945
4946 /([abc])*bcd/
4947 abcd
4948 0: abcd
4949
4950 /a|b|c|d|e/
4951 e
4952 0: e
4953
4954 /(a|b|c|d|e)f/
4955 ef
4956 0: ef
4957
4958 /abcd*efg/
4959 abcdefg
4960 0: abcdefg
4961
4962 /ab*/
4963 xabyabbbz
4964 0: ab
4965 1: a
4966 xayabbbz
4967 0: a
4968
4969 /(ab|cd)e/
4970 abcde
4971 0: cde
4972
4973 /[abhgefdc]ij/
4974 hij
4975 0: hij
4976
4977 /^(ab|cd)e/
4978
4979 /(abc|)ef/
4980 abcdef
4981 0: ef
4982
4983 /(a|b)c*d/
4984 abcd
4985 0: bcd
4986
4987 /(ab|ab*)bc/
4988 abc
4989 0: abc
4990
4991 /a([bc]*)c*/
4992 abc
4993 0: abc
4994 1: ab
4995 2: a
4996
4997 /a([bc]*)(c*d)/
4998 abcd
4999 0: abcd
5000
5001 /a([bc]+)(c*d)/
5002 abcd
5003 0: abcd
5004
5005 /a([bc]*)(c+d)/
5006 abcd
5007 0: abcd
5008
5009 /a[bcd]*dcdcde/
5010 adcdcde
5011 0: adcdcde
5012
5013 /a[bcd]+dcdcde/
5014 *** Failers
5015 No match
5016 abcde
5017 No match
5018 adcdcde
5019 No match
5020
5021 /(ab|a)b*c/
5022 abc
5023 0: abc
5024
5025 /((a)(b)c)(d)/
5026 abcd
5027 0: abcd
5028
5029 /[a-zA-Z_][a-zA-Z0-9_]*/
5030 alpha
5031 0: alpha
5032 1: alph
5033 2: alp
5034 3: al
5035 4: a
5036
5037 /^a(bc+|b[eh])g|.h$/
5038 abh
5039 0: bh
5040
5041 /(bc+d$|ef*g.|h?i(j|k))/
5042 effgz
5043 0: effgz
5044 ij
5045 0: ij
5046 reffgz
5047 0: effgz
5048 *** Failers
5049 No match
5050 effg
5051 No match
5052 bcdd
5053 No match
5054
5055 /((((((((((a))))))))))/
5056 a
5057 0: a
5058
5059 /(((((((((a)))))))))/
5060 a
5061 0: a
5062
5063 /multiple words of text/
5064 *** Failers
5065 No match
5066 aa
5067 No match
5068 uh-uh
5069 No match
5070
5071 /multiple words/
5072 multiple words, yeah
5073 0: multiple words
5074
5075 /(.*)c(.*)/
5076 abcde
5077 0: abcde
5078 1: abcd
5079 2: abc
5080
5081 /\((.*), (.*)\)/
5082 (a, b)
5083 0: (a, b)
5084
5085 /[k]/
5086
5087 /abcd/
5088 abcd
5089 0: abcd
5090
5091 /a(bc)d/
5092 abcd
5093 0: abcd
5094
5095 /a[-]?c/
5096 ac
5097 0: ac
5098
5099 /abc/i
5100 ABC
5101 0: ABC
5102 XABCY
5103 0: ABC
5104 ABABC
5105 0: ABC
5106 *** Failers
5107 No match
5108 aaxabxbaxbbx
5109 No match
5110 XBC
5111 No match
5112 AXC
5113 No match
5114 ABX
5115 No match
5116
5117 /ab*c/i
5118 ABC
5119 0: ABC
5120
5121 /ab*bc/i
5122 ABC
5123 0: ABC
5124 ABBC
5125 0: ABBC
5126
5127 /ab*?bc/i
5128 ABBBBC
5129 0: ABBBBC
5130
5131 /ab{0,}?bc/i
5132 ABBBBC
5133 0: ABBBBC
5134
5135 /ab+?bc/i
5136 ABBC
5137 0: ABBC
5138
5139 /ab+bc/i
5140 *** Failers
5141 No match
5142 ABC
5143 No match
5144 ABQ
5145 No match
5146
5147 /ab{1,}bc/i
5148
5149 /ab+bc/i
5150 ABBBBC
5151 0: ABBBBC
5152
5153 /ab{1,}?bc/i
5154 ABBBBC
5155 0: ABBBBC
5156
5157 /ab{1,3}?bc/i
5158 ABBBBC
5159 0: ABBBBC
5160
5161 /ab{3,4}?bc/i
5162 ABBBBC
5163 0: ABBBBC
5164
5165 /ab{4,5}?bc/i
5166 *** Failers
5167 No match
5168 ABQ
5169 No match
5170 ABBBBC
5171 No match
5172
5173 /ab??bc/i
5174 ABBC
5175 0: ABBC
5176 ABC
5177 0: ABC
5178
5179 /ab{0,1}?bc/i
5180 ABC
5181 0: ABC
5182
5183 /ab??bc/i
5184
5185 /ab??c/i
5186 ABC
5187 0: ABC
5188
5189 /ab{0,1}?c/i
5190 ABC
5191 0: ABC
5192
5193 /^abc$/i
5194 ABC
5195 0: ABC
5196 *** Failers
5197 No match
5198 ABBBBC
5199 No match
5200 ABCC
5201 No match
5202
5203 /^abc/i
5204 ABCC
5205 0: ABC
5206
5207 /^abc$/i
5208
5209 /abc$/i
5210 AABC
5211 0: ABC
5212
5213 /^/i
5214 ABC
5215 0:
5216
5217 /$/i
5218 ABC
5219 0:
5220
5221 /a.c/i
5222 ABC
5223 0: ABC
5224 AXC
5225 0: AXC
5226
5227 /a.*?c/i
5228 AXYZC
5229 0: AXYZC
5230
5231 /a.*c/i
5232 *** Failers
5233 No match
5234 AABC
5235 0: AABC
5236 AXYZD
5237 No match
5238
5239 /a[bc]d/i
5240 ABD
5241 0: ABD
5242
5243 /a[b-d]e/i
5244 ACE
5245 0: ACE
5246 *** Failers
5247 No match
5248 ABC
5249 No match
5250 ABD
5251 No match
5252
5253 /a[b-d]/i
5254 AAC
5255 0: AC
5256
5257 /a[-b]/i
5258 A-
5259 0: A-
5260
5261 /a[b-]/i
5262 A-
5263 0: A-
5264
5265 /a]/i
5266 A]
5267 0: A]
5268
5269 /a[]]b/i
5270 A]B
5271 0: A]B
5272
5273 /a[^bc]d/i
5274 AED
5275 0: AED
5276
5277 /a[^-b]c/i
5278 ADC
5279 0: ADC
5280 *** Failers
5281 No match
5282 ABD
5283 No match
5284 A-C
5285 No match
5286
5287 /a[^]b]c/i
5288 ADC
5289 0: ADC
5290
5291 /ab|cd/i
5292 ABC
5293 0: AB
5294 ABCD
5295 0: AB
5296
5297 /()ef/i
5298 DEF
5299 0: EF
5300
5301 /$b/i
5302 *** Failers
5303 No match
5304 A]C
5305 No match
5306 B
5307 No match
5308
5309 /a\(b/i
5310 A(B
5311 0: A(B
5312
5313 /a\(*b/i
5314 AB
5315 0: AB
5316 A((B
5317 0: A((B
5318
5319 /a\\b/i
5320 A\B
5321 No match
5322
5323 /((a))/i
5324 ABC
5325 0: A
5326
5327 /(a)b(c)/i
5328 ABC
5329 0: ABC
5330
5331 /a+b+c/i
5332 AABBABC
5333 0: ABC
5334
5335 /a{1,}b{1,}c/i
5336 AABBABC
5337 0: ABC
5338
5339 /a.+?c/i
5340 ABCABC
5341 0: ABCABC
5342 1: ABC
5343
5344 /a.*?c/i
5345 ABCABC
5346 0: ABCABC
5347 1: ABC
5348
5349 /a.{0,5}?c/i
5350 ABCABC
5351 0: ABCABC
5352 1: ABC
5353
5354 /(a+|b)*/i
5355 AB
5356 0: AB
5357 1: A
5358 2:
5359
5360 /(a+|b){0,}/i
5361 AB
5362 0: AB
5363 1: A
5364 2:
5365
5366 /(a+|b)+/i
5367 AB
5368 0: AB
5369 1: A
5370
5371 /(a+|b){1,}/i
5372 AB
5373 0: AB
5374 1: A
5375
5376 /(a+|b)?/i
5377 AB
5378 0: A
5379 1:
5380
5381 /(a+|b){0,1}/i
5382 AB
5383 0: A
5384 1:
5385
5386 /(a+|b){0,1}?/i
5387 AB
5388 0: A
5389 1:
5390
5391 /[^ab]*/i
5392 CDE
5393 0: CDE
5394 1: CD
5395 2: C
5396 3:
5397
5398 /abc/i
5399
5400 /a*/i
5401
5402
5403 /([abc])*d/i
5404 ABBBCD
5405 0: ABBBCD
5406
5407 /([abc])*bcd/i
5408 ABCD
5409 0: ABCD
5410
5411 /a|b|c|d|e/i
5412 E
5413 0: E
5414
5415 /(a|b|c|d|e)f/i
5416 EF
5417 0: EF
5418
5419 /abcd*efg/i
5420 ABCDEFG
5421 0: ABCDEFG
5422
5423 /ab*/i
5424 XABYABBBZ
5425 0: AB
5426 1: A
5427 XAYABBBZ
5428 0: A
5429
5430 /(ab|cd)e/i
5431 ABCDE
5432 0: CDE
5433
5434 /[abhgefdc]ij/i
5435 HIJ
5436 0: HIJ
5437
5438 /^(ab|cd)e/i
5439 ABCDE
5440 No match
5441
5442 /(abc|)ef/i
5443 ABCDEF
5444 0: EF
5445
5446 /(a|b)c*d/i
5447 ABCD
5448 0: BCD
5449
5450 /(ab|ab*)bc/i
5451 ABC
5452 0: ABC
5453
5454 /a([bc]*)c*/i
5455 ABC
5456 0: ABC
5457 1: AB
5458 2: A
5459
5460 /a([bc]*)(c*d)/i
5461 ABCD
5462 0: ABCD
5463
5464 /a([bc]+)(c*d)/i
5465 ABCD
5466 0: ABCD
5467
5468 /a([bc]*)(c+d)/i
5469 ABCD
5470 0: ABCD
5471
5472 /a[bcd]*dcdcde/i
5473 ADCDCDE
5474 0: ADCDCDE
5475
5476 /a[bcd]+dcdcde/i
5477
5478 /(ab|a)b*c/i
5479 ABC
5480 0: ABC
5481
5482 /((a)(b)c)(d)/i
5483 ABCD
5484 0: ABCD
5485
5486 /[a-zA-Z_][a-zA-Z0-9_]*/i
5487 ALPHA
5488 0: ALPHA
5489 1: ALPH
5490 2: ALP
5491 3: AL
5492 4: A
5493
5494 /^a(bc+|b[eh])g|.h$/i
5495 ABH
5496 0: BH
5497
5498 /(bc+d$|ef*g.|h?i(j|k))/i
5499 EFFGZ
5500 0: EFFGZ
5501 IJ
5502 0: IJ
5503 REFFGZ
5504 0: EFFGZ
5505 *** Failers
5506 No match
5507 ADCDCDE
5508 No match
5509 EFFG
5510 No match
5511 BCDD
5512 No match
5513
5514 /((((((((((a))))))))))/i
5515 A
5516 0: A
5517
5518 /(((((((((a)))))))))/i
5519 A
5520 0: A
5521
5522 /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a))))))))))/i
5523 A
5524 0: A
5525
5526 /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))/i
5527 C
5528 0: C
5529
5530 /multiple words of text/i
5531 *** Failers
5532 No match
5533 AA
5534 No match
5535 UH-UH
5536 No match
5537
5538 /multiple words/i
5539 MULTIPLE WORDS, YEAH
5540 0: MULTIPLE WORDS
5541
5542 /(.*)c(.*)/i
5543 ABCDE
5544 0: ABCDE
5545 1: ABCD
5546 2: ABC
5547
5548 /\((.*), (.*)\)/i
5549 (A, B)
5550 0: (A, B)
5551
5552 /[k]/i
5553
5554 /abcd/i
5555 ABCD
5556 0: ABCD
5557
5558 /a(bc)d/i
5559 ABCD
5560 0: ABCD
5561
5562 /a[-]?c/i
5563 AC
5564 0: AC
5565
5566 /a(?!b)./
5567 abad
5568 0: ad
5569
5570 /a(?=d)./
5571 abad
5572 0: ad
5573
5574 /a(?=c|d)./
5575 abad
5576 0: ad
5577
5578 /a(?:b|c|d)(.)/
5579 ace
5580 0: ace
5581
5582 /a(?:b|c|d)*(.)/
5583 ace
5584 0: ace
5585 1: ac
5586
5587 /a(?:b|c|d)+?(.)/
5588 ace
5589 0: ace
5590 acdbcdbe
5591 0: acdbcdbe
5592 1: acdbcdb
5593 2: acdbcd
5594 3: acdbc
5595 4: acdb
5596 5: acd
5597
5598 /a(?:b|c|d)+(.)/
5599 acdbcdbe
5600 0: acdbcdbe
5601 1: acdbcdb
5602 2: acdbcd
5603 3: acdbc
5604 4: acdb
5605 5: acd
5606
5607 /a(?:b|c|d){2}(.)/
5608 acdbcdbe
5609 0: acdb
5610
5611 /a(?:b|c|d){4,5}(.)/
5612 acdbcdbe
5613 0: acdbcdb
5614 1: acdbcd
5615
5616 /a(?:b|c|d){4,5}?(.)/
5617 acdbcdbe
5618 0: acdbcdb
5619 1: acdbcd
5620
5621 /((foo)|(bar))*/
5622 foobar
5623 0: foobar
5624 1: foo
5625 2:
5626
5627 /a(?:b|c|d){6,7}(.)/
5628 acdbcdbe
5629 0: acdbcdbe
5630
5631 /a(?:b|c|d){6,7}?(.)/
5632 acdbcdbe
5633 0: acdbcdbe
5634
5635 /a(?:b|c|d){5,6}(.)/
5636 acdbcdbe
5637 0: acdbcdbe
5638 1: acdbcdb
5639
5640 /a(?:b|c|d){5,6}?(.)/
5641 acdbcdbe
5642 0: acdbcdbe
5643 1: acdbcdb
5644
5645 /a(?:b|c|d){5,7}(.)/
5646 acdbcdbe
5647 0: acdbcdbe
5648 1: acdbcdb
5649
5650 /a(?:b|c|d){5,7}?(.)/
5651 acdbcdbe
5652 0: acdbcdbe
5653 1: acdbcdb
5654
5655 /a(?:b|(c|e){1,2}?|d)+?(.)/
5656 ace
5657 0: ace
5658
5659 /^(.+)?B/
5660 AB
5661 0: AB
5662
5663 /^([^a-z])|(\^)$/
5664 .
5665 0: .
5666
5667 /^[<>]&/
5668 <&OUT
5669 0: <&
5670
5671 /(?:(f)(o)(o)|(b)(a)(r))*/
5672 foobar
5673 0: foobar
5674 1: foo
5675 2:
5676
5677 /(?<=a)b/
5678 ab
5679 0: b
5680 *** Failers
5681 No match
5682 cb
5683 No match
5684 b
5685 No match
5686
5687 /(?<!c)b/
5688 ab
5689 0: b
5690 b
5691 0: b
5692 b
5693 0: b
5694
5695 /(?:..)*a/
5696 aba
5697 0: aba
5698 1: a
5699
5700 /(?:..)*?a/
5701 aba
5702 0: aba
5703 1: a
5704
5705 /^(){3,5}/
5706 abc
5707 0:
5708
5709 /^(a+)*ax/
5710 aax
5711 0: aax
5712
5713 /^((a|b)+)*ax/
5714 aax
5715 0: aax
5716
5717 /^((a|bc)+)*ax/
5718 aax
5719 0: aax
5720
5721 /(a|x)*ab/
5722 cab
5723 0: ab
5724
5725 /(a)*ab/
5726 cab
5727 0: ab
5728
5729 /(?:(?i)a)b/
5730 ab
5731 0: ab
5732
5733 /((?i)a)b/
5734 ab
5735 0: ab
5736
5737 /(?:(?i)a)b/
5738 Ab
5739 0: Ab
5740
5741 /((?i)a)b/
5742 Ab
5743 0: Ab
5744
5745 /(?:(?i)a)b/
5746 *** Failers
5747 No match
5748 cb
5749 No match
5750 aB
5751 No match
5752
5753 /((?i)a)b/
5754
5755 /(?i:a)b/
5756 ab
5757 0: ab
5758
5759 /((?i:a))b/
5760 ab
5761 0: ab
5762
5763 /(?i:a)b/
5764 Ab
5765 0: Ab
5766
5767 /((?i:a))b/
5768 Ab
5769 0: Ab
5770
5771 /(?i:a)b/
5772 *** Failers
5773 No match
5774 aB
5775 No match
5776 aB
5777 No match
5778
5779 /((?i:a))b/
5780
5781 /(?:(?-i)a)b/i
5782 ab
5783 0: ab
5784
5785 /((?-i)a)b/i
5786 ab
5787 0: ab
5788
5789 /(?:(?-i)a)b/i
5790 aB
5791 0: aB
5792
5793 /((?-i)a)b/i
5794 aB
5795 0: aB
5796
5797 /(?:(?-i)a)b/i
5798 *** Failers
5799 No match
5800 aB
5801 0: aB
5802 Ab
5803 No match
5804
5805 /((?-i)a)b/i
5806
5807 /(?:(?-i)a)b/i
5808 aB
5809 0: aB
5810
5811 /((?-i)a)b/i
5812 aB
5813 0: aB
5814
5815 /(?:(?-i)a)b/i
5816 *** Failers
5817 No match
5818 Ab
5819 No match
5820 AB
5821 No match
5822
5823 /((?-i)a)b/i
5824
5825 /(?-i:a)b/i
5826 ab
5827 0: ab
5828
5829 /((?-i:a))b/i
5830 ab
5831 0: ab
5832
5833 /(?-i:a)b/i
5834 aB
5835 0: aB
5836
5837 /((?-i:a))b/i
5838 aB
5839 0: aB
5840
5841 /(?-i:a)b/i
5842 *** Failers
5843 No match
5844 AB
5845 No match
5846 Ab
5847 No match
5848
5849 /((?-i:a))b/i
5850
5851 /(?-i:a)b/i
5852 aB
5853 0: aB
5854
5855 /((?-i:a))b/i
5856 aB
5857 0: aB
5858
5859 /(?-i:a)b/i
5860 *** Failers
5861 No match
5862 Ab
5863 No match
5864 AB
5865 No match
5866
5867 /((?-i:a))b/i
5868
5869 /((?-i:a.))b/i
5870 *** Failers
5871 No match
5872 AB
5873 No match
5874 a\nB
5875 No match
5876
5877 /((?s-i:a.))b/i
5878 a\nB
5879 0: a\x0aB
5880
5881 /(?:c|d)(?:)(?:a(?:)(?:b)(?:b(?:))(?:b(?:)(?:b)))/
5882 cabbbb
5883 0: cabbbb
5884
5885 /(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/
5886 caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
5887 0: caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
5888
5889 /foo\w*\d{4}baz/
5890 foobar1234baz
5891 0: foobar1234baz
5892
5893 /x(~~)*(?:(?:F)?)?/
5894 x~~
5895 0: x~~
5896 1: x
5897
5898 /^a(?#xxx){3}c/
5899 aaac
5900 0: aaac
5901
5902 /^a (?#xxx) (?#yyy) {3}c/x
5903 aaac
5904 0: aaac
5905
5906 /(?<![cd])b/
5907 *** Failers
5908 No match
5909 B\nB
5910 No match
5911 dbcb
5912 No match
5913
5914 /(?<![cd])[ab]/
5915 dbaacb
5916 0: a
5917
5918 /(?<!(c|d))b/
5919
5920 /(?<!(c|d))[ab]/
5921 dbaacb
5922 0: a
5923
5924 /(?<!cd)[ab]/
5925 cdaccb
5926 0: b
5927
5928 /^(?:a?b?)*$/
5929 *** Failers
5930 No match
5931 dbcb
5932 No match
5933 a--
5934 No match
5935
5936 /((?s)^a(.))((?m)^b$)/
5937 a\nb\nc\n
5938 0: a\x0ab
5939
5940 /((?m)^b$)/
5941 a\nb\nc\n
5942 0: b
5943
5944 /(?m)^b/
5945 a\nb\n
5946 0: b
5947
5948 /(?m)^(b)/
5949 a\nb\n
5950 0: b
5951
5952 /((?m)^b)/
5953 a\nb\n
5954 0: b
5955
5956 /\n((?m)^b)/
5957 a\nb\n
5958 0: \x0ab
5959
5960 /((?s).)c(?!.)/
5961 a\nb\nc\n
5962 0: \x0ac
5963 a\nb\nc\n
5964 0: \x0ac
5965
5966 /((?s)b.)c(?!.)/
5967 a\nb\nc\n
5968 0: b\x0ac
5969 a\nb\nc\n
5970 0: b\x0ac
5971
5972 /^b/
5973
5974 /()^b/
5975 *** Failers
5976 No match
5977 a\nb\nc\n
5978 No match
5979 a\nb\nc\n
5980 No match
5981
5982 /((?m)^b)/
5983 a\nb\nc\n
5984 0: b
5985
5986 /(?(?!a)a|b)/
5987
5988 /(?(?!a)b|a)/
5989 a
5990 0: a
5991
5992 /(?(?=a)b|a)/
5993 *** Failers
5994 No match
5995 a
5996 No match
5997 a
5998 No match
5999
6000 /(?(?=a)a|b)/
6001 a
6002 0: a
6003
6004 /(\w+:)+/
6005 one:
6006 0: one:
6007
6008 /$(?<=^(a))/
6009 a
6010 0:
6011
6012 /([\w:]+::)?(\w+)$/
6013 abcd
6014 0: abcd
6015 xy:z:::abcd
6016 0: xy:z:::abcd
6017
6018 /^[^bcd]*(c+)/
6019 aexycd
6020 0: aexyc
6021
6022 /(a*)b+/
6023 caab
6024 0: aab
6025
6026 /([\w:]+::)?(\w+)$/
6027 abcd
6028 0: abcd
6029 xy:z:::abcd
6030 0: xy:z:::abcd
6031 *** Failers
6032 0: Failers
6033 abcd:
6034 No match
6035 abcd:
6036 No match
6037
6038 /^[^bcd]*(c+)/
6039 aexycd
6040 0: aexyc
6041
6042 /(>a+)ab/
6043
6044 /(?>a+)b/
6045 aaab
6046 0: aaab
6047
6048 /([[:]+)/
6049 a:[b]:
6050 0: :[
6051 1: :
6052
6053 /([[=]+)/
6054 a=[b]=
6055 0: =[
6056 1: =
6057
6058 /([[.]+)/
6059 a.[b].
6060 0: .[
6061 1: .
6062
6063 /((?>a+)b)/
6064 aaab
6065 0: aaab
6066
6067 /(?>(a+))b/
6068 aaab
6069 0: aaab
6070
6071 /((?>[^()]+)|\([^()]*\))+/
6072 ((abc(ade)ufh()()x
6073 0: abc(ade)ufh()()x
6074 1: abc(ade)ufh()()
6075 2: abc(ade)ufh()
6076 3: abc(ade)ufh
6077 4: abc(ade)
6078 5: abc
6079
6080 /a\Z/
6081 *** Failers
6082 No match
6083 aaab
6084 No match
6085 a\nb\n
6086 No match
6087
6088 /b\Z/
6089 a\nb\n
6090 0: b
6091
6092 /b\z/
6093
6094 /b\Z/
6095 a\nb
6096 0: b
6097
6098 /b\z/
6099 a\nb
6100 0: b
6101 *** Failers
6102 No match
6103
6104 /(?>.*)(?<=(abcd|wxyz))/
6105 alphabetabcd
6106 0: alphabetabcd
6107 endingwxyz
6108 0: endingwxyz
6109 *** Failers
6110 No match
6111 a rather long string that doesn't end with one of them
6112 No match
6113
6114 /word (?>(?:(?!otherword)[a-zA-Z0-9]+ ){0,30})otherword/
6115 word cat dog elephant mussel cow horse canary baboon snake shark otherword
6116 0: word cat dog elephant mussel cow horse canary baboon snake shark otherword
6117 word cat dog elephant mussel cow horse canary baboon snake shark
6118 No match
6119
6120 /word (?>[a-zA-Z0-9]+ ){0,30}otherword/
6121 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
6122 No match
6123
6124 /(?<=\d{3}(?!999))foo/
6125 999foo
6126 0: foo
6127 123999foo
6128 0: foo
6129 *** Failers
6130 No match
6131 123abcfoo
6132 No match
6133
6134 /(?<=(?!...999)\d{3})foo/
6135 999foo
6136 0: foo
6137 123999foo
6138 0: foo
6139 *** Failers
6140 No match
6141 123abcfoo
6142 No match
6143
6144 /(?<=\d{3}(?!999)...)foo/
6145 123abcfoo
6146 0: foo
6147 123456foo
6148 0: foo
6149 *** Failers
6150 No match
6151 123999foo
6152 No match
6153
6154 /(?<=\d{3}...)(?<!999)foo/
6155 123abcfoo
6156 0: foo
6157 123456foo
6158 0: foo
6159 *** Failers
6160 No match
6161 123999foo
6162 No match
6163
6164 /((Z)+|A)*/
6165 ZABCDEFG
6166 0: ZA
6167 1: Z
6168 2:
6169
6170 /(Z()|A)*/
6171 ZABCDEFG
6172 0: ZA
6173 1: Z
6174 2:
6175
6176 /(Z(())|A)*/
6177 ZABCDEFG
6178 0: ZA
6179 1: Z
6180 2:
6181
6182 /((?>Z)+|A)*/
6183 ZABCDEFG
6184 0: ZA
6185 1: Z
6186 2:
6187
6188 /((?>)+|A)*/
6189 ZABCDEFG
6190 0:
6191
6192 /a*/g
6193 abbab
6194 0: a
6195 1:
6196 0:
6197 0:
6198 0: a
6199 1:
6200 0:
6201 0:
6202
6203 /^[a-\d]/
6204 abcde
6205 0: a
6206 -things
6207 0: -
6208 0digit
6209 0: 0
6210 *** Failers
6211 No match
6212 bcdef
6213 No match
6214
6215 /^[\d-a]/
6216 abcde
6217 0: a
6218 -things
6219 0: -
6220 0digit
6221 0: 0
6222 *** Failers
6223 No match
6224 bcdef
6225 No match
6226
6227 /[[:space:]]+/
6228 > \x09\x0a\x0c\x0d\x0b<
6229 0: \x09\x0a\x0c\x0d\x0b
6230 1: \x09\x0a\x0c\x0d
6231 2: \x09\x0a\x0c
6232 3: \x09\x0a
6233 4: \x09
6234 5:
6235
6236 /[[:blank:]]+/
6237 > \x09\x0a\x0c\x0d\x0b<
6238 0: \x09
6239 1:
6240
6241 /[\s]+/
6242 > \x09\x0a\x0c\x0d\x0b<
6243 0: \x09\x0a\x0c\x0d
6244 1: \x09\x0a\x0c
6245 2: \x09\x0a
6246 3: \x09
6247 4:
6248
6249 /\s+/
6250 > \x09\x0a\x0c\x0d\x0b<
6251 0: \x09\x0a\x0c\x0d
6252 1: \x09\x0a\x0c
6253 2: \x09\x0a
6254 3: \x09
6255 4:
6256
6257 /a b/x
6258 ab
6259 No match
6260
6261 /(?!\A)x/m
6262 a\nxb\n
6263 0: x
6264
6265 /(?!^)x/m
6266 a\nxb\n
6267 No match
6268
6269 /abc\Qabc\Eabc/
6270 abcabcabc
6271 0: abcabcabc
6272
6273 /abc\Q(*+|\Eabc/
6274 abc(*+|abc
6275 0: abc(*+|abc
6276
6277 / abc\Q abc\Eabc/x
6278 abc abcabc
6279 0: abc abcabc
6280 *** Failers
6281 No match
6282 abcabcabc
6283 No match
6284
6285 /abc#comment
6286 \Q#not comment
6287 literal\E/x
6288 abc#not comment\n literal
6289 0: abc#not comment\x0a literal
6290
6291 /abc#comment
6292 \Q#not comment
6293 literal/x
6294 abc#not comment\n literal
6295 0: abc#not comment\x0a literal
6296
6297 /abc#comment
6298 \Q#not comment
6299 literal\E #more comment
6300 /x
6301 abc#not comment\n literal
6302 0: abc#not comment\x0a literal
6303
6304 /abc#comment
6305 \Q#not comment
6306 literal\E #more comment/x
6307 abc#not comment\n literal
6308 0: abc#not comment\x0a literal
6309
6310 /\Qabc\$xyz\E/
6311 abc\\\$xyz
6312 0: abc\$xyz
6313
6314 /\Qabc\E\$\Qxyz\E/
6315 abc\$xyz
6316 0: abc$xyz
6317
6318 /\Gabc/
6319 abc
6320 0: abc
6321 *** Failers
6322 No match
6323 xyzabc
6324 No match
6325
6326 /\Gabc./g
6327 abc1abc2xyzabc3
6328 0: abc1
6329 0: abc2
6330
6331 /abc./g
6332 abc1abc2xyzabc3
6333 0: abc1
6334 0: abc2
6335 0: abc3
6336
6337 /a(?x: b c )d/
6338 XabcdY
6339 0: abcd
6340 *** Failers
6341 No match
6342 Xa b c d Y
6343 No match
6344
6345 /((?x)x y z | a b c)/
6346 XabcY
6347 0: abc
6348 AxyzB
6349 0: xyz
6350
6351 /(?i)AB(?-i)C/
6352 XabCY
6353 0: abC
6354 *** Failers
6355 No match
6356 XabcY
6357 No match
6358
6359 /((?i)AB(?-i)C|D)E/
6360 abCE
6361 0: abCE
6362 DE
6363 0: DE
6364 *** Failers
6365 No match
6366 abcE
6367 No match
6368 abCe
6369 No match
6370 dE
6371 No match
6372 De
6373 No match
6374
6375 /[z\Qa-d]\E]/
6376 z
6377 0: z
6378 a
6379 0: a
6380 -
6381 0: -
6382 d
6383 0: d
6384 ]
6385 0: ]
6386 *** Failers
6387 0: a
6388 b
6389 No match
6390
6391 /[\z\C]/
6392 z
6393 0: z
6394 C
6395 0: C
6396
6397 /\M/
6398 M
6399 0: M
6400
6401 /(a+)*b/
6402 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
6403 No match
6404
6405 /(?i)reg(?:ul(?:[a]|ae)r|ex)/
6406 REGular
6407 0: REGular
6408 regulaer
6409 0: regulaer
6410 Regex
6411 0: Regex
6412 regulr
6413 0: regul\xe4r
6414
6415 /[--]+/
6416
6417 0: \xc5\xe6\xe5\xe4\xe0
6418
6419 0: \xc5\xe6\xe5\xe4\xff
6420
6421 0: \xc5\xe6\xe5\xe4\xc0
6422
6423 0: \xc5\xe6\xe5\xe4\xdf
6424
6425 /(?<=Z)X./
6426 \x84XAZXB
6427 0: XB
6428
6429 /^(?(2)a|(1)(2))+$/
6430 123a
6431 Error -17
6432
6433 /(?<=a|bbbb)c/
6434 ac
6435 0: c
6436 bbbbc
6437 0: c
6438
6439 /abc/>testsavedregex
6440 Compiled regex written to testsavedregex
6441 <testsavedregex
6442 Compiled regex loaded from testsavedregex
6443 No study data
6444 abc
6445 0: abc
6446 *** Failers
6447 No match
6448 bca
6449 No match
6450
6451 /abc/F>testsavedregex
6452 Compiled regex written to testsavedregex
6453 <testsavedregex
6454 Compiled regex (byte-inverted) loaded from testsavedregex
6455 No study data
6456 abc
6457 0: abc
6458 *** Failers
6459 No match
6460 bca
6461 No match
6462
6463 /(a|b)/S>testsavedregex
6464 Compiled regex written to testsavedregex
6465 Study data written to testsavedregex
6466 <testsavedregex
6467 Compiled regex loaded from testsavedregex
6468 Study data loaded from testsavedregex
6469 abc
6470 0: a
6471 *** Failers
6472 0: a
6473 def
6474 No match
6475
6476 /(a|b)/SF>testsavedregex
6477 Compiled regex written to testsavedregex
6478 Study data written to testsavedregex
6479 <testsavedregex
6480 Compiled regex (byte-inverted) loaded from testsavedregex
6481 Study data loaded from testsavedregex
6482 abc
6483 0: a
6484 *** Failers
6485 0: a
6486 def
6487 No match
6488
6489 /line\nbreak/
6490 this is a line\nbreak
6491 0: line\x0abreak
6492 line one\nthis is a line\nbreak in the second line
6493 0: line\x0abreak
6494
6495 /line\nbreak/f
6496 this is a line\nbreak
6497 0: line\x0abreak
6498 ** Failers
6499 No match
6500 line one\nthis is a line\nbreak in the second line
6501 No match
6502
6503 /line\nbreak/mf
6504 this is a line\nbreak
6505 0: line\x0abreak
6506 ** Failers
6507 No match
6508 line one\nthis is a line\nbreak in the second line
6509 No match
6510
6511 /1234/
6512 123\P
6513 Partial match: 123
6514 a4\P\R
6515 No match
6516
6517 /1234/
6518 123\P
6519 Partial match: 123
6520 4\P\R
6521 0: 4
6522
6523 /^/mg
6524 a\nb\nc\n
6525 0:
6526 0:
6527 0:
6528 \
6529 0:
6530
6531 /(?<=C\n)^/mg
6532 A\nC\nC\n
6533 0:
6534
6535 /(?s)A?B/
6536 AB
6537 0: AB
6538 aB
6539 0: B
6540
6541 /(?s)A*B/
6542 AB
6543 0: AB
6544 aB
6545 0: B
6546
6547 /(?m)A?B/
6548 AB
6549 0: AB
6550 aB
6551 0: B
6552
6553 /(?m)A*B/
6554 AB
6555 0: AB
6556 aB
6557 0: B
6558
6559 /Content-Type\x3A[^\r\n]{6,}/
6560 Content-Type:xxxxxyyy
6561 0: Content-Type:xxxxxyyy
6562 1: Content-Type:xxxxxyy
6563 2: Content-Type:xxxxxy
6564
6565 /Content-Type\x3A[^\r\n]{6,}z/
6566 Content-Type:xxxxxyyyz
6567 0: Content-Type:xxxxxyyyz
6568
6569 /Content-Type\x3A[^a]{6,}/
6570 Content-Type:xxxyyy
6571 0: Content-Type:xxxyyy
6572
6573 /Content-Type\x3A[^a]{6,}z/
6574 Content-Type:xxxyyyz
6575 0: Content-Type:xxxyyyz
6576
6577 /^abc/m
6578 xyz\nabc
6579 0: abc
6580 xyz\nabc\<lf>
6581 0: abc
6582 xyz\r\nabc\<lf>
6583 0: abc
6584 xyz\rabc\<cr>
6585 0: abc
6586 xyz\r\nabc\<crlf>
6587 0: abc
6588 ** Failers
6589 No match
6590 xyz\nabc\<cr>
6591 No match
6592 xyz\r\nabc\<cr>
6593 No match
6594 xyz\nabc\<crlf>
6595 No match
6596 xyz\rabc\<crlf>
6597 No match
6598 xyz\rabc\<lf>
6599 No match
6600
6601 /abc$/m<lf>
6602 xyzabc
6603 0: abc
6604 xyzabc\n
6605 0: abc
6606 xyzabc\npqr
6607 0: abc
6608 xyzabc\r\<cr>
6609 0: abc
6610 xyzabc\rpqr\<cr>
6611 0: abc
6612 xyzabc\r\n\<crlf>
6613 0: abc
6614 xyzabc\r\npqr\<crlf>
6615 0: abc
6616 ** Failers
6617 No match
6618 xyzabc\r
6619 No match
6620 xyzabc\rpqr
6621 No match
6622 xyzabc\r\n
6623 No match
6624 xyzabc\r\npqr
6625 No match
6626
6627 /^abc/m<cr>
6628 xyz\rabcdef
6629 0: abc
6630 xyz\nabcdef\<lf>
6631 0: abc
6632 ** Failers
6633 No match
6634 xyz\nabcdef
6635 No match
6636
6637 /^abc/m<lf>
6638 xyz\nabcdef
6639 0: abc
6640 xyz\rabcdef\<cr>
6641 0: abc
6642 ** Failers
6643 No match
6644 xyz\rabcdef
6645 No match
6646
6647 /^abc/m<crlf>
6648 xyz\r\nabcdef
6649 0: abc
6650 xyz\rabcdef\<cr>
6651 0: abc
6652 ** Failers
6653 No match
6654 xyz\rabcdef
6655 No match
6656
6657 /.*/<lf>
6658 abc\ndef
6659 0: abc
6660 1: ab
6661 2: a
6662 3:
6663 abc\rdef
6664 0: abc\x0ddef
6665 1: abc\x0dde
6666 2: abc\x0dd
6667 3: abc\x0d
6668 4: abc
6669 5: ab
6670 6: a
6671 7:
6672 abc\r\ndef
6673 0: abc\x0d
6674 1: abc
6675 2: ab
6676 3: a
6677 4:
6678 \<cr>abc\ndef
6679 0: abc\x0adef
6680 1: abc\x0ade
6681 2: abc\x0ad
6682 3: abc\x0a
6683 4: abc
6684 5: ab
6685 6: a
6686 7:
6687 \<cr>abc\rdef
6688 0: abc
6689 1: ab
6690 2: a
6691 3:
6692 \<cr>abc\r\ndef
6693 0: abc
6694 1: ab
6695 2: a
6696 3:
6697 \<crlf>abc\ndef
6698 0: abc\x0adef
6699 1: abc\x0ade
6700 2: abc\x0ad
6701 3: abc\x0a
6702 4: abc
6703 5: ab
6704 6: a
6705 7:
6706 \<crlf>abc\rdef
6707 0: abc\x0ddef
6708 1: abc\x0dde
6709 2: abc\x0dd
6710 3: abc\x0d
6711 4: abc
6712 5: ab
6713 6: a
6714 7:
6715 \<crlf>abc\r\ndef
6716 0: abc
6717 1: ab
6718 2: a
6719 3:
6720
6721 /\w+(.)(.)?def/s
6722 abc\ndef
6723 0: abc\x0adef
6724 abc\rdef
6725 0: abc\x0ddef
6726 abc\r\ndef
6727 0: abc\x0d\x0adef
6728
6729 /^\w+=.*(\\\n.*)*/
6730 abc=xyz\\\npqr
6731 0: abc=xyz\\x0apqr
6732 1: abc=xyz\\x0apq
6733 2: abc=xyz\\x0ap
6734 3: abc=xyz\\x0a
6735 4: abc=xyz\
6736 5: abc=xyz
6737 6: abc=xy
6738 7: abc=x
6739 8: abc=
6740
6741 /^(a()*)*/
6742 aaaa
6743 0: aaaa
6744 1: aaa
6745 2: aa
6746 3: a
6747 4:
6748
6749 /^(?:a(?:(?:))*)*/
6750 aaaa
6751 0: aaaa
6752 1: aaa
6753 2: aa
6754 3: a
6755 4:
6756
6757 /^(a()+)+/
6758 aaaa
6759 0: aaaa
6760 1: aaa
6761 2: aa
6762 3: a
6763
6764 /^(?:a(?:(?:))+)+/
6765 aaaa
6766 0: aaaa
6767 1: aaa
6768 2: aa
6769 3: a
6770
6771 /(a|)*\d/
6772 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
6773 No match
6774 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
6775 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
6776
6777 /(?>a|)*\d/
6778 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
6779 No match
6780 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
6781 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
6782
6783 /(?:a|)*\d/
6784 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
6785 No match
6786 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
6787 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
6788
6789 /^a.b/<lf>
6790 a\rb
6791 0: a\x0db
6792 a\nb\<cr>
6793 0: a\x0ab
6794 ** Failers
6795 No match
6796 a\nb
6797 No match
6798 a\nb\<any>
6799 No match
6800 a\rb\<cr>
6801 No match
6802 a\rb\<any>
6803 No match
6804
6805 /^abc./mgx<any>
6806 abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x85abc7 JUNK
6807 0: abc1
6808 0: abc2
6809 0: abc3
6810 0: abc4
6811 0: abc5
6812 0: abc6
6813 0: abc7
6814
6815 /abc.$/mgx<any>
6816 abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc9
6817 0: abc1
6818 0: abc2
6819 0: abc3
6820 0: abc4
6821 0: abc5
6822 0: abc6
6823 0: abc9
6824
6825 /^a\Rb/<bsr_unicode>
6826 a\nb
6827 0: a\x0ab
6828 a\rb
6829 0: a\x0db
6830 a\r\nb
6831 0: a\x0d\x0ab
6832 a\x0bb
6833 0: a\x0bb
6834 a\x0cb
6835 0: a\x0cb
6836 a\x85b
6837 0: a\x85b
6838 ** Failers
6839 No match
6840 a\n\rb
6841 No match
6842
6843 /^a\R*b/<bsr_unicode>
6844 ab
6845 0: ab
6846 a\nb
6847 0: a\x0ab
6848 a\rb
6849 0: a\x0db
6850 a\r\nb
6851 0: a\x0d\x0ab
6852 a\x0bb
6853 0: a\x0bb
6854 a\x0cb
6855 0: a\x0cb
6856 a\x85b
6857 0: a\x85b
6858 a\n\rb
6859 0: a\x0a\x0db
6860 a\n\r\x85\x0cb
6861 0: a\x0a\x0d\x85\x0cb
6862
6863 /^a\R+b/<bsr_unicode>
6864 a\nb
6865 0: a\x0ab
6866 a\rb
6867 0: a\x0db
6868 a\r\nb
6869 0: a\x0d\x0ab
6870 a\x0bb
6871 0: a\x0bb
6872 a\x0cb
6873 0: a\x0cb
6874 a\x85b
6875 0: a\x85b
6876 a\n\rb
6877 0: a\x0a\x0db
6878 a\n\r\x85\x0cb
6879 0: a\x0a\x0d\x85\x0cb
6880 ** Failers
6881 No match
6882 ab
6883 No match
6884
6885 /^a\R{1,3}b/<bsr_unicode>
6886 a\nb
6887 0: a\x0ab
6888 a\n\rb
6889 0: a\x0a\x0db
6890 a\n\r\x85b
6891 0: a\x0a\x0d\x85b
6892 a\r\n\r\nb
6893 0: a\x0d\x0a\x0d\x0ab
6894 a\r\n\r\n\r\nb
6895 0: a\x0d\x0a\x0d\x0a\x0d\x0ab
6896 a\n\r\n\rb
6897 0: a\x0a\x0d\x0a\x0db
6898 a\n\n\r\nb
6899 0: a\x0a\x0a\x0d\x0ab
6900 ** Failers
6901 No match
6902 a\n\n\n\rb
6903 No match
6904 a\r
6905 No match
6906
6907 /^a[\R]b/<bsr_unicode>
6908 aRb
6909 0: aRb
6910 ** Failers
6911 No match
6912 a\nb
6913 No match
6914
6915 /.+foo/
6916 afoo
6917 0: afoo
6918 ** Failers
6919 No match
6920 \r\nfoo
6921 No match
6922 \nfoo
6923 No match
6924
6925 /.+foo/<crlf>
6926 afoo
6927 0: afoo
6928 \nfoo
6929 0: \x0afoo
6930 ** Failers
6931 No match
6932 \r\nfoo
6933 No match
6934
6935 /.+foo/<any>
6936 afoo
6937 0: afoo
6938 ** Failers
6939 No match
6940 \nfoo
6941 No match
6942 \r\nfoo
6943 No match
6944
6945 /.+foo/s
6946 afoo
6947 0: afoo
6948 \r\nfoo
6949 0: \x0d\x0afoo
6950 \nfoo
6951 0: \x0afoo
6952
6953 /^$/mg<any>
6954 abc\r\rxyz
6955 0:
6956 abc\n\rxyz
6957 0:
6958 ** Failers
6959 No match
6960 abc\r\nxyz
6961 No match
6962
6963 /^X/m
6964 XABC
6965 0: X
6966 ** Failers
6967 No match
6968 XABC\B
6969 No match
6970
6971 /(?m)^$/<any>g+
6972 abc\r\n\r\n
6973 0:
6974 0+ \x0d\x0a
6975
6976 /(?m)^$|^\r\n/<any>g+
6977 abc\r\n\r\n
6978 0: \x0d\x0a
6979 0+
6980 1:
6981
6982 /(?m)$/<any>g+
6983 abc\r\n\r\n
6984 0:
6985 0+ \x0d\x0a\x0d\x0a
6986 0:
6987 0+ \x0d\x0a
6988 0:
6989 0+
6990
6991 /(?|(abc)|(xyz))/
6992 >abc<
6993 0: abc
6994 >xyz<
6995 0: xyz
6996
6997 /(x)(?|(abc)|(xyz))(x)/
6998 xabcx
6999 0: xabcx
7000 xxyzx
7001 0: xxyzx
7002
7003 /(x)(?|(abc)(pqr)|(xyz))(x)/
7004 xabcpqrx
7005 0: xabcpqrx
7006 xxyzx
7007 0: xxyzx
7008
7009 /(?|(abc)|(xyz))(?1)/
7010 abcabc
7011 0: abcabc
7012 xyzabc
7013 0: xyzabc
7014 ** Failers
7015 No match
7016 xyzxyz
7017 No match
7018
7019 /\H\h\V\v/
7020 X X\x0a
7021 0: X X\x0a
7022 X\x09X\x0b
7023 0: X\x09X\x0b
7024 ** Failers
7025 No match
7026 \xa0 X\x0a
7027 No match
7028
7029 /\H*\h+\V?\v{3,4}/
7030 \x09\x20\xa0X\x0a\x0b\x0c\x0d\x0a
7031 0: \x09 \xa0X\x0a\x0b\x0c\x0d
7032 1: \x09 \xa0X\x0a\x0b\x0c
7033 \x09\x20\xa0\x0a\x0b\x0c\x0d\x0a
7034 0: \x09 \xa0\x0a\x0b\x0c\x0d
7035 1: \x09 \xa0\x0a\x0b\x0c
7036 \x09\x20\xa0\x0a\x0b\x0c
7037 0: \x09 \xa0\x0a\x0b\x0c
7038 ** Failers
7039 No match
7040 \x09\x20\xa0\x0a\x0b
7041 No match
7042
7043 /\H{3,4}/
7044 XY ABCDE
7045 0: ABCD
7046 1: ABC
7047 XY PQR ST
7048 0: PQR
7049
7050 /.\h{3,4}./
7051 XY AB PQRS
7052 0: B P
7053 1: B
7054
7055 /\h*X\h?\H+Y\H?Z/
7056 >XNNNYZ
7057 0: XNNNYZ
7058 > X NYQZ
7059 0: X NYQZ
7060 ** Failers
7061 No match
7062 >XYZ
7063 No match
7064 > X NY Z
7065 No match
7066
7067 /\v*X\v?Y\v+Z\V*\x0a\V+\x0b\V{2,3}\x0c/
7068 >XY\x0aZ\x0aA\x0bNN\x0c
7069 0: XY\x0aZ\x0aA\x0bNN\x0c
7070 >\x0a\x0dX\x0aY\x0a\x0bZZZ\x0aAAA\x0bNNN\x0c
7071 0: \x0a\x0dX\x0aY\x0a\x0bZZZ\x0aAAA\x0bNNN\x0c
7072
7073 /.+A/<crlf>
7074 \r\nA
7075 No match
7076
7077 /\nA/<crlf>
7078 \r\nA
7079 0: \x0aA
7080
7081 /[\r\n]A/<crlf>
7082 \r\nA
7083 0: \x0aA
7084
7085 /(\r|\n)A/<crlf>
7086 \r\nA
7087 0: \x0aA
7088
7089 /a\Rb/I<bsr_anycrlf>
7090 Capturing subpattern count = 0
7091 Options: bsr_anycrlf
7092 First char = 'a'
7093 Need char = 'b'
7094 a\rb
7095 0: a\x0db
7096 a\nb
7097 0: a\x0ab
7098 a\r\nb
7099 0: a\x0d\x0ab
7100 ** Failers
7101 No match
7102 a\x85b
7103 No match
7104 a\x0bb
7105 No match
7106
7107 /a\Rb/I<bsr_unicode>
7108 Capturing subpattern count = 0
7109 Options: bsr_unicode
7110 First char = 'a'
7111 Need char = 'b'
7112 a\rb
7113 0: a\x0db
7114 a\nb
7115 0: a\x0ab
7116 a\r\nb
7117 0: a\x0d\x0ab
7118 a\x85b
7119 0: a\x85b
7120 a\x0bb
7121 0: a\x0bb
7122 ** Failers
7123 No match
7124 a\x85b\<bsr_anycrlf>
7125 No match
7126 a\x0bb\<bsr_anycrlf>
7127 No match
7128
7129 /a\R?b/I<bsr_anycrlf>
7130 Capturing subpattern count = 0
7131 Options: bsr_anycrlf
7132 First char = 'a'
7133 Need char = 'b'
7134 a\rb
7135 0: a\x0db
7136 a\nb
7137 0: a\x0ab
7138 a\r\nb
7139 0: a\x0d\x0ab
7140 ** Failers
7141 No match
7142 a\x85b
7143 No match
7144 a\x0bb
7145 No match
7146
7147 /a\R?b/I<bsr_unicode>
7148 Capturing subpattern count = 0
7149 Options: bsr_unicode
7150 First char = 'a'
7151 Need char = 'b'
7152 a\rb
7153 0: a\x0db
7154 a\nb
7155 0: a\x0ab
7156 a\r\nb
7157 0: a\x0d\x0ab
7158 a\x85b
7159 0: a\x85b
7160 a\x0bb
7161 0: a\x0bb
7162 ** Failers
7163 No match
7164 a\x85b\<bsr_anycrlf>
7165 No match
7166 a\x0bb\<bsr_anycrlf>
7167 No match
7168
7169 /a\R{2,4}b/I<bsr_anycrlf>
7170 Capturing subpattern count = 0
7171 Options: bsr_anycrlf
7172 First char = 'a'
7173 Need char = 'b'
7174 a\r\n\nb
7175 0: a\x0d\x0a\x0ab
7176 a\n\r\rb
7177 0: a\x0a\x0d\x0db
7178 a\r\n\r\n\r\n\r\nb
7179 0: a\x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0ab
7180 ** Failers
7181 No match
7182 a\x85\85b
7183 No match
7184 a\x0b\0bb
7185 No match
7186
7187 /a\R{2,4}b/I<bsr_unicode>
7188 Capturing subpattern count = 0
7189 Options: bsr_unicode
7190 First char = 'a'
7191 Need char = 'b'
7192 a\r\rb
7193 0: a\x0d\x0db
7194 a\n\n\nb
7195 0: a\x0a\x0a\x0ab
7196 a\r\n\n\r\rb
7197 0: a\x0d\x0a\x0a\x0d\x0db
7198 a\x85\85b
7199 No match
7200 a\x0b\0bb
7201 No match
7202 ** Failers
7203 No match
7204 a\r\r\r\r\rb
7205 No match
7206 a\x85\85b\<bsr_anycrlf>
7207 No match
7208 a\x0b\0bb\<bsr_anycrlf>
7209 No match
7210
7211 /a(?!)|\wbc/
7212 abc
7213 0: abc
7214
7215 /a[]b/<JS>
7216 ** Failers
7217 No match
7218 ab
7219 No match
7220
7221 /a[]+b/<JS>
7222 ** Failers
7223 No match
7224 ab
7225 No match
7226
7227 /a[]*+b/<JS>
7228 ** Failers
7229 No match
7230 ab
7231 No match
7232
7233 /a[^]b/<JS>
7234 aXb
7235 0: aXb
7236 a\nb
7237 0: a\x0ab
7238 ** Failers
7239 No match
7240 ab
7241 No match
7242
7243 /a[^]+b/<JS>
7244 aXb
7245 0: aXb
7246 a\nX\nXb
7247 0: a\x0aX\x0aXb
7248 ** Failers
7249 No match
7250 ab
7251 No match
7252
7253 /X$/E
7254 X
7255 0: X
7256 ** Failers
7257 No match
7258 X\n
7259 No match
7260
7261 /X$/
7262 X
7263 0: X
7264 X\n
7265 0: X
7266
7267 /xyz/C
7268 xyz
7269 --->xyz
7270 +0 ^ x
7271 +1 ^^ y
7272 +2 ^ ^ z
7273 +3 ^ ^
7274 0: xyz
7275 abcxyz
7276 --->abcxyz
7277 +0 ^ x
7278 +1 ^^ y
7279 +2 ^ ^ z
7280 +3 ^ ^
7281 0: xyz
7282 abcxyz\Y
7283 --->abcxyz
7284 +0 ^ x
7285 +0 ^ x
7286 +0 ^ x
7287 +0 ^ x
7288 +1 ^^ y
7289 +2 ^ ^ z
7290 +3 ^ ^
7291 0: xyz
7292 ** Failers
7293 No match
7294 abc
7295 No match
7296 abc\Y
7297 --->abc
7298 +0 ^ x
7299 +0 ^ x
7300 +0 ^ x
7301 +0 ^ x
7302 No match
7303 abcxypqr
7304 No match
7305 abcxypqr\Y
7306 --->abcxypqr
7307 +0 ^ x
7308 +0 ^ x
7309 +0 ^ x
7310 +0 ^ x
7311 +1 ^^ y
7312 +2 ^ ^ z
7313 +0 ^ x
7314 +0 ^ x
7315 +0 ^ x
7316 +0 ^ x
7317 +0 ^ x
7318 No match
7319
7320 /(?C)ab/
7321 ab
7322 --->ab
7323 0 ^ a
7324 0: ab
7325 \C-ab
7326 0: ab
7327
7328 /ab/C
7329 ab
7330 --->ab
7331 +0 ^ a
7332 +1 ^^ b
7333 +2 ^ ^
7334 0: ab
7335 \C-ab
7336 0: ab
7337
7338 /^"((?(?=[a])[^"])|b)*"$/C
7339 "ab"
7340 --->"ab"
7341 +0 ^ ^
7342 +1 ^ "
7343 +2 ^^ ((?(?=[a])[^"])|b)*
7344 +21 ^^ "
7345 +3 ^^ (?(?=[a])[^"])
7346 +18 ^^ b
7347 +5 ^^ (?=[a])
7348 +8 ^ [a]
7349 +11 ^^ )
7350 +12 ^^ [^"]
7351 +16 ^ ^ )
7352 +17 ^ ^ |
7353 +21 ^ ^ "
7354 +3 ^ ^ (?(?=[a])[^"])
7355 +18 ^ ^ b
7356 +5 ^ ^ (?=[a])
7357 +8 ^ [a]
7358 +19 ^ ^ )
7359 +21 ^ ^ "
7360 +3 ^ ^ (?(?=[a])[^"])
7361 +18 ^ ^ b
7362 +5 ^ ^ (?=[a])
7363 +8 ^ [a]
7364 +17 ^ ^ |
7365 +22 ^ ^ $
7366 +23 ^ ^
7367 0: "ab"
7368 \C-"ab"
7369 0: "ab"
7370
7371 /\d+X|9+Y/
7372 ++++123999\P
7373 Partial match: 123999
7374 ++++123999Y\P
7375 0: 999Y
7376
7377 /Z(*F)/
7378 Z\P
7379 No match
7380 ZA\P
7381 No match
7382
7383 /Z(?!)/
7384 Z\P
7385 No match
7386 ZA\P
7387 No match
7388
7389 /dog(sbody)?/
7390 dogs\P
7391 0: dog
7392 dogs\P\P
7393 Partial match: dogs
7394
7395 /dog(sbody)??/
7396 dogs\P
7397 0: dog
7398 dogs\P\P
7399 Partial match: dogs
7400
7401 /dog|dogsbody/
7402 dogs\P
7403 0: dog
7404 dogs\P\P
7405 Partial match: dogs
7406
7407 /dogsbody|dog/
7408 dogs\P
7409 0: dog
7410 dogs\P\P
7411 Partial match: dogs
7412
7413 /Z(*F)Q|ZXY/
7414 Z\P
7415 Partial match: Z
7416 ZA\P
7417 No match
7418 X\P
7419 No match
7420
7421 /\bthe cat\b/
7422 the cat\P
7423 0: the cat
7424 the cat\P\P
7425 Partial match: the cat
7426
7427 /dog(sbody)?/
7428 dogs\D\P
7429 0: dog
7430 body\D\R
7431 0: body
7432
7433 /dog(sbody)?/
7434 dogs\D\P\P
7435 Partial match: dogs
7436 body\D\R
7437 0: body
7438
7439 /abc/
7440 abc\P
7441 0: abc
7442 abc\P\P
7443 0: abc
7444
7445 /abc\K123/
7446 xyzabc123pqr
7447 Error -16
7448
7449 /(?<=abc)123/
7450 xyzabc123pqr
7451 0: 123
7452 xyzabc12\P
7453 Partial match: abc12
7454 xyzabc12\P\P
7455 Partial match: abc12
7456
7457 /\babc\b/
7458 +++abc+++
7459 0: abc
7460 +++ab\P
7461 Partial match: +ab
7462 +++ab\P\P
7463 Partial match: +ab
7464
7465 / End of testinput7 /

Properties

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

  ViewVC Help
Powered by ViewVC 1.1.5