1; Copyright 2004 Eric Niebler. 2; 3; Distributed under the Boost Software License, Version 1.0. 4; (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 5 6[test1] 7str=foobarboo 8pat=foo 9flg= 10br0=foo 11[end] 12 13[test2] 14str=foobarboo 15pat=bar 16flg= 17br0=bar 18[end] 19 20[test3] 21str=foobarboo 22pat=bat 23flg= 24[end] 25 26[test4] 27str=foobarboo 28pat=b.*ar 29flg= 30br0=bar 31[end] 32 33[test5] 34str=foobarboo 35pat=b.*r 36flg= 37br0=bar 38[end] 39 40[test6] 41str=foobarboo 42pat=b.*b 43flg= 44br0=barb 45[end] 46 47[test7] 48str=foobarboo 49pat=b.*o 50flg= 51br0=barboo 52[end] 53 54[test8] 55str=foobarboo 56pat=b.*oo 57flg= 58br0=barboo 59[end] 60 61[test9] 62str=foobarboo 63pat=b.+ar 64flg= 65[end] 66 67[test10] 68str=foobarboo 69pat=b.+r 70flg= 71br0=bar 72[end] 73 74[test11] 75str=foobarboo 76pat=b.+b 77flg= 78br0=barb 79[end] 80 81[test12] 82str=foobarboo 83pat=b.+o 84flg= 85br0=barboo 86[end] 87 88[test13] 89str=foobarboo 90pat=b.+oo 91flg= 92br0=barboo 93[end] 94 95[test14] 96str=foobarboo 97pat=^foo 98flg= 99br0=foo 100[end] 101 102[test15] 103str=foobarboo 104pat=^b.*ar 105flg= 106[end] 107 108[test16] 109str=foobarboo 110pat=b.+ar$ 111flg= 112[end] 113 114[test17] 115str=foobarboo 116pat=b.+o$ 117flg= 118br0=barboo 119[end] 120 121[test18] 122str=foobarboo 123pat=b.+oo$ 124flg= 125br0=barboo 126[end] 127 128[test19] 129str=+1234.56789F 130pat=^([-+]?[0-9]+(\.[0-9]*)?)([CF])$ 131flg= 132br0=+1234.56789F 133br1=+1234.56789 134br2=.56789 135br3=F 136[end] 137 138[test20] 139str=+1234.56789 140pat=(\+|-)?([0-9]+\.?[0-9]*|\.[0-9]+)([eE](\+|-)?[0-9]+)? 141flg= 142br0=+1234.56789 143br1=+ 144br2=1234.56789 145br3= 146br4= 147[end] 148 149[test21] 150str=-1234.56789 151pat=(\+|-)?([0-9]+\.?[0-9]*|\.[0-9]+)([eE](\+|-)?[0-9]+)? 152flg= 153br0=-1234.56789 154br1=- 155br2=1234.56789 156br3= 157br4= 158[end] 159 160[test22] 161str=-1234.56789e-123123123 162pat=(\+|-)?([0-9]+\.?[0-9]*|\.[0-9]+)([eE](\+|-)?[0-9]+)? 163flg= 164br0=-1234.56789e-123123123 165br1=- 166br2=1234.56789 167br3=e-123123123 168br4=- 169[end] 170 171[test23] 172str=-.1234.56789 173pat=^(\+|-)?([0-9]+\.?[0-9]*|\.[0-9]+)([eE](\+|-)?[0-9]+)?$ 174flg= 175[end] 176 177[test24] 178str=-1234.56789e-12312e123 179pat=^(\+|-)?([0-9]+\.?[0-9]*|\.[0-9]+)([eE](\+|-)?[0-9]+)?$ 180flg= 181[end] 182 183[test25] 184str=aaaaaaaaac 185pat=a*a*a*a*a*b 186flg= 187[end] 188 189[test26] 190str=ThIs iS a TeSt 191pat=[a-zA-Z]* 192flg= 193br0=ThIs 194[end] 195 196[test27] 197str=a^b 198pat=a^b 199flg= 200[end] 201 202[test28] 203str=a^b 204pat=a\^b 205flg= 206br0=a^b 207[end] 208 209[test29] 210str=a^b 211pat=a[^ ]b 212flg= 213br0=a^b 214[end] 215 216[test30] 217str=a^b 218pat=a[^^]b 219flg= 220[end] 221 222[test31] 223str=a^b 224pat=a[^\^]b 225flg= 226[end] 227 228[test31.1] 229str=a^b 230pat=a[\^]b 231flg= 232br0=a^b 233[end] 234 235[test32] 236str=foobazFOObar 237pat=foo(?=bar) 238flg=i 239br0=FOO 240[end] 241 242[test33] 243str=foobarFOObaz 244pat=foo(?!bar) 245flg=i 246br0=FOO 247[end] 248 249[test34] 250str=foobarFOO 251pat=foo(?!bar) 252flg=i 253br0=FOO 254[end] 255 256[test35] 257str=foobarFOObarfoo 258pat=((?>(foo))bar)+ 259flg=i 260br0=foobarFOObar 261br1=FOObar 262br2=FOO 263[end] 264 265[test36] 266str=foobar 267pat=bar|(foo) 268flg=g 269br0=foo 270br1=foo 271br2=bar 272br3= 273[end] 274 275; These results seem odd to me, but 276; it comforms with perl 277 278[test37] 279str=foobar 280pat=(bar|(foo))+ 281flg= 282br0=foobar 283br1=bar 284br2=foo 285[end] 286 287[test38] 288str=foobar 289pat=((bar)|foo)+ 290flg= 291br0=foobar 292br1=bar 293br2=bar 294[end] 295 296[test39] 297str=foobar 298pat=(foo|(bar))+ 299flg= 300br0=foobar 301br1=bar 302br2=bar 303[end] 304 305; These results seem odd to me, but 306; it comforms with perl 307 308[test40] 309str=foobar 310pat=((foo)|bar)+ 311flg= 312br0=foobar 313br1=bar 314br2=foo 315[end] 316 317[test41] 318str=foobarFOObarfoo 319pat=((?i)FOO)(.*?)\1 320flg= 321br0=foobarFOObarfoo 322br1=foo 323br2=barFOObar 324[end] 325 326[test42] 327str=foobarFOObarfoo 328pat=((?i)FOO)(.*?)(?i:\1) 329flg= 330br0=foobarFOO 331br1=foo 332br2=bar 333[end] 334 335; perl allows this, and it is pretty sick. 336; But anything perl can do, I can do, too.[end] 337 338[test42.1] 339str=fooFOOOFOOOOObar 340pat=(foo|(?i:\1O))+ 341flg= 342br0=fooFOOOFOOOO 343br1=FOOOO 344[end] 345 346[test43] 347str=zoo 348pat=^[A-Za-m] 349flg= 350[end] 351 352[test44] 353str=Here is a URL: http://www.cnn.com. OK? 354pat=(https?:/|www\.)[\w\./,?@#%!_=~&-]+\w 355flg= 356br0=http://www.cnn.com 357br1=http:/ 358[end] 359 360[test45] 361str=fooooooooo 362pat=fo{2,5} 363flg= 364br0=fooooo 365[end] 366 367[test46] 368str=fooooooooo 369pat=fo{2,5}? 370flg= 371br0=foo 372[end] 373 374[test45.1] 375str=fooooooooo 376pat=fo{2,5}o 377flg= 378br0=foooooo 379[end] 380 381[test46.1] 382str=fooooooooo 383pat=fo{2,5}?o 384flg= 385br0=fooo 386[end] 387 388[test47] 389str={match this} 390pat=^{.*}$ 391flg= 392br0={match this} 393[end] 394 395[test48] 396str=+-+- 397pat=[+-]+ 398flg= 399br0=+-+- 400[end] 401 402[test49] 403str=+-+- 404pat=[-+]+ 405flg= 406br0=+-+- 407[end] 408 409[test50] 410str=\\05g-9e 411pat=[\d-g]+ 412flg= 413br0=05g-9 414[end] 415 416[test51] 417str=\\05g-9e 418pat=[\d-\g]+ 419flg= 420br0=05g-9 421[end] 422 423[test52] 424str=\\05g-9e 425pat=[g-\d]+ 426flg= 427br0=05g-9 428[end] 429 430[test53] 431str=\\05g-9e 432pat=[\g-\d]+ 433flg= 434br0=05g-9 435[end] 436 437[test54] 438str=aBcdefg\\ 439pat=[a-\g]+ 440flg=i 441br0=aBcdefg 442[end] 443 444[test55] 445str=ab/.-ba 446pat=[--/]+ 447flg= 448br0=/.- 449[end] 450 451[test56] 452str=ab+,-ba 453pat=[+--]+ 454flg= 455br0=+,- 456[end] 457 458[test56.1] 459str=aaabbbb---- 460pat=[b-b]+ 461flg= 462br0=bbbb 463[end] 464 465[test57] 466str=foobarFOO5 467pat=(foo).*\15 468flg=i 469[end] 470 471[test58] 472str=Her number is 804-867-5309. 473pat=(?:\d{3}-){2}\d{4} 474flg= 475br0=804-867-5309 476[end] 477 478[test59] 479str=foo 480pat=fo+ 481flg= 482br0=foo 483[end] 484 485; backtrack a group[end] 486 487[test60] 488str=fooFOObar 489pat=(foo)+foobar 490flg=i 491br0=fooFOObar 492br1=foo 493[end] 494 495; nested, matched parens [end] 496 497[test61] 498str=this is sublist(now(is(the(time),for(all),good(men))to(come)))ok? 499pat=\bsublist\((?>[^()]*)(?>(?:\((?>[^()]*)(?>(?:\((?>[^()]*)(?>(?:\((?>[^()]*)(?>(?:\((?>[^()]*)\)[^()]*)*)\)[^()]*)*)\)[^()]*)*)\)[^()]*)*)\) 500flg= 501br0=sublist(now(is(the(time),for(all),good(men))to(come))) 502[end] 503 504; nested, matched parens [end] 505 506[test62] 507str=this is sublist(now(is(the(time),for(all),good(men))to(come))ok? 508pat=\bsublist\((?>[^()]*)(?>(?:\((?>[^()]*)(?>(?:\((?>[^()]*)(?>(?:\((?>[^()]*)(?>(?:\((?>[^()]*)\)[^()]*)*)\)[^()]*)*)\)[^()]*)*)\)[^()]*)*)\) 509flg= 510[end] 511 512[test63] 513str=foobar 514pat=^baz|bar 515flg= 516br0=bar 517[end] 518 519[test64] 520str=Now <foo>is</foo> the time for all <BOLD>good</bald> men</bold> to come to the aid of their country. 521pat=<(.*?)>(.*?)</(\1)> 522flg=ig 523sub={$1}$2{/$3} 524res=Now {foo}is{/foo} the time for all {BOLD}good</bald> men{/bold} to come to the aid of their country. 525br0=<foo>is</foo> 526br1=foo 527br2=is 528br3=foo 529br4=<BOLD>good</bald> men</bold> 530br5=BOLD 531br6=good</bald> men 532br7=bold 533[end] 534 535[test64.sed] 536str=Now <foo>is</foo> the time for all <BOLD>good</bald> men</bold> to come to the aid of their country. 537pat=<(.*?)>(.*?)</(\1)> 538flg=igd 539sub={\1}\2{/\3} 540res=Now {foo}is{/foo} the time for all {BOLD}good</bald> men{/bold} to come to the aid of their country. 541br0=<foo>is</foo> 542br1=foo 543br2=is 544br3=foo 545br4=<BOLD>good</bald> men</bold> 546br5=BOLD 547br6=good</bald> men 548br7=bold 549[end] 550 551[test68] 552str=Now is the time for all good men to come to the aid of their country. 553pat=o 554flg=g 555sub=O 556res=NOw is the time fOr all gOOd men tO cOme tO the aid Of their cOuntry. 557br0=o 558br1=o 559br2=o 560br3=o 561br4=o 562br5=o 563br6=o 564br7=o 565br8=o 566[end] 567 568[test69] 569str=FooBarfoobar 570pat=.*foo 571flg=i 572br0=FooBarfoo 573[end] 574 575[test70] 576str=FooBarfoobar 577pat=.*boo 578flg=i 579[end] 580 581[test71] 582str=FooBarfoobar 583pat=.*boo|bar 584flg=i 585br0=Bar 586[end] 587 588[test72] 589str=FooBarfoobar 590pat=bar 591flg=i 592sub=($`$&) 593res=Foo(FooBar)foobar 594br0=Bar 595[end] 596 597[test72.perl] 598str=FooBarfoobar 599pat=bar 600flg=ip 601sub=($`$&) 602res=Foo(FooBar)foobar 603br0=Bar 604[end] 605 606[test73] 607str=FooBarfoobar 608pat=bar 609flg=gi 610sub=($`$&) 611res=Foo(FooBar)foo(FooBarfoobar) 612br0=Bar 613br1=bar 614[end] 615 616[test73.perl] 617str=FooBarfoobar 618pat=bar 619flg=gip 620sub=($`$&) 621res=Foo(FooBar)foo(FooBarfoobar) 622br0=Bar 623br1=bar 624[end] 625 626[test74] 627str=FooBarfoobar 628pat=bar 629flg=gi 630sub=($'$&) 631res=Foo(foobarBar)foo(bar) 632br0=Bar 633br1=bar 634[end] 635 636[test74.perl] 637str=FooBarfoobar 638pat=bar 639flg=gip 640sub=($'$&) 641res=Foo(foobarBar)foo(bar) 642br0=Bar 643br1=bar 644[end] 645 646[test75] 647str=fooooo 648pat=fo{1,} 649flg= 650br0=fooooo 651[end] 652 653[test76.perl] 654str=fOO bAr BaZ 655pat=\w+ 656flg=gp 657sub=\L\u$& 658res=Foo Bar Baz 659br0=fOO 660br1=bAr 661br2=BaZ 662[end] 663 664[test76.all] 665str=fOO bAr BaZ 666pat=\w+ 667flg=ga 668sub=\L\u$& 669res=Foo Bar Baz 670br0=fOO 671br1=bAr 672br2=BaZ 673[end] 674 675[test77.perl] 676str=fOO bAr BaZ 677pat=\w+ 678flg=gp 679sub=a\LA\Ua\Ea 680res=aaAa aaAa aaAa 681br0=fOO 682br1=bAr 683br2=BaZ 684[end] 685 686[test77.all] 687str=fOO bAr BaZ 688pat=\w+ 689flg=ga 690sub=a\LA\Ua\Ea 691res=aaAa aaAa aaAa 692br0=fOO 693br1=bAr 694br2=BaZ 695[end] 696 697[test78] 698str=This (has) parens 699pat=This (\Q(has)\E) (parens) 700flg= 701br0=This (has) parens 702br1=(has) 703br2=parens 704[end] 705 706[test79] 707str=This (has) parens 708pat=This \Q(has) parens\E 709flg= 710br0=This (has) parens 711[end] 712 713[test80] 714str=This (has) parens 715pat=This \Q(has) parens 716flg= 717br0=This (has) parens 718[end] 719 720;[test81] 721;str=THAT IS UPPERCASE is 722;pat=IS 723;flg=ig 724;sub=\Uu\Ql$&\E$&n't 725;res=THAT UL$&ISn't UPPERCASE UL$&isn't 726;br0=is 727;[end] 728 729[test82] 730str=abba1234abba 731pat=\d+ 732flg= 733br0=1234 734[end] 735 736[test83] 737str=1234abba1234 738pat=\D+ 739flg= 740br0=abba 741[end] 742 743[test84] 744str=abba1234abba 745pat=[\d]+ 746flg= 747br0=1234 748[end] 749 750[test85] 751str=1234abba1234 752pat=[\D]+ 753flg= 754br0=abba 755[end] 756 757[test86] 758str=abba1234abba 759pat=[^\D]+ 760flg= 761br0=1234 762[end] 763 764[test87] 765str=1234abba1234 766pat=[^\d]+ 767flg= 768br0=abba 769[end] 770 771[test88] 772str=1234abba1234 773pat=[\W\D]+ 774flg= 775br0=abba 776[end] 777 778[test89] 779str=1234(.;)abba 780pat=[^\w\d]+ 781flg= 782br0=(.;) 783[end] 784 785[test90] 786str=(boo[bar]baz) 787pat=(\(()|\[()).*?(\)\2|\]\3) 788flg= 789br0=(boo[bar]baz) 790br1=( 791br2= 792br3= 793br4=) 794[end] 795 796[test91] 797str=[boo(bar)baz] 798pat=(\(()|\[()).*?(\)\2|\]\3) 799flg= 800br0=[boo(bar)baz] 801br1=[ 802br2= 803br3= 804br4=] 805[end] 806 807[test91] 808str=[boo[bar]baz] 809pat=(\(()|\[()).*?(\)\2|\]\3) 810flg= 811br0=[boo[bar] 812br1=[ 813br2= 814br3= 815br4=] 816[end] 817 818[test92] 819str=foobarfoo 820pat=(?<=foo)bar 821flg= 822br0=bar 823[end] 824 825[test93] 826str=foobarfoo 827pat=(?<=(f.o))bar 828flg= 829br0=bar 830br1=foo 831[end] 832 833[test94] 834str=foOoo 835pat=(?<=(fo))o 836flg=i 837br0=O 838br1=fo 839[end] 840 841[test95] 842str=fOooo 843pat=(?<!(fo))o 844flg=i 845br0=O 846br1= 847[end] 848 849[test96] 850str=12foo12 851pat=[[:alpha:]]+ 852flg= 853br0=foo 854[end] 855 856[test97] 857str=;12foo12; 858pat=[[:alpha:][:digit:]]+ 859flg= 860br0=12foo12 861[end] 862 863[test98] 864str=aaaa 865pat=(?<=())a 866flg= 867br0=a 868br1= 869[end] 870 871[test99] 872str=ABCabc123foo 873pat=(?<=(abc\d{3}))foo 874flg= 875br0=foo 876br1=abc123 877[end] 878 879;[test100] 880;str=aaAAa 881;pat=aa 882;flg=gi 883;br0=AA 884;[end] 885 886;[test101] 887;str=aaAAaA 888;pat=aa 889;flg=gi 890;br0=aA 891;[end] 892 893;[test102] 894;str=foobarFOO 895;pat=foo 896;flg=ir 897;br0=FOO 898;[end] 899 900[test103] 901str=a\nxb\n 902pat=(?!^)x 903flg=m 904[end] 905 906[test104] 907str=a\nxb\n 908pat=(?!^)x 909flg= 910br0=x 911[end] 912 913[test105] 914str=a\nxb\n 915pat=(?!\A)x 916flg=m 917br0=x 918[end] 919 920[test106] 921str=(this) 922pat=^(?:\(()|())\w+(?:\)\1|\2)$ 923flg= 924br0=(this) 925br1= 926br2= 927[end] 928 929[test107] 930str=this 931pat=^(?:\(()|())\w+(?:\)\1|\2)$ 932flg= 933br0=this 934br1= 935br2= 936[end] 937 938[test108] 939str=this) 940pat=^(?:\(()|())\w+(?:\)\1|\2)$ 941flg= 942[end] 943 944[test109] 945str=(this 946pat=^(?:\(()|())\w+(?:\)\1|\2)$ 947flg= 948[end] 949 950[test110] 951str=abba123abba 952pat=[[:^alpha:]]+ 953flg= 954br0=123 955[end] 956 957[test111] 958str=abba123abba 959pat=[[:^alpha:][:alpha:]]+ 960flg= 961br0=abba123abba 962[end] 963 964[test112] 965str=123abba123 966pat=[^[:^alpha:]]+ 967flg= 968br0=abba 969[end] 970 971;[test113] 972;str=123abba123 973;pat=[[:alpha:]\y]+ 974;flg= 975;br0=123abba123 976;[end] 977 978[test114] 979str=abba123abba 980pat=[^[:^alnum:][:^digit:]]+ 981flg= 982br0=123 983[end] 984 985[test115] 986str=aaaaA 987pat=^(a\1?){4}$ 988flg=i 989br0=aaaaA 990br1=A 991[end] 992 993[test116] 994str=aaaaAa 995pat=^(a\1?){4}$ 996flg=i 997br0=aaaaAa 998br1=Aa 999[end] 1000 1001; test for possible infinite recursion 1002 1003[test117] 1004str=ab 1005pat=(a|(?=b)(?R))+ 1006flg= 1007br0=a 1008br1= 1009[end] 1010 1011[test118] 1012str=abba 1013pat=(?R) 1014flg= 1015br0= 1016[end] 1017 1018[test119] 1019str=nothere(HE(hehe(a(b(c)))nothere 1020pat=\(((?>[^()]+)|(?R))*\) 1021flg= 1022br0=(a(b(c))) 1023br1=(b(c)) 1024[end] 1025 1026[test120] 1027str=1(abcd)(x(y)z)pqr 1028pat=\(((?>[^()]+)|(?R))*\) 1029flg=ga 1030br0=(abcd) 1031br1=abcd 1032br2=(x(y)z) 1033br3=z 1034[end] 1035 1036[test121] 1037str=() 1038pat=\((?:(?>[^()]+)|(?R))?\) 1039flg= 1040br0=() 1041[end] 1042 1043[test122] 1044str=12(abcde(fsh)xyz(foo(bar))lmno)89 1045pat=\((?:(?>[^()]+)|(?R))?\) 1046flg= 1047br0=(fsh) 1048[end] 1049 1050[test123] 1051str=(ab(xy)cd) 1052pat=\((((?>[^()]+)|(?R))*)\) 1053flg= 1054br0=(ab(xy)cd) 1055br1=ab(xy)cd 1056br2=cd 1057[end] 1058 1059[test124] 1060str=(ab(xy)cd) 1061pat=\((123)?(((?>[^()]+)|(?R))*)\) 1062flg= 1063br0=(ab(xy)cd) 1064br1= 1065br2=ab(xy)cd 1066br3=cd 1067[end] 1068 1069[test125] 1070str=(123ab(xy)cd) 1071pat=\((123)?(((?>[^()]+)|(?R))*)\) 1072flg= 1073br0=(123ab(xy)cd) 1074br1=123 1075br2=ab(xy)cd 1076br3=cd 1077[end] 1078 1079[test126] 1080str=(abcd(xyz<p>qrs)123) 1081pat=\((((?>[^()<>]+)|((?>[^()]+))|(?R))*)\) 1082flg= 1083br0=(abcd(xyz<p>qrs)123) 1084br1=abcd(xyz<p>qrs)123 1085br2=123 1086;br3=<p>qrs 1087br3= 1088[end] 1089 1090[test127] 1091str=foobar 1092pat=foo(?#This is a comment[)bar 1093flg= 1094br0=foobar 1095[end] 1096 1097[test128] 1098str=foobar 1099pat=^ f oo b ar $ 1100flg=x 1101br0=foobar 1102[end] 1103 1104[test129] 1105str=foobar 1106pat=^ f o * 1107flg=x 1108br0=foo 1109[end] 1110 1111[test129.1] 1112str=foobar 1113pat=^ f \157 * 1114flg=x 1115br0=foo 1116[end] 1117 1118[test130] 1119str=foo bar 1120pat=^ f oo\ b ar $ 1121flg=x 1122br0=foo bar 1123[end] 1124 1125[test131] 1126str=foo bar 1127pat=^ f oo [ ] b ar $ 1128flg=x 1129br0=foo bar 1130[end] 1131 1132[test132] 1133str=foo bar 1134pat=^ ( ? : f oo [ ] b ar ) $ # This is a comment 1135flg=x 1136br0=foo bar 1137[end] 1138 1139[test133] 1140str=foo bar 1141pat=^ f oo [ ] b ar # This is a comment 1142flg=x 1143br0=foo bar 1144[end] 1145 1146[test134] 1147str=foo bar#Thisisnotacomment 1148pat=^ f oo [ ] b ar \# This is not a comment 1149flg=x 1150br0=foo bar#Thisisnotacomment 1151[end] 1152 1153[test135] 1154str=f oo b ar 1155pat=^f o(?x) o (?-x) b ar 1156flg= 1157br0=f oo b ar 1158[end] 1159 1160;[test136] 1161;str=foofoo 1162;pat=(?:foo)\1 1163;flg= 1164;[end] 1165 1166[test137] 1167str=a-- 1168pat=^(a?)*$ 1169flg= 1170[end] 1171 1172[test138] 1173str=a-- 1174pat=^(a?)*?$ 1175flg= 1176[end] 1177 1178[test139] 1179str=bc 1180pat=^(b?){2}bc$ 1181flg= 1182br0=bc 1183br1= 1184[end] 1185 1186[test140] 1187str=bbc 1188pat=^(b?){2}bc$ 1189flg= 1190br0=bbc 1191br1= 1192[end] 1193 1194[test141] 1195str=bbbc 1196pat=^(b?){2}bc$ 1197flg= 1198br0=bbbc 1199br1=b 1200[end] 1201 1202[test142] 1203str=bbbbc 1204pat=^(b?){2}bc$ 1205flg= 1206[end] 1207 1208[test143] 1209str=bbbbc 1210pat=^(b?)*d$ 1211flg= 1212[end] 1213 1214[test144] 1215str=bc 1216pat=^(b?){2}?bc$ 1217flg= 1218br0=bc 1219br1= 1220[end] 1221 1222[test145] 1223str=bbc 1224pat=^(b?){2}?bc$ 1225flg= 1226br0=bbc 1227br1= 1228[end] 1229 1230[test146] 1231str=bbbc 1232pat=^(b?){2}?bc$ 1233flg= 1234br0=bbbc 1235br1=b 1236[end] 1237 1238[test147] 1239str=bbbbc 1240pat=^(b?){2}?bc$ 1241flg= 1242[end] 1243 1244[test148] 1245str=bbbbc 1246pat=^(b?)*?d$ 1247flg= 1248[end] 1249 1250[test149] 1251str=bc 1252pat=^(b??){2}bc$ 1253flg= 1254br0=bc 1255br1= 1256[end] 1257 1258[test150] 1259str=bbc 1260pat=^(b??){2}bc$ 1261flg= 1262br0=bbc 1263br1=b 1264[end] 1265 1266[test151] 1267str=bbbc 1268pat=^(b??){2}bc$ 1269flg= 1270br0=bbbc 1271br1=b 1272[end] 1273 1274[test152] 1275str=bbbbc 1276pat=^(b??){2}bc$ 1277flg= 1278[end] 1279 1280[test153] 1281str=bbbbc 1282pat=^(b??)*d$ 1283flg= 1284[end] 1285 1286[test154] 1287str=bc 1288pat=^(b??){2}?bc$ 1289flg= 1290br0=bc 1291br1= 1292[end] 1293 1294[test155] 1295str=bbc 1296pat=^(b??){2}?bc$ 1297flg= 1298br0=bbc 1299br1=b 1300[end] 1301 1302[test156] 1303str=bbbc 1304pat=^(b??){2}?bc$ 1305flg= 1306br0=bbbc 1307br1=b 1308[end] 1309 1310[test157] 1311str=bbbbc 1312pat=^(b??){2}?bc$ 1313flg= 1314[end] 1315 1316[test158] 1317str=bbbbc 1318pat=^(b??)*?d$ 1319flg= 1320[end] 1321 1322[test159] 1323str=bbc 1324pat=^(|||b)*bc$ 1325flg= 1326br0=bbc 1327br1= 1328[end] 1329 1330[test160] 1331str=bbc 1332pat=^(|||b)*?bc$ 1333flg= 1334br0=bbc 1335br1=b 1336[end] 1337 1338[test161] 1339str=foo 1340pat=\w?? 1341sub=<$&> 1342flg=g 1343res=<><f><><o><><o><> 1344br0= 1345br1=f 1346br2= 1347br3=o 1348br4= 1349br5=o 1350br6= 1351[end] 1352 1353[test161.sed] 1354str=foo 1355pat=\w?? 1356sub=<&> 1357flg=gd 1358res=<><f><><o><><o><> 1359br0= 1360br1=f 1361br2= 1362br3=o 1363br4= 1364br5=o 1365br6= 1366[end] 1367 1368[test162] 1369str=foo 1370pat=() 1371sub=<$&> 1372flg=g 1373res=<>f<>o<>o<> 1374br0= 1375br1= 1376br2= 1377br3= 1378br4= 1379br5= 1380br6= 1381br7= 1382[end] 1383 1384[test163] 1385str=foo 1386pat=()* 1387sub=<$&> 1388flg=g 1389res=<>f<>o<>o<> 1390br0= 1391br1= 1392br2= 1393br3= 1394br4= 1395br5= 1396br6= 1397br7= 1398[end] 1399 1400[test164] 1401str=1yzZ^aAc2 1402pat=[Z-a]+ 1403flg=i 1404br0=zZ^aA 1405[end] 1406 1407[test165] 1408str=1yzZ^aAc2 1409pat=[Z-a]+ 1410flg= 1411br0=Z^a 1412[end] 1413 1414[test166] 1415str=G 1416pat=f|(?i)g 1417flg= 1418br0=G 1419[end] 1420 1421[test167] 1422str=aBBa 1423pat=[[:lower:]]+ 1424flg=i 1425br0=aBBa 1426[end] 1427 1428[test168] 1429str=aA 1430pat=\x61+ 1431flg=i 1432br0=aA 1433[end] 1434 1435[test169] 1436str=aA 1437pat=[\x61]+ 1438flg=i 1439br0=aA 1440[end] 1441 1442[test170] 1443str=aA 1444pat=\u0061+ 1445flg=i 1446br0=aA 1447[end] 1448 1449[test171] 1450str=aA 1451pat=[\u0061]+ 1452flg=i 1453br0=aA 1454[end] 1455 1456; Test for backreferences over 9 1457[test172] 1458str=hellohello 1459pat=()()()()()()()()()()()(hello)\12 1460br0=hellohello 1461br1= 1462br2= 1463br3= 1464br4= 1465br5= 1466br6= 1467br7= 1468br8= 1469br9= 1470br10= 1471br11= 1472br12=hello 1473[end] 1474 1475; test for named captures 1476[test173] 1477str=hellohello 1478pat=(?P<this>he(ll)o)(?P=this) 1479br0=hellohello 1480br1=hello 1481br2=ll 1482[end] 1483 1484; test for named captures 1485[test174] 1486str=hellohello 1487pat=(?P<this>he(ll)o)(?P=this) 1488flg=p 1489sub=\u\g<this>, world 1490res=Hello, world 1491br0=hellohello 1492br1=hello 1493br2=ll 1494[end] 1495 1496; test for quantified, non-capturing groups, bug report 1497[test174] 1498str=cabba\nabba\ndaba\n 1499pat=^(c[^\r\n]*(?:\r?\n|\r)(?:(?!c)[^\r\n]*(?:\r?\n|\r))*) 1500flg= 1501br0=cabba\nabba\ndaba\n 1502br1=cabba\nabba\ndaba\n 1503[end] 1504 1505; tests pilfered from Boost.Regex test_tricky_cases.cpp 1506 1507[tricky1] 1508str=abc 1509pat=a(((b)))c 1510flg=g 1511br0=abc 1512br1=b 1513br2=b 1514br3=b 1515[end] 1516 1517[tricky2] 1518str=abd 1519pat=a(b|(c))d 1520flg=g 1521br0=abd 1522br1=b 1523br2= 1524[end] 1525 1526[tricky3] 1527str=acd 1528pat=a(b|(c))d 1529flg=g 1530br0=acd 1531br1=c 1532br2=c 1533[end] 1534 1535[tricky4] 1536str=abbd 1537pat=a(b*|c)d 1538flg=g 1539br0=abbd 1540br1=bb 1541[end] 1542 1543[tricky5] 1544str=aaaaabaaaabaaaabaaaab 1545pat=a[ab]{20} 1546flg=g 1547br0=aaaaabaaaabaaaabaaaab 1548[end] 1549 1550[tricky6] 1551str=aaaaabaaaabaaaabaaaab 1552pat=a[ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab] 1553flg=g 1554br0=aaaaabaaaabaaaabaaaab 1555[end] 1556 1557[tricky7] 1558str=aaaaabaaaabaaaabaaaabweeknights 1559pat=a[ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab](wee|week)(knights|night) 1560flg=g 1561br0=aaaaabaaaabaaaabaaaabweeknights 1562br1=wee 1563br2=knights 1564[end] 1565 1566[tricky8] 1567str=a1234567890123456789012345678901234567890123456789012345678901234567890b 1568pat=1234567890123456789012345678901234567890123456789012345678901234567890 1569flg=g 1570br0=1234567890123456789012345678901234567890123456789012345678901234567890 1571[end] 1572 1573[tricky9] 1574str=xacegikmoq 1575pat=[ab][cd][ef][gh][ij][kl][mn] 1576flg=g 1577br0=acegikm 1578[end] 1579 1580[tricky10] 1581str=xacegikmoq 1582pat=[ab][cd][ef][gh][ij][kl][mn][op] 1583flg=g 1584br0=acegikmo 1585[end] 1586 1587[tricky11] 1588str=xacegikmoqy 1589pat=[ab][cd][ef][gh][ij][kl][mn][op][qr] 1590flg=g 1591br0=acegikmoq 1592[end] 1593 1594[tricky12] 1595str=xacegikmoqy 1596pat=[ab][cd][ef][gh][ij][kl][mn][op][q] 1597flg=g 1598br0=acegikmoq 1599[end] 1600 1601[tricky13] 1602str=zabcdefghi 1603pat=(a)(b)(c)(d)(e)(f)(g)(h) 1604flg=g 1605br0=abcdefgh 1606br1=a 1607br2=b 1608br3=c 1609br4=d 1610br5=e 1611br6=f 1612br7=g 1613br8=h 1614[end] 1615 1616[tricky14] 1617str=zabcdefghij 1618pat=(a)(b)(c)(d)(e)(f)(g)(h)(i) 1619flg=g 1620br0=abcdefghi 1621br1=a 1622br2=b 1623br3=c 1624br4=d 1625br5=e 1626br6=f 1627br7=g 1628br8=h 1629br9=i 1630[end] 1631 1632[tricky15] 1633str=zabcdefghijk 1634pat=(a)(b)(c)(d)(e)(f)(g)(h)(i)(j) 1635flg=g 1636br0=abcdefghij 1637br1=a 1638br2=b 1639br3=c 1640br4=d 1641br5=e 1642br6=f 1643br7=g 1644br8=h 1645br9=i 1646br10=j 1647[end] 1648 1649[tricky16] 1650str=zabcdefghijkl 1651pat=(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k) 1652flg=g 1653br0=abcdefghijk 1654br1=a 1655br2=b 1656br3=c 1657br4=d 1658br5=e 1659br6=f 1660br7=g 1661br8=h 1662br9=i 1663br10=j 1664br11=k 1665[end] 1666 1667[tricky17] 1668str=abc 1669pat=(a)d|(b)c 1670flg=g 1671br0=bc 1672br1= 1673br2=b 1674[end] 1675 1676[tricky18] 1677str=_wwwnocolon _mailto: 1678pat=_+((www)|(ftp)|(mailto)):_* 1679flg=g 1680br0=_mailto: 1681br1=mailto 1682br2= 1683br3= 1684br4=mailto 1685[end] 1686 1687; Boost.Regex bug 1688[tricky19] 1689str=acd 1690pat=a(b)?c\1d 1691flg=g 1692;br0=acd 1693;br1= 1694[end] 1695 1696[tricky20] 1697str=accd 1698pat=a(b?c)+d 1699flg=g 1700br0=accd 1701br1=c 1702[end] 1703 1704[tricky21] 1705str=weeknights 1706pat=(wee|week)(knights|night) 1707flg=g 1708br0=weeknights 1709br1=wee 1710br2=knights 1711[end] 1712 1713[tricky22] 1714str=abc 1715pat=.* 1716flg=g 1717br0=abc 1718br1= 1719[end] 1720 1721[tricky23] 1722str=abd 1723pat=a(b|(c))d 1724flg=g 1725br0=abd 1726br1=b 1727br2= 1728[end] 1729 1730[tricky24] 1731str=acd 1732pat=a(b|(c))d 1733flg=g 1734br0=acd 1735br1=c 1736br2=c 1737[end] 1738 1739[tricky25] 1740str=abbd 1741pat=a(b*|c|e)d 1742flg=g 1743br0=abbd 1744br1=bb 1745[end] 1746 1747[tricky26] 1748str=acd 1749pat=a(b*|c|e)d 1750flg=g 1751br0=acd 1752br1=c 1753[end] 1754 1755[tricky27] 1756str=ad 1757pat=a(b*|c|e)d 1758flg=g 1759br0=ad 1760br1= 1761[end] 1762 1763[tricky28] 1764str=abc 1765pat=a(b?)c 1766flg=g 1767br0=abc 1768br1=b 1769[end] 1770 1771[tricky29] 1772str=ac 1773pat=a(b?)c 1774flg=g 1775br0=ac 1776br1= 1777[end] 1778 1779[tricky30] 1780str=abc 1781pat=a(b+)c 1782flg=g 1783br0=abc 1784br1=b 1785[end] 1786 1787[tricky31] 1788str=abbbc 1789pat=a(b+)c 1790flg=g 1791br0=abbbc 1792br1=bbb 1793[end] 1794 1795[tricky32] 1796str=ac 1797pat=a(b*)c 1798flg=g 1799br0=ac 1800br1= 1801[end] 1802 1803[tricky33] 1804str=abcdef 1805pat=(a|ab)(bc([de]+)f|cde) 1806flg=g 1807br0=abcdef 1808br1=a 1809br2=bcdef 1810br3=de 1811[end] 1812 1813[tricky34] 1814str=abc 1815pat=a([bc]?)c 1816flg=g 1817br0=abc 1818br1=b 1819[end] 1820 1821[tricky35] 1822str=ac 1823pat=a([bc]?)c 1824flg=g 1825br0=ac 1826br1= 1827[end] 1828 1829[tricky36] 1830str=abc 1831pat=a([bc]+)c 1832flg=g 1833br0=abc 1834br1=b 1835[end] 1836 1837[tricky37] 1838str=abcc 1839pat=a([bc]+)c 1840flg=g 1841br0=abcc 1842br1=bc 1843[end] 1844 1845[tricky38] 1846str=abcbc 1847pat=a([bc]+)bc 1848flg=g 1849br0=abcbc 1850br1=bc 1851[end] 1852 1853[tricky39] 1854str=abb 1855pat=a(bb+|b)b 1856flg=g 1857br0=abb 1858br1=b 1859[end] 1860 1861[tricky40] 1862str=abb 1863pat=a(bbb+|bb+|b)b 1864flg=g 1865br0=abb 1866br1=b 1867[end] 1868 1869[tricky41] 1870str=abbb 1871pat=a(bbb+|bb+|b)b 1872flg=g 1873br0=abbb 1874br1=bb 1875[end] 1876 1877[tricky42] 1878str=abbb 1879pat=a(bbb+|bb+|b)bb 1880flg=g 1881br0=abbb 1882br1=b 1883[end] 1884 1885[tricky43] 1886str=abcdef 1887pat=(.*).* 1888flg=g 1889br0=abcdef 1890br1=abcdef 1891br2= 1892br3= 1893[end] 1894 1895[tricky44] 1896str=bc 1897pat=(a*)* 1898flg=g 1899br0= 1900br1= 1901br2= 1902br3= 1903br4= 1904br5= 1905[end] 1906 1907[tricky45] 1908str=bc 1909pat=Z(((((((a+)+)+)+)+)+)+)+|Y(((((((a+)+)+)+)+)+)+)+|X(((((((a+)+)+)+)+)+)+)+|W(((((((a+)+)+)+)+)+)+)+|V(((((((a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+)+)+)+)+)+|CY(((((((a+)+)+)+)+)+)+)+|CX(((((((a+)+)+)+)+)+)+)+|CW(((((((a+)+)+)+)+)+)+)+|CV(((((((a+)+)+)+)+)+)+)+|(a+)+ 1910flg=g 1911[end] 1912 1913[tricky46] 1914str=aaa 1915pat=Z(((((((a+)+)+)+)+)+)+)+|Y(((((((a+)+)+)+)+)+)+)+|X(((((((a+)+)+)+)+)+)+)+|W(((((((a+)+)+)+)+)+)+)+|V(((((((a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+)+)+)+)+)+|CY(((((((a+)+)+)+)+)+)+)+|CX(((((((a+)+)+)+)+)+)+)+|CW(((((((a+)+)+)+)+)+)+)+|CV(((((((a+)+)+)+)+)+)+)+|(a+)+ 1916flg=g 1917br0=aaa 1918br1= 1919br2= 1920br3= 1921br4= 1922br5= 1923br6= 1924br7= 1925br8= 1926br9= 1927br10= 1928br11= 1929br12= 1930br13= 1931br14= 1932br15= 1933br16= 1934br17= 1935br18= 1936br19= 1937br20= 1938br21= 1939br22= 1940br23= 1941br24= 1942br25= 1943br26= 1944br27= 1945br28= 1946br29= 1947br30= 1948br31= 1949br32= 1950br33= 1951br34= 1952br35= 1953br36= 1954br37= 1955br38= 1956br39= 1957br40= 1958br41= 1959br42= 1960br43= 1961br44= 1962br45= 1963br46= 1964br47= 1965br48= 1966br49= 1967br50= 1968br51= 1969br52= 1970br53= 1971br54= 1972br55= 1973br56= 1974br57= 1975br58= 1976br59= 1977br60= 1978br61= 1979br62= 1980br63= 1981br64= 1982br65= 1983br66= 1984br67= 1985br68= 1986br69= 1987br70= 1988br71=aaa 1989[end] 1990 1991[tricky47] 1992str=Zaaa 1993pat=Z(((((((a+)+)+)+)+)+)+)+|Y(((((((a+)+)+)+)+)+)+)+|X(((((((a+)+)+)+)+)+)+)+|W(((((((a+)+)+)+)+)+)+)+|V(((((((a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+)+)+)+)+)+|CY(((((((a+)+)+)+)+)+)+)+|CX(((((((a+)+)+)+)+)+)+)+|CW(((((((a+)+)+)+)+)+)+)+|CV(((((((a+)+)+)+)+)+)+)+|(a+)+ 1994flg=g 1995br0=Zaaa 1996br1=aaa 1997br2=aaa 1998br3=aaa 1999br4=aaa 2000br5=aaa 2001br6=aaa 2002br7=aaa 2003br8= 2004br9= 2005br10= 2006br11= 2007br12= 2008br13= 2009br14= 2010br15= 2011br16= 2012br17= 2013br18= 2014br19= 2015br20= 2016br21= 2017br22= 2018br23= 2019br24= 2020br25= 2021br26= 2022br27= 2023br28= 2024br29= 2025br30= 2026br31= 2027br32= 2028br33= 2029br34= 2030br35= 2031br36= 2032br37= 2033br38= 2034br39= 2035br40= 2036br41= 2037br42= 2038br43= 2039br44= 2040br45= 2041br46= 2042br47= 2043br48= 2044br49= 2045br50= 2046br51= 2047br52= 2048br53= 2049br54= 2050br55= 2051br56= 2052br57= 2053br58= 2054br59= 2055br60= 2056br61= 2057br62= 2058br63= 2059br64= 2060br65= 2061br66= 2062br67= 2063br68= 2064br69= 2065br70= 2066br71= 2067[end] 2068 2069[tricky48] 2070str=xyxxxxyxxxz 2071pat=xyx*xz 2072flg=g 2073br0=xyxxxz 2074[end] 2075 2076[tricky49] 2077str=ad 2078pat=a(b|c)*d 2079flg=g 2080br0=ad 2081br1= 2082[end] 2083 2084[tricky50] 2085str=abcd 2086pat=a(b|c)*d 2087flg=g 2088br0=abcd 2089br1=c 2090[end] 2091 2092[tricky51] 2093str=abd 2094pat=a(b|c)+d 2095flg=g 2096br0=abd 2097br1=b 2098[end] 2099 2100[tricky52] 2101str=abcd 2102pat=a(b|c)+d 2103flg=g 2104br0=abcd 2105br1=c 2106[end] 2107 2108[tricky53] 2109str=ad 2110pat=a(b|c?)+d 2111flg=g 2112br0=ad 2113br1= 2114[end] 2115 2116[tricky54] 2117str=ad 2118pat=a(b|c){0,0}d 2119flg=g 2120br0=ad 2121br1= 2122[end] 2123 2124[tricky55] 2125str=ad 2126pat=a(b|c){0,1}d 2127flg=g 2128br0=ad 2129br1= 2130[end] 2131 2132[tricky56] 2133str=abd 2134pat=a(b|c){0,1}d 2135flg=g 2136br0=abd 2137br1=b 2138[end] 2139 2140[tricky57] 2141str=ad 2142pat=a(b|c){0,2}d 2143flg=g 2144br0=ad 2145br1= 2146[end] 2147 2148[tricky58] 2149str=abcd 2150pat=a(b|c){0,2}d 2151flg=g 2152br0=abcd 2153br1=c 2154[end] 2155 2156[tricky59] 2157str=ad 2158pat=a(b|c){0,}d 2159flg=g 2160br0=ad 2161br1= 2162[end] 2163 2164[tricky60] 2165str=abcd 2166pat=a(b|c){0,}d 2167flg=g 2168br0=abcd 2169br1=c 2170[end] 2171 2172[tricky61] 2173str=abd 2174pat=a(b|c){1,1}d 2175flg=g 2176br0=abd 2177br1=b 2178[end] 2179 2180[tricky62] 2181str=abd 2182pat=a(b|c){1,2}d 2183flg=g 2184br0=abd 2185br1=b 2186[end] 2187 2188[tricky63] 2189str=abcd 2190pat=a(b|c){1,2}d 2191flg=g 2192br0=abcd 2193br1=c 2194[end] 2195 2196[tricky64] 2197str=abd 2198pat=a(b|c){1,}d 2199flg=g 2200br0=abd 2201br1=b 2202[end] 2203 2204[tricky65] 2205str=abcd 2206pat=a(b|c){1,}d 2207flg=g 2208br0=abcd 2209br1=c 2210[end] 2211 2212[tricky66] 2213str=acbd 2214pat=a(b|c){2,2}d 2215flg=g 2216br0=acbd 2217br1=b 2218[end] 2219 2220[tricky67] 2221str=abcd 2222pat=a(b|c){2,2}d 2223flg=g 2224br0=abcd 2225br1=c 2226[end] 2227 2228[tricky68] 2229str=abcd 2230pat=a(b|c){2,4}d 2231flg=g 2232br0=abcd 2233br1=c 2234[end] 2235 2236[tricky69] 2237str=abcbd 2238pat=a(b|c){2,4}d 2239flg=g 2240br0=abcbd 2241br1=b 2242[end] 2243 2244[tricky70] 2245str=abcbcd 2246pat=a(b|c){2,4}d 2247flg=g 2248br0=abcbcd 2249br1=c 2250[end] 2251 2252[tricky71] 2253str=abcd 2254pat=a(b|c){2,}d 2255flg=g 2256br0=abcd 2257br1=c 2258[end] 2259 2260[tricky72] 2261str=abcbd 2262pat=a(b|c){2,}d 2263flg=g 2264br0=abcbd 2265br1=b 2266[end] 2267 2268[tricky73] 2269str=abc 2270pat=a(((b)))c 2271flg=g 2272br0=abc 2273br1=b 2274br2=b 2275br3=b 2276[end] 2277 2278[tricky74] 2279str=abd 2280pat=a(b|(c))d 2281flg=g 2282br0=abd 2283br1=b 2284br2= 2285[end] 2286 2287[tricky75] 2288str=acd 2289pat=a(b|(c))d 2290flg=g 2291br0=acd 2292br1=c 2293br2=c 2294[end] 2295 2296[tricky76] 2297str=abbd 2298pat=a(b*|c)d 2299flg=g 2300br0=abbd 2301br1=bb 2302[end] 2303 2304[tricky77] 2305str=aaaaabaaaabaaaabaaaab 2306pat=a[ab]{20} 2307flg=g 2308br0=aaaaabaaaabaaaabaaaab 2309[end] 2310 2311[tricky78] 2312str=aaaaabaaaabaaaabaaaab 2313pat=a[ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab] 2314flg=g 2315br0=aaaaabaaaabaaaabaaaab 2316[end] 2317 2318[tricky79] 2319str=aaaaabaaaabaaaabaaaabweeknights 2320pat=a[ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab](wee|week)(knights|night) 2321flg=g 2322br0=aaaaabaaaabaaaabaaaabweeknights 2323br1=wee 2324br2=knights 2325[end] 2326 2327[tricky80] 2328str=a1234567890123456789012345678901234567890123456789012345678901234567890b 2329pat=1234567890123456789012345678901234567890123456789012345678901234567890 2330flg=g 2331br0=1234567890123456789012345678901234567890123456789012345678901234567890 2332[end] 2333 2334[tricky81] 2335str=xacegikmoq 2336pat=[ab][cd][ef][gh][ij][kl][mn] 2337flg=g 2338br0=acegikm 2339[end] 2340 2341[tricky82] 2342str=xacegikmoq 2343pat=[ab][cd][ef][gh][ij][kl][mn][op] 2344flg=g 2345br0=acegikmo 2346[end] 2347 2348[tricky83] 2349str=xacegikmoqy 2350pat=[ab][cd][ef][gh][ij][kl][mn][op][qr] 2351flg=g 2352br0=acegikmoq 2353[end] 2354 2355[tricky84] 2356str=xacegikmoqy 2357pat=[ab][cd][ef][gh][ij][kl][mn][op][q] 2358flg=g 2359br0=acegikmoq 2360[end] 2361 2362[tricky85] 2363str=zabcdefghi 2364pat=(a)(b)(c)(d)(e)(f)(g)(h) 2365flg=g 2366br0=abcdefgh 2367br1=a 2368br2=b 2369br3=c 2370br4=d 2371br5=e 2372br6=f 2373br7=g 2374br8=h 2375[end] 2376 2377[tricky86] 2378str=zabcdefghij 2379pat=(a)(b)(c)(d)(e)(f)(g)(h)(i) 2380flg=g 2381br0=abcdefghi 2382br1=a 2383br2=b 2384br3=c 2385br4=d 2386br5=e 2387br6=f 2388br7=g 2389br8=h 2390br9=i 2391[end] 2392 2393[tricky87] 2394str=zabcdefghijk 2395pat=(a)(b)(c)(d)(e)(f)(g)(h)(i)(j) 2396flg=g 2397br0=abcdefghij 2398br1=a 2399br2=b 2400br3=c 2401br4=d 2402br5=e 2403br6=f 2404br7=g 2405br8=h 2406br9=i 2407br10=j 2408[end] 2409 2410[tricky88] 2411str=zabcdefghijkl 2412pat=(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k) 2413flg=g 2414br0=abcdefghijk 2415br1=a 2416br2=b 2417br3=c 2418br4=d 2419br5=e 2420br6=f 2421br7=g 2422br8=h 2423br9=i 2424br10=j 2425br11=k 2426[end] 2427 2428[tricky89] 2429str=abc 2430pat=(a)d|(b)c 2431flg=g 2432br0=bc 2433br1= 2434br2=b 2435[end] 2436 2437[tricky90] 2438str=_wwwnocolon _mailto: 2439pat=_+((www)|(ftp)|(mailto)):_* 2440flg=g 2441br0=_mailto: 2442br1=mailto 2443br2= 2444br3= 2445br4=mailto 2446[end] 2447 2448[tricky91] 2449str=accd 2450pat=a(b?c)+d 2451flg=g 2452br0=accd 2453br1=c 2454[end] 2455 2456[tricky92] 2457str=weeknights 2458pat=(wee|week)(knights|night) 2459flg=g 2460br0=weeknights 2461br1=wee 2462br2=knights 2463[end] 2464 2465[tricky93] 2466str=abc 2467pat=.* 2468flg=g 2469br0=abc 2470br1= 2471[end] 2472 2473[tricky94] 2474str=abd 2475pat=a(b|(c))d 2476flg=g 2477br0=abd 2478br1=b 2479br2= 2480[end] 2481 2482[tricky95] 2483str=acd 2484pat=a(b|(c))d 2485flg=g 2486br0=acd 2487br1=c 2488br2=c 2489[end] 2490 2491[tricky96] 2492str=abbd 2493pat=a(b*|c|e)d 2494flg=g 2495br0=abbd 2496br1=bb 2497[end] 2498 2499[tricky97] 2500str=acd 2501pat=a(b*|c|e)d 2502flg=g 2503br0=acd 2504br1=c 2505[end] 2506 2507[tricky98] 2508str=ad 2509pat=a(b*|c|e)d 2510flg=g 2511br0=ad 2512br1= 2513[end] 2514 2515[tricky99] 2516str=abc 2517pat=a(b?)c 2518flg=g 2519br0=abc 2520br1=b 2521[end] 2522 2523[tricky100] 2524str=ac 2525pat=a(b?)c 2526flg=g 2527br0=ac 2528br1= 2529[end] 2530 2531[tricky101] 2532str=abc 2533pat=a(b+)c 2534flg=g 2535br0=abc 2536br1=b 2537[end] 2538 2539[tricky102] 2540str=abbbc 2541pat=a(b+)c 2542flg=g 2543br0=abbbc 2544br1=bbb 2545[end] 2546 2547[tricky103] 2548str=ac 2549pat=a(b*)c 2550flg=g 2551br0=ac 2552br1= 2553[end] 2554 2555[tricky104] 2556str=abcdef 2557pat=(a|ab)(bc([de]+)f|cde) 2558flg=g 2559br0=abcdef 2560br1=a 2561br2=bcdef 2562br3=de 2563[end] 2564 2565[tricky105] 2566str=abc 2567pat=a([bc]?)c 2568flg=g 2569br0=abc 2570br1=b 2571[end] 2572 2573[tricky106] 2574str=ac 2575pat=a([bc]?)c 2576flg=g 2577br0=ac 2578br1= 2579[end] 2580 2581[tricky107] 2582str=abc 2583pat=a([bc]+)c 2584flg=g 2585br0=abc 2586br1=b 2587[end] 2588 2589[tricky108] 2590str=abcc 2591pat=a([bc]+)c 2592flg=g 2593br0=abcc 2594br1=bc 2595[end] 2596 2597[tricky109] 2598str=abcbc 2599pat=a([bc]+)bc 2600flg=g 2601br0=abcbc 2602br1=bc 2603[end] 2604 2605[tricky110] 2606str=abb 2607pat=a(bb+|b)b 2608flg=g 2609br0=abb 2610br1=b 2611[end] 2612 2613[tricky111] 2614str=abb 2615pat=a(bbb+|bb+|b)b 2616flg=g 2617br0=abb 2618br1=b 2619[end] 2620 2621[tricky112] 2622str=abbb 2623pat=a(bbb+|bb+|b)b 2624flg=g 2625br0=abbb 2626br1=bb 2627[end] 2628 2629[tricky113] 2630str=abbb 2631pat=a(bbb+|bb+|b)bb 2632flg=g 2633br0=abbb 2634br1=b 2635[end] 2636 2637[tricky114] 2638str=abcdef 2639pat=(.*).* 2640flg=g 2641br0=abcdef 2642br1=abcdef 2643br2= 2644br3= 2645[end] 2646 2647[tricky115] 2648str=bc 2649pat=(a*)* 2650flg=g 2651br0= 2652br1= 2653br2= 2654br3= 2655br4= 2656br5= 2657[end] 2658 2659[tricky116] 2660str=xyxxxxyxxxz 2661pat=xyx*xz 2662flg=g 2663br0=xyxxxz 2664[end] 2665 2666[tricky117] 2667str=ad 2668pat=a(b|c)*d 2669flg=g 2670br0=ad 2671br1= 2672[end] 2673 2674[tricky118] 2675str=abcd 2676pat=a(b|c)*d 2677flg=g 2678br0=abcd 2679br1=c 2680[end] 2681 2682[tricky119] 2683str=abd 2684pat=a(b|c)+d 2685flg=g 2686br0=abd 2687br1=b 2688[end] 2689 2690[tricky120] 2691str=abcd 2692pat=a(b|c)+d 2693flg=g 2694br0=abcd 2695br1=c 2696[end] 2697 2698[tricky121] 2699str=ad 2700pat=a(b|c?)+d 2701flg=g 2702br0=ad 2703br1= 2704[end] 2705 2706[tricky122] 2707str=ad 2708pat=a(b|c){0,0}d 2709flg=g 2710br0=ad 2711br1= 2712[end] 2713 2714[tricky123] 2715str=ad 2716pat=a(b|c){0,1}d 2717flg=g 2718br0=ad 2719br1= 2720[end] 2721 2722[tricky124] 2723str=abd 2724pat=a(b|c){0,1}d 2725flg=g 2726br0=abd 2727br1=b 2728[end] 2729 2730[tricky125] 2731str=ad 2732pat=a(b|c){0,2}d 2733flg=g 2734br0=ad 2735br1= 2736[end] 2737 2738[tricky126] 2739str=abcd 2740pat=a(b|c){0,2}d 2741flg=g 2742br0=abcd 2743br1=c 2744[end] 2745 2746[tricky127] 2747str=ad 2748pat=a(b|c){0,}d 2749flg=g 2750br0=ad 2751br1= 2752[end] 2753 2754[tricky128] 2755str=abcd 2756pat=a(b|c){0,}d 2757flg=g 2758br0=abcd 2759br1=c 2760[end] 2761 2762[tricky129] 2763str=abd 2764pat=a(b|c){1,1}d 2765flg=g 2766br0=abd 2767br1=b 2768[end] 2769 2770[tricky130] 2771str=abd 2772pat=a(b|c){1,2}d 2773flg=g 2774br0=abd 2775br1=b 2776[end] 2777 2778[tricky131] 2779str=abcd 2780pat=a(b|c){1,2}d 2781flg=g 2782br0=abcd 2783br1=c 2784[end] 2785 2786[tricky132] 2787str=abd 2788pat=a(b|c){1,}d 2789flg=g 2790br0=abd 2791br1=b 2792[end] 2793 2794[tricky133] 2795str=abcd 2796pat=a(b|c){1,}d 2797flg=g 2798br0=abcd 2799br1=c 2800[end] 2801 2802[tricky134] 2803str=acbd 2804pat=a(b|c){2,2}d 2805flg=g 2806br0=acbd 2807br1=b 2808[end] 2809 2810[tricky135] 2811str=abcd 2812pat=a(b|c){2,2}d 2813flg=g 2814br0=abcd 2815br1=c 2816[end] 2817 2818[tricky136] 2819str=abcd 2820pat=a(b|c){2,4}d 2821flg=g 2822br0=abcd 2823br1=c 2824[end] 2825 2826[tricky137] 2827str=abcbd 2828pat=a(b|c){2,4}d 2829flg=g 2830br0=abcbd 2831br1=b 2832[end] 2833 2834[tricky138] 2835str=abcbcd 2836pat=a(b|c){2,4}d 2837flg=g 2838br0=abcbcd 2839br1=c 2840[end] 2841 2842[tricky139] 2843str=abcd 2844pat=a(b|c){2,}d 2845flg=g 2846br0=abcd 2847br1=c 2848[end] 2849 2850[tricky140] 2851str=abcbd 2852pat=a(b|c){2,}d 2853flg=g 2854br0=abcbd 2855br1=b 2856[end] 2857 2858[tricky141] 2859str=abcd 2860pat=a(b|c?)+d 2861flg=g 2862br0=abcd 2863br1= 2864[end] 2865 2866[tricky142] 2867str=abd 2868pat=a(b+|((c)*))+d 2869flg=g 2870br0=abd 2871br1= 2872br2= 2873br3= 2874[end] 2875 2876; Boost.Regex bug 2877[tricky143] 2878str=abcd 2879pat=a(b+|((c)*))+d 2880flg=g 2881br0=abcd 2882br1= 2883br2= 2884;br3=c 2885br3= 2886[end] 2887 2888; Boost.Regex bug 2889[tricky144] 2890str=abcd 2891pat=a(b|c?)+d 2892flg=g 2893br0=abcd 2894;br1=c 2895br1= 2896[end] 2897 2898; Boost.Regex bug 2899[tricky145] 2900str=abcd 2901pat=a(b|((c)*))+d 2902flg=g 2903br0=abcd 2904;br1=c 2905;br2=c 2906;br3=c 2907br1= 2908br2= 2909br3= 2910[end] 2911 2912; Boost.Regex bug 2913[tricky146] 2914str=abd 2915pat=a(b+|((c)*))+d 2916flg=g 2917br0=abd 2918;br1=b 2919br1= 2920br2= 2921br3= 2922[end] 2923 2924; Boost.Regex bug 2925[tricky147] 2926str=abcd 2927pat=a(b+|((c)*))+d 2928flg=g 2929br0=abcd 2930;br1=c 2931;br2=c 2932;br3=c 2933br1= 2934br2= 2935br3= 2936[end] 2937 2938[tricky148] 2939str=++i //here is a line comment\n 2940pat=//[^\n]* 2941flg=g 2942br0=//here is a line comment 2943[end] 2944 2945[tricky149] 2946str=/* here is a block comment */ 2947pat=/\*([^*]|\*+[^*/])*\*+/ 2948flg=g 2949br0=/* here is a block comment */ 2950br1= 2951[end] 2952 2953[tricky150] 2954str=/**/ 2955pat=/\*([^*]|\*+[^*/])*\*+/ 2956flg=g 2957br0=/**/ 2958br1= 2959[end] 2960 2961[tricky151] 2962str=/***/ 2963pat=/\*([^*]|\*+[^*/])*\*+/ 2964flg=g 2965br0=/***/ 2966br1= 2967[end] 2968 2969[tricky152] 2970str=/****/ 2971pat=/\*([^*]|\*+[^*/])*\*+/ 2972flg=g 2973br0=/****/ 2974br1= 2975[end] 2976 2977[tricky153] 2978str=/*****/ 2979pat=/\*([^*]|\*+[^*/])*\*+/ 2980flg=g 2981br0=/*****/ 2982br1= 2983[end] 2984 2985[tricky154] 2986str=/*****/*/ 2987pat=/\*([^*]|\*+[^*/])*\*+/ 2988flg=g 2989br0=/*****/ 2990br1= 2991[end] 2992 2993[tricky155] 2994str=#define some_symbol 2995pat=^[[:blank:]]*#([^\n]*\\[[:space:]]+)*[^\n]* 2996flg=g 2997br0=#define some_symbol 2998br1= 2999[end] 3000 3001[tricky156] 3002str=#define some_symbol(x) #x 3003pat=^[[:blank:]]*#([^\n]*\\[[:space:]]+)*[^\n]* 3004flg=g 3005br0=#define some_symbol(x) #x 3006br1= 3007[end] 3008 3009[tricky157] 3010str=#define some_symbol(x) \\ \r\n foo();\\\r\n printf(#x); 3011pat=^[[:blank:]]*#([^\n]*\\[[:space:]]+)*[^\n]* 3012flg=g 3013br0=#define some_symbol(x) \\ \r\n foo();\\\r\n printf(#x); 3014br1=foo();\\\r\n 3015[end] 3016 3017[tricky158] 3018str=aaaabab 3019pat=(aaa)(ab)* 3020flg=g 3021br0=aaaabab 3022br1=aaa 3023br2=ab 3024[end] 3025 3026[tricky159] 3027str=0xFF 3028pat=((0x[[:xdigit:]]+)|([[:digit:]]+))u?((int(8|16|32|64))|L)? 3029flg=g 3030br0=0xFF 3031br1=0xFF 3032br2=0xFF 3033br3= 3034br4= 3035br5= 3036br6= 3037[end] 3038 3039[tricky160] 3040str=35 3041pat=((0x[[:xdigit:]]+)|([[:digit:]]+))u?((int(8|16|32|64))|L)? 3042flg=g 3043br0=35 3044br1=35 3045br2= 3046br3=35 3047br4= 3048br5= 3049br6= 3050[end] 3051 3052[tricky161] 3053str=0xFFu 3054pat=((0x[[:xdigit:]]+)|([[:digit:]]+))u?((int(8|16|32|64))|L)? 3055flg=g 3056br0=0xFFu 3057br1=0xFF 3058br2=0xFF 3059br3= 3060br4= 3061br5= 3062br6= 3063[end] 3064 3065[tricky162] 3066str=0xFFL 3067pat=((0x[[:xdigit:]]+)|([[:digit:]]+))u?((int(8|16|32|64))|L)? 3068flg=g 3069br0=0xFFL 3070br1=0xFF 3071br2=0xFF 3072br3= 3073br4=L 3074br5= 3075br6= 3076[end] 3077 3078[tricky163] 3079str=0xFFFFFFFFFFFFFFFFuint64 3080pat=((0x[[:xdigit:]]+)|([[:digit:]]+))u?((int(8|16|32|64))|L)? 3081flg=g 3082br0=0xFFFFFFFFFFFFFFFFuint64 3083br1=0xFFFFFFFFFFFFFFFF 3084br2=0xFFFFFFFFFFFFFFFF 3085br3= 3086br4=int64 3087br5=int64 3088br6=64 3089[end] 3090 3091[tricky164] 3092str='\\x3A' 3093pat='([^\\']|\\.)*' 3094flg=g 3095br0='\\x3A' 3096br1=A 3097[end] 3098 3099[tricky165] 3100str='\\'' 3101pat='([^\\']|\\.)*' 3102flg=g 3103br0='\\'' 3104br1=\\' 3105[end] 3106 3107[tricky166] 3108str='\\n' 3109pat='([^\\']|\\.)*' 3110flg=g 3111br0='\\n' 3112br1=\\n 3113[end] 3114 3115[tricky167] 3116str=0123456789@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|} 3117pat=0123456789@abcdefghijklmnopqrstuvwxyz\[\\\]\^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ\{\|\} 3118flg=gi 3119br0=0123456789@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|} 3120[end] 3121 3122[tricky168] 3123str=A 3124pat=a 3125flg=gi 3126br0=A 3127[end] 3128 3129[tricky169] 3130str=a 3131pat=A 3132flg=gi 3133br0=a 3134[end] 3135 3136[tricky170] 3137str=abcABC 3138pat=[abc]+ 3139flg=gi 3140br0=abcABC 3141[end] 3142 3143[tricky171] 3144str=abcABC 3145pat=[ABC]+ 3146flg=gi 3147br0=abcABC 3148[end] 3149 3150[tricky172] 3151str=abcABC 3152pat=[a-z]+ 3153flg=gi 3154br0=abcABC 3155[end] 3156 3157[tricky173] 3158str=abzANZ 3159pat=[A-Z]+ 3160flg=gi 3161br0=abzANZ 3162[end] 3163 3164; Boost.Regex bug 3165;[tricky174] 3166;str=abzABZ 3167;pat=[a-Z]+ 3168;flg=gi 3169;br0=abzABZ 3170;[end] 3171 3172[tricky175] 3173str=abzABZ 3174pat=[A-z]+ 3175flg=gi 3176br0=abzABZ 3177[end] 3178 3179[tricky176] 3180str=abyzABYZ 3181pat=[[:lower:]]+ 3182flg=gi 3183br0=abyzABYZ 3184[end] 3185 3186[tricky177] 3187str=abzABZ 3188pat=[[:upper:]]+ 3189flg=gi 3190br0=abzABZ 3191[end] 3192 3193[tricky178] 3194str=abcZZZ 3195pat=\w+ 3196flg=gi 3197br0=abcZZZ 3198[end] 3199 3200[tricky179] 3201str=abyzABYZ 3202pat=[[:alpha:]]+ 3203flg=gi 3204br0=abyzABYZ 3205[end] 3206 3207[tricky180] 3208str=09abyzABYZ 3209pat=[[:alnum:]]+ 3210flg=gi 3211br0=09abyzABYZ 3212[end] 3213 3214[tricky181] 3215str=( 3216pat=\( 3217flg=g 3218br0=( 3219[end] 3220 3221[tricky182] 3222str=) 3223pat=\) 3224flg=g 3225br0=) 3226[end] 3227 3228[tricky183] 3229str=$ 3230pat=\$ 3231flg=g 3232br0=$ 3233[end] 3234 3235[tricky184] 3236str=^ 3237pat=\^ 3238flg=g 3239br0=^ 3240[end] 3241 3242[tricky185] 3243str=. 3244pat=\. 3245flg=g 3246br0=. 3247[end] 3248 3249[tricky186] 3250str=* 3251pat=\* 3252flg=g 3253br0=* 3254[end] 3255 3256[tricky187] 3257str=+ 3258pat=\+ 3259flg=g 3260br0=+ 3261[end] 3262 3263[tricky188] 3264str=? 3265pat=\? 3266flg=g 3267br0=? 3268[end] 3269 3270[tricky189] 3271str=[ 3272pat=\[ 3273flg=g 3274br0=[ 3275[end] 3276 3277[tricky190] 3278str=] 3279pat=\] 3280flg=g 3281br0=] 3282[end] 3283 3284[tricky191] 3285str=| 3286pat=\| 3287flg=g 3288br0=| 3289[end] 3290 3291[tricky192] 3292str=\\ 3293pat=\\ 3294flg=g 3295br0=\ 3296[end] 3297 3298[tricky193] 3299str=# 3300pat=# 3301flg=g 3302br0=# 3303[end] 3304 3305[tricky194] 3306str=# 3307pat=\# 3308flg=g 3309br0=# 3310[end] 3311 3312[tricky195] 3313str=a- 3314pat=a- 3315flg=g 3316br0=a- 3317[end] 3318 3319[tricky196] 3320str=- 3321pat=\- 3322flg=g 3323br0=- 3324[end] 3325 3326[tricky197] 3327str={ 3328pat=\{ 3329flg=g 3330br0={ 3331[end] 3332 3333[tricky198] 3334str=} 3335pat=\} 3336flg=g 3337br0=} 3338[end] 3339 3340[tricky199] 3341str=0 3342pat=0 3343flg=g 3344br0=0 3345[end] 3346 3347[tricky200] 3348str=1 3349pat=1 3350flg=g 3351br0=1 3352[end] 3353 3354[tricky201] 3355str=9 3356pat=9 3357flg=g 3358br0=9 3359[end] 3360 3361[tricky202] 3362str=b 3363pat=b 3364flg=g 3365br0=b 3366[end] 3367 3368[tricky203] 3369str=B 3370pat=B 3371flg=g 3372br0=B 3373[end] 3374 3375[tricky204] 3376str=< 3377pat=< 3378flg=g 3379br0=< 3380[end] 3381 3382[tricky205] 3383str=> 3384pat=> 3385flg=g 3386br0=> 3387[end] 3388 3389[tricky206] 3390str=w 3391pat=w 3392flg=g 3393br0=w 3394[end] 3395 3396[tricky207] 3397str=W 3398pat=W 3399flg=g 3400br0=W 3401[end] 3402 3403[tricky208] 3404str=` 3405pat=` 3406flg=g 3407br0=` 3408[end] 3409 3410[tricky209] 3411str= 3412pat= 3413flg=g 3414br0= 3415[end] 3416 3417[tricky210] 3418str=\n 3419pat=\n 3420flg=g 3421br0=\n 3422[end] 3423 3424[tricky211] 3425str=, 3426pat=, 3427flg=g 3428br0=, 3429[end] 3430 3431[tricky212] 3432str=a 3433pat=a 3434flg=g 3435br0=a 3436[end] 3437 3438[tricky213] 3439str=f 3440pat=f 3441flg=g 3442br0=f 3443[end] 3444 3445[tricky214] 3446str=n 3447pat=n 3448flg=g 3449br0=n 3450[end] 3451 3452[tricky215] 3453str=r 3454pat=r 3455flg=g 3456br0=r 3457[end] 3458 3459[tricky216] 3460str=t 3461pat=t 3462flg=g 3463br0=t 3464[end] 3465 3466[tricky217] 3467str=v 3468pat=v 3469flg=g 3470br0=v 3471[end] 3472 3473[tricky218] 3474str=c 3475pat=c 3476flg=g 3477br0=c 3478[end] 3479 3480[tricky219] 3481str=x 3482pat=x 3483flg=g 3484br0=x 3485[end] 3486 3487[tricky220] 3488str=: 3489pat=: 3490flg=g 3491br0=: 3492[end] 3493 3494[tricky221] 3495str=w.a.b 3496pat=(\.[[:alnum:]]+){2} 3497flg=g 3498br0=.a.b 3499br1=.b 3500[end] 3501 3502[tricky222] 3503str=foobar 3504pat=(?!foo)bar 3505flg=g 3506br0=bar 3507[end] 3508 3509[tricky223] 3510str=??bar 3511pat=(?!foo)bar 3512flg=g 3513br0=bar 3514[end] 3515 3516[tricky224] 3517str=barfoo 3518pat=(?!foo)bar 3519flg=g 3520br0=bar 3521[end] 3522 3523[tricky225] 3524str=bar?? 3525pat=(?!foo)bar 3526flg=g 3527br0=bar 3528[end] 3529 3530[tricky226] 3531str=bar 3532pat=(?!foo)bar 3533flg=g 3534br0=bar 3535[end] 3536 3537[tricky227] 3538str=a\nb 3539pat=a\Z 3540flg=g 3541[end] 3542 3543[tricky228] 3544str=abc 3545pat=() 3546flg=g 3547br0= 3548br1= 3549br2= 3550br3= 3551br4= 3552br5= 3553br6= 3554br7= 3555[end] 3556 3557[tricky229] 3558str=abc 3559pat=^() 3560flg=g 3561br0= 3562br1= 3563[end] 3564 3565[tricky230] 3566str=abc 3567pat=^()+ 3568flg=g 3569br0= 3570br1= 3571[end] 3572 3573[tricky231] 3574str=abc 3575pat=^(){1} 3576flg=g 3577br0= 3578br1= 3579[end] 3580 3581[tricky232] 3582str=abc 3583pat=^(){2} 3584flg=g 3585br0= 3586br1= 3587[end] 3588 3589[tricky233] 3590str=abc 3591pat=^((){2}) 3592flg=g 3593br0= 3594br1= 3595br2= 3596[end] 3597 3598[tricky234] 3599str=a 3600pat=()\1 3601flg=g 3602br0= 3603br1= 3604br2= 3605br3= 3606[end] 3607 3608[tricky235] 3609str=ab 3610pat=a()\1b 3611flg=g 3612br0=ab 3613br1= 3614[end] 3615 3616[tricky236] 3617str=ab 3618pat=a()b\1 3619flg=g 3620br0=ab 3621br1= 3622[end] 3623 3624[tricky237] 3625str=abcbc 3626pat=([a-c]+)\1 3627flg=g 3628br0=bcbc 3629br1=bc 3630[end] 3631 3632[tricky238] 3633str=xxxxxxxxyyyyyyyyab 3634pat=.+abc 3635flg=g 3636[end] 3637 3638[tricky239] 3639str=abcdxxxyyyxxxyyy 3640pat=(.+)\1 3641flg=g 3642br0=xxxyyyxxxyyy 3643br1=xxxyyy 3644[end] 3645 3646[tricky240] 3647str=___________________________________________x 3648pat=[_]+$ 3649flg=g 3650[end] 3651 3652;[tricky241] 3653;str=abcXYZ 3654;pat=\l+ 3655;flg=gi 3656;br0=abcXYZ 3657;[end] 3658 3659;[tricky242] 3660;str=abcXYZ 3661;pat=\u+ 3662;flg=gi 3663;br0=abcXYZ 3664;[end] 3665 3666; Boost.Regex bug 3667[tricky243] 3668str=abcd 3669pat=a(b|(((c))*))+d 3670flg=g 3671br0=abcd 3672;br1=c 3673;br2=c 3674;br3=c 3675br1= 3676br2= 3677br3= 3678br4=c 3679[end] 3680 3681[replace1] 3682str=acab 3683pat=(a(c)?)|(b) 3684flg=iga 3685sub=(?1(?2(C:):A):B:) 3686res=C:AB: 3687br0=ac 3688br1=ac 3689br2=c 3690br3= 3691br4=a 3692br5=a 3693br6= 3694br7= 3695br8=b 3696br9= 3697br10= 3698br11=b 3699[end] 3700 3701[track2157.1] 3702str=abc\ndef\nghi 3703pat=^.+$ 3704flg=m 3705br0=abc 3706[end] 3707 3708[track2157.2] 3709str=abc\ndef\nghi 3710pat=.$ 3711flg=m 3712br0=c 3713[end] 3714 3715[track2157.3] 3716str=abc\ndef\nghi 3717pat=^.+$ 3718flg= 3719[end] 3720 3721[track2157.4] 3722str=abc\ndef\nghi 3723pat=.$ 3724flg= 3725br0=i 3726[end] 3727 3728[track2157.5] 3729str=abc\r\ndef\r\nghi 3730pat=^.+$ 3731flg=m 3732br0=abc 3733[end] 3734 3735[track2157.6] 3736str=abc\r\ndef\r\nghi 3737pat=.$ 3738flg=m 3739br0=c 3740[end] 3741 3742[nocasealternate] 3743str=common HighLight and Blow this 3744pat=highlight|blow 3745flg=ig 3746sub=<b>$&</b> 3747res=common <b>HighLight</b> and <b>Blow</b> this 3748br0=HighLight 3749br1=Blow 3750[end] 3751 3752[track2296] 3753str=> "" 3754pat=(?P<f>.+):(?P<l>[0-9]+):((?P<c>[0-9]+):)?.* 3755flg= 3756[end] 3757