• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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