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

Contents of /code/trunk/testdata/testinput8

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1369 - (show annotations)
Tue Oct 8 15:06:46 2013 UTC (7 years, 11 months ago) by ph10
File size: 84542 byte(s)
Update \8 and \9 handling to match most recent Perl.
1 /-- This set of tests check the DFA matching functionality of pcre_dfa_exec().
2 The -dfa flag must be used with pcretest when running it. --/
3
4 /abc/
5 abc
6
7 /ab*c/
8 abc
9 abbbbc
10 ac
11
12 /ab+c/
13 abc
14 abbbbbbc
15 *** Failers
16 ac
17 ab
18
19 /a*/O
20 a
21 aaaaaaaaaaaaaaaaa
22 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
23 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\F
24
25 /(a|abcd|african)/
26 a
27 abcd
28 african
29
30 /^abc/
31 abcdef
32 *** Failers
33 xyzabc
34 xyz\nabc
35
36 /^abc/m
37 abcdef
38 xyz\nabc
39 *** Failers
40 xyzabc
41
42 /\Aabc/
43 abcdef
44 *** Failers
45 xyzabc
46 xyz\nabc
47
48 /\Aabc/m
49 abcdef
50 *** Failers
51 xyzabc
52 xyz\nabc
53
54 /\Gabc/
55 abcdef
56 xyzabc\>3
57 *** Failers
58 xyzabc
59 xyzabc\>2
60
61 /x\dy\Dz/
62 x9yzz
63 x0y+z
64 *** Failers
65 xyz
66 xxy0z
67
68 /x\sy\Sz/
69 x yzz
70 x y+z
71 *** Failers
72 xyz
73 xxyyz
74
75 /x\wy\Wz/
76 xxy+z
77 *** Failers
78 xxy0z
79 x+y+z
80
81 /x.y/
82 x+y
83 x-y
84 *** Failers
85 x\ny
86
87 /x.y/s
88 x+y
89 x-y
90 x\ny
91
92 /(a.b(?s)c.d|x.y)p.q/
93 a+bc+dp+q
94 a+bc\ndp+q
95 x\nyp+q
96 *** Failers
97 a\nbc\ndp+q
98 a+bc\ndp\nq
99 x\nyp\nq
100
101 /a\d\z/
102 ba0
103 *** Failers
104 ba0\n
105 ba0\ncd
106
107 /a\d\z/m
108 ba0
109 *** Failers
110 ba0\n
111 ba0\ncd
112
113 /a\d\Z/
114 ba0
115 ba0\n
116 *** Failers
117 ba0\ncd
118
119 /a\d\Z/m
120 ba0
121 ba0\n
122 *** Failers
123 ba0\ncd
124
125 /a\d$/
126 ba0
127 ba0\n
128 *** Failers
129 ba0\ncd
130
131 /a\d$/m
132 ba0
133 ba0\n
134 ba0\ncd
135 *** Failers
136
137 /abc/i
138 abc
139 aBc
140 ABC
141
142 /[^a]/
143 abcd
144
145 /ab?\w/
146 abz
147 abbz
148 azz
149
150 /x{0,3}yz/
151 ayzq
152 axyzq
153 axxyz
154 axxxyzq
155 axxxxyzq
156 *** Failers
157 ax
158 axx
159
160 /x{3}yz/
161 axxxyzq
162 axxxxyzq
163 *** Failers
164 ax
165 axx
166 ayzq
167 axyzq
168 axxyz
169
170 /x{2,3}yz/
171 axxyz
172 axxxyzq
173 axxxxyzq
174 *** Failers
175 ax
176 axx
177 ayzq
178 axyzq
179
180 /[^a]+/O
181 bac
182 bcdefax
183 *** Failers
184 aaaaa
185
186 /[^a]*/O
187 bac
188 bcdefax
189 *** Failers
190 aaaaa
191
192 /[^a]{3,5}/O
193 xyz
194 awxyza
195 abcdefa
196 abcdefghijk
197 *** Failers
198 axya
199 axa
200 aaaaa
201
202 /\d*/
203 1234b567
204 xyz
205
206 /\D*/
207 a1234b567
208 xyz
209
210 /\d+/
211 ab1234c56
212 *** Failers
213 xyz
214
215 /\D+/
216 ab123c56
217 *** Failers
218 789
219
220 /\d?A/
221 045ABC
222 ABC
223 *** Failers
224 XYZ
225
226 /\D?A/
227 ABC
228 BAC
229 9ABC
230 *** Failers
231
232 /a+/
233 aaaa
234
235 /^.*xyz/
236 xyz
237 ggggggggxyz
238
239 /^.+xyz/
240 abcdxyz
241 axyz
242 *** Failers
243 xyz
244
245 /^.?xyz/
246 xyz
247 cxyz
248
249 /^\d{2,3}X/
250 12X
251 123X
252 *** Failers
253 X
254 1X
255 1234X
256
257 /^[abcd]\d/
258 a45
259 b93
260 c99z
261 d04
262 *** Failers
263 e45
264 abcd
265 abcd1234
266 1234
267
268 /^[abcd]*\d/
269 a45
270 b93
271 c99z
272 d04
273 abcd1234
274 1234
275 *** Failers
276 e45
277 abcd
278
279 /^[abcd]+\d/
280 a45
281 b93
282 c99z
283 d04
284 abcd1234
285 *** Failers
286 1234
287 e45
288 abcd
289
290 /^a+X/
291 aX
292 aaX
293
294 /^[abcd]?\d/
295 a45
296 b93
297 c99z
298 d04
299 1234
300 *** Failers
301 abcd1234
302 e45
303
304 /^[abcd]{2,3}\d/
305 ab45
306 bcd93
307 *** Failers
308 1234
309 a36
310 abcd1234
311 ee45
312
313 /^(abc)*\d/
314 abc45
315 abcabcabc45
316 42xyz
317 *** Failers
318
319 /^(abc)+\d/
320 abc45
321 abcabcabc45
322 *** Failers
323 42xyz
324
325 /^(abc)?\d/
326 abc45
327 42xyz
328 *** Failers
329 abcabcabc45
330
331 /^(abc){2,3}\d/
332 abcabc45
333 abcabcabc45
334 *** Failers
335 abcabcabcabc45
336 abc45
337 42xyz
338
339 /1(abc|xyz)2(?1)3/
340 1abc2abc3456
341 1abc2xyz3456
342
343 /^(a*\w|ab)=(a*\w|ab)/
344 ab=ab
345
346 /^(a*\w|ab)=(?1)/
347 ab=ab
348
349 /^([^()]|\((?1)*\))*$/
350 abc
351 a(b)c
352 a(b(c))d
353 *** Failers)
354 a(b(c)d
355
356 /^>abc>([^()]|\((?1)*\))*<xyz<$/
357 >abc>123<xyz<
358 >abc>1(2)3<xyz<
359 >abc>(1(2)3)<xyz<
360
361 /^(?>a*)\d/
362 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa9876
363 *** Failers
364 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
365
366 /< (?: (?(R) \d++ | [^<>]*+) | (?R)) * >/x
367 <>
368 <abcd>
369 <abc <123> hij>
370 <abc <def> hij>
371 <abc<>def>
372 <abc<>
373 *** Failers
374 <abc
375
376 /^(?(?=abc)\w{3}:|\d\d)$/
377 abc:
378 12
379 *** Failers
380 123
381 xyz
382
383 /^(?(?!abc)\d\d|\w{3}:)$/
384 abc:
385 12
386 *** Failers
387 123
388 xyz
389
390 /^(?=abc)\w{5}:$/
391 abcde:
392 *** Failers
393 abc..
394 123
395 vwxyz
396
397 /^(?!abc)\d\d$/
398 12
399 *** Failers
400 abcde:
401 abc..
402 123
403 vwxyz
404
405 /(?<=abc|xy)123/
406 abc12345
407 wxy123z
408 *** Failers
409 123abc
410
411 /(?<!abc|xy)123/
412 123abc
413 mno123456
414 *** Failers
415 abc12345
416 wxy123z
417
418 /abc(?C1)xyz/
419 abcxyz
420 123abcxyz999
421
422 /(ab|cd){3,4}/C
423 ababab
424 abcdabcd
425 abcdcdcdcdcd
426
427 /^abc/
428 abcdef
429 *** Failers
430 abcdef\B
431
432 /^(a*|xyz)/
433 bcd
434 aaabcd
435 xyz
436 xyz\N
437 *** Failers
438 bcd\N
439
440 /xyz$/
441 xyz
442 xyz\n
443 *** Failers
444 xyz\Z
445 xyz\n\Z
446
447 /xyz$/m
448 xyz
449 xyz\n
450 abcxyz\npqr
451 abcxyz\npqr\Z
452 xyz\n\Z
453 *** Failers
454 xyz\Z
455
456 /\Gabc/
457 abcdef
458 defabcxyz\>3
459 *** Failers
460 defabcxyz
461
462 /^abcdef/
463 ab\P
464 abcde\P
465 abcdef\P
466 *** Failers
467 abx\P
468
469 /^a{2,4}\d+z/
470 a\P
471 aa\P
472 aa2\P
473 aaa\P
474 aaa23\P
475 aaaa12345\P
476 aa0z\P
477 aaaa4444444444444z\P
478 *** Failers
479 az\P
480 aaaaa\P
481 a56\P
482
483 /^abcdef/
484 abc\P
485 def\R
486
487 /(?<=foo)bar/
488 xyzfo\P
489 foob\P\>2
490 foobar...\R\P\>4
491 xyzfo\P
492 foobar\>2
493 *** Failers
494 xyzfo\P
495 obar\R
496
497 /(ab*(cd|ef))+X/
498 adfadadaklhlkalkajhlkjahdfasdfasdfladsfjkj\P\Z
499 lkjhlkjhlkjhlkjhabbbbbbcdaefabbbbbbbefa\P\B\Z
500 cdabbbbbbbb\P\R\B\Z
501 efabbbbbbbbbbbbbbbb\P\R\B\Z
502 bbbbbbbbbbbbcdXyasdfadf\P\R\B\Z
503
504 /(a|b)/SF>testsavedregex
505 <testsavedregex
506 abc
507 ** Failers
508 def
509
510 /the quick brown fox/
511 the quick brown fox
512 The quick brown FOX
513 What do you know about the quick brown fox?
514 What do you know about THE QUICK BROWN FOX?
515
516 /The quick brown fox/i
517 the quick brown fox
518 The quick brown FOX
519 What do you know about the quick brown fox?
520 What do you know about THE QUICK BROWN FOX?
521
522 /abcd\t\n\r\f\a\e\071\x3b\$\\\?caxyz/
523 abcd\t\n\r\f\a\e9;\$\\?caxyz
524
525 /a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz/
526 abxyzpqrrrabbxyyyypqAzz
527 abxyzpqrrrabbxyyyypqAzz
528 aabxyzpqrrrabbxyyyypqAzz
529 aaabxyzpqrrrabbxyyyypqAzz
530 aaaabxyzpqrrrabbxyyyypqAzz
531 abcxyzpqrrrabbxyyyypqAzz
532 aabcxyzpqrrrabbxyyyypqAzz
533 aaabcxyzpqrrrabbxyyyypAzz
534 aaabcxyzpqrrrabbxyyyypqAzz
535 aaabcxyzpqrrrabbxyyyypqqAzz
536 aaabcxyzpqrrrabbxyyyypqqqAzz
537 aaabcxyzpqrrrabbxyyyypqqqqAzz
538 aaabcxyzpqrrrabbxyyyypqqqqqAzz
539 aaabcxyzpqrrrabbxyyyypqqqqqqAzz
540 aaaabcxyzpqrrrabbxyyyypqAzz
541 abxyzzpqrrrabbxyyyypqAzz
542 aabxyzzzpqrrrabbxyyyypqAzz
543 aaabxyzzzzpqrrrabbxyyyypqAzz
544 aaaabxyzzzzpqrrrabbxyyyypqAzz
545 abcxyzzpqrrrabbxyyyypqAzz
546 aabcxyzzzpqrrrabbxyyyypqAzz
547 aaabcxyzzzzpqrrrabbxyyyypqAzz
548 aaaabcxyzzzzpqrrrabbxyyyypqAzz
549 aaaabcxyzzzzpqrrrabbbxyyyypqAzz
550 aaaabcxyzzzzpqrrrabbbxyyyyypqAzz
551 aaabcxyzpqrrrabbxyyyypABzz
552 aaabcxyzpqrrrabbxyyyypABBzz
553 >>>aaabxyzpqrrrabbxyyyypqAzz
554 >aaaabxyzpqrrrabbxyyyypqAzz
555 >>>>abcxyzpqrrrabbxyyyypqAzz
556 *** Failers
557 abxyzpqrrabbxyyyypqAzz
558 abxyzpqrrrrabbxyyyypqAzz
559 abxyzpqrrrabxyyyypqAzz
560 aaaabcxyzzzzpqrrrabbbxyyyyyypqAzz
561 aaaabcxyzzzzpqrrrabbbxyyypqAzz
562 aaabcxyzpqrrrabbxyyyypqqqqqqqAzz
563
564 /^(abc){1,2}zz/
565 abczz
566 abcabczz
567 *** Failers
568 zz
569 abcabcabczz
570 >>abczz
571
572 /^(b+?|a){1,2}?c/
573 bc
574 bbc
575 bbbc
576 bac
577 bbac
578 aac
579 abbbbbbbbbbbc
580 bbbbbbbbbbbac
581 *** Failers
582 aaac
583 abbbbbbbbbbbac
584
585 /^(b+|a){1,2}c/
586 bc
587 bbc
588 bbbc
589 bac
590 bbac
591 aac
592 abbbbbbbbbbbc
593 bbbbbbbbbbbac
594 *** Failers
595 aaac
596 abbbbbbbbbbbac
597
598 /^(b+|a){1,2}?bc/
599 bbc
600
601 /^(b*|ba){1,2}?bc/
602 babc
603 bbabc
604 bababc
605 *** Failers
606 bababbc
607 babababc
608
609 /^(ba|b*){1,2}?bc/
610 babc
611 bbabc
612 bababc
613 *** Failers
614 bababbc
615 babababc
616
617 /^\ca\cA\c[\c{\c:/
618 \x01\x01\e;z
619
620 /^[ab\]cde]/
621 athing
622 bthing
623 ]thing
624 cthing
625 dthing
626 ething
627 *** Failers
628 fthing
629 [thing
630 \\thing
631
632 /^[]cde]/
633 ]thing
634 cthing
635 dthing
636 ething
637 *** Failers
638 athing
639 fthing
640
641 /^[^ab\]cde]/
642 fthing
643 [thing
644 \\thing
645 *** Failers
646 athing
647 bthing
648 ]thing
649 cthing
650 dthing
651 ething
652
653 /^[^]cde]/
654 athing
655 fthing
656 *** Failers
657 ]thing
658 cthing
659 dthing
660 ething
661
662 /^\/
663
664
665 /^/
666
667
668 /^[0-9]+$/
669 0
670 1
671 2
672 3
673 4
674 5
675 6
676 7
677 8
678 9
679 10
680 100
681 *** Failers
682 abc
683
684 /^.*nter/
685 enter
686 inter
687 uponter
688
689 /^xxx[0-9]+$/
690 xxx0
691 xxx1234
692 *** Failers
693 xxx
694
695 /^.+[0-9][0-9][0-9]$/
696 x123
697 xx123
698 123456
699 *** Failers
700 123
701 x1234
702
703 /^.+?[0-9][0-9][0-9]$/
704 x123
705 xx123
706 123456
707 *** Failers
708 123
709 x1234
710
711 /^([^!]+)!(.+)=apquxz\.ixr\.zzz\.ac\.uk$/
712 abc!pqr=apquxz.ixr.zzz.ac.uk
713 *** Failers
714 !pqr=apquxz.ixr.zzz.ac.uk
715 abc!=apquxz.ixr.zzz.ac.uk
716 abc!pqr=apquxz:ixr.zzz.ac.uk
717 abc!pqr=apquxz.ixr.zzz.ac.ukk
718
719 /:/
720 Well, we need a colon: somewhere
721 *** Fail if we don't
722
723 /([\da-f:]+)$/i
724 0abc
725 abc
726 fed
727 E
728 ::
729 5f03:12C0::932e
730 fed def
731 Any old stuff
732 *** Failers
733 0zzz
734 gzzz
735 fed\x20
736 Any old rubbish
737
738 /^.*\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/
739 .1.2.3
740 A.12.123.0
741 *** Failers
742 .1.2.3333
743 1.2.3
744 1234.2.3
745
746 /^(\d+)\s+IN\s+SOA\s+(\S+)\s+(\S+)\s*\(\s*$/
747 1 IN SOA non-sp1 non-sp2(
748 1 IN SOA non-sp1 non-sp2 (
749 *** Failers
750 1IN SOA non-sp1 non-sp2(
751
752 /^[a-zA-Z\d][a-zA-Z\d\-]*(\.[a-zA-Z\d][a-zA-z\d\-]*)*\.$/
753 a.
754 Z.
755 2.
756 ab-c.pq-r.
757 sxk.zzz.ac.uk.
758 x-.y-.
759 *** Failers
760 -abc.peq.
761
762 /^\*\.[a-z]([a-z\-\d]*[a-z\d]+)?(\.[a-z]([a-z\-\d]*[a-z\d]+)?)*$/
763 *.a
764 *.b0-a
765 *.c3-b.c
766 *.c-a.b-c
767 *** Failers
768 *.0
769 *.a-
770 *.a-b.c-
771 *.c-a.0-c
772
773 /^(?=ab(de))(abd)(e)/
774 abde
775
776 /^(?!(ab)de|x)(abd)(f)/
777 abdf
778
779 /^(?=(ab(cd)))(ab)/
780 abcd
781
782 /^[\da-f](\.[\da-f])*$/i
783 a.b.c.d
784 A.B.C.D
785 a.b.c.1.2.3.C
786
787 /^\".*\"\s*(;.*)?$/
788 \"1234\"
789 \"abcd\" ;
790 \"\" ; rhubarb
791 *** Failers
792 \"1234\" : things
793
794 /^$/
795 \
796 *** Failers
797
798 / ^ a (?# begins with a) b\sc (?# then b c) $ (?# then end)/x
799 ab c
800 *** Failers
801 abc
802 ab cde
803
804 /(?x) ^ a (?# begins with a) b\sc (?# then b c) $ (?# then end)/
805 ab c
806 *** Failers
807 abc
808 ab cde
809
810 /^ a\ b[c ]d $/x
811 a bcd
812 a b d
813 *** Failers
814 abcd
815 ab d
816
817 /^(a(b(c)))(d(e(f)))(h(i(j)))(k(l(m)))$/
818 abcdefhijklm
819
820 /^(?:a(b(c)))(?:d(e(f)))(?:h(i(j)))(?:k(l(m)))$/
821 abcdefhijklm
822
823 /^[\w][\W][\s][\S][\d][\D][\b][\n][\c]][\022]/
824 a+ Z0+\x08\n\x1d\x12
825
826 /^[.^$|()*+?{,}]+/
827 .^\$(*+)|{?,?}
828
829 /^a*\w/
830 z
831 az
832 aaaz
833 a
834 aa
835 aaaa
836 a+
837 aa+
838
839 /^a*?\w/
840 z
841 az
842 aaaz
843 a
844 aa
845 aaaa
846 a+
847 aa+
848
849 /^a+\w/
850 az
851 aaaz
852 aa
853 aaaa
854 aa+
855
856 /^a+?\w/
857 az
858 aaaz
859 aa
860 aaaa
861 aa+
862
863 /^\d{8}\w{2,}/
864 1234567890
865 12345678ab
866 12345678__
867 *** Failers
868 1234567
869
870 /^[aeiou\d]{4,5}$/
871 uoie
872 1234
873 12345
874 aaaaa
875 *** Failers
876 123456
877
878 /^[aeiou\d]{4,5}?/
879 uoie
880 1234
881 12345
882 aaaaa
883 123456
884
885 /^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]/
886 From abcd Mon Sep 01 12:33:02 1997
887
888 /^From\s+\S+\s+([a-zA-Z]{3}\s+){2}\d{1,2}\s+\d\d:\d\d/
889 From abcd Mon Sep 01 12:33:02 1997
890 From abcd Mon Sep 1 12:33:02 1997
891 *** Failers
892 From abcd Sep 01 12:33:02 1997
893
894 /^12.34/s
895 12\n34
896 12\r34
897
898 /\w+(?=\t)/
899 the quick brown\t fox
900
901 /foo(?!bar)(.*)/
902 foobar is foolish see?
903
904 /(?:(?!foo)...|^.{0,2})bar(.*)/
905 foobar crowbar etc
906 barrel
907 2barrel
908 A barrel
909
910 /^(\D*)(?=\d)(?!123)/
911 abc456
912 *** Failers
913 abc123
914
915 /^1234(?# test newlines
916 inside)/
917 1234
918
919 /^1234 #comment in extended re
920 /x
921 1234
922
923 /#rhubarb
924 abcd/x
925 abcd
926
927 /^abcd#rhubarb/x
928 abcd
929
930 /(?!^)abc/
931 the abc
932 *** Failers
933 abc
934
935 /(?=^)abc/
936 abc
937 *** Failers
938 the abc
939
940 /^[ab]{1,3}(ab*|b)/O
941 aabbbbb
942
943 /^[ab]{1,3}?(ab*|b)/O
944 aabbbbb
945
946 /^[ab]{1,3}?(ab*?|b)/O
947 aabbbbb
948
949 /^[ab]{1,3}(ab*?|b)/O
950 aabbbbb
951
952 / (?: [\040\t] | \(
953 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
954 \) )* # optional leading comment
955 (?: (?:
956 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
957 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
958 |
959 " (?: # opening quote...
960 [^\\\x80-\xff\n\015"] # Anything except backslash and quote
961 | # or
962 \\ [^\x80-\xff] # Escaped something (something != CR)
963 )* " # closing quote
964 ) # initial word
965 (?: (?: [\040\t] | \(
966 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
967 \) )* \. (?: [\040\t] | \(
968 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
969 \) )* (?:
970 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
971 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
972 |
973 " (?: # opening quote...
974 [^\\\x80-\xff\n\015"] # Anything except backslash and quote
975 | # or
976 \\ [^\x80-\xff] # Escaped something (something != CR)
977 )* " # closing quote
978 ) )* # further okay, if led by a period
979 (?: [\040\t] | \(
980 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
981 \) )* @ (?: [\040\t] | \(
982 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
983 \) )* (?:
984 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
985 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
986 | \[ # [
987 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
988 \] # ]
989 ) # initial subdomain
990 (?: #
991 (?: [\040\t] | \(
992 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
993 \) )* \. # if led by a period...
994 (?: [\040\t] | \(
995 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
996 \) )* (?:
997 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
998 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
999 | \[ # [
1000 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
1001 \] # ]
1002 ) # ...further okay
1003 )*
1004 # address
1005 | # or
1006 (?:
1007 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1008 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1009 |
1010 " (?: # opening quote...
1011 [^\\\x80-\xff\n\015"] # Anything except backslash and quote
1012 | # or
1013 \\ [^\x80-\xff] # Escaped something (something != CR)
1014 )* " # closing quote
1015 ) # one word, optionally followed by....
1016 (?:
1017 [^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] | # atom and space parts, or...
1018 \(
1019 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1020 \) | # comments, or...
1021
1022 " (?: # opening quote...
1023 [^\\\x80-\xff\n\015"] # Anything except backslash and quote
1024 | # or
1025 \\ [^\x80-\xff] # Escaped something (something != CR)
1026 )* " # closing quote
1027 # quoted strings
1028 )*
1029 < (?: [\040\t] | \(
1030 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1031 \) )* # leading <
1032 (?: @ (?: [\040\t] | \(
1033 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1034 \) )* (?:
1035 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1036 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1037 | \[ # [
1038 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
1039 \] # ]
1040 ) # initial subdomain
1041 (?: #
1042 (?: [\040\t] | \(
1043 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1044 \) )* \. # if led by a period...
1045 (?: [\040\t] | \(
1046 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1047 \) )* (?:
1048 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1049 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1050 | \[ # [
1051 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
1052 \] # ]
1053 ) # ...further okay
1054 )*
1055
1056 (?: (?: [\040\t] | \(
1057 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1058 \) )* , (?: [\040\t] | \(
1059 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1060 \) )* @ (?: [\040\t] | \(
1061 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1062 \) )* (?:
1063 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1064 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1065 | \[ # [
1066 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
1067 \] # ]
1068 ) # initial subdomain
1069 (?: #
1070 (?: [\040\t] | \(
1071 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1072 \) )* \. # if led by a period...
1073 (?: [\040\t] | \(
1074 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1075 \) )* (?:
1076 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1077 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1078 | \[ # [
1079 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
1080 \] # ]
1081 ) # ...further okay
1082 )*
1083 )* # further okay, if led by comma
1084 : # closing colon
1085 (?: [\040\t] | \(
1086 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1087 \) )* )? # optional route
1088 (?:
1089 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1090 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1091 |
1092 " (?: # opening quote...
1093 [^\\\x80-\xff\n\015"] # Anything except backslash and quote
1094 | # or
1095 \\ [^\x80-\xff] # Escaped something (something != CR)
1096 )* " # closing quote
1097 ) # initial word
1098 (?: (?: [\040\t] | \(
1099 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1100 \) )* \. (?: [\040\t] | \(
1101 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1102 \) )* (?:
1103 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1104 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1105 |
1106 " (?: # opening quote...
1107 [^\\\x80-\xff\n\015"] # Anything except backslash and quote
1108 | # or
1109 \\ [^\x80-\xff] # Escaped something (something != CR)
1110 )* " # closing quote
1111 ) )* # further okay, if led by a period
1112 (?: [\040\t] | \(
1113 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1114 \) )* @ (?: [\040\t] | \(
1115 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1116 \) )* (?:
1117 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1118 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1119 | \[ # [
1120 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
1121 \] # ]
1122 ) # initial subdomain
1123 (?: #
1124 (?: [\040\t] | \(
1125 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1126 \) )* \. # if led by a period...
1127 (?: [\040\t] | \(
1128 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1129 \) )* (?:
1130 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1131 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1132 | \[ # [
1133 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
1134 \] # ]
1135 ) # ...further okay
1136 )*
1137 # address spec
1138 (?: [\040\t] | \(
1139 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1140 \) )* > # trailing >
1141 # name and address
1142 ) (?: [\040\t] | \(
1143 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1144 \) )* # optional trailing comment
1145 /x
1146 Alan Other <user\@dom.ain>
1147 <user\@dom.ain>
1148 user\@dom.ain
1149 \"A. Other\" <user.1234\@dom.ain> (a comment)
1150 A. Other <user.1234\@dom.ain> (a comment)
1151 \"/s=user/ou=host/o=place/prmd=uu.yy/admd= /c=gb/\"\@x400-re.lay
1152 A missing angle <user\@some.where
1153 *** Failers
1154 The quick brown fox
1155
1156 /[\040\t]* # Nab whitespace.
1157 (?:
1158 \( # (
1159 [^\\\x80-\xff\n\015()] * # normal*
1160 (?: # (
1161 (?: \\ [^\x80-\xff] |
1162 \( # (
1163 [^\\\x80-\xff\n\015()] * # normal*
1164 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1165 \) # )
1166 ) # special
1167 [^\\\x80-\xff\n\015()] * # normal*
1168 )* # )*
1169 \) # )
1170 [\040\t]* )* # If comment found, allow more spaces.
1171 # optional leading comment
1172 (?:
1173 (?:
1174 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1175 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1176 # Atom
1177 | # or
1178 " # "
1179 [^\\\x80-\xff\n\015"] * # normal
1180 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015"] * )* # ( special normal* )*
1181 " # "
1182 # Quoted string
1183 )
1184 [\040\t]* # Nab whitespace.
1185 (?:
1186 \( # (
1187 [^\\\x80-\xff\n\015()] * # normal*
1188 (?: # (
1189 (?: \\ [^\x80-\xff] |
1190 \( # (
1191 [^\\\x80-\xff\n\015()] * # normal*
1192 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1193 \) # )
1194 ) # special
1195 [^\\\x80-\xff\n\015()] * # normal*
1196 )* # )*
1197 \) # )
1198 [\040\t]* )* # If comment found, allow more spaces.
1199 (?:
1200 \.
1201 [\040\t]* # Nab whitespace.
1202 (?:
1203 \( # (
1204 [^\\\x80-\xff\n\015()] * # normal*
1205 (?: # (
1206 (?: \\ [^\x80-\xff] |
1207 \( # (
1208 [^\\\x80-\xff\n\015()] * # normal*
1209 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1210 \) # )
1211 ) # special
1212 [^\\\x80-\xff\n\015()] * # normal*
1213 )* # )*
1214 \) # )
1215 [\040\t]* )* # If comment found, allow more spaces.
1216 (?:
1217 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1218 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1219 # Atom
1220 | # or
1221 " # "
1222 [^\\\x80-\xff\n\015"] * # normal
1223 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015"] * )* # ( special normal* )*
1224 " # "
1225 # Quoted string
1226 )
1227 [\040\t]* # Nab whitespace.
1228 (?:
1229 \( # (
1230 [^\\\x80-\xff\n\015()] * # normal*
1231 (?: # (
1232 (?: \\ [^\x80-\xff] |
1233 \( # (
1234 [^\\\x80-\xff\n\015()] * # normal*
1235 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1236 \) # )
1237 ) # special
1238 [^\\\x80-\xff\n\015()] * # normal*
1239 )* # )*
1240 \) # )
1241 [\040\t]* )* # If comment found, allow more spaces.
1242 # additional words
1243 )*
1244 @
1245 [\040\t]* # Nab whitespace.
1246 (?:
1247 \( # (
1248 [^\\\x80-\xff\n\015()] * # normal*
1249 (?: # (
1250 (?: \\ [^\x80-\xff] |
1251 \( # (
1252 [^\\\x80-\xff\n\015()] * # normal*
1253 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1254 \) # )
1255 ) # special
1256 [^\\\x80-\xff\n\015()] * # normal*
1257 )* # )*
1258 \) # )
1259 [\040\t]* )* # If comment found, allow more spaces.
1260 (?:
1261 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1262 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1263 |
1264 \[ # [
1265 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
1266 \] # ]
1267 )
1268 [\040\t]* # Nab whitespace.
1269 (?:
1270 \( # (
1271 [^\\\x80-\xff\n\015()] * # normal*
1272 (?: # (
1273 (?: \\ [^\x80-\xff] |
1274 \( # (
1275 [^\\\x80-\xff\n\015()] * # normal*
1276 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1277 \) # )
1278 ) # special
1279 [^\\\x80-\xff\n\015()] * # normal*
1280 )* # )*
1281 \) # )
1282 [\040\t]* )* # If comment found, allow more spaces.
1283 # optional trailing comments
1284 (?:
1285 \.
1286 [\040\t]* # Nab whitespace.
1287 (?:
1288 \( # (
1289 [^\\\x80-\xff\n\015()] * # normal*
1290 (?: # (
1291 (?: \\ [^\x80-\xff] |
1292 \( # (
1293 [^\\\x80-\xff\n\015()] * # normal*
1294 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1295 \) # )
1296 ) # special
1297 [^\\\x80-\xff\n\015()] * # normal*
1298 )* # )*
1299 \) # )
1300 [\040\t]* )* # If comment found, allow more spaces.
1301 (?:
1302 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1303 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1304 |
1305 \[ # [
1306 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
1307 \] # ]
1308 )
1309 [\040\t]* # Nab whitespace.
1310 (?:
1311 \( # (
1312 [^\\\x80-\xff\n\015()] * # normal*
1313 (?: # (
1314 (?: \\ [^\x80-\xff] |
1315 \( # (
1316 [^\\\x80-\xff\n\015()] * # normal*
1317 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1318 \) # )
1319 ) # special
1320 [^\\\x80-\xff\n\015()] * # normal*
1321 )* # )*
1322 \) # )
1323 [\040\t]* )* # If comment found, allow more spaces.
1324 # optional trailing comments
1325 )*
1326 # address
1327 | # or
1328 (?:
1329 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1330 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1331 # Atom
1332 | # or
1333 " # "
1334 [^\\\x80-\xff\n\015"] * # normal
1335 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015"] * )* # ( special normal* )*
1336 " # "
1337 # Quoted string
1338 )
1339 # leading word
1340 [^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] * # "normal" atoms and or spaces
1341 (?:
1342 (?:
1343 \( # (
1344 [^\\\x80-\xff\n\015()] * # normal*
1345 (?: # (
1346 (?: \\ [^\x80-\xff] |
1347 \( # (
1348 [^\\\x80-\xff\n\015()] * # normal*
1349 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1350 \) # )
1351 ) # special
1352 [^\\\x80-\xff\n\015()] * # normal*
1353 )* # )*
1354 \) # )
1355 |
1356 " # "
1357 [^\\\x80-\xff\n\015"] * # normal
1358 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015"] * )* # ( special normal* )*
1359 " # "
1360 ) # "special" comment or quoted string
1361 [^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] * # more "normal"
1362 )*
1363 <
1364 [\040\t]* # Nab whitespace.
1365 (?:
1366 \( # (
1367 [^\\\x80-\xff\n\015()] * # normal*
1368 (?: # (
1369 (?: \\ [^\x80-\xff] |
1370 \( # (
1371 [^\\\x80-\xff\n\015()] * # normal*
1372 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1373 \) # )
1374 ) # special
1375 [^\\\x80-\xff\n\015()] * # normal*
1376 )* # )*
1377 \) # )
1378 [\040\t]* )* # If comment found, allow more spaces.
1379 # <
1380 (?:
1381 @
1382 [\040\t]* # Nab whitespace.
1383 (?:
1384 \( # (
1385 [^\\\x80-\xff\n\015()] * # normal*
1386 (?: # (
1387 (?: \\ [^\x80-\xff] |
1388 \( # (
1389 [^\\\x80-\xff\n\015()] * # normal*
1390 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1391 \) # )
1392 ) # special
1393 [^\\\x80-\xff\n\015()] * # normal*
1394 )* # )*
1395 \) # )
1396 [\040\t]* )* # If comment found, allow more spaces.
1397 (?:
1398 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1399 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1400 |
1401 \[ # [
1402 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
1403 \] # ]
1404 )
1405 [\040\t]* # Nab whitespace.
1406 (?:
1407 \( # (
1408 [^\\\x80-\xff\n\015()] * # normal*
1409 (?: # (
1410 (?: \\ [^\x80-\xff] |
1411 \( # (
1412 [^\\\x80-\xff\n\015()] * # normal*
1413 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1414 \) # )
1415 ) # special
1416 [^\\\x80-\xff\n\015()] * # normal*
1417 )* # )*
1418 \) # )
1419 [\040\t]* )* # If comment found, allow more spaces.
1420 # optional trailing comments
1421 (?:
1422 \.
1423 [\040\t]* # Nab whitespace.
1424 (?:
1425 \( # (
1426 [^\\\x80-\xff\n\015()] * # normal*
1427 (?: # (
1428 (?: \\ [^\x80-\xff] |
1429 \( # (
1430 [^\\\x80-\xff\n\015()] * # normal*
1431 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1432 \) # )
1433 ) # special
1434 [^\\\x80-\xff\n\015()] * # normal*
1435 )* # )*
1436 \) # )
1437 [\040\t]* )* # If comment found, allow more spaces.
1438 (?:
1439 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1440 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1441 |
1442 \[ # [
1443 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
1444 \] # ]
1445 )
1446 [\040\t]* # Nab whitespace.
1447 (?:
1448 \( # (
1449 [^\\\x80-\xff\n\015()] * # normal*
1450 (?: # (
1451 (?: \\ [^\x80-\xff] |
1452 \( # (
1453 [^\\\x80-\xff\n\015()] * # normal*
1454 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1455 \) # )
1456 ) # special
1457 [^\\\x80-\xff\n\015()] * # normal*
1458 )* # )*
1459 \) # )
1460 [\040\t]* )* # If comment found, allow more spaces.
1461 # optional trailing comments
1462 )*
1463 (?: ,
1464 [\040\t]* # Nab whitespace.
1465 (?:
1466 \( # (
1467 [^\\\x80-\xff\n\015()] * # normal*
1468 (?: # (
1469 (?: \\ [^\x80-\xff] |
1470 \( # (
1471 [^\\\x80-\xff\n\015()] * # normal*
1472 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1473 \) # )
1474 ) # special
1475 [^\\\x80-\xff\n\015()] * # normal*
1476 )* # )*
1477 \) # )
1478 [\040\t]* )* # If comment found, allow more spaces.
1479 @
1480 [\040\t]* # Nab whitespace.
1481 (?:
1482 \( # (
1483 [^\\\x80-\xff\n\015()] * # normal*
1484 (?: # (
1485 (?: \\ [^\x80-\xff] |
1486 \( # (
1487 [^\\\x80-\xff\n\015()] * # normal*
1488 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1489 \) # )
1490 ) # special
1491 [^\\\x80-\xff\n\015()] * # normal*
1492 )* # )*
1493 \) # )
1494 [\040\t]* )* # If comment found, allow more spaces.
1495 (?:
1496 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1497 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1498 |
1499 \[ # [
1500 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
1501 \] # ]
1502 )
1503 [\040\t]* # Nab whitespace.
1504 (?:
1505 \( # (
1506 [^\\\x80-\xff\n\015()] * # normal*
1507 (?: # (
1508 (?: \\ [^\x80-\xff] |
1509 \( # (
1510 [^\\\x80-\xff\n\015()] * # normal*
1511 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1512 \) # )
1513 ) # special
1514 [^\\\x80-\xff\n\015()] * # normal*
1515 )* # )*
1516 \) # )
1517 [\040\t]* )* # If comment found, allow more spaces.
1518 # optional trailing comments
1519 (?:
1520 \.
1521 [\040\t]* # Nab whitespace.
1522 (?:
1523 \( # (
1524 [^\\\x80-\xff\n\015()] * # normal*
1525 (?: # (
1526 (?: \\ [^\x80-\xff] |
1527 \( # (
1528 [^\\\x80-\xff\n\015()] * # normal*
1529 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1530 \) # )
1531 ) # special
1532 [^\\\x80-\xff\n\015()] * # normal*
1533 )* # )*
1534 \) # )
1535 [\040\t]* )* # If comment found, allow more spaces.
1536 (?:
1537 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1538 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1539 |
1540 \[ # [
1541 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
1542 \] # ]
1543 )
1544 [\040\t]* # Nab whitespace.
1545 (?:
1546 \( # (
1547 [^\\\x80-\xff\n\015()] * # normal*
1548 (?: # (
1549 (?: \\ [^\x80-\xff] |
1550 \( # (
1551 [^\\\x80-\xff\n\015()] * # normal*
1552 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1553 \) # )
1554 ) # special
1555 [^\\\x80-\xff\n\015()] * # normal*
1556 )* # )*
1557 \) # )
1558 [\040\t]* )* # If comment found, allow more spaces.
1559 # optional trailing comments
1560 )*
1561 )* # additional domains
1562 :
1563 [\040\t]* # Nab whitespace.
1564 (?:
1565 \( # (
1566 [^\\\x80-\xff\n\015()] * # normal*
1567 (?: # (
1568 (?: \\ [^\x80-\xff] |
1569 \( # (
1570 [^\\\x80-\xff\n\015()] * # normal*
1571 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1572 \) # )
1573 ) # special
1574 [^\\\x80-\xff\n\015()] * # normal*
1575 )* # )*
1576 \) # )
1577 [\040\t]* )* # If comment found, allow more spaces.
1578 # optional trailing comments
1579 )? # optional route
1580 (?:
1581 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1582 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1583 # Atom
1584 | # or
1585 " # "
1586 [^\\\x80-\xff\n\015"] * # normal
1587 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015"] * )* # ( special normal* )*
1588 " # "
1589 # Quoted string
1590 )
1591 [\040\t]* # Nab whitespace.
1592 (?:
1593 \( # (
1594 [^\\\x80-\xff\n\015()] * # normal*
1595 (?: # (
1596 (?: \\ [^\x80-\xff] |
1597 \( # (
1598 [^\\\x80-\xff\n\015()] * # normal*
1599 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1600 \) # )
1601 ) # special
1602 [^\\\x80-\xff\n\015()] * # normal*
1603 )* # )*
1604 \) # )
1605 [\040\t]* )* # If comment found, allow more spaces.
1606 (?:
1607 \.
1608 [\040\t]* # Nab whitespace.
1609 (?:
1610 \( # (
1611 [^\\\x80-\xff\n\015()] * # normal*
1612 (?: # (
1613 (?: \\ [^\x80-\xff] |
1614 \( # (
1615 [^\\\x80-\xff\n\015()] * # normal*
1616 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1617 \) # )
1618 ) # special
1619 [^\\\x80-\xff\n\015()] * # normal*
1620 )* # )*
1621 \) # )
1622 [\040\t]* )* # If comment found, allow more spaces.
1623 (?:
1624 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1625 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1626 # Atom
1627 | # or
1628 " # "
1629 [^\\\x80-\xff\n\015"] * # normal
1630 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015"] * )* # ( special normal* )*
1631 " # "
1632 # Quoted string
1633 )
1634 [\040\t]* # Nab whitespace.
1635 (?:
1636 \( # (
1637 [^\\\x80-\xff\n\015()] * # normal*
1638 (?: # (
1639 (?: \\ [^\x80-\xff] |
1640 \( # (
1641 [^\\\x80-\xff\n\015()] * # normal*
1642 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1643 \) # )
1644 ) # special
1645 [^\\\x80-\xff\n\015()] * # normal*
1646 )* # )*
1647 \) # )
1648 [\040\t]* )* # If comment found, allow more spaces.
1649 # additional words
1650 )*
1651 @
1652 [\040\t]* # Nab whitespace.
1653 (?:
1654 \( # (
1655 [^\\\x80-\xff\n\015()] * # normal*
1656 (?: # (
1657 (?: \\ [^\x80-\xff] |
1658 \( # (
1659 [^\\\x80-\xff\n\015()] * # normal*
1660 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1661 \) # )
1662 ) # special
1663 [^\\\x80-\xff\n\015()] * # normal*
1664 )* # )*
1665 \) # )
1666 [\040\t]* )* # If comment found, allow more spaces.
1667 (?:
1668 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1669 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1670 |
1671 \[ # [
1672 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
1673 \] # ]
1674 )
1675 [\040\t]* # Nab whitespace.
1676 (?:
1677 \( # (
1678 [^\\\x80-\xff\n\015()] * # normal*
1679 (?: # (
1680 (?: \\ [^\x80-\xff] |
1681 \( # (
1682 [^\\\x80-\xff\n\015()] * # normal*
1683 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1684 \) # )
1685 ) # special
1686 [^\\\x80-\xff\n\015()] * # normal*
1687 )* # )*
1688 \) # )
1689 [\040\t]* )* # If comment found, allow more spaces.
1690 # optional trailing comments
1691 (?:
1692 \.
1693 [\040\t]* # Nab whitespace.
1694 (?:
1695 \( # (
1696 [^\\\x80-\xff\n\015()] * # normal*
1697 (?: # (
1698 (?: \\ [^\x80-\xff] |
1699 \( # (
1700 [^\\\x80-\xff\n\015()] * # normal*
1701 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1702 \) # )
1703 ) # special
1704 [^\\\x80-\xff\n\015()] * # normal*
1705 )* # )*
1706 \) # )
1707 [\040\t]* )* # If comment found, allow more spaces.
1708 (?:
1709 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1710 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1711 |
1712 \[ # [
1713 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
1714 \] # ]
1715 )
1716 [\040\t]* # Nab whitespace.
1717 (?:
1718 \( # (
1719 [^\\\x80-\xff\n\015()] * # normal*
1720 (?: # (
1721 (?: \\ [^\x80-\xff] |
1722 \( # (
1723 [^\\\x80-\xff\n\015()] * # normal*
1724 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1725 \) # )
1726 ) # special
1727 [^\\\x80-\xff\n\015()] * # normal*
1728 )* # )*
1729 \) # )
1730 [\040\t]* )* # If comment found, allow more spaces.
1731 # optional trailing comments
1732 )*
1733 # address spec
1734 > # >
1735 # name and address
1736 )
1737 /x
1738 Alan Other <user\@dom.ain>
1739 <user\@dom.ain>
1740 user\@dom.ain
1741 \"A. Other\" <user.1234\@dom.ain> (a comment)
1742 A. Other <user.1234\@dom.ain> (a comment)
1743 \"/s=user/ou=host/o=place/prmd=uu.yy/admd= /c=gb/\"\@x400-re.lay
1744 A missing angle <user\@some.where
1745 *** Failers
1746 The quick brown fox
1747
1748 /abc\0def\00pqr\000xyz\0000AB/
1749 abc\0def\00pqr\000xyz\0000AB
1750 abc456 abc\0def\00pqr\000xyz\0000ABCDE
1751
1752 /abc\x0def\x00pqr\x000xyz\x0000AB/
1753 abc\x0def\x00pqr\x000xyz\x0000AB
1754 abc456 abc\x0def\x00pqr\x000xyz\x0000ABCDE
1755
1756 /^[\000-\037]/
1757 \0A
1758 \01B
1759 \037C
1760
1761 /\0*/
1762 \0\0\0\0
1763
1764 /A\x0{2,3}Z/
1765 The A\x0\x0Z
1766 An A\0\x0\0Z
1767 *** Failers
1768 A\0Z
1769 A\0\x0\0\x0Z
1770
1771 /^\s/
1772 \040abc
1773 \x0cabc
1774 \nabc
1775 \rabc
1776 \tabc
1777 *** Failers
1778 abc
1779
1780 /^a b
1781 c/x
1782 abc
1783
1784 /ab{1,3}bc/
1785 abbbbc
1786 abbbc
1787 abbc
1788 *** Failers
1789 abc
1790 abbbbbc
1791
1792 /([^.]*)\.([^:]*):[T ]+(.*)/
1793 track1.title:TBlah blah blah
1794
1795 /([^.]*)\.([^:]*):[T ]+(.*)/i
1796 track1.title:TBlah blah blah
1797
1798 /([^.]*)\.([^:]*):[t ]+(.*)/i
1799 track1.title:TBlah blah blah
1800
1801 /^[W-c]+$/
1802 WXY_^abc
1803 *** Failers
1804 wxy
1805
1806 /^[W-c]+$/i
1807 WXY_^abc
1808 wxy_^ABC
1809
1810 /^[\x3f-\x5F]+$/i
1811 WXY_^abc
1812 wxy_^ABC
1813
1814 /^abc$/m
1815 abc
1816 qqq\nabc
1817 abc\nzzz
1818 qqq\nabc\nzzz
1819
1820 /^abc$/
1821 abc
1822 *** Failers
1823 qqq\nabc
1824 abc\nzzz
1825 qqq\nabc\nzzz
1826
1827 /\Aabc\Z/m
1828 abc
1829 abc\n
1830 *** Failers
1831 qqq\nabc
1832 abc\nzzz
1833 qqq\nabc\nzzz
1834
1835 /\A(.)*\Z/s
1836 abc\ndef
1837
1838 /\A(.)*\Z/m
1839 *** Failers
1840 abc\ndef
1841
1842 /(?:b)|(?::+)/
1843 b::c
1844 c::b
1845
1846 /[-az]+/
1847 az-
1848 *** Failers
1849 b
1850
1851 /[az-]+/
1852 za-
1853 *** Failers
1854 b
1855
1856 /[a\-z]+/
1857 a-z
1858 *** Failers
1859 b
1860
1861 /[a-z]+/
1862 abcdxyz
1863
1864 /[\d-]+/
1865 12-34
1866 *** Failers
1867 aaa
1868
1869 /[\d-z]+/
1870 12-34z
1871 *** Failers
1872 aaa
1873
1874 /\x5c/
1875 \\
1876
1877 /\x20Z/
1878 the Zoo
1879 *** Failers
1880 Zulu
1881
1882 /ab{3cd/
1883 ab{3cd
1884
1885 /ab{3,cd/
1886 ab{3,cd
1887
1888 /ab{3,4a}cd/
1889 ab{3,4a}cd
1890
1891 /{4,5a}bc/
1892 {4,5a}bc
1893
1894 /^a.b/<lf>
1895 a\rb
1896 *** Failers
1897 a\nb
1898
1899 /abc$/
1900 abc
1901 abc\n
1902 *** Failers
1903 abc\ndef
1904
1905 /(abc)\123/
1906 abc\x53
1907
1908 /(abc)\223/
1909 abc\x93
1910
1911 /(abc)\323/
1912 abc\xd3
1913
1914 /(abc)\100/
1915 abc\x40
1916 abc\100
1917
1918 /(abc)\1000/
1919 abc\x400
1920 abc\x40\x30
1921 abc\1000
1922 abc\100\x30
1923 abc\100\060
1924 abc\100\60
1925
1926 /^A\8B\9C$/
1927 A8B9C
1928 *** Failers
1929 A\08B\09C
1930
1931 /^[A\8B\9C]+$/
1932 A8B9C
1933 *** Failers
1934 A8B9C\x00
1935
1936 /(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)\12\123/
1937 abcdefghijk\12S
1938
1939 /ab\idef/
1940 abidef
1941
1942 /a{0}bc/
1943 bc
1944
1945 /(a|(bc)){0,0}?xyz/
1946 xyz
1947
1948 /abc[\10]de/
1949 abc\010de
1950
1951 /abc[\1]de/
1952 abc\1de
1953
1954 /(abc)[\1]de/
1955 abc\1de
1956
1957 /(?s)a.b/
1958 a\nb
1959
1960 /^([^a])([^\b])([^c]*)([^d]{3,4})/
1961 baNOTccccd
1962 baNOTcccd
1963 baNOTccd
1964 bacccd
1965 *** Failers
1966 anything
1967 b\bc
1968 baccd
1969
1970 /[^a]/
1971 Abc
1972
1973 /[^a]/i
1974 Abc
1975
1976 /[^a]+/
1977 AAAaAbc
1978
1979 /[^a]+/i
1980 AAAaAbc
1981
1982 /[^a]+/
1983 bbb\nccc
1984
1985 /[^k]$/
1986 abc
1987 *** Failers
1988 abk
1989
1990 /[^k]{2,3}$/
1991 abc
1992 kbc
1993 kabc
1994 *** Failers
1995 abk
1996 akb
1997 akk
1998
1999 /^\d{8,}\@.+[^k]$/
2000 12345678\@a.b.c.d
2001 123456789\@x.y.z
2002 *** Failers
2003 12345678\@x.y.uk
2004 1234567\@a.b.c.d
2005
2006 /[^a]/
2007 aaaabcd
2008 aaAabcd
2009
2010 /[^a]/i
2011 aaaabcd
2012 aaAabcd
2013
2014 /[^az]/
2015 aaaabcd
2016 aaAabcd
2017
2018 /[^az]/i
2019 aaaabcd
2020 aaAabcd
2021
2022 /\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/
2023 \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
2024
2025 /P[^*]TAIRE[^*]{1,6}?LL/
2026 xxxxxxxxxxxPSTAIREISLLxxxxxxxxx
2027
2028 /P[^*]TAIRE[^*]{1,}?LL/
2029 xxxxxxxxxxxPSTAIREISLLxxxxxxxxx
2030
2031 /(\.\d\d[1-9]?)\d+/
2032 1.230003938
2033 1.875000282
2034 1.235
2035
2036 /(\.\d\d((?=0)|\d(?=\d)))/
2037 1.230003938
2038 1.875000282
2039 *** Failers
2040 1.235
2041
2042 /a(?)b/
2043 ab
2044
2045 /\b(foo)\s+(\w+)/i
2046 Food is on the foo table
2047
2048 /foo(.*)bar/
2049 The food is under the bar in the barn.
2050
2051 /foo(.*?)bar/
2052 The food is under the bar in the barn.
2053
2054 /(.*)(\d*)/O
2055 I have 2 numbers: 53147
2056
2057 /(.*)(\d+)/
2058 I have 2 numbers: 53147
2059
2060 /(.*?)(\d*)/O
2061 I have 2 numbers: 53147
2062
2063 /(.*?)(\d+)/
2064 I have 2 numbers: 53147
2065
2066 /(.*)(\d+)$/
2067 I have 2 numbers: 53147
2068
2069 /(.*?)(\d+)$/
2070 I have 2 numbers: 53147
2071
2072 /(.*)\b(\d+)$/
2073 I have 2 numbers: 53147
2074
2075 /(.*\D)(\d+)$/
2076 I have 2 numbers: 53147
2077
2078 /^\D*(?!123)/
2079 ABC123
2080
2081 /^(\D*)(?=\d)(?!123)/
2082 ABC445
2083 *** Failers
2084 ABC123
2085
2086 /^[W-]46]/
2087 W46]789
2088 -46]789
2089 *** Failers
2090 Wall
2091 Zebra
2092 42
2093 [abcd]
2094 ]abcd[
2095
2096 /^[W-\]46]/
2097 W46]789
2098 Wall
2099 Zebra
2100 Xylophone
2101 42
2102 [abcd]
2103 ]abcd[
2104 \\backslash
2105 *** Failers
2106 -46]789
2107 well
2108
2109 /\d\d\/\d\d\/\d\d\d\d/
2110 01/01/2000
2111
2112 /word (?:[a-zA-Z0-9]+ ){0,10}otherword/
2113 word cat dog elephant mussel cow horse canary baboon snake shark otherword
2114 word cat dog elephant mussel cow horse canary baboon snake shark
2115
2116 /word (?:[a-zA-Z0-9]+ ){0,300}otherword/
2117 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
2118
2119 /^(a){0,0}/
2120 bcd
2121 abc
2122 aab
2123
2124 /^(a){0,1}/
2125 bcd
2126 abc
2127 aab
2128
2129 /^(a){0,2}/
2130 bcd
2131 abc
2132 aab
2133
2134 /^(a){0,3}/
2135 bcd
2136 abc
2137 aab
2138 aaa
2139
2140 /^(a){0,}/
2141 bcd
2142 abc
2143 aab
2144 aaa
2145 aaaaaaaa
2146
2147 /^(a){1,1}/
2148 bcd
2149 abc
2150 aab
2151
2152 /^(a){1,2}/
2153 bcd
2154 abc
2155 aab
2156
2157 /^(a){1,3}/
2158 bcd
2159 abc
2160 aab
2161 aaa
2162
2163 /^(a){1,}/
2164 bcd
2165 abc
2166 aab
2167 aaa
2168 aaaaaaaa
2169
2170 /.*\.gif/
2171 borfle\nbib.gif\nno
2172
2173 /.{0,}\.gif/
2174 borfle\nbib.gif\nno
2175
2176 /.*\.gif/m
2177 borfle\nbib.gif\nno
2178
2179 /.*\.gif/s
2180 borfle\nbib.gif\nno
2181
2182 /.*\.gif/ms
2183 borfle\nbib.gif\nno
2184
2185 /.*$/
2186 borfle\nbib.gif\nno
2187
2188 /.*$/m
2189 borfle\nbib.gif\nno
2190
2191 /.*$/s
2192 borfle\nbib.gif\nno
2193
2194 /.*$/ms
2195 borfle\nbib.gif\nno
2196
2197 /.*$/
2198 borfle\nbib.gif\nno\n
2199
2200 /.*$/m
2201 borfle\nbib.gif\nno\n
2202
2203 /.*$/s
2204 borfle\nbib.gif\nno\n
2205
2206 /.*$/ms
2207 borfle\nbib.gif\nno\n
2208
2209 /(.*X|^B)/
2210 abcde\n1234Xyz
2211 BarFoo
2212 *** Failers
2213 abcde\nBar
2214
2215 /(.*X|^B)/m
2216 abcde\n1234Xyz
2217 BarFoo
2218 abcde\nBar
2219
2220 /(.*X|^B)/s
2221 abcde\n1234Xyz
2222 BarFoo
2223 *** Failers
2224 abcde\nBar
2225
2226 /(.*X|^B)/ms
2227 abcde\n1234Xyz
2228 BarFoo
2229 abcde\nBar
2230
2231 /(?s)(.*X|^B)/
2232 abcde\n1234Xyz
2233 BarFoo
2234 *** Failers
2235 abcde\nBar
2236
2237 /(?s:.*X|^B)/
2238 abcde\n1234Xyz
2239 BarFoo
2240 *** Failers
2241 abcde\nBar
2242
2243 /^.*B/
2244 **** Failers
2245 abc\nB
2246
2247 /(?s)^.*B/
2248 abc\nB
2249
2250 /(?m)^.*B/
2251 abc\nB
2252
2253 /(?ms)^.*B/
2254 abc\nB
2255
2256 /(?ms)^B/
2257 abc\nB
2258
2259 /(?s)B$/
2260 B\n
2261
2262 /^[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]/
2263 123456654321
2264
2265 /^\d\d\d\d\d\d\d\d\d\d\d\d/
2266 123456654321
2267
2268 /^[\d][\d][\d][\d][\d][\d][\d][\d][\d][\d][\d][\d]/
2269 123456654321
2270
2271 /^[abc]{12}/
2272 abcabcabcabc
2273
2274 /^[a-c]{12}/
2275 abcabcabcabc
2276
2277 /^(a|b|c){12}/
2278 abcabcabcabc
2279
2280 /^[abcdefghijklmnopqrstuvwxy0123456789]/
2281 n
2282 *** Failers
2283 z
2284
2285 /abcde{0,0}/
2286 abcd
2287 *** Failers
2288 abce
2289
2290 /ab[cd]{0,0}e/
2291 abe
2292 *** Failers
2293 abcde
2294
2295 /ab(c){0,0}d/
2296 abd
2297 *** Failers
2298 abcd
2299
2300 /a(b*)/
2301 a
2302 ab
2303 abbbb
2304 *** Failers
2305 bbbbb
2306
2307 /ab\d{0}e/
2308 abe
2309 *** Failers
2310 ab1e
2311
2312 /"([^\\"]+|\\.)*"/
2313 the \"quick\" brown fox
2314 \"the \\\"quick\\\" brown fox\"
2315
2316 /.*?/g+
2317 abc
2318
2319 /\b/g+
2320 abc
2321
2322 /\b/+g
2323 abc
2324
2325 //g
2326 abc
2327
2328 /<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
2329 <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>
2330
2331 /a[^a]b/
2332 acb
2333 a\nb
2334
2335 /a.b/
2336 acb
2337 *** Failers
2338 a\nb
2339
2340 /a[^a]b/s
2341 acb
2342 a\nb
2343
2344 /a.b/s
2345 acb
2346 a\nb
2347
2348 /^(b+?|a){1,2}?c/
2349 bac
2350 bbac
2351 bbbac
2352 bbbbac
2353 bbbbbac
2354
2355 /^(b+|a){1,2}?c/
2356 bac
2357 bbac
2358 bbbac
2359 bbbbac
2360 bbbbbac
2361
2362 /(?!\A)x/m
2363 x\nb\n
2364 a\bx\n
2365
2366 /\x0{ab}/
2367 \0{ab}
2368
2369 /(A|B)*?CD/
2370 CD
2371
2372 /(A|B)*CD/
2373 CD
2374
2375 /(?<!bar)foo/
2376 foo
2377 catfood
2378 arfootle
2379 rfoosh
2380 *** Failers
2381 barfoo
2382 towbarfoo
2383
2384 /\w{3}(?<!bar)foo/
2385 catfood
2386 *** Failers
2387 foo
2388 barfoo
2389 towbarfoo
2390
2391 /(?<=(foo)a)bar/
2392 fooabar
2393 *** Failers
2394 bar
2395 foobbar
2396
2397 /\Aabc\z/m
2398 abc
2399 *** Failers
2400 abc\n
2401 qqq\nabc
2402 abc\nzzz
2403 qqq\nabc\nzzz
2404
2405 "(?>.*/)foo"
2406 /this/is/a/very/long/line/in/deed/with/very/many/slashes/in/it/you/see/
2407
2408 "(?>.*/)foo"
2409 /this/is/a/very/long/line/in/deed/with/very/many/slashes/in/and/foo
2410
2411 /(?>(\.\d\d[1-9]?))\d+/
2412 1.230003938
2413 1.875000282
2414 *** Failers
2415 1.235
2416
2417 /^((?>\w+)|(?>\s+))*$/
2418 now is the time for all good men to come to the aid of the party
2419 *** Failers
2420 this is not a line with only words and spaces!
2421
2422 /(\d+)(\w)/
2423 12345a
2424 12345+
2425
2426 /((?>\d+))(\w)/
2427 12345a
2428 *** Failers
2429 12345+
2430
2431 /(?>a+)b/
2432 aaab
2433
2434 /((?>a+)b)/
2435 aaab
2436
2437 /(?>(a+))b/
2438 aaab
2439
2440 /(?>b)+/
2441 aaabbbccc
2442
2443 /(?>a+|b+|c+)*c/
2444 aaabbbbccccd
2445
2446 /(a+|b+|c+)*c/
2447 aaabbbbccccd
2448
2449 /((?>[^()]+)|\([^()]*\))+/
2450 ((abc(ade)ufh()()x
2451
2452 /\(((?>[^()]+)|\([^()]+\))+\)/
2453 (abc)
2454 (abc(def)xyz)
2455 *** Failers
2456 ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
2457
2458 /a(?-i)b/i
2459 ab
2460 Ab
2461 *** Failers
2462 aB
2463 AB
2464
2465 /(a (?x)b c)d e/
2466 a bcd e
2467 *** Failers
2468 a b cd e
2469 abcd e
2470 a bcde
2471
2472 /(a b(?x)c d (?-x)e f)/
2473 a bcde f
2474 *** Failers
2475 abcdef
2476
2477 /(a(?i)b)c/
2478 abc
2479 aBc
2480 *** Failers
2481 abC
2482 aBC
2483 Abc
2484 ABc
2485 ABC
2486 AbC
2487
2488 /a(?i:b)c/
2489 abc
2490 aBc
2491 *** Failers
2492 ABC
2493 abC
2494 aBC
2495
2496 /a(?i:b)*c/
2497 aBc
2498 aBBc
2499 *** Failers
2500 aBC
2501 aBBC
2502
2503 /a(?=b(?i)c)\w\wd/
2504 abcd
2505 abCd
2506 *** Failers
2507 aBCd
2508 abcD
2509
2510 /(?s-i:more.*than).*million/i
2511 more than million
2512 more than MILLION
2513 more \n than Million
2514 *** Failers
2515 MORE THAN MILLION
2516 more \n than \n million
2517
2518 /(?:(?s-i)more.*than).*million/i
2519 more than million
2520 more than MILLION
2521 more \n than Million
2522 *** Failers
2523 MORE THAN MILLION
2524 more \n than \n million
2525
2526 /(?>a(?i)b+)+c/
2527 abc
2528 aBbc
2529 aBBc
2530 *** Failers
2531 Abc
2532 abAb
2533 abbC
2534
2535 /(?=a(?i)b)\w\wc/
2536 abc
2537 aBc
2538 *** Failers
2539 Ab
2540 abC
2541 aBC
2542
2543 /(?<=a(?i)b)(\w\w)c/
2544 abxxc
2545 aBxxc
2546 *** Failers
2547 Abxxc
2548 ABxxc
2549 abxxC
2550
2551 /^(?(?=abc)\w{3}:|\d\d)$/
2552 abc:
2553 12
2554 *** Failers
2555 123
2556 xyz
2557
2558 /^(?(?!abc)\d\d|\w{3}:)$/
2559 abc:
2560 12
2561 *** Failers
2562 123
2563 xyz
2564
2565 /(?(?<=foo)bar|cat)/
2566 foobar
2567 cat
2568 fcat
2569 focat
2570 *** Failers
2571 foocat
2572
2573 /(?(?<!foo)cat|bar)/
2574 foobar
2575 cat
2576 fcat
2577 focat
2578 *** Failers
2579 foocat
2580
2581 /(?>a*)*/
2582 a
2583 aa
2584 aaaa
2585
2586 /(abc|)+/
2587 abc
2588 abcabc
2589 abcabcabc
2590 xyz
2591
2592 /([a]*)*/
2593 a
2594 aaaaa
2595
2596 /([ab]*)*/
2597 a
2598 b
2599 ababab
2600 aaaabcde
2601 bbbb
2602
2603 /([^a]*)*/
2604 b
2605 bbbb
2606 aaa
2607
2608 /([^ab]*)*/
2609 cccc
2610 abab
2611
2612 /([a]*?)*/
2613 a
2614 aaaa
2615
2616 /([ab]*?)*/
2617 a
2618 b
2619 abab
2620 baba
2621
2622 /([^a]*?)*/
2623 b
2624 bbbb
2625 aaa
2626
2627 /([^ab]*?)*/
2628 c
2629 cccc
2630 baba
2631
2632 /(?>a*)*/
2633 a
2634 aaabcde
2635
2636 /((?>a*))*/
2637 aaaaa
2638 aabbaa
2639
2640 /((?>a*?))*/
2641 aaaaa
2642 aabbaa
2643
2644 /(?(?=[^a-z]+[a-z]) \d{2}-[a-z]{3}-\d{2} | \d{2}-\d{2}-\d{2} ) /x
2645 12-sep-98
2646 12-09-98
2647 *** Failers
2648 sep-12-98
2649
2650 /(?i:saturday|sunday)/
2651 saturday
2652 sunday
2653 Saturday
2654 Sunday
2655 SATURDAY
2656 SUNDAY
2657 SunDay
2658
2659 /(a(?i)bc|BB)x/
2660 abcx
2661 aBCx
2662 bbx
2663 BBx
2664 *** Failers
2665 abcX
2666 aBCX
2667 bbX
2668 BBX
2669
2670 /^([ab](?i)[cd]|[ef])/
2671 ac
2672 aC
2673 bD
2674 elephant
2675 Europe
2676 frog
2677 France
2678 *** Failers
2679 Africa
2680
2681 /^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)/
2682 ab
2683 aBd
2684 xy
2685 xY
2686 zebra
2687 Zambesi
2688 *** Failers
2689 aCD
2690 XY
2691
2692 /(?<=foo\n)^bar/m
2693 foo\nbar
2694 *** Failers
2695 bar
2696 baz\nbar
2697
2698 /(?<=(?<!foo)bar)baz/
2699 barbaz
2700 barbarbaz
2701 koobarbaz
2702 *** Failers
2703 baz
2704 foobarbaz
2705
2706 /The following tests are taken from the Perl 5.005 test suite; some of them/
2707 /are compatible with 5.004, but I'd rather not have to sort them out./
2708
2709 /abc/
2710 abc
2711 xabcy
2712 ababc
2713 *** Failers
2714 xbc
2715 axc
2716 abx
2717
2718 /ab*c/
2719 abc
2720
2721 /ab*bc/
2722 abc
2723 abbc
2724 abbbbc
2725
2726 /.{1}/
2727 abbbbc
2728
2729 /.{3,4}/
2730 abbbbc
2731
2732 /ab{0,}bc/
2733 abbbbc
2734
2735 /ab+bc/
2736 abbc
2737 *** Failers
2738 abc
2739 abq
2740
2741 /ab+bc/
2742 abbbbc
2743
2744 /ab{1,}bc/
2745 abbbbc
2746
2747 /ab{1,3}bc/
2748 abbbbc
2749
2750 /ab{3,4}bc/
2751 abbbbc
2752
2753 /ab{4,5}bc/
2754 *** Failers
2755 abq
2756 abbbbc
2757
2758 /ab?bc/
2759 abbc
2760 abc
2761
2762 /ab{0,1}bc/
2763 abc
2764
2765 /ab?bc/
2766
2767 /ab?c/
2768 abc
2769
2770 /ab{0,1}c/
2771 abc
2772
2773 /^abc$/
2774 abc
2775 *** Failers
2776 abbbbc
2777 abcc
2778
2779 /^abc/
2780 abcc
2781
2782 /^abc$/
2783
2784 /abc$/
2785 aabc
2786 *** Failers
2787 aabc
2788 aabcd
2789
2790 /^/
2791 abc
2792
2793 /$/
2794 abc
2795
2796 /a.c/
2797 abc
2798 axc
2799
2800 /a.*c/
2801 axyzc
2802
2803 /a[bc]d/
2804 abd
2805 *** Failers
2806 axyzd
2807 abc
2808
2809 /a[b-d]e/
2810 ace
2811
2812 /a[b-d]/
2813 aac
2814
2815 /a[-b]/
2816 a-
2817
2818 /a[b-]/
2819 a-
2820
2821 /a]/
2822 a]
2823
2824 /a[]]b/
2825 a]b
2826
2827 /a[^bc]d/
2828 aed
2829 *** Failers
2830 abd
2831 abd
2832
2833 /a[^-b]c/
2834 adc
2835
2836 /a[^]b]c/
2837 adc
2838 *** Failers
2839 a-c
2840 a]c
2841
2842 /\ba\b/
2843 a-
2844 -a
2845 -a-
2846
2847 /\by\b/
2848 *** Failers
2849 xy
2850 yz
2851 xyz
2852
2853 /\Ba\B/
2854 *** Failers
2855 a-
2856 -a
2857 -a-
2858
2859 /\By\b/
2860 xy
2861
2862 /\by\B/
2863 yz
2864
2865 /\By\B/
2866 xyz
2867
2868 /\w/
2869 a
2870
2871 /\W/
2872 -
2873 *** Failers
2874 -
2875 a
2876
2877 /a\sb/
2878 a b
2879
2880 /a\Sb/
2881 a-b
2882 *** Failers
2883 a-b
2884 a b
2885
2886 /\d/
2887 1
2888
2889 /\D/
2890 -
2891 *** Failers
2892 -
2893 1
2894
2895 /[\w]/
2896 a
2897
2898 /[\W]/
2899 -
2900 *** Failers
2901 -
2902 a
2903
2904 /a[\s]b/
2905 a b
2906
2907 /a[\S]b/
2908 a-b
2909 *** Failers
2910 a-b
2911 a b
2912
2913 /[\d]/
2914 1
2915
2916 /[\D]/
2917 -
2918 *** Failers
2919 -
2920 1
2921
2922 /ab|cd/
2923 abc
2924 abcd
2925
2926 /()ef/
2927 def
2928
2929 /$b/
2930
2931 /a\(b/
2932 a(b
2933
2934 /a\(*b/
2935 ab
2936 a((b
2937
2938 /a\\b/
2939 a\b
2940
2941 /((a))/
2942 abc
2943
2944 /(a)b(c)/
2945 abc
2946
2947 /a+b+c/
2948 aabbabc
2949
2950 /a{1,}b{1,}c/
2951 aabbabc
2952
2953 /a.+?c/
2954 abcabc
2955
2956 /(a+|b)*/
2957 ab
2958
2959 /(a+|b){0,}/
2960 ab
2961
2962 /(a+|b)+/
2963 ab
2964
2965 /(a+|b){1,}/
2966 ab
2967
2968 /(a+|b)?/
2969 ab
2970
2971 /(a+|b){0,1}/
2972 ab
2973
2974 /[^ab]*/
2975 cde
2976
2977 /abc/
2978 *** Failers
2979 b
2980
2981
2982 /a*/
2983
2984
2985 /([abc])*d/
2986 abbbcd
2987
2988 /([abc])*bcd/
2989 abcd
2990
2991 /a|b|c|d|e/
2992 e
2993
2994 /(a|b|c|d|e)f/
2995 ef
2996
2997 /abcd*efg/
2998 abcdefg
2999
3000 /ab*/
3001 xabyabbbz
3002 xayabbbz
3003
3004 /(ab|cd)e/
3005 abcde
3006
3007 /[abhgefdc]ij/
3008 hij
3009
3010 /^(ab|cd)e/
3011
3012 /(abc|)ef/
3013 abcdef
3014
3015 /(a|b)c*d/
3016 abcd
3017
3018 /(ab|ab*)bc/
3019 abc
3020
3021 /a([bc]*)c*/
3022 abc
3023
3024 /a([bc]*)(c*d)/
3025 abcd
3026
3027 /a([bc]+)(c*d)/
3028 abcd
3029
3030 /a([bc]*)(c+d)/
3031 abcd
3032
3033 /a[bcd]*dcdcde/
3034 adcdcde
3035
3036 /a[bcd]+dcdcde/
3037 *** Failers
3038 abcde
3039 adcdcde
3040
3041 /(ab|a)b*c/
3042 abc
3043
3044 /((a)(b)c)(d)/
3045 abcd
3046
3047 /[a-zA-Z_][a-zA-Z0-9_]*/
3048 alpha
3049
3050 /^a(bc+|b[eh])g|.h$/
3051 abh
3052
3053 /(bc+d$|ef*g.|h?i(j|k))/
3054 effgz
3055 ij
3056 reffgz
3057 *** Failers
3058 effg
3059 bcdd
3060
3061 /((((((((((a))))))))))/
3062 a
3063
3064 /(((((((((a)))))))))/
3065 a
3066
3067 /multiple words of text/
3068 *** Failers
3069 aa
3070 uh-uh
3071
3072 /multiple words/
3073 multiple words, yeah
3074
3075 /(.*)c(.*)/
3076 abcde
3077
3078 /\((.*), (.*)\)/
3079 (a, b)
3080
3081 /[k]/
3082
3083 /abcd/
3084 abcd
3085
3086 /a(bc)d/
3087 abcd
3088
3089 /a[-]?c/
3090 ac
3091
3092 /abc/i
3093 ABC
3094 XABCY
3095 ABABC
3096 *** Failers
3097 aaxabxbaxbbx
3098 XBC
3099 AXC
3100 ABX
3101
3102 /ab*c/i
3103 ABC
3104
3105 /ab*bc/i
3106 ABC
3107 ABBC
3108
3109 /ab*?bc/i
3110 ABBBBC
3111
3112 /ab{0,}?bc/i
3113 ABBBBC
3114
3115 /ab+?bc/i
3116 ABBC
3117
3118 /ab+bc/i
3119 *** Failers
3120 ABC
3121 ABQ
3122
3123 /ab{1,}bc/i
3124
3125 /ab+bc/i
3126 ABBBBC
3127
3128 /ab{1,}?bc/i
3129 ABBBBC
3130
3131 /ab{1,3}?bc/i
3132 ABBBBC
3133
3134 /ab{3,4}?bc/i
3135 ABBBBC
3136
3137 /ab{4,5}?bc/i
3138 *** Failers
3139 ABQ
3140 ABBBBC
3141
3142 /ab??bc/i
3143 ABBC
3144 ABC
3145
3146 /ab{0,1}?bc/i
3147 ABC
3148
3149 /ab??bc/i
3150
3151 /ab??c/i
3152 ABC
3153
3154 /ab{0,1}?c/i
3155 ABC
3156
3157 /^abc$/i
3158 ABC
3159 *** Failers
3160 ABBBBC
3161 ABCC
3162
3163 /^abc/i
3164 ABCC
3165
3166 /^abc$/i
3167
3168 /abc$/i
3169 AABC
3170
3171 /^/i
3172 ABC
3173
3174 /$/i
3175 ABC
3176
3177 /a.c/i
3178 ABC
3179 AXC
3180
3181 /a.*?c/i
3182 AXYZC
3183
3184 /a.*c/i
3185 *** Failers
3186 AABC
3187 AXYZD
3188
3189 /a[bc]d/i
3190 ABD
3191
3192 /a[b-d]e/i
3193 ACE
3194 *** Failers
3195 ABC
3196 ABD
3197
3198 /a[b-d]/i
3199 AAC
3200
3201 /a[-b]/i
3202 A-
3203
3204 /a[b-]/i
3205 A-
3206
3207 /a]/i
3208 A]
3209
3210 /a[]]b/i
3211 A]B
3212
3213 /a[^bc]d/i
3214 AED
3215
3216 /a[^-b]c/i
3217 ADC
3218 *** Failers
3219 ABD
3220 A-C
3221
3222 /a[^]b]c/i
3223 ADC
3224
3225 /ab|cd/i
3226 ABC
3227 ABCD
3228
3229 /()ef/i
3230 DEF
3231
3232 /$b/i
3233 *** Failers
3234 A]C
3235 B
3236
3237 /a\(b/i
3238 A(B
3239
3240 /a\(*b/i
3241 AB
3242 A((B
3243
3244 /a\\b/i
3245 A\B
3246
3247 /((a))/i
3248 ABC
3249
3250 /(a)b(c)/i
3251 ABC
3252
3253 /a+b+c/i
3254 AABBABC
3255
3256 /a{1,}b{1,}c/i
3257 AABBABC
3258
3259 /a.+?c/i
3260 ABCABC
3261
3262 /a.*?c/i
3263 ABCABC
3264
3265 /a.{0,5}?c/i
3266 ABCABC
3267
3268 /(a+|b)*/i
3269 AB
3270
3271 /(a+|b){0,}/i
3272 AB
3273
3274 /(a+|b)+/i
3275 AB
3276
3277 /(a+|b){1,}/i
3278 AB
3279
3280 /(a+|b)?/i
3281 AB
3282
3283 /(a+|b){0,1}/i
3284 AB
3285
3286 /(a+|b){0,1}?/i
3287 AB
3288
3289 /[^ab]*/i
3290 CDE
3291
3292 /abc/i
3293
3294 /a*/i
3295
3296
3297 /([abc])*d/i
3298 ABBBCD
3299
3300 /([abc])*bcd/i
3301 ABCD
3302
3303 /a|b|c|d|e/i
3304 E
3305
3306 /(a|b|c|d|e)f/i
3307 EF
3308
3309 /abcd*efg/i
3310 ABCDEFG
3311
3312 /ab*/i
3313 XABYABBBZ
3314 XAYABBBZ
3315
3316 /(ab|cd)e/i
3317 ABCDE
3318
3319 /[abhgefdc]ij/i
3320 HIJ
3321
3322 /^(ab|cd)e/i
3323 ABCDE
3324
3325 /(abc|)ef/i
3326 ABCDEF
3327
3328 /(a|b)c*d/i
3329 ABCD
3330
3331 /(ab|ab*)bc/i
3332 ABC
3333
3334 /a([bc]*)c*/i
3335 ABC
3336
3337 /a([bc]*)(c*d)/i
3338 ABCD
3339
3340 /a([bc]+)(c*d)/i
3341 ABCD
3342
3343 /a([bc]*)(c+d)/i
3344 ABCD
3345
3346 /a[bcd]*dcdcde/i
3347 ADCDCDE
3348
3349 /a[bcd]+dcdcde/i
3350
3351 /(ab|a)b*c/i
3352 ABC
3353
3354 /((a)(b)c)(d)/i
3355 ABCD
3356
3357 /[a-zA-Z_][a-zA-Z0-9_]*/i
3358 ALPHA
3359
3360 /^a(bc+|b[eh])g|.h$/i
3361 ABH
3362
3363 /(bc+d$|ef*g.|h?i(j|k))/i
3364 EFFGZ
3365 IJ
3366 REFFGZ
3367 *** Failers
3368 ADCDCDE
3369 EFFG
3370 BCDD
3371
3372 /((((((((((a))))))))))/i
3373 A
3374
3375 /(((((((((a)))))))))/i
3376 A
3377
3378 /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a))))))))))/i
3379 A
3380
3381 /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))/i
3382 C
3383
3384 /multiple words of text/i
3385 *** Failers
3386 AA
3387 UH-UH
3388
3389 /multiple words/i
3390 MULTIPLE WORDS, YEAH
3391
3392 /(.*)c(.*)/i
3393 ABCDE
3394
3395 /\((.*), (.*)\)/i
3396 (A, B)
3397
3398 /[k]/i
3399
3400 /abcd/i
3401 ABCD
3402
3403 /a(bc)d/i
3404 ABCD
3405
3406 /a[-]?c/i
3407 AC
3408
3409 /a(?!b)./
3410 abad
3411
3412 /a(?=d)./
3413 abad
3414
3415 /a(?=c|d)./
3416 abad
3417
3418 /a(?:b|c|d)(.)/
3419 ace
3420
3421 /a(?:b|c|d)*(.)/
3422 ace
3423
3424 /a(?:b|c|d)+?(.)/
3425 ace
3426 acdbcdbe
3427
3428 /a(?:b|c|d)+(.)/
3429 acdbcdbe
3430
3431 /a(?:b|c|d){2}(.)/
3432 acdbcdbe
3433
3434 /a(?:b|c|d){4,5}(.)/
3435 acdbcdbe
3436
3437 /a(?:b|c|d){4,5}?(.)/
3438 acdbcdbe
3439
3440 /((foo)|(bar))*/
3441 foobar
3442
3443 /a(?:b|c|d){6,7}(.)/
3444 acdbcdbe
3445
3446 /a(?:b|c|d){6,7}?(.)/
3447 acdbcdbe
3448
3449 /a(?:b|c|d){5,6}(.)/
3450 acdbcdbe
3451
3452 /a(?:b|c|d){5,6}?(.)/
3453 acdbcdbe
3454
3455 /a(?:b|c|d){5,7}(.)/
3456 acdbcdbe
3457
3458 /a(?:b|c|d){5,7}?(.)/
3459 acdbcdbe
3460
3461 /a(?:b|(c|e){1,2}?|d)+?(.)/
3462 ace
3463
3464 /^(.+)?B/
3465 AB
3466
3467 /^([^a-z])|(\^)$/
3468 .
3469
3470 /^[<>]&/
3471 <&OUT
3472
3473 /(?:(f)(o)(o)|(b)(a)(r))*/
3474 foobar
3475
3476 /(?<=a)b/
3477 ab
3478 *** Failers
3479 cb
3480 b
3481
3482 /(?<!c)b/
3483 ab
3484 b
3485 b
3486
3487 /(?:..)*a/
3488 aba
3489
3490 /(?:..)*?a/
3491 aba
3492
3493 /^(){3,5}/
3494 abc
3495
3496 /^(a+)*ax/
3497 aax
3498
3499 /^((a|b)+)*ax/
3500 aax
3501
3502 /^((a|bc)+)*ax/
3503 aax
3504
3505 /(a|x)*ab/
3506 cab
3507
3508 /(a)*ab/
3509 cab
3510
3511 /(?:(?i)a)b/
3512 ab
3513
3514 /((?i)a)b/
3515 ab
3516
3517 /(?:(?i)a)b/
3518 Ab
3519
3520 /((?i)a)b/
3521 Ab
3522
3523 /(?:(?i)a)b/
3524 *** Failers
3525 cb
3526 aB
3527
3528 /((?i)a)b/
3529
3530 /(?i:a)b/
3531 ab
3532
3533 /((?i:a))b/
3534 ab
3535
3536 /(?i:a)b/
3537 Ab
3538
3539 /((?i:a))b/
3540 Ab
3541
3542 /(?i:a)b/
3543 *** Failers
3544 aB
3545 aB
3546
3547 /((?i:a))b/
3548
3549 /(?:(?-i)a)b/i
3550 ab
3551
3552 /((?-i)a)b/i
3553 ab
3554
3555 /(?:(?-i)a)b/i
3556 aB
3557
3558 /((?-i)a)b/i
3559 aB
3560
3561 /(?:(?-i)a)b/i
3562 *** Failers
3563 aB
3564 Ab
3565
3566 /((?-i)a)b/i
3567
3568 /(?:(?-i)a)b/i
3569 aB
3570
3571 /((?-i)a)b/i
3572 aB
3573
3574 /(?:(?-i)a)b/i
3575 *** Failers
3576 Ab
3577 AB
3578
3579 /((?-i)a)b/i
3580
3581 /(?-i:a)b/i
3582 ab
3583
3584 /((?-i:a))b/i
3585 ab
3586
3587 /(?-i:a)b/i
3588 aB
3589
3590 /((?-i:a))b/i
3591 aB
3592
3593 /(?-i:a)b/i
3594 *** Failers
3595 AB
3596 Ab
3597
3598 /((?-i:a))b/i
3599
3600 /(?-i:a)b/i
3601 aB
3602
3603 /((?-i:a))b/i
3604 aB
3605
3606 /(?-i:a)b/i
3607 *** Failers
3608 Ab
3609 AB
3610
3611 /((?-i:a))b/i
3612
3613 /((?-i:a.))b/i
3614 *** Failers
3615 AB
3616 a\nB
3617
3618 /((?s-i:a.))b/i
3619 a\nB
3620
3621 /(?:c|d)(?:)(?:a(?:)(?:b)(?:b(?:))(?:b(?:)(?:b)))/
3622 cabbbb
3623
3624 /(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/
3625 caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
3626
3627 /foo\w*\d{4}baz/
3628 foobar1234baz
3629
3630 /x(~~)*(?:(?:F)?)?/
3631 x~~
3632
3633 /^a(?#xxx){3}c/
3634 aaac
3635
3636 /^a (?#xxx) (?#yyy) {3}c/x
3637 aaac
3638
3639 /(?<![cd])b/
3640 *** Failers
3641 B\nB
3642 dbcb
3643
3644 /(?<![cd])[ab]/
3645 dbaacb
3646
3647 /(?<!(c|d))b/
3648
3649 /(?<!(c|d))[ab]/
3650 dbaacb
3651
3652 /(?<!cd)[ab]/
3653 cdaccb
3654
3655 /^(?:a?b?)*$/
3656 *** Failers
3657 dbcb
3658 a--
3659
3660 /((?s)^a(.))((?m)^b$)/
3661 a\nb\nc\n
3662
3663 /((?m)^b$)/
3664 a\nb\nc\n
3665
3666 /(?m)^b/
3667 a\nb\n
3668
3669 /(?m)^(b)/
3670 a\nb\n
3671
3672 /((?m)^b)/
3673 a\nb\n
3674
3675 /\n((?m)^b)/
3676 a\nb\n
3677
3678 /((?s).)c(?!.)/
3679 a\nb\nc\n
3680 a\nb\nc\n
3681
3682 /((?s)b.)c(?!.)/
3683 a\nb\nc\n
3684 a\nb\nc\n
3685
3686 /^b/
3687
3688 /()^b/
3689 *** Failers
3690 a\nb\nc\n
3691 a\nb\nc\n
3692
3693 /((?m)^b)/
3694 a\nb\nc\n
3695
3696 /(?(?!a)a|b)/
3697
3698 /(?(?!a)b|a)/
3699 a
3700
3701 /(?(?=a)b|a)/
3702 *** Failers
3703 a
3704 a
3705
3706 /(?(?=a)a|b)/
3707 a
3708
3709 /(\w+:)+/
3710 one:
3711
3712 /$(?<=^(a))/
3713 a
3714
3715 /([\w:]+::)?(\w+)$/
3716 abcd
3717 xy:z:::abcd
3718
3719 /^[^bcd]*(c+)/
3720 aexycd
3721
3722 /(a*)b+/
3723 caab
3724
3725 /([\w:]+::)?(\w+)$/
3726 abcd
3727 xy:z:::abcd
3728 *** Failers
3729 abcd:
3730 abcd:
3731
3732 /^[^bcd]*(c+)/
3733 aexycd
3734
3735 /(>a+)ab/
3736
3737 /(?>a+)b/
3738 aaab
3739
3740 /([[:]+)/
3741 a:[b]:
3742
3743 /([[=]+)/
3744 a=[b]=
3745
3746 /([[.]+)/
3747 a.[b].
3748
3749 /((?>a+)b)/
3750 aaab
3751
3752 /(?>(a+))b/
3753 aaab
3754
3755 /((?>[^()]+)|\([^()]*\))+/
3756 ((abc(ade)ufh()()x
3757
3758 /a\Z/
3759 *** Failers
3760 aaab
3761 a\nb\n
3762
3763 /b\Z/
3764 a\nb\n
3765
3766 /b\z/
3767
3768 /b\Z/
3769 a\nb
3770
3771 /b\z/
3772 a\nb
3773 *** Failers
3774
3775 /(?>.*)(?<=(abcd|wxyz))/
3776 alphabetabcd
3777 endingwxyz
3778 *** Failers
3779 a rather long string that doesn't end with one of them
3780
3781 /word (?>(?:(?!otherword)[a-zA-Z0-9]+ ){0,30})otherword/
3782 word cat dog elephant mussel cow horse canary baboon snake shark otherword
3783 word cat dog elephant mussel cow horse canary baboon snake shark
3784
3785 /word (?>[a-zA-Z0-9]+ ){0,30}otherword/
3786 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
3787
3788 /(?<=\d{3}(?!999))foo/
3789 999foo
3790 123999foo
3791 *** Failers
3792 123abcfoo
3793
3794 /(?<=(?!...999)\d{3})foo/
3795 999foo
3796 123999foo
3797 *** Failers
3798 123abcfoo
3799
3800 /(?<=\d{3}(?!999)...)foo/
3801 123abcfoo
3802 123456foo
3803 *** Failers
3804 123999foo
3805
3806 /(?<=\d{3}...)(?<!999)foo/
3807 123abcfoo
3808 123456foo
3809 *** Failers
3810 123999foo
3811
3812 /((Z)+|A)*/
3813 ZABCDEFG
3814
3815 /(Z()|A)*/
3816 ZABCDEFG
3817
3818 /(Z(())|A)*/
3819 ZABCDEFG
3820
3821 /((?>Z)+|A)*/
3822 ZABCDEFG
3823
3824 /((?>)+|A)*/
3825 ZABCDEFG
3826
3827 /a*/g
3828 abbab
3829
3830 /^[a-\d]/
3831 abcde
3832 -things
3833 0digit
3834 *** Failers
3835 bcdef
3836
3837 /^[\d-a]/
3838 abcde
3839 -things
3840 0digit
3841 *** Failers
3842 bcdef
3843
3844 /[[:space:]]+/
3845 > \x09\x0a\x0c\x0d\x0b<
3846
3847 /[[:blank:]]+/
3848 > \x09\x0a\x0c\x0d\x0b<
3849
3850 /[\s]+/
3851 > \x09\x0a\x0c\x0d\x0b<
3852
3853 /\s+/
3854 > \x09\x0a\x0c\x0d\x0b<
3855
3856 /a b/x
3857 ab
3858
3859 /(?!\A)x/m
3860 a\nxb\n
3861
3862 /(?!^)x/m
3863 a\nxb\n
3864
3865 /abc\Qabc\Eabc/
3866 abcabcabc
3867
3868 /abc\Q(*+|\Eabc/
3869 abc(*+|abc
3870
3871 / abc\Q abc\Eabc/x
3872 abc abcabc
3873 *** Failers
3874 abcabcabc
3875
3876 /abc#comment
3877 \Q#not comment
3878 literal\E/x
3879 abc#not comment\n literal
3880
3881 /abc#comment
3882 \Q#not comment
3883 literal/x
3884 abc#not comment\n literal
3885
3886 /abc#comment
3887 \Q#not comment
3888 literal\E #more comment
3889 /x
3890 abc#not comment\n literal
3891
3892 /abc#comment
3893 \Q#not comment
3894 literal\E #more comment/x
3895 abc#not comment\n literal
3896
3897 /\Qabc\$xyz\E/
3898 abc\\\$xyz
3899
3900 /\Qabc\E\$\Qxyz\E/
3901 abc\$xyz
3902
3903 /\Gabc/
3904 abc
3905 *** Failers
3906 xyzabc
3907
3908 /\Gabc./g
3909 abc1abc2xyzabc3
3910
3911 /abc./g
3912 abc1abc2xyzabc3
3913
3914 /a(?x: b c )d/
3915 XabcdY
3916 *** Failers
3917 Xa b c d Y
3918
3919 /((?x)x y z | a b c)/
3920 XabcY
3921 AxyzB
3922
3923 /(?i)AB(?-i)C/
3924 XabCY
3925 *** Failers
3926 XabcY
3927
3928 /((?i)AB(?-i)C|D)E/
3929 abCE
3930 DE
3931 *** Failers
3932 abcE
3933 abCe
3934 dE
3935 De
3936
3937 /[z\Qa-d]\E]/
3938 z
3939 a
3940 -
3941 d
3942 ]
3943 *** Failers
3944 b
3945
3946 /[\z\C]/
3947 z
3948 C
3949
3950 /\M/
3951 M
3952
3953 /(a+)*b/
3954 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
3955
3956 /(?i)reg(?:ul(?:[a]|ae)r|ex)/
3957 REGular
3958 regulaer
3959 Regex
3960 regulr
3961
3962 /[--]+/
3963
3964
3965
3966
3967
3968 /(?<=Z)X./
3969 \x84XAZXB
3970
3971 /^(?(2)a|(1)(2))+$/
3972 123a
3973
3974 /(?<=a|bbbb)c/
3975 ac
3976 bbbbc
3977
3978 /abc/SS>testsavedregex
3979 <testsavedregex
3980 abc
3981 *** Failers
3982 bca
3983
3984 /abc/FSS>testsavedregex
3985 <testsavedregex
3986 abc
3987 *** Failers
3988 bca
3989
3990 /(a|b)/S>testsavedregex
3991 <testsavedregex
3992 abc
3993 *** Failers
3994 def
3995
3996 /(a|b)/SF>testsavedregex
3997 <testsavedregex
3998 abc
3999 *** Failers
4000 def
4001
4002 /line\nbreak/
4003 this is a line\nbreak
4004 line one\nthis is a line\nbreak in the second line
4005
4006 /line\nbreak/f
4007 this is a line\nbreak
4008 ** Failers
4009 line one\nthis is a line\nbreak in the second line
4010
4011 /line\nbreak/mf
4012 this is a line\nbreak
4013 ** Failers
4014 line one\nthis is a line\nbreak in the second line
4015
4016 /1234/
4017 123\P
4018 a4\P\R
4019
4020 /1234/
4021 123\P
4022 4\P\R
4023
4024 /^/mg
4025 a\nb\nc\n
4026 \
4027
4028 /(?<=C\n)^/mg
4029 A\nC\nC\n
4030
4031 /(?s)A?B/
4032 AB
4033 aB
4034
4035 /(?s)A*B/
4036 AB
4037 aB
4038
4039 /(?m)A?B/
4040 AB
4041 aB
4042
4043 /(?m)A*B/
4044 AB
4045 aB
4046
4047 /Content-Type\x3A[^\r\n]{6,}/
4048 Content-Type:xxxxxyyy
4049
4050 /Content-Type\x3A[^\r\n]{6,}z/
4051 Content-Type:xxxxxyyyz
4052
4053 /Content-Type\x3A[^a]{6,}/
4054 Content-Type:xxxyyy
4055
4056 /Content-Type\x3A[^a]{6,}z/
4057 Content-Type:xxxyyyz
4058
4059 /^abc/m
4060 xyz\nabc
4061 xyz\nabc\<lf>
4062 xyz\r\nabc\<lf>
4063 xyz\rabc\<cr>
4064 xyz\r\nabc\<crlf>
4065 ** Failers
4066 xyz\nabc\<cr>
4067 xyz\r\nabc\<cr>
4068 xyz\nabc\<crlf>
4069 xyz\rabc\<crlf>
4070 xyz\rabc\<lf>
4071
4072 /abc$/m<lf>
4073 xyzabc
4074 xyzabc\n
4075 xyzabc\npqr
4076 xyzabc\r\<cr>
4077 xyzabc\rpqr\<cr>
4078 xyzabc\r\n\<crlf>
4079 xyzabc\r\npqr\<crlf>
4080 ** Failers
4081 xyzabc\r
4082 xyzabc\rpqr
4083 xyzabc\r\n
4084 xyzabc\r\npqr
4085
4086 /^abc/m<cr>
4087 xyz\rabcdef
4088 xyz\nabcdef\<lf>
4089 ** Failers
4090 xyz\nabcdef
4091
4092 /^abc/m<lf>
4093 xyz\nabcdef
4094 xyz\rabcdef\<cr>
4095 ** Failers
4096 xyz\rabcdef
4097
4098 /^abc/m<crlf>
4099 xyz\r\nabcdef
4100 xyz\rabcdef\<cr>
4101 ** Failers
4102 xyz\rabcdef
4103
4104 /.*/<lf>
4105 abc\ndef
4106 abc\rdef
4107 abc\r\ndef
4108 \<cr>abc\ndef
4109 \<cr>abc\rdef
4110 \<cr>abc\r\ndef
4111 \<crlf>abc\ndef
4112 \<crlf>abc\rdef
4113 \<crlf>abc\r\ndef
4114
4115 /\w+(.)(.)?def/s
4116 abc\ndef
4117 abc\rdef
4118 abc\r\ndef
4119
4120 /^\w+=.*(\\\n.*)*/
4121 abc=xyz\\\npqr
4122
4123 /^(a()*)*/
4124 aaaa
4125
4126 /^(?:a(?:(?:))*)*/
4127 aaaa
4128
4129 /^(a()+)+/
4130 aaaa
4131
4132 /^(?:a(?:(?:))+)+/
4133 aaaa
4134
4135 /(a|)*\d/
4136 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
4137 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
4138
4139 /(?>a|)*\d/
4140 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
4141 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
4142
4143 /(?:a|)*\d/
4144 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
4145 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
4146
4147 /^a.b/<lf>
4148 a\rb
4149 a\nb\<cr>
4150 ** Failers
4151 a\nb
4152 a\nb\<any>
4153 a\rb\<cr>
4154 a\rb\<any>
4155
4156 /^abc./mgx<any>
4157 abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x85abc7 JUNK
4158
4159 /abc.$/mgx<any>
4160 abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc9
4161
4162 /^a\Rb/<bsr_unicode>
4163 a\nb
4164 a\rb
4165 a\r\nb
4166 a\x0bb
4167 a\x0cb
4168 a\x85b
4169 ** Failers
4170 a\n\rb
4171
4172 /^a\R*b/<bsr_unicode>
4173 ab
4174 a\nb
4175 a\rb
4176 a\r\nb
4177 a\x0bb
4178 a\x0cb
4179 a\x85b
4180 a\n\rb
4181 a\n\r\x85\x0cb
4182
4183 /^a\R+b/<bsr_unicode>
4184 a\nb
4185 a\rb
4186 a\r\nb
4187 a\x0bb
4188 a\x0cb
4189 a\x85b
4190 a\n\rb
4191 a\n\r\x85\x0cb
4192 ** Failers
4193 ab
4194
4195 /^a\R{1,3}b/<bsr_unicode>
4196 a\nb
4197 a\n\rb
4198 a\n\r\x85b
4199 a\r\n\r\nb
4200 a\r\n\r\n\r\nb
4201 a\n\r\n\rb
4202 a\n\n\r\nb
4203 ** Failers
4204 a\n\n\n\rb
4205 a\r
4206
4207 /^a[\R]b/<bsr_unicode>
4208 aRb
4209 ** Failers
4210 a\nb
4211
4212 /.+foo/
4213 afoo
4214 ** Failers
4215 \r\nfoo
4216 \nfoo
4217
4218 /.+foo/<crlf>
4219 afoo
4220 \nfoo
4221 ** Failers
4222 \r\nfoo
4223
4224 /.+foo/<any>
4225 afoo
4226 ** Failers
4227 \nfoo
4228 \r\nfoo
4229
4230 /.+foo/s
4231 afoo
4232 \r\nfoo
4233 \nfoo
4234
4235 /^$/mg<any>
4236 abc\r\rxyz
4237 abc\n\rxyz
4238 ** Failers
4239 abc\r\nxyz
4240
4241 /^X/m
4242 XABC
4243 ** Failers
4244 XABC\B
4245
4246 /(?m)^$/<any>g+
4247 abc\r\n\r\n
4248
4249 /(?m)^$|^\r\n/<any>g+
4250 abc\r\n\r\n
4251
4252 /(?m)$/<any>g+
4253 abc\r\n\r\n
4254
4255 /(?|(abc)|(xyz))/
4256 >abc<
4257 >xyz<
4258
4259 /(x)(?|(abc)|(xyz))(x)/
4260 xabcx
4261 xxyzx
4262
4263 /(x)(?|(abc)(pqr)|(xyz))(x)/
4264 xabcpqrx
4265 xxyzx
4266
4267 /(?|(abc)|(xyz))(?1)/
4268 abcabc
4269 xyzabc
4270 ** Failers
4271 xyzxyz
4272
4273 /\H\h\V\v/
4274 X X\x0a
4275 X\x09X\x0b
4276 ** Failers
4277 \xa0 X\x0a
4278
4279 /\H*\h+\V?\v{3,4}/
4280 \x09\x20\xa0X\x0a\x0b\x0c\x0d\x0a
4281 \x09\x20\xa0\x0a\x0b\x0c\x0d\x0a
4282 \x09\x20\xa0\x0a\x0b\x0c
4283 ** Failers
4284 \x09\x20\xa0\x0a\x0b
4285
4286 /\H{3,4}/
4287 XY ABCDE
4288 XY PQR ST
4289
4290 /.\h{3,4}./
4291 XY AB PQRS
4292
4293 /\h*X\h?\H+Y\H?Z/
4294 >XNNNYZ
4295 > X NYQZ
4296 ** Failers
4297 >XYZ
4298 > X NY Z
4299
4300 /\v*X\v?Y\v+Z\V*\x0a\V+\x0b\V{2,3}\x0c/
4301 >XY\x0aZ\x0aA\x0bNN\x0c
4302 >\x0a\x0dX\x0aY\x0a\x0bZZZ\x0aAAA\x0bNNN\x0c
4303
4304 /.+A/<crlf>
4305 \r\nA
4306
4307 /\nA/<crlf>
4308 \r\nA
4309
4310 /[\r\n]A/<crlf>
4311 \r\nA
4312
4313 /(\r|\n)A/<crlf>
4314 \r\nA
4315
4316 /a\Rb/I<bsr_anycrlf>
4317 a\rb
4318 a\nb
4319 a\r\nb
4320 ** Failers
4321 a\x85b
4322 a\x0bb
4323
4324 /a\Rb/I<bsr_unicode>
4325 a\rb
4326 a\nb
4327 a\r\nb
4328 a\x85b
4329 a\x0bb
4330 ** Failers
4331 a\x85b\<bsr_anycrlf>
4332 a\x0bb\<bsr_anycrlf>
4333
4334 /a\R?b/I<bsr_anycrlf>
4335 a\rb
4336 a\nb
4337 a\r\nb
4338 ** Failers
4339 a\x85b
4340 a\x0bb
4341
4342 /a\R?b/I<bsr_unicode>
4343 a\rb
4344 a\nb
4345 a\r\nb
4346 a\x85b
4347 a\x0bb
4348 ** Failers
4349 a\x85b\<bsr_anycrlf>
4350 a\x0bb\<bsr_anycrlf>
4351
4352 /a\R{2,4}b/I<bsr_anycrlf>
4353 a\r\n\nb
4354 a\n\r\rb
4355 a\r\n\r\n\r\n\r\nb
4356 ** Failers
4357 a\x85\85b
4358 a\x0b\0bb
4359
4360 /a\R{2,4}b/I<bsr_unicode>
4361 a\r\rb
4362 a\n\n\nb
4363 a\r\n\n\r\rb
4364 a\x85\85b
4365 a\x0b\0bb
4366 ** Failers
4367 a\r\r\r\r\rb
4368 a\x85\85b\<bsr_anycrlf>
4369 a\x0b\0bb\<bsr_anycrlf>
4370
4371 /a(?!)|\wbc/
4372 abc
4373
4374 /a[]b/<JS>
4375 ** Failers
4376 ab
4377
4378 /a[]+b/<JS>
4379 ** Failers
4380 ab
4381
4382 /a[]*+b/<JS>
4383 ** Failers
4384 ab
4385
4386 /a[^]b/<JS>
4387 aXb
4388 a\nb
4389 ** Failers
4390 ab
4391
4392 /a[^]+b/<JS>
4393 aXb
4394 a\nX\nXb
4395 ** Failers
4396 ab
4397
4398 /X$/E
4399 X
4400 ** Failers
4401 X\n
4402
4403 /X$/
4404 X
4405 X\n
4406
4407 /xyz/C
4408 xyz
4409 abcxyz
4410 abcxyz\Y
4411 ** Failers
4412 abc
4413 abc\Y
4414 abcxypqr
4415 abcxypqr\Y
4416
4417 /(*NO_START_OPT)xyz/C
4418 abcxyz
4419
4420 /(?C)ab/
4421 ab
4422 \C-ab
4423
4424 /ab/C
4425 ab
4426 \C-ab
4427
4428 /^"((?(?=[a])[^"])|b)*"$/C
4429 "ab"
4430 \C-"ab"
4431
4432 /\d+X|9+Y/
4433 ++++123999\P
4434 ++++123999Y\P
4435
4436 /Z(*F)/
4437 Z\P
4438 ZA\P
4439
4440 /Z(?!)/
4441 Z\P
4442 ZA\P
4443
4444 /dog(sbody)?/
4445 dogs\P
4446 dogs\P\P
4447
4448 /dog(sbody)??/
4449 dogs\P
4450 dogs\P\P
4451
4452 /dog|dogsbody/
4453 dogs\P
4454 dogs\P\P
4455
4456 /dogsbody|dog/
4457 dogs\P
4458 dogs\P\P
4459
4460 /Z(*F)Q|ZXY/
4461 Z\P
4462 ZA\P
4463 X\P
4464
4465 /\bthe cat\b/
4466 the cat\P
4467 the cat\P\P
4468
4469 /dog(sbody)?/
4470 dogs\D\P
4471 body\D\R
4472
4473 /dog(sbody)?/
4474 dogs\D\P\P
4475 body\D\R
4476
4477 /abc/
4478 abc\P
4479 abc\P\P
4480
4481 /abc\K123/
4482 xyzabc123pqr
4483
4484 /(?<=abc)123/
4485 xyzabc123pqr
4486 xyzabc12\P
4487 xyzabc12\P\P
4488
4489 /\babc\b/
4490 +++abc+++
4491 +++ab\P
4492 +++ab\P\P
4493
4494 /(?=C)/g+
4495 ABCDECBA
4496
4497 /(abc|def|xyz)/I
4498 terhjk;abcdaadsfe
4499 the quick xyz brown fox
4500 \Yterhjk;abcdaadsfe
4501 \Ythe quick xyz brown fox
4502 ** Failers
4503 thejk;adlfj aenjl;fda asdfasd ehj;kjxyasiupd
4504 \Ythejk;adlfj aenjl;fda asdfasd ehj;kjxyasiupd
4505
4506 /(abc|def|xyz)/SI
4507 terhjk;abcdaadsfe
4508 the quick xyz brown fox
4509 \Yterhjk;abcdaadsfe
4510 \Ythe quick xyz brown fox
4511 ** Failers
4512 thejk;adlfj aenjl;fda asdfasd ehj;kjxyasiupd
4513 \Ythejk;adlfj aenjl;fda asdfasd ehj;kjxyasiupd
4514
4515 /abcd*/+
4516 xxxxabcd\P
4517 xxxxabcd\P\P
4518 dddxxx\R
4519 xxxxabcd\P\P
4520 xxx\R
4521
4522 /abcd*/i
4523 xxxxabcd\P
4524 xxxxabcd\P\P
4525 XXXXABCD\P
4526 XXXXABCD\P\P
4527
4528 /abc\d*/
4529 xxxxabc1\P
4530 xxxxabc1\P\P
4531
4532 /abc[de]*/
4533 xxxxabcde\P
4534 xxxxabcde\P\P
4535
4536 /(?:(?1)|B)(A(*F)|C)/
4537 ABCD
4538 CCD
4539 ** Failers
4540 CAD
4541
4542 /^(?:(?1)|B)(A(*F)|C)/
4543 CCD
4544 BCD
4545 ** Failers
4546 ABCD
4547 CAD
4548 BAD
4549
4550 /^(?!a(*SKIP)b)/
4551 ac
4552
4553 /^(?=a(*SKIP)b|ac)/
4554 ** Failers
4555 ac
4556
4557 /^(?=a(*THEN)b|ac)/
4558 ac
4559
4560 /^(?=a(*PRUNE)b)/
4561 ab
4562 ** Failers
4563 ac
4564
4565 /^(?(?!a(*SKIP)b))/
4566 ac
4567
4568 /(?<=abc)def/
4569 abc\P\P
4570
4571 /abc$/
4572 abc
4573 abc\P
4574 abc\P\P
4575
4576 /abc$/m
4577 abc
4578 abc\n
4579 abc\P\P
4580 abc\n\P\P
4581 abc\P
4582 abc\n\P
4583
4584 /abc\z/
4585 abc
4586 abc\P
4587 abc\P\P
4588
4589 /abc\Z/
4590 abc
4591 abc\P
4592 abc\P\P
4593
4594 /abc\b/
4595 abc
4596 abc\P
4597 abc\P\P
4598
4599 /abc\B/
4600 abc
4601 abc\P
4602 abc\P\P
4603
4604 /.+/
4605 abc\>0
4606 abc\>1
4607 abc\>2
4608 abc\>3
4609 abc\>4
4610 abc\>-4
4611
4612 /^(?:a)++\w/
4613 aaaab
4614 ** Failers
4615 aaaa
4616 bbb
4617
4618 /^(?:aa|(?:a)++\w)/
4619 aaaab
4620 aaaa
4621 ** Failers
4622 bbb
4623
4624 /^(?:a)*+\w/
4625 aaaab
4626 bbb
4627 ** Failers
4628 aaaa
4629
4630 /^(a)++\w/
4631 aaaab
4632 ** Failers
4633 aaaa
4634 bbb
4635
4636 /^(a|)++\w/
4637 aaaab
4638 ** Failers
4639 aaaa
4640 bbb
4641
4642 /(?=abc){3}abc/+
4643 abcabcabc
4644 ** Failers
4645 xyz
4646
4647 /(?=abc)+abc/+
4648 abcabcabc
4649 ** Failers
4650 xyz
4651
4652 /(?=abc)++abc/+
4653 abcabcabc
4654 ** Failers
4655 xyz
4656
4657 /(?=abc){0}xyz/
4658 xyz
4659
4660 /(?=abc){1}xyz/
4661 ** Failers
4662 xyz
4663
4664 /(?=(a))?./
4665 ab
4666 bc
4667
4668 /(?=(a))??./
4669 ab
4670 bc
4671
4672 /^(?=(a)){0}b(?1)/
4673 backgammon
4674
4675 /^(?=(?1))?[az]([abc])d/
4676 abd
4677 zcdxx
4678
4679 /^(?!a){0}\w+/
4680 aaaaa
4681
4682 /(?<=(abc))?xyz/
4683 abcxyz
4684 pqrxyz
4685
4686 /((?2))((?1))/
4687 abc
4688
4689 /(?(R)a+|(?R)b)/
4690 aaaabcde
4691
4692 /(?(R)a+|((?R))b)/
4693 aaaabcde
4694
4695 /((?(R)a+|(?1)b))/
4696 aaaabcde
4697
4698 /((?(R2)a+|(?1)b))/
4699 aaaabcde
4700
4701 /(?(R)a*(?1)|((?R))b)/
4702 aaaabcde
4703
4704 /(a+)/O
4705 \O6aaaa
4706 \O8aaaa
4707
4708 /ab\Cde/
4709 abXde
4710
4711 /(?<=ab\Cde)X/
4712 abZdeX
4713
4714 /^\R/
4715 \r\P
4716 \r\P\P
4717
4718 /^\R{2,3}x/
4719 \r\P
4720 \r\P\P
4721 \r\r\P
4722 \r\r\P\P
4723 \r\r\r\P
4724 \r\r\r\P\P
4725 \r\rx
4726 \r\r\rx
4727
4728 /^\R{2,3}?x/
4729 \r\P
4730 \r\P\P
4731 \r\r\P
4732 \r\r\P\P
4733 \r\r\r\P
4734 \r\r\r\P\P
4735 \r\rx
4736 \r\r\rx
4737
4738 /^\R?x/
4739 \r\P
4740 \r\P\P
4741 x
4742 \rx
4743
4744 /^\R+x/
4745 \r\P
4746 \r\P\P
4747 \r\n\P
4748 \r\n\P\P
4749 \rx
4750
4751 /^a$/<CRLF>
4752 a\r\P
4753 a\r\P\P
4754
4755 /^a$/m<CRLF>
4756 a\r\P
4757 a\r\P\P
4758
4759 /^(a$|a\r)/<CRLF>
4760 a\r\P
4761 a\r\P\P
4762
4763 /^(a$|a\r)/m<CRLF>
4764 a\r\P
4765 a\r\P\P
4766
4767 /./<CRLF>
4768 \r\P
4769 \r\P\P
4770
4771 /.{2,3}/<CRLF>
4772 \r\P
4773 \r\P\P
4774 \r\r\P
4775 \r\r\P\P
4776 \r\r\r\P
4777 \r\r\r\P\P
4778
4779 /.{2,3}?/<CRLF>
4780 \r\P
4781 \r\P\P
4782 \r\r\P
4783 \r\r\P\P
4784 \r\r\r\P
4785 \r\r\r\P\P
4786
4787 /-- Test simple validity check for restarts --/
4788
4789 /abcdef/
4790 abc\R
4791
4792 /<H((?(?!<H|F>)(.)|(?R))++)*F>/
4793 text <H more text <H texting more hexA0-"\xA0" hex above 7F-"\xBC" F> text xxxxx <H text F> text F> text2 <H text sample F> more text.
4794
4795 /^(?>.{4})abc|^\w\w.xabcd/
4796 xxxxabcd
4797 xx\xa0xabcd
4798
4799 /^(.{4}){2}+abc|^\w\w.x\w\w\w\wabcd/
4800 xxxxxxxxabcd
4801 xx\xa0xxxxxabcd
4802
4803 /abcd/
4804 abcd\O0
4805
4806 /-- End of testinput8 --/

Properties

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

  ViewVC Help
Powered by ViewVC 1.1.5