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*/ 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]+/ 181 bac 182 bcdefax 183 *** Failers 184 aaaaa 185 186 /[^a]*/ 187 bac 188 bcdefax 189 *** Failers 190 aaaaa 191 192 /[^a]{3,5}/ 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)/ 941 aabbbbb 942 943 /^[ab]{1,3}?(ab*|b)/ 944 aabbbbb 945 946 /^[ab]{1,3}?(ab*?|b)/ 947 aabbbbb 948 949 /^[ab]{1,3}(ab*?|b)/ 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 1783 abc 1784 1785 /ab{1,3}bc/ 1786 abbbbc 1787 abbbc 1788 abbc 1789 *** Failers 1790 abc 1791 abbbbbc 1792 1793 /([^.]*)\.([^:]*):[T ]+(.*)/ 1794 track1.title:TBlah blah blah 1795 1796 /([^.]*)\.([^:]*):[T ]+(.*)/i 1797 track1.title:TBlah blah blah 1798 1799 /([^.]*)\.([^:]*):[t ]+(.*)/i 1800 track1.title:TBlah blah blah 1801 1802 /^[W-c]+$/ 1803 WXY_^abc 1804 *** Failers 1805 wxy 1806 1807 /^[W-c]+$/i 1808 WXY_^abc 1809 wxy_^ABC 1810 1811 /^[\x3f-\x5F]+$/i 1812 WXY_^abc 1813 wxy_^ABC 1814 1815 /^abc$/m 1816 abc 1817 qqq\nabc 1818 abc\nzzz 1819 qqq\nabc\nzzz 1820 1821 /^abc$/ 1822 abc 1823 *** Failers 1824 qqq\nabc 1825 abc\nzzz 1826 qqq\nabc\nzzz 1827 1828 /\Aabc\Z/m 1829 abc 1830 abc\n 1831 *** Failers 1832 qqq\nabc 1833 abc\nzzz 1834 qqq\nabc\nzzz 1835 1836 /\A(.)*\Z/s 1837 abc\ndef 1838 1839 /\A(.)*\Z/m 1840 *** Failers 1841 abc\ndef 1842 1843 /(?:b)|(?::+)/ 1844 b::c 1845 c::b 1846 1847 /[-az]+/ 1848 az- 1849 *** Failers 1850 b 1851 1852 /[az-]+/ 1853 za- 1854 *** Failers 1855 b 1856 1857 /[a\-z]+/ 1858 a-z 1859 *** Failers 1860 b 1861 1862 /[a-z]+/ 1863 abcdxyz 1864 1865 /[\d-]+/ 1866 12-34 1867 *** Failers 1868 aaa 1869 1870 /[\d-z]+/ 1871 12-34z 1872 *** Failers 1873 aaa 1874 1875 /\x5c/ 1876 \\ 1877 1878 /\x20Z/ 1879 the Zoo 1880 *** Failers 1881 Zulu 1882 1883 /ab{3cd/ 1884 ab{3cd 1885 1886 /ab{3,cd/ 1887 ab{3,cd 1888 1889 /ab{3,4a}cd/ 1890 ab{3,4a}cd 1891 1892 /{4,5a}bc/ 1893 {4,5a}bc 1894 1895 /^a.b/<lf> 1896 a\rb 1897 *** Failers 1898 a\nb 1899 1900 /abc$/ 1901 abc 1902 abc\n 1903 *** Failers 1904 abc\ndef 1905 1906 /(abc)\123/ 1907 abc\x53 1908 1909 /(abc)\223/ 1910 abc\x93 1911 1912 /(abc)\323/ 1913 abc\xd3 1914 1915 /(abc)\100/ 1916 abc\x40 1917 abc\100 1918 1919 /(abc)\1000/ 1920 abc\x400 1921 abc\x40\x30 1922 abc\1000 1923 abc\100\x30 1924 abc\100\060 1925 abc\100\60 1926 1927 /abc\81/ 1928 abc\081 1929 abc\0\x38\x31 1930 1931 /abc\91/ 1932 abc\091 1933 abc\0\x39\x31 1934 1935 /(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)\12\123/ 1936 abcdefghijk\12S 1937 1938 /ab\idef/ 1939 abidef 1940 1941 /a{0}bc/ 1942 bc 1943 1944 /(a|(bc)){0,0}?xyz/ 1945 xyz 1946 1947 /abc[\10]de/ 1948 abc\010de 1949 1950 /abc[\1]de/ 1951 abc\1de 1952 1953 /(abc)[\1]de/ 1954 abc\1de 1955 1956 /(?s)a.b/ 1957 a\nb 1958 1959 /^([^a])([^\b])([^c]*)([^d]{3,4})/ 1960 baNOTccccd 1961 baNOTcccd 1962 baNOTccd 1963 bacccd 1964 *** Failers 1965 anything 1966 b\bc 1967 baccd 1968 1969 /[^a]/ 1970 Abc 1971 1972 /[^a]/i 1973 Abc 1974 1975 /[^a]+/ 1976 AAAaAbc 1977 1978 /[^a]+/i 1979 AAAaAbc 1980 1981 /[^a]+/ 1982 bbb\nccc 1983 1984 /[^k]$/ 1985 abc 1986 *** Failers 1987 abk 1988 1989 /[^k]{2,3}$/ 1990 abc 1991 kbc 1992 kabc 1993 *** Failers 1994 abk 1995 akb 1996 akk 1997 1998 /^\d{8,}\@.+[^k]$/ 1999 12345678\@a.b.c.d 2000 123456789\@x.y.z 2001 *** Failers 2002 12345678\@x.y.uk 2003 1234567\@a.b.c.d 2004 2005 /[^a]/ 2006 aaaabcd 2007 aaAabcd 2008 2009 /[^a]/i 2010 aaaabcd 2011 aaAabcd 2012 2013 /[^az]/ 2014 aaaabcd 2015 aaAabcd 2016 2017 /[^az]/i 2018 aaaabcd 2019 aaAabcd 2020 2021 /\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/ 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 2024 /P[^*]TAIRE[^*]{1,6}?LL/ 2025 xxxxxxxxxxxPSTAIREISLLxxxxxxxxx 2026 2027 /P[^*]TAIRE[^*]{1,}?LL/ 2028 xxxxxxxxxxxPSTAIREISLLxxxxxxxxx 2029 2030 /(\.\d\d[1-9]?)\d+/ 2031 1.230003938 2032 1.875000282 2033 1.235 2034 2035 /(\.\d\d((?=0)|\d(?=\d)))/ 2036 1.230003938 2037 1.875000282 2038 *** Failers 2039 1.235 2040 2041 /a(?)b/ 2042 ab 2043 2044 /\b(foo)\s+(\w+)/i 2045 Food is on the foo table 2046 2047 /foo(.*)bar/ 2048 The food is under the bar in the barn. 2049 2050 /foo(.*?)bar/ 2051 The food is under the bar in the barn. 2052 2053 /(.*)(\d*)/ 2054 I have 2 numbers: 53147 2055 2056 /(.*)(\d+)/ 2057 I have 2 numbers: 53147 2058 2059 /(.*?)(\d*)/ 2060 I have 2 numbers: 53147 2061 2062 /(.*?)(\d+)/ 2063 I have 2 numbers: 53147 2064 2065 /(.*)(\d+)$/ 2066 I have 2 numbers: 53147 2067 2068 /(.*?)(\d+)$/ 2069 I have 2 numbers: 53147 2070 2071 /(.*)\b(\d+)$/ 2072 I have 2 numbers: 53147 2073 2074 /(.*\D)(\d+)$/ 2075 I have 2 numbers: 53147 2076 2077 /^\D*(?!123)/ 2078 ABC123 2079 2080 /^(\D*)(?=\d)(?!123)/ 2081 ABC445 2082 *** Failers 2083 ABC123 2084 2085 /^[W-]46]/ 2086 W46]789 2087 -46]789 2088 *** Failers 2089 Wall 2090 Zebra 2091 42 2092 [abcd] 2093 ]abcd[ 2094 2095 /^[W-\]46]/ 2096 W46]789 2097 Wall 2098 Zebra 2099 Xylophone 2100 42 2101 [abcd] 2102 ]abcd[ 2103 \\backslash 2104 *** Failers 2105 -46]789 2106 well 2107 2108 /\d\d\/\d\d\/\d\d\d\d/ 2109 01/01/2000 2110 2111 /word (?:[a-zA-Z0-9]+ ){0,10}otherword/ 2112 word cat dog elephant mussel cow horse canary baboon snake shark otherword 2113 word cat dog elephant mussel cow horse canary baboon snake shark 2114 2115 /word (?:[a-zA-Z0-9]+ ){0,300}otherword/ 2116 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 2117 2118 /^(a){0,0}/ 2119 bcd 2120 abc 2121 aab 2122 2123 /^(a){0,1}/ 2124 bcd 2125 abc 2126 aab 2127 2128 /^(a){0,2}/ 2129 bcd 2130 abc 2131 aab 2132 2133 /^(a){0,3}/ 2134 bcd 2135 abc 2136 aab 2137 aaa 2138 2139 /^(a){0,}/ 2140 bcd 2141 abc 2142 aab 2143 aaa 2144 aaaaaaaa 2145 2146 /^(a){1,1}/ 2147 bcd 2148 abc 2149 aab 2150 2151 /^(a){1,2}/ 2152 bcd 2153 abc 2154 aab 2155 2156 /^(a){1,3}/ 2157 bcd 2158 abc 2159 aab 2160 aaa 2161 2162 /^(a){1,}/ 2163 bcd 2164 abc 2165 aab 2166 aaa 2167 aaaaaaaa 2168 2169 /.*\.gif/ 2170 borfle\nbib.gif\nno 2171 2172 /.{0,}\.gif/ 2173 borfle\nbib.gif\nno 2174 2175 /.*\.gif/m 2176 borfle\nbib.gif\nno 2177 2178 /.*\.gif/s 2179 borfle\nbib.gif\nno 2180 2181 /.*\.gif/ms 2182 borfle\nbib.gif\nno 2183 2184 /.*$/ 2185 borfle\nbib.gif\nno 2186 2187 /.*$/m 2188 borfle\nbib.gif\nno 2189 2190 /.*$/s 2191 borfle\nbib.gif\nno 2192 2193 /.*$/ms 2194 borfle\nbib.gif\nno 2195 2196 /.*$/ 2197 borfle\nbib.gif\nno\n 2198 2199 /.*$/m 2200 borfle\nbib.gif\nno\n 2201 2202 /.*$/s 2203 borfle\nbib.gif\nno\n 2204 2205 /.*$/ms 2206 borfle\nbib.gif\nno\n 2207 2208 /(.*X|^B)/ 2209 abcde\n1234Xyz 2210 BarFoo 2211 *** Failers 2212 abcde\nBar 2213 2214 /(.*X|^B)/m 2215 abcde\n1234Xyz 2216 BarFoo 2217 abcde\nBar 2218 2219 /(.*X|^B)/s 2220 abcde\n1234Xyz 2221 BarFoo 2222 *** Failers 2223 abcde\nBar 2224 2225 /(.*X|^B)/ms 2226 abcde\n1234Xyz 2227 BarFoo 2228 abcde\nBar 2229 2230 /(?s)(.*X|^B)/ 2231 abcde\n1234Xyz 2232 BarFoo 2233 *** Failers 2234 abcde\nBar 2235 2236 /(?s:.*X|^B)/ 2237 abcde\n1234Xyz 2238 BarFoo 2239 *** Failers 2240 abcde\nBar 2241 2242 /^.*B/ 2243 **** Failers 2244 abc\nB 2245 2246 /(?s)^.*B/ 2247 abc\nB 2248 2249 /(?m)^.*B/ 2250 abc\nB 2251 2252 /(?ms)^.*B/ 2253 abc\nB 2254 2255 /(?ms)^B/ 2256 abc\nB 2257 2258 /(?s)B$/ 2259 B\n 2260 2261 /^[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]/ 2262 123456654321 2263 2264 /^\d\d\d\d\d\d\d\d\d\d\d\d/ 2265 123456654321 2266 2267 /^[\d][\d][\d][\d][\d][\d][\d][\d][\d][\d][\d][\d]/ 2268 123456654321 2269 2270 /^[abc]{12}/ 2271 abcabcabcabc 2272 2273 /^[a-c]{12}/ 2274 abcabcabcabc 2275 2276 /^(a|b|c){12}/ 2277 abcabcabcabc 2278 2279 /^[abcdefghijklmnopqrstuvwxy0123456789]/ 2280 n 2281 *** Failers 2282 z 2283 2284 /abcde{0,0}/ 2285 abcd 2286 *** Failers 2287 abce 2288 2289 /ab[cd]{0,0}e/ 2290 abe 2291 *** Failers 2292 abcde 2293 2294 /ab(c){0,0}d/ 2295 abd 2296 *** Failers 2297 abcd 2298 2299 /a(b*)/ 2300 a 2301 ab 2302 abbbb 2303 *** Failers 2304 bbbbb 2305 2306 /ab\d{0}e/ 2307 abe 2308 *** Failers 2309 ab1e 2310 2311 /"([^\\"]+|\\.)*"/ 2312 the \"quick\" brown fox 2313 \"the \\\"quick\\\" brown fox\" 2314 2315 /.*?/g+ 2316 abc 2317 2318 /\b/g+ 2319 abc 2320 2321 /\b/+g 2322 abc 2323 2324 //g 2325 abc 2326 2327 /<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 2328 <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> 2329 2330 /a[^a]b/ 2331 acb 2332 a\nb 2333 2334 /a.b/ 2335 acb 2336 *** Failers 2337 a\nb 2338 2339 /a[^a]b/s 2340 acb 2341 a\nb 2342 2343 /a.b/s 2344 acb 2345 a\nb 2346 2347 /^(b+?|a){1,2}?c/ 2348 bac 2349 bbac 2350 bbbac 2351 bbbbac 2352 bbbbbac 2353 2354 /^(b+|a){1,2}?c/ 2355 bac 2356 bbac 2357 bbbac 2358 bbbbac 2359 bbbbbac 2360 2361 /(?!\A)x/m 2362 x\nb\n 2363 a\bx\n 2364 2365 /\x0{ab}/ 2366 \0{ab} 2367 2368 /(A|B)*?CD/ 2369 CD 2370 2371 /(A|B)*CD/ 2372 CD 2373 2374 /(?<!bar)foo/ 2375 foo 2376 catfood 2377 arfootle 2378 rfoosh 2379 *** Failers 2380 barfoo 2381 towbarfoo 2382 2383 /\w{3}(?<!bar)foo/ 2384 catfood 2385 *** Failers 2386 foo 2387 barfoo 2388 towbarfoo 2389 2390 /(?<=(foo)a)bar/ 2391 fooabar 2392 *** Failers 2393 bar 2394 foobbar 2395 2396 /\Aabc\z/m 2397 abc 2398 *** Failers 2399 abc\n 2400 qqq\nabc 2401 abc\nzzz 2402 qqq\nabc\nzzz 2403 2404 "(?>.*/)foo" 2405 /this/is/a/very/long/line/in/deed/with/very/many/slashes/in/it/you/see/ 2406 2407 "(?>.*/)foo" 2408 /this/is/a/very/long/line/in/deed/with/very/many/slashes/in/and/foo 2409 2410 /(?>(\.\d\d[1-9]?))\d+/ 2411 1.230003938 2412 1.875000282 2413 *** Failers 2414 1.235 2415 2416 /^((?>\w+)|(?>\s+))*$/ 2417 now is the time for all good men to come to the aid of the party 2418 *** Failers 2419 this is not a line with only words and spaces! 2420 2421 /(\d+)(\w)/ 2422 12345a 2423 12345+ 2424 2425 /((?>\d+))(\w)/ 2426 12345a 2427 *** Failers 2428 12345+ 2429 2430 /(?>a+)b/ 2431 aaab 2432 2433 /((?>a+)b)/ 2434 aaab 2435 2436 /(?>(a+))b/ 2437 aaab 2438 2439 /(?>b)+/ 2440 aaabbbccc 2441 2442 /(?>a+|b+|c+)*c/ 2443 aaabbbbccccd 2444 2445 /(a+|b+|c+)*c/ 2446 aaabbbbccccd 2447 2448 /((?>[^()]+)|\([^()]*\))+/ 2449 ((abc(ade)ufh()()x 2450 2451 /\(((?>[^()]+)|\([^()]+\))+\)/ 2452 (abc) 2453 (abc(def)xyz) 2454 *** Failers 2455 ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 2456 2457 /a(?-i)b/i 2458 ab 2459 Ab 2460 *** Failers 2461 aB 2462 AB 2463 2464 /(a (?x)b c)d e/ 2465 a bcd e 2466 *** Failers 2467 a b cd e 2468 abcd e 2469 a bcde 2470 2471 /(a b(?x)c d (?-x)e f)/ 2472 a bcde f 2473 *** Failers 2474 abcdef 2475 2476 /(a(?i)b)c/ 2477 abc 2478 aBc 2479 *** Failers 2480 abC 2481 aBC 2482 Abc 2483 ABc 2484 ABC 2485 AbC 2486 2487 /a(?i:b)c/ 2488 abc 2489 aBc 2490 *** Failers 2491 ABC 2492 abC 2493 aBC 2494 2495 /a(?i:b)*c/ 2496 aBc 2497 aBBc 2498 *** Failers 2499 aBC 2500 aBBC 2501 2502 /a(?=b(?i)c)\w\wd/ 2503 abcd 2504 abCd 2505 *** Failers 2506 aBCd 2507 abcD 2508 2509 /(?s-i:more.*than).*million/i 2510 more than million 2511 more than MILLION 2512 more \n than Million 2513 *** Failers 2514 MORE THAN MILLION 2515 more \n than \n million 2516 2517 /(?:(?s-i)more.*than).*million/i 2518 more than million 2519 more than MILLION 2520 more \n than Million 2521 *** Failers 2522 MORE THAN MILLION 2523 more \n than \n million 2524 2525 /(?>a(?i)b+)+c/ 2526 abc 2527 aBbc 2528 aBBc 2529 *** Failers 2530 Abc 2531 abAb 2532 abbC 2533 2534 /(?=a(?i)b)\w\wc/ 2535 abc 2536 aBc 2537 *** Failers 2538 Ab 2539 abC 2540 aBC 2541 2542 /(?<=a(?i)b)(\w\w)c/ 2543 abxxc 2544 aBxxc 2545 *** Failers 2546 Abxxc 2547 ABxxc 2548 abxxC 2549 2550 /^(?(?=abc)\w{3}:|\d\d)$/ 2551 abc: 2552 12 2553 *** Failers 2554 123 2555 xyz 2556 2557 /^(?(?!abc)\d\d|\w{3}:)$/ 2558 abc: 2559 12 2560 *** Failers 2561 123 2562 xyz 2563 2564 /(?(?<=foo)bar|cat)/ 2565 foobar 2566 cat 2567 fcat 2568 focat 2569 *** Failers 2570 foocat 2571 2572 /(?(?<!foo)cat|bar)/ 2573 foobar 2574 cat 2575 fcat 2576 focat 2577 *** Failers 2578 foocat 2579 2580 /(?>a*)*/ 2581 a 2582 aa 2583 aaaa 2584 2585 /(abc|)+/ 2586 abc 2587 abcabc 2588 abcabcabc 2589 xyz 2590 2591 /([a]*)*/ 2592 a 2593 aaaaa 2594 2595 /([ab]*)*/ 2596 a 2597 b 2598 ababab 2599 aaaabcde 2600 bbbb 2601 2602 /([^a]*)*/ 2603 b 2604 bbbb 2605 aaa 2606 2607 /([^ab]*)*/ 2608 cccc 2609 abab 2610 2611 /([a]*?)*/ 2612 a 2613 aaaa 2614 2615 /([ab]*?)*/ 2616 a 2617 b 2618 abab 2619 baba 2620 2621 /([^a]*?)*/ 2622 b 2623 bbbb 2624 aaa 2625 2626 /([^ab]*?)*/ 2627 c 2628 cccc 2629 baba 2630 2631 /(?>a*)*/ 2632 a 2633 aaabcde 2634 2635 /((?>a*))*/ 2636 aaaaa 2637 aabbaa 2638 2639 /((?>a*?))*/ 2640 aaaaa 2641 aabbaa 2642 2643 /(?(?=[^a-z]+[a-z]) \d{2}-[a-z]{3}-\d{2} | \d{2}-\d{2}-\d{2} ) /x 2644 12-sep-98 2645 12-09-98 2646 *** Failers 2647 sep-12-98 2648 2649 /(?i:saturday|sunday)/ 2650 saturday 2651 sunday 2652 Saturday 2653 Sunday 2654 SATURDAY 2655 SUNDAY 2656 SunDay 2657 2658 /(a(?i)bc|BB)x/ 2659 abcx 2660 aBCx 2661 bbx 2662 BBx 2663 *** Failers 2664 abcX 2665 aBCX 2666 bbX 2667 BBX 2668 2669 /^([ab](?i)[cd]|[ef])/ 2670 ac 2671 aC 2672 bD 2673 elephant 2674 Europe 2675 frog 2676 France 2677 *** Failers 2678 Africa 2679 2680 /^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)/ 2681 ab 2682 aBd 2683 xy 2684 xY 2685 zebra 2686 Zambesi 2687 *** Failers 2688 aCD 2689 XY 2690 2691 /(?<=foo\n)^bar/m 2692 foo\nbar 2693 *** Failers 2694 bar 2695 baz\nbar 2696 2697 /(?<=(?<!foo)bar)baz/ 2698 barbaz 2699 barbarbaz 2700 koobarbaz 2701 *** Failers 2702 baz 2703 foobarbaz 2704 2705 /The following tests are taken from the Perl 5.005 test suite; some of them/ 2706 /are compatible with 5.004, but I'd rather not have to sort them out./ 2707 2708 /abc/ 2709 abc 2710 xabcy 2711 ababc 2712 *** Failers 2713 xbc 2714 axc 2715 abx 2716 2717 /ab*c/ 2718 abc 2719 2720 /ab*bc/ 2721 abc 2722 abbc 2723 abbbbc 2724 2725 /.{1}/ 2726 abbbbc 2727 2728 /.{3,4}/ 2729 abbbbc 2730 2731 /ab{0,}bc/ 2732 abbbbc 2733 2734 /ab+bc/ 2735 abbc 2736 *** Failers 2737 abc 2738 abq 2739 2740 /ab+bc/ 2741 abbbbc 2742 2743 /ab{1,}bc/ 2744 abbbbc 2745 2746 /ab{1,3}bc/ 2747 abbbbc 2748 2749 /ab{3,4}bc/ 2750 abbbbc 2751 2752 /ab{4,5}bc/ 2753 *** Failers 2754 abq 2755 abbbbc 2756 2757 /ab?bc/ 2758 abbc 2759 abc 2760 2761 /ab{0,1}bc/ 2762 abc 2763 2764 /ab?bc/ 2765 2766 /ab?c/ 2767 abc 2768 2769 /ab{0,1}c/ 2770 abc 2771 2772 /^abc$/ 2773 abc 2774 *** Failers 2775 abbbbc 2776 abcc 2777 2778 /^abc/ 2779 abcc 2780 2781 /^abc$/ 2782 2783 /abc$/ 2784 aabc 2785 *** Failers 2786 aabc 2787 aabcd 2788 2789 /^/ 2790 abc 2791 2792 /$/ 2793 abc 2794 2795 /a.c/ 2796 abc 2797 axc 2798 2799 /a.*c/ 2800 axyzc 2801 2802 /a[bc]d/ 2803 abd 2804 *** Failers 2805 axyzd 2806 abc 2807 2808 /a[b-d]e/ 2809 ace 2810 2811 /a[b-d]/ 2812 aac 2813 2814 /a[-b]/ 2815 a- 2816 2817 /a[b-]/ 2818 a- 2819 2820 /a]/ 2821 a] 2822 2823 /a[]]b/ 2824 a]b 2825 2826 /a[^bc]d/ 2827 aed 2828 *** Failers 2829 abd 2830 abd 2831 2832 /a[^-b]c/ 2833 adc 2834 2835 /a[^]b]c/ 2836 adc 2837 *** Failers 2838 a-c 2839 a]c 2840 2841 /\ba\b/ 2842 a- 2843 -a 2844 -a- 2845 2846 /\by\b/ 2847 *** Failers 2848 xy 2849 yz 2850 xyz 2851 2852 /\Ba\B/ 2853 *** Failers 2854 a- 2855 -a 2856 -a- 2857 2858 /\By\b/ 2859 xy 2860 2861 /\by\B/ 2862 yz 2863 2864 /\By\B/ 2865 xyz 2866 2867 /\w/ 2868 a 2869 2870 /\W/ 2871 - 2872 *** Failers 2873 - 2874 a 2875 2876 /a\sb/ 2877 a b 2878 2879 /a\Sb/ 2880 a-b 2881 *** Failers 2882 a-b 2883 a b 2884 2885 /\d/ 2886 1 2887 2888 /\D/ 2889 - 2890 *** Failers 2891 - 2892 1 2893 2894 /[\w]/ 2895 a 2896 2897 /[\W]/ 2898 - 2899 *** Failers 2900 - 2901 a 2902 2903 /a[\s]b/ 2904 a b 2905 2906 /a[\S]b/ 2907 a-b 2908 *** Failers 2909 a-b 2910 a b 2911 2912 /[\d]/ 2913 1 2914 2915 /[\D]/ 2916 - 2917 *** Failers 2918 - 2919 1 2920 2921 /ab|cd/ 2922 abc 2923 abcd 2924 2925 /()ef/ 2926 def 2927 2928 /$b/ 2929 2930 /a\(b/ 2931 a(b 2932 2933 /a\(*b/ 2934 ab 2935 a((b 2936 2937 /a\\b/ 2938 a\b 2939 2940 /((a))/ 2941 abc 2942 2943 /(a)b(c)/ 2944 abc 2945 2946 /a+b+c/ 2947 aabbabc 2948 2949 /a{1,}b{1,}c/ 2950 aabbabc 2951 2952 /a.+?c/ 2953 abcabc 2954 2955 /(a+|b)*/ 2956 ab 2957 2958 /(a+|b){0,}/ 2959 ab 2960 2961 /(a+|b)+/ 2962 ab 2963 2964 /(a+|b){1,}/ 2965 ab 2966 2967 /(a+|b)?/ 2968 ab 2969 2970 /(a+|b){0,1}/ 2971 ab 2972 2973 /[^ab]*/ 2974 cde 2975 2976 /abc/ 2977 *** Failers 2978 b 2979 2980 2981 /a*/ 2982 2983 2984 /([abc])*d/ 2985 abbbcd 2986 2987 /([abc])*bcd/ 2988 abcd 2989 2990 /a|b|c|d|e/ 2991 e 2992 2993 /(a|b|c|d|e)f/ 2994 ef 2995 2996 /abcd*efg/ 2997 abcdefg 2998 2999 /ab*/ 3000 xabyabbbz 3001 xayabbbz 3002 3003 /(ab|cd)e/ 3004 abcde 3005 3006 /[abhgefdc]ij/ 3007 hij 3008 3009 /^(ab|cd)e/ 3010 3011 /(abc|)ef/ 3012 abcdef 3013 3014 /(a|b)c*d/ 3015 abcd 3016 3017 /(ab|ab*)bc/ 3018 abc 3019 3020 /a([bc]*)c*/ 3021 abc 3022 3023 /a([bc]*)(c*d)/ 3024 abcd 3025 3026 /a([bc]+)(c*d)/ 3027 abcd 3028 3029 /a([bc]*)(c+d)/ 3030 abcd 3031 3032 /a[bcd]*dcdcde/ 3033 adcdcde 3034 3035 /a[bcd]+dcdcde/ 3036 *** Failers 3037 abcde 3038 adcdcde 3039 3040 /(ab|a)b*c/ 3041 abc 3042 3043 /((a)(b)c)(d)/ 3044 abcd 3045 3046 /[a-zA-Z_][a-zA-Z0-9_]*/ 3047 alpha 3048 3049 /^a(bc+|b[eh])g|.h$/ 3050 abh 3051 3052 /(bc+d$|ef*g.|h?i(j|k))/ 3053 effgz 3054 ij 3055 reffgz 3056 *** Failers 3057 effg 3058 bcdd 3059 3060 /((((((((((a))))))))))/ 3061 a 3062 3063 /(((((((((a)))))))))/ 3064 a 3065 3066 /multiple words of text/ 3067 *** Failers 3068 aa 3069 uh-uh 3070 3071 /multiple words/ 3072 multiple words, yeah 3073 3074 /(.*)c(.*)/ 3075 abcde 3076 3077 /\((.*), (.*)\)/ 3078 (a, b) 3079 3080 /[k]/ 3081 3082 /abcd/ 3083 abcd 3084 3085 /a(bc)d/ 3086 abcd 3087 3088 /a[-]?c/ 3089 ac 3090 3091 /abc/i 3092 ABC 3093 XABCY 3094 ABABC 3095 *** Failers 3096 aaxabxbaxbbx 3097 XBC 3098 AXC 3099 ABX 3100 3101 /ab*c/i 3102 ABC 3103 3104 /ab*bc/i 3105 ABC 3106 ABBC 3107 3108 /ab*?bc/i 3109 ABBBBC 3110 3111 /ab{0,}?bc/i 3112 ABBBBC 3113 3114 /ab+?bc/i 3115 ABBC 3116 3117 /ab+bc/i 3118 *** Failers 3119 ABC 3120 ABQ 3121 3122 /ab{1,}bc/i 3123 3124 /ab+bc/i 3125 ABBBBC 3126 3127 /ab{1,}?bc/i 3128 ABBBBC 3129 3130 /ab{1,3}?bc/i 3131 ABBBBC 3132 3133 /ab{3,4}?bc/i 3134 ABBBBC 3135 3136 /ab{4,5}?bc/i 3137 *** Failers 3138 ABQ 3139 ABBBBC 3140 3141 /ab??bc/i 3142 ABBC 3143 ABC 3144 3145 /ab{0,1}?bc/i 3146 ABC 3147 3148 /ab??bc/i 3149 3150 /ab??c/i 3151 ABC 3152 3153 /ab{0,1}?c/i 3154 ABC 3155 3156 /^abc$/i 3157 ABC 3158 *** Failers 3159 ABBBBC 3160 ABCC 3161 3162 /^abc/i 3163 ABCC 3164 3165 /^abc$/i 3166 3167 /abc$/i 3168 AABC 3169 3170 /^/i 3171 ABC 3172 3173 /$/i 3174 ABC 3175 3176 /a.c/i 3177 ABC 3178 AXC 3179 3180 /a.*?c/i 3181 AXYZC 3182 3183 /a.*c/i 3184 *** Failers 3185 AABC 3186 AXYZD 3187 3188 /a[bc]d/i 3189 ABD 3190 3191 /a[b-d]e/i 3192 ACE 3193 *** Failers 3194 ABC 3195 ABD 3196 3197 /a[b-d]/i 3198 AAC 3199 3200 /a[-b]/i 3201 A- 3202 3203 /a[b-]/i 3204 A- 3205 3206 /a]/i 3207 A] 3208 3209 /a[]]b/i 3210 A]B 3211 3212 /a[^bc]d/i 3213 AED 3214 3215 /a[^-b]c/i 3216 ADC 3217 *** Failers 3218 ABD 3219 A-C 3220 3221 /a[^]b]c/i 3222 ADC 3223 3224 /ab|cd/i 3225 ABC 3226 ABCD 3227 3228 /()ef/i 3229 DEF 3230 3231 /$b/i 3232 *** Failers 3233 A]C 3234 B 3235 3236 /a\(b/i 3237 A(B 3238 3239 /a\(*b/i 3240 AB 3241 A((B 3242 3243 /a\\b/i 3244 A\B 3245 3246 /((a))/i 3247 ABC 3248 3249 /(a)b(c)/i 3250 ABC 3251 3252 /a+b+c/i 3253 AABBABC 3254 3255 /a{1,}b{1,}c/i 3256 AABBABC 3257 3258 /a.+?c/i 3259 ABCABC 3260 3261 /a.*?c/i 3262 ABCABC 3263 3264 /a.{0,5}?c/i 3265 ABCABC 3266 3267 /(a+|b)*/i 3268 AB 3269 3270 /(a+|b){0,}/i 3271 AB 3272 3273 /(a+|b)+/i 3274 AB 3275 3276 /(a+|b){1,}/i 3277 AB 3278 3279 /(a+|b)?/i 3280 AB 3281 3282 /(a+|b){0,1}/i 3283 AB 3284 3285 /(a+|b){0,1}?/i 3286 AB 3287 3288 /[^ab]*/i 3289 CDE 3290 3291 /abc/i 3292 3293 /a*/i 3294 3295 3296 /([abc])*d/i 3297 ABBBCD 3298 3299 /([abc])*bcd/i 3300 ABCD 3301 3302 /a|b|c|d|e/i 3303 E 3304 3305 /(a|b|c|d|e)f/i 3306 EF 3307 3308 /abcd*efg/i 3309 ABCDEFG 3310 3311 /ab*/i 3312 XABYABBBZ 3313 XAYABBBZ 3314 3315 /(ab|cd)e/i 3316 ABCDE 3317 3318 /[abhgefdc]ij/i 3319 HIJ 3320 3321 /^(ab|cd)e/i 3322 ABCDE 3323 3324 /(abc|)ef/i 3325 ABCDEF 3326 3327 /(a|b)c*d/i 3328 ABCD 3329 3330 /(ab|ab*)bc/i 3331 ABC 3332 3333 /a([bc]*)c*/i 3334 ABC 3335 3336 /a([bc]*)(c*d)/i 3337 ABCD 3338 3339 /a([bc]+)(c*d)/i 3340 ABCD 3341 3342 /a([bc]*)(c+d)/i 3343 ABCD 3344 3345 /a[bcd]*dcdcde/i 3346 ADCDCDE 3347 3348 /a[bcd]+dcdcde/i 3349 3350 /(ab|a)b*c/i 3351 ABC 3352 3353 /((a)(b)c)(d)/i 3354 ABCD 3355 3356 /[a-zA-Z_][a-zA-Z0-9_]*/i 3357 ALPHA 3358 3359 /^a(bc+|b[eh])g|.h$/i 3360 ABH 3361 3362 /(bc+d$|ef*g.|h?i(j|k))/i 3363 EFFGZ 3364 IJ 3365 REFFGZ 3366 *** Failers 3367 ADCDCDE 3368 EFFG 3369 BCDD 3370 3371 /((((((((((a))))))))))/i 3372 A 3373 3374 /(((((((((a)))))))))/i 3375 A 3376 3377 /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a))))))))))/i 3378 A 3379 3380 /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))/i 3381 C 3382 3383 /multiple words of text/i 3384 *** Failers 3385 AA 3386 UH-UH 3387 3388 /multiple words/i 3389 MULTIPLE WORDS, YEAH 3390 3391 /(.*)c(.*)/i 3392 ABCDE 3393 3394 /\((.*), (.*)\)/i 3395 (A, B) 3396 3397 /[k]/i 3398 3399 /abcd/i 3400 ABCD 3401 3402 /a(bc)d/i 3403 ABCD 3404 3405 /a[-]?c/i 3406 AC 3407 3408 /a(?!b)./ 3409 abad 3410 3411 /a(?=d)./ 3412 abad 3413 3414 /a(?=c|d)./ 3415 abad 3416 3417 /a(?:b|c|d)(.)/ 3418 ace 3419 3420 /a(?:b|c|d)*(.)/ 3421 ace 3422 3423 /a(?:b|c|d)+?(.)/ 3424 ace 3425 acdbcdbe 3426 3427 /a(?:b|c|d)+(.)/ 3428 acdbcdbe 3429 3430 /a(?:b|c|d){2}(.)/ 3431 acdbcdbe 3432 3433 /a(?:b|c|d){4,5}(.)/ 3434 acdbcdbe 3435 3436 /a(?:b|c|d){4,5}?(.)/ 3437 acdbcdbe 3438 3439 /((foo)|(bar))*/ 3440 foobar 3441 3442 /a(?:b|c|d){6,7}(.)/ 3443 acdbcdbe 3444 3445 /a(?:b|c|d){6,7}?(.)/ 3446 acdbcdbe 3447 3448 /a(?:b|c|d){5,6}(.)/ 3449 acdbcdbe 3450 3451 /a(?:b|c|d){5,6}?(.)/ 3452 acdbcdbe 3453 3454 /a(?:b|c|d){5,7}(.)/ 3455 acdbcdbe 3456 3457 /a(?:b|c|d){5,7}?(.)/ 3458 acdbcdbe 3459 3460 /a(?:b|(c|e){1,2}?|d)+?(.)/ 3461 ace 3462 3463 /^(.+)?B/ 3464 AB 3465 3466 /^([^a-z])|(\^)$/ 3467 . 3468 3469 /^[<>]&/ 3470 <&OUT 3471 3472 /(?:(f)(o)(o)|(b)(a)(r))*/ 3473 foobar 3474 3475 /(?<=a)b/ 3476 ab 3477 *** Failers 3478 cb 3479 b 3480 3481 /(?<!c)b/ 3482 ab 3483 b 3484 b 3485 3486 /(?:..)*a/ 3487 aba 3488 3489 /(?:..)*?a/ 3490 aba 3491 3492 /^(){3,5}/ 3493 abc 3494 3495 /^(a+)*ax/ 3496 aax 3497 3498 /^((a|b)+)*ax/ 3499 aax 3500 3501 /^((a|bc)+)*ax/ 3502 aax 3503 3504 /(a|x)*ab/ 3505 cab 3506 3507 /(a)*ab/ 3508 cab 3509 3510 /(?:(?i)a)b/ 3511 ab 3512 3513 /((?i)a)b/ 3514 ab 3515 3516 /(?:(?i)a)b/ 3517 Ab 3518 3519 /((?i)a)b/ 3520 Ab 3521 3522 /(?:(?i)a)b/ 3523 *** Failers 3524 cb 3525 aB 3526 3527 /((?i)a)b/ 3528 3529 /(?i:a)b/ 3530 ab 3531 3532 /((?i:a))b/ 3533 ab 3534 3535 /(?i:a)b/ 3536 Ab 3537 3538 /((?i:a))b/ 3539 Ab 3540 3541 /(?i:a)b/ 3542 *** Failers 3543 aB 3544 aB 3545 3546 /((?i:a))b/ 3547 3548 /(?:(?-i)a)b/i 3549 ab 3550 3551 /((?-i)a)b/i 3552 ab 3553 3554 /(?:(?-i)a)b/i 3555 aB 3556 3557 /((?-i)a)b/i 3558 aB 3559 3560 /(?:(?-i)a)b/i 3561 *** Failers 3562 aB 3563 Ab 3564 3565 /((?-i)a)b/i 3566 3567 /(?:(?-i)a)b/i 3568 aB 3569 3570 /((?-i)a)b/i 3571 aB 3572 3573 /(?:(?-i)a)b/i 3574 *** Failers 3575 Ab 3576 AB 3577 3578 /((?-i)a)b/i 3579 3580 /(?-i:a)b/i 3581 ab 3582 3583 /((?-i:a))b/i 3584 ab 3585 3586 /(?-i:a)b/i 3587 aB 3588 3589 /((?-i:a))b/i 3590 aB 3591 3592 /(?-i:a)b/i 3593 *** Failers 3594 AB 3595 Ab 3596 3597 /((?-i:a))b/i 3598 3599 /(?-i:a)b/i 3600 aB 3601 3602 /((?-i:a))b/i 3603 aB 3604 3605 /(?-i:a)b/i 3606 *** Failers 3607 Ab 3608 AB 3609 3610 /((?-i:a))b/i 3611 3612 /((?-i:a.))b/i 3613 *** Failers 3614 AB 3615 a\nB 3616 3617 /((?s-i:a.))b/i 3618 a\nB 3619 3620 /(?:c|d)(?:)(?:a(?:)(?:b)(?:b(?:))(?:b(?:)(?:b)))/ 3621 cabbbb 3622 3623 /(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/ 3624 caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 3625 3626 /foo\w*\d{4}baz/ 3627 foobar1234baz 3628 3629 /x(~~)*(?:(?:F)?)?/ 3630 x~~ 3631 3632 /^a(?#xxx){3}c/ 3633 aaac 3634 3635 /^a (?#xxx) (?#yyy) {3}c/x 3636 aaac 3637 3638 /(?<![cd])b/ 3639 *** Failers 3640 B\nB 3641 dbcb 3642 3643 /(?<![cd])[ab]/ 3644 dbaacb 3645 3646 /(?<!(c|d))b/ 3647 3648 /(?<!(c|d))[ab]/ 3649 dbaacb 3650 3651 /(?<!cd)[ab]/ 3652 cdaccb 3653 3654 /^(?:a?b?)*$/ 3655 *** Failers 3656 dbcb 3657 a-- 3658 3659 /((?s)^a(.))((?m)^b$)/ 3660 a\nb\nc\n 3661 3662 /((?m)^b$)/ 3663 a\nb\nc\n 3664 3665 /(?m)^b/ 3666 a\nb\n 3667 3668 /(?m)^(b)/ 3669 a\nb\n 3670 3671 /((?m)^b)/ 3672 a\nb\n 3673 3674 /\n((?m)^b)/ 3675 a\nb\n 3676 3677 /((?s).)c(?!.)/ 3678 a\nb\nc\n 3679 a\nb\nc\n 3680 3681 /((?s)b.)c(?!.)/ 3682 a\nb\nc\n 3683 a\nb\nc\n 3684 3685 /^b/ 3686 3687 /()^b/ 3688 *** Failers 3689 a\nb\nc\n 3690 a\nb\nc\n 3691 3692 /((?m)^b)/ 3693 a\nb\nc\n 3694 3695 /(?(?!a)a|b)/ 3696 3697 /(?(?!a)b|a)/ 3698 a 3699 3700 /(?(?=a)b|a)/ 3701 *** Failers 3702 a 3703 a 3704 3705 /(?(?=a)a|b)/ 3706 a 3707 3708 /(\w+:)+/ 3709 one: 3710 3711 /$(?<=^(a))/ 3712 a 3713 3714 /([\w:]+::)?(\w+)$/ 3715 abcd 3716 xy:z:::abcd 3717 3718 /^[^bcd]*(c+)/ 3719 aexycd 3720 3721 /(a*)b+/ 3722 caab 3723 3724 /([\w:]+::)?(\w+)$/ 3725 abcd 3726 xy:z:::abcd 3727 *** Failers 3728 abcd: 3729 abcd: 3730 3731 /^[^bcd]*(c+)/ 3732 aexycd 3733 3734 /(>a+)ab/ 3735 3736 /(?>a+)b/ 3737 aaab 3738 3739 /([[:]+)/ 3740 a:[b]: 3741 3742 /([[=]+)/ 3743 a=[b]= 3744 3745 /([[.]+)/ 3746 a.[b]. 3747 3748 /((?>a+)b)/ 3749 aaab 3750 3751 /(?>(a+))b/ 3752 aaab 3753 3754 /((?>[^()]+)|\([^()]*\))+/ 3755 ((abc(ade)ufh()()x 3756 3757 /a\Z/ 3758 *** Failers 3759 aaab 3760 a\nb\n 3761 3762 /b\Z/ 3763 a\nb\n 3764 3765 /b\z/ 3766 3767 /b\Z/ 3768 a\nb 3769 3770 /b\z/ 3771 a\nb 3772 *** Failers 3773 3774 /(?>.*)(?<=(abcd|wxyz))/ 3775 alphabetabcd 3776 endingwxyz 3777 *** Failers 3778 a rather long string that doesn't end with one of them 3779 3780 /word (?>(?:(?!otherword)[a-zA-Z0-9]+ ){0,30})otherword/ 3781 word cat dog elephant mussel cow horse canary baboon snake shark otherword 3782 word cat dog elephant mussel cow horse canary baboon snake shark 3783 3784 /word (?>[a-zA-Z0-9]+ ){0,30}otherword/ 3785 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 3786 3787 /(?<=\d{3}(?!999))foo/ 3788 999foo 3789 123999foo 3790 *** Failers 3791 123abcfoo 3792 3793 /(?<=(?!...999)\d{3})foo/ 3794 999foo 3795 123999foo 3796 *** Failers 3797 123abcfoo 3798 3799 /(?<=\d{3}(?!999)...)foo/ 3800 123abcfoo 3801 123456foo 3802 *** Failers 3803 123999foo 3804 3805 /(?<=\d{3}...)(?<!999)foo/ 3806 123abcfoo 3807 123456foo 3808 *** Failers 3809 123999foo 3810 3811 /((Z)+|A)*/ 3812 ZABCDEFG 3813 3814 /(Z()|A)*/ 3815 ZABCDEFG 3816 3817 /(Z(())|A)*/ 3818 ZABCDEFG 3819 3820 /((?>Z)+|A)*/ 3821 ZABCDEFG 3822 3823 /((?>)+|A)*/ 3824 ZABCDEFG 3825 3826 /a*/g 3827 abbab 3828 3829 /^[a-\d]/ 3830 abcde 3831 -things 3832 0digit 3833 *** Failers 3834 bcdef 3835 3836 /^[\d-a]/ 3837 abcde 3838 -things 3839 0digit 3840 *** Failers 3841 bcdef 3842 3843 /[[:space:]]+/ 3844 > \x09\x0a\x0c\x0d\x0b< 3845 3846 /[[:blank:]]+/ 3847 > \x09\x0a\x0c\x0d\x0b< 3848 3849 /[\s]+/ 3850 > \x09\x0a\x0c\x0d\x0b< 3851 3852 /\s+/ 3853 > \x09\x0a\x0c\x0d\x0b< 3854 3855 /ab/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/>testsavedregex 3979 <testsavedregex 3980 abc 3981 *** Failers 3982 bca 3983 3984 /abc/F>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 /-- End of testinput7 --/ 4613