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

Contents of /code/trunk/testdata/testinput8

Parent Directory Parent Directory | Revision Log Revision Log


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

Properties

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

  ViewVC Help
Powered by ViewVC 1.1.5