Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: downloads/boost_1_34_1/libs/xpressive/test/regress.txt @ 33

Last change on this file since 33 was 29, checked in by landauf, 16 years ago

updated boost from 1_33_1 to 1_34_1

File size: 32.5 KB
Line 
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[test68]
536str=Now is the time for all good men to come to the aid of their country.
537pat=o
538flg=g
539sub=O
540res=NOw is the time fOr all gOOd men tO cOme tO the aid Of their cOuntry.
541br0=o
542br1=o
543br2=o
544br3=o
545br4=o
546br5=o
547br6=o
548br7=o
549br8=o
550[end]
551
552[test69]
553str=FooBarfoobar
554pat=.*foo
555flg=i
556br0=FooBarfoo
557[end]
558
559[test70]
560str=FooBarfoobar
561pat=.*boo
562flg=i
563[end]
564
565[test71]
566str=FooBarfoobar
567pat=.*boo|bar
568flg=i
569br0=Bar
570[end]
571
572[test72]
573str=FooBarfoobar
574pat=bar
575flg=i
576sub=($`$&)
577res=Foo(FooBar)foobar
578br0=Bar
579[end]
580
581[test73]
582str=FooBarfoobar
583pat=bar
584flg=gi
585sub=($`$&)
586res=Foo(FooBar)foo(FooBarfoobar)
587br0=Bar
588br1=bar
589[end]
590
591[test74]
592str=FooBarfoobar
593pat=bar
594flg=gi
595sub=($'$&)
596res=Foo(foobarBar)foo(bar)
597br0=Bar
598br1=bar
599[end]
600
601[test75]
602str=fooooo
603pat=fo{1,}
604flg=
605br0=fooooo
606[end]
607
608;[test76]
609;str=fOO bAr BaZ
610;pat=\w+
611;flg=g
612;sub=\L\u$&
613;res=Foo Bar Baz
614;br0=BaZ
615;[end]
616
617;[test77]
618;str=fOO bAr BaZ
619;pat=\w+
620;flg=ga
621;sub=a\LA\Ua\Ea
622;res=aaAa aaAa aaAa
623;br0=fOO
624;br1=bAr
625;br2=BaZ
626;[end]
627
628[test78]
629str=This (has) parens
630pat=This (\Q(has)\E) (parens)
631flg=
632br0=This (has) parens
633br1=(has)
634br2=parens
635[end]
636
637[test79]
638str=This (has) parens
639pat=This \Q(has) parens\E
640flg=
641br0=This (has) parens
642[end]
643
644[test80]
645str=This (has) parens
646pat=This \Q(has) parens
647flg=
648br0=This (has) parens
649[end]
650
651;[test81]
652;str=THAT IS UPPERCASE is
653;pat=IS
654;flg=ig
655;sub=\Uu\Ql$&\E$&n't
656;res=THAT UL$&ISn't UPPERCASE UL$&isn't
657;br0=is
658;[end]
659
660[test82]
661str=abba1234abba
662pat=\d+
663flg=
664br0=1234
665[end]
666
667[test83]
668str=1234abba1234
669pat=\D+
670flg=
671br0=abba
672[end]
673
674[test84]
675str=abba1234abba
676pat=[\d]+
677flg=
678br0=1234
679[end]
680
681[test85]
682str=1234abba1234
683pat=[\D]+
684flg=
685br0=abba
686[end]
687
688[test86]
689str=abba1234abba
690pat=[^\D]+
691flg=
692br0=1234
693[end]
694
695[test87]
696str=1234abba1234
697pat=[^\d]+
698flg=
699br0=abba
700[end]
701
702[test88]
703str=1234abba1234
704pat=[\W\D]+
705flg=
706br0=abba
707[end]
708
709[test89]
710str=1234(.;)abba
711pat=[^\w\d]+
712flg=
713br0=(.;)
714[end]
715
716[test90]
717str=(boo[bar]baz)
718pat=(\(()|\[()).*?(\)\2|\]\3)
719flg=
720br0=(boo[bar]baz)
721br1=(
722br2=
723br3=
724br4=)
725[end]
726
727[test91]
728str=[boo(bar)baz]
729pat=(\(()|\[()).*?(\)\2|\]\3)
730flg=
731br0=[boo(bar)baz]
732br1=[
733br2=
734br3=
735br4=]
736[end]
737
738[test91]
739str=[boo[bar]baz]
740pat=(\(()|\[()).*?(\)\2|\]\3)
741flg=
742br0=[boo[bar]
743br1=[
744br2=
745br3=
746br4=]
747[end]
748
749[test92]
750str=foobarfoo
751pat=(?<=foo)bar
752flg=
753br0=bar
754[end]
755
756[test93]
757str=foobarfoo
758pat=(?<=(f.o))bar
759flg=
760br0=bar
761br1=foo
762[end]
763
764[test94]
765str=foOoo
766pat=(?<=(fo))o
767flg=i
768br0=O
769br1=fo
770[end]
771
772[test95]
773str=fOooo
774pat=(?<!(fo))o
775flg=i
776br0=O
777br1=
778[end]
779
780[test96]
781str=12foo12
782pat=[[:alpha:]]+
783flg=
784br0=foo
785[end]
786
787[test97]
788str=;12foo12;
789pat=[[:alpha:][:digit:]]+
790flg=
791br0=12foo12
792[end]
793
794[test98]
795str=aaaa
796pat=(?<=())a
797flg=
798br0=a
799br1=
800[end]
801
802[test99]
803str=ABCabc123foo
804pat=(?<=(abc\d{3}))foo
805flg=
806br0=foo
807br1=abc123
808[end]
809
810;[test100]
811;str=aaAAa
812;pat=aa
813;flg=gi
814;br0=AA
815;[end]
816
817;[test101]
818;str=aaAAaA
819;pat=aa
820;flg=gi
821;br0=aA
822;[end]
823
824;[test102]
825;str=foobarFOO
826;pat=foo
827;flg=ir
828;br0=FOO
829;[end]
830
831[test103]
832str=a\nxb\n
833pat=(?!^)x
834flg=m
835[end]
836
837[test104]
838str=a\nxb\n
839pat=(?!^)x
840flg=
841br0=x
842[end]
843
844[test105]
845str=a\nxb\n
846pat=(?!\A)x
847flg=m
848br0=x
849[end]
850
851[test106]
852str=(this)
853pat=^(?:\(()|())\w+(?:\)\1|\2)$
854flg=
855br0=(this)
856br1=
857br2=
858[end]
859
860[test107]
861str=this
862pat=^(?:\(()|())\w+(?:\)\1|\2)$
863flg=
864br0=this
865br1=
866br2=
867[end]
868
869[test108]
870str=this)
871pat=^(?:\(()|())\w+(?:\)\1|\2)$
872flg=
873[end]
874
875[test109]
876str=(this
877pat=^(?:\(()|())\w+(?:\)\1|\2)$
878flg=
879[end]
880
881[test110]
882str=abba123abba
883pat=[[:^alpha:]]+
884flg=
885br0=123
886[end]
887
888[test111]
889str=abba123abba
890pat=[[:^alpha:][:alpha:]]+
891flg=
892br0=abba123abba
893[end]
894
895[test112]
896str=123abba123
897pat=[^[:^alpha:]]+
898flg=
899br0=abba
900[end]
901
902;[test113]
903;str=123abba123
904;pat=[[:alpha:]\y]+
905;flg=
906;br0=123abba123
907;[end]
908
909[test114]
910str=abba123abba
911pat=[^[:^alnum:][:^digit:]]+
912flg=
913br0=123
914[end]
915
916[test115]
917str=aaaaA
918pat=^(a\1?){4}$
919flg=i
920br0=aaaaA
921br1=A
922[end]
923
924[test116]
925str=aaaaAa
926pat=^(a\1?){4}$
927flg=i
928br0=aaaaAa
929br1=Aa
930[end]
931
932; test for possible infinite recursion[end]
933
934;[test117]
935;str=ab
936;pat=(a|(?=b)(?R))+
937;flg=
938;br0=a
939;br1=
940;[end]
941
942;[test118]
943;str=abba
944;pat=(?R)
945;flg=
946;br0=
947;[end]
948
949;[test119]
950;str=nothere(HE(hehe(a(b(c)))nothere
951;pat=\(((?>[^()]+)|(?R))*\)
952;flg=
953;br0=(a(b(c)))
954;br1=(b(c))
955;[end]
956
957;[test120]
958;str=1(abcd)(x(y)z)pqr
959;pat=\(((?>[^()]+)|(?R))*\)
960;flg=ga
961;br0=(abcd)
962;br1=abcd
963;br2=(x(y)z)
964;br3=z
965;[end]
966
967;[test121]
968;str=()
969;pat=\((?:(?>[^()]+)|(?R))?\)
970;flg=
971;br0=()
972;[end]
973
974;[test122]
975;str=12(abcde(fsh)xyz(foo(bar))lmno)89
976;pat=\((?:(?>[^()]+)|(?R))?\)
977;flg=
978;br0=(fsh)
979;[end]
980
981;[test123]
982;str=(ab(xy)cd)
983;pat=\((((?>[^()]+)|(?R))*)\)
984;flg=
985;br0=(ab(xy)cd)
986;br1=ab(xy)cd
987;br2=cd
988;[end]
989
990;[test124]
991;str=(ab(xy)cd)
992;pat=\((123)?(((?>[^()]+)|(?R))*)\)
993;flg=
994;br0=(ab(xy)cd)
995;br1=
996;br2=ab(xy)cd
997;br3=cd
998;[end]
999
1000;[test125]
1001;str=(123ab(xy)cd)
1002;pat=\((123)?(((?>[^()]+)|(?R))*)\)
1003;flg=
1004;br0=(123ab(xy)cd)
1005;br1=123
1006;br2=ab(xy)cd
1007;br3=cd
1008;[end]
1009
1010;[test126]
1011;str=(abcd(xyz<p>qrs)123)
1012;pat=\((((?>[^()<>]+)|((?>[^()]+))|(?R))*)\)
1013;flg=
1014;br0=(abcd(xyz<p>qrs)123)
1015;br1=abcd(xyz<p>qrs)123
1016;br2=123
1017;br3=<p>qrs
1018;[end]
1019
1020[test127]
1021str=foobar
1022pat=foo(?#This is a comment[)bar
1023flg=
1024br0=foobar
1025[end]
1026
1027[test128]
1028str=foobar
1029pat=^ f oo b ar $
1030flg=x
1031br0=foobar
1032[end]
1033
1034[test129]
1035str=foobar
1036pat=^ f o *
1037flg=x
1038br0=foo
1039[end]
1040
1041[test129.1]
1042str=foobar
1043pat=^ f \157 *
1044flg=x
1045br0=foo
1046[end]
1047
1048[test130]
1049str=foo bar
1050pat=^ f oo\  b ar $
1051flg=x
1052br0=foo bar
1053[end]
1054
1055[test131]
1056str=foo bar
1057pat=^ f oo [ ] b ar $
1058flg=x
1059br0=foo bar
1060[end]
1061
1062[test132]
1063str=foo bar
1064pat=^ ( ? : f oo [ ] b ar ) $ # This is a comment
1065flg=x
1066br0=foo bar
1067[end]
1068
1069[test133]
1070str=foo bar
1071pat=^ f oo [ ] b ar # This is a comment
1072flg=x
1073br0=foo bar
1074[end]
1075
1076[test134]
1077str=foo bar#Thisisnotacomment
1078pat=^ f oo [ ] b ar \# This is not a comment
1079flg=x
1080br0=foo bar#Thisisnotacomment
1081[end]
1082
1083[test135]
1084str=f oo b ar
1085pat=^f o(?x)     o     (?-x) b ar
1086flg=
1087br0=f oo b ar
1088[end]
1089
1090;[test136]
1091;str=foofoo
1092;pat=(?:foo)\1
1093;flg=
1094;[end]
1095
1096[test137]
1097str=a--
1098pat=^(a?)*$
1099flg=
1100[end]
1101
1102[test138]
1103str=a--
1104pat=^(a?)*?$
1105flg=
1106[end]
1107
1108[test139]
1109str=bc
1110pat=^(b?){2}bc$
1111flg=
1112br0=bc
1113br1=
1114[end]
1115
1116[test140]
1117str=bbc
1118pat=^(b?){2}bc$
1119flg=
1120br0=bbc
1121br1=
1122[end]
1123
1124[test141]
1125str=bbbc
1126pat=^(b?){2}bc$
1127flg=
1128br0=bbbc
1129br1=b
1130[end]
1131
1132[test142]
1133str=bbbbc
1134pat=^(b?){2}bc$
1135flg=
1136[end]
1137
1138[test143]
1139str=bbbbc
1140pat=^(b?)*d$
1141flg=
1142[end]
1143
1144[test144]
1145str=bc
1146pat=^(b?){2}?bc$
1147flg=
1148br0=bc
1149br1=
1150[end]
1151
1152[test145]
1153str=bbc
1154pat=^(b?){2}?bc$
1155flg=
1156br0=bbc
1157br1=
1158[end]
1159
1160[test146]
1161str=bbbc
1162pat=^(b?){2}?bc$
1163flg=
1164br0=bbbc
1165br1=b
1166[end]
1167
1168[test147]
1169str=bbbbc
1170pat=^(b?){2}?bc$
1171flg=
1172[end]
1173
1174[test148]
1175str=bbbbc
1176pat=^(b?)*?d$
1177flg=
1178[end]
1179
1180[test149]
1181str=bc
1182pat=^(b??){2}bc$
1183flg=
1184br0=bc
1185br1=
1186[end]
1187
1188[test150]
1189str=bbc
1190pat=^(b??){2}bc$
1191flg=
1192br0=bbc
1193br1=b
1194[end]
1195
1196[test151]
1197str=bbbc
1198pat=^(b??){2}bc$
1199flg=
1200br0=bbbc
1201br1=b
1202[end]
1203
1204[test152]
1205str=bbbbc
1206pat=^(b??){2}bc$
1207flg=
1208[end]
1209
1210[test153]
1211str=bbbbc
1212pat=^(b??)*d$
1213flg=
1214[end]
1215
1216[test154]
1217str=bc
1218pat=^(b??){2}?bc$
1219flg=
1220br0=bc
1221br1=
1222[end]
1223
1224[test155]
1225str=bbc
1226pat=^(b??){2}?bc$
1227flg=
1228br0=bbc
1229br1=b
1230[end]
1231
1232[test156]
1233str=bbbc
1234pat=^(b??){2}?bc$
1235flg=
1236br0=bbbc
1237br1=b
1238[end]
1239
1240[test157]
1241str=bbbbc
1242pat=^(b??){2}?bc$
1243flg=
1244[end]
1245
1246[test158]
1247str=bbbbc
1248pat=^(b??)*?d$
1249flg=
1250[end]
1251
1252[test159]
1253str=bbc
1254pat=^(|||b)*bc$
1255flg=
1256br0=bbc
1257br1=
1258[end]
1259
1260[test160]
1261str=bbc
1262pat=^(|||b)*?bc$
1263flg=
1264br0=bbc
1265br1=b
1266[end]
1267
1268[test161]
1269str=foo
1270pat=\w??
1271sub=<$&>
1272flg=g
1273res=<><f><><o><><o><>
1274br0=
1275br1=f
1276br2=
1277br3=o
1278br4=
1279br5=o
1280br6=
1281[end]
1282
1283[test162]
1284str=foo
1285pat=()
1286sub=<$&>
1287flg=g
1288res=<>f<>o<>o<>
1289br0=
1290br1=
1291br2=
1292br3=
1293br4=
1294br5=
1295br6=
1296br7=
1297[end]
1298
1299[test163]
1300str=foo
1301pat=()*
1302sub=<$&>
1303flg=g
1304res=<>f<>o<>o<>
1305br0=
1306br1=
1307br2=
1308br3=
1309br4=
1310br5=
1311br6=
1312br7=
1313[end]
1314
1315[test164]
1316str=1yzZ^aAc2
1317pat=[Z-a]+
1318flg=i
1319br0=zZ^aA
1320[end]
1321
1322[test165]
1323str=1yzZ^aAc2
1324pat=[Z-a]+
1325flg=
1326br0=Z^a
1327[end]
1328
1329[test166]
1330str=G
1331pat=f|(?i)g
1332flg=
1333br0=G
1334[end]
1335
1336[test167]
1337str=aBBa
1338pat=[[:lower:]]+
1339flg=i
1340br0=aBBa
1341[end]
1342
1343[test168]
1344str=aA
1345pat=\x61+
1346flg=i
1347br0=aA
1348[end]
1349
1350[test169]
1351str=aA
1352pat=[\x61]+
1353flg=i
1354br0=aA
1355[end]
1356
1357[test170]
1358str=aA
1359pat=\u0061+
1360flg=i
1361br0=aA
1362[end]
1363
1364[test171]
1365str=aA
1366pat=[\u0061]+
1367flg=i
1368br0=aA
1369[end]
1370
1371; tests pilfered from Boost.Regex test_tricky_cases.cpp
1372
1373[tricky1]
1374str=abc
1375pat=a(((b)))c
1376flg=g
1377br0=abc
1378br1=b
1379br2=b
1380br3=b
1381[end]
1382
1383[tricky2]
1384str=abd
1385pat=a(b|(c))d
1386flg=g
1387br0=abd
1388br1=b
1389br2=
1390[end]
1391
1392[tricky3]
1393str=acd
1394pat=a(b|(c))d
1395flg=g
1396br0=acd
1397br1=c
1398br2=c
1399[end]
1400
1401[tricky4]
1402str=abbd
1403pat=a(b*|c)d
1404flg=g
1405br0=abbd
1406br1=bb
1407[end]
1408
1409[tricky5]
1410str=aaaaabaaaabaaaabaaaab
1411pat=a[ab]{20}
1412flg=g
1413br0=aaaaabaaaabaaaabaaaab
1414[end]
1415
1416[tricky6]
1417str=aaaaabaaaabaaaabaaaab
1418pat=a[ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab]
1419flg=g
1420br0=aaaaabaaaabaaaabaaaab
1421[end]
1422
1423[tricky7]
1424str=aaaaabaaaabaaaabaaaabweeknights
1425pat=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)
1426flg=g
1427br0=aaaaabaaaabaaaabaaaabweeknights
1428br1=wee
1429br2=knights
1430[end]
1431
1432[tricky8]
1433str=a1234567890123456789012345678901234567890123456789012345678901234567890b
1434pat=1234567890123456789012345678901234567890123456789012345678901234567890
1435flg=g
1436br0=1234567890123456789012345678901234567890123456789012345678901234567890
1437[end]
1438
1439[tricky9]
1440str=xacegikmoq
1441pat=[ab][cd][ef][gh][ij][kl][mn]
1442flg=g
1443br0=acegikm
1444[end]
1445
1446[tricky10]
1447str=xacegikmoq
1448pat=[ab][cd][ef][gh][ij][kl][mn][op]
1449flg=g
1450br0=acegikmo
1451[end]
1452
1453[tricky11]
1454str=xacegikmoqy
1455pat=[ab][cd][ef][gh][ij][kl][mn][op][qr]
1456flg=g
1457br0=acegikmoq
1458[end]
1459
1460[tricky12]
1461str=xacegikmoqy
1462pat=[ab][cd][ef][gh][ij][kl][mn][op][q]
1463flg=g
1464br0=acegikmoq
1465[end]
1466
1467[tricky13]
1468str=zabcdefghi
1469pat=(a)(b)(c)(d)(e)(f)(g)(h)
1470flg=g
1471br0=abcdefgh
1472br1=a
1473br2=b
1474br3=c
1475br4=d
1476br5=e
1477br6=f
1478br7=g
1479br8=h
1480[end]
1481
1482[tricky14]
1483str=zabcdefghij
1484pat=(a)(b)(c)(d)(e)(f)(g)(h)(i)
1485flg=g
1486br0=abcdefghi
1487br1=a
1488br2=b
1489br3=c
1490br4=d
1491br5=e
1492br6=f
1493br7=g
1494br8=h
1495br9=i
1496[end]
1497
1498[tricky15]
1499str=zabcdefghijk
1500pat=(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)
1501flg=g
1502br0=abcdefghij
1503br1=a
1504br2=b
1505br3=c
1506br4=d
1507br5=e
1508br6=f
1509br7=g
1510br8=h
1511br9=i
1512br10=j
1513[end]
1514
1515[tricky16]
1516str=zabcdefghijkl
1517pat=(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)
1518flg=g
1519br0=abcdefghijk
1520br1=a
1521br2=b
1522br3=c
1523br4=d
1524br5=e
1525br6=f
1526br7=g
1527br8=h
1528br9=i
1529br10=j
1530br11=k
1531[end]
1532
1533[tricky17]
1534str=abc
1535pat=(a)d|(b)c
1536flg=g
1537br0=bc
1538br1=
1539br2=b
1540[end]
1541
1542[tricky18]
1543str=_wwwnocolon _mailto:
1544pat=_+((www)|(ftp)|(mailto)):_*
1545flg=g
1546br0=_mailto:
1547br1=mailto
1548br2=
1549br3=
1550br4=mailto
1551[end]
1552
1553; Boost.Regex bug
1554[tricky19]
1555str=acd
1556pat=a(b)?c\1d
1557flg=g
1558;br0=acd
1559;br1=
1560[end]
1561
1562[tricky20]
1563str=accd
1564pat=a(b?c)+d
1565flg=g
1566br0=accd
1567br1=c
1568[end]
1569
1570[tricky21]
1571str=weeknights
1572pat=(wee|week)(knights|night)
1573flg=g
1574br0=weeknights
1575br1=wee
1576br2=knights
1577[end]
1578
1579[tricky22]
1580str=abc
1581pat=.*
1582flg=g
1583br0=abc
1584br1=
1585[end]
1586
1587[tricky23]
1588str=abd
1589pat=a(b|(c))d
1590flg=g
1591br0=abd
1592br1=b
1593br2=
1594[end]
1595
1596[tricky24]
1597str=acd
1598pat=a(b|(c))d
1599flg=g
1600br0=acd
1601br1=c
1602br2=c
1603[end]
1604
1605[tricky25]
1606str=abbd
1607pat=a(b*|c|e)d
1608flg=g
1609br0=abbd
1610br1=bb
1611[end]
1612
1613[tricky26]
1614str=acd
1615pat=a(b*|c|e)d
1616flg=g
1617br0=acd
1618br1=c
1619[end]
1620
1621[tricky27]
1622str=ad
1623pat=a(b*|c|e)d
1624flg=g
1625br0=ad
1626br1=
1627[end]
1628
1629[tricky28]
1630str=abc
1631pat=a(b?)c
1632flg=g
1633br0=abc
1634br1=b
1635[end]
1636
1637[tricky29]
1638str=ac
1639pat=a(b?)c
1640flg=g
1641br0=ac
1642br1=
1643[end]
1644
1645[tricky30]
1646str=abc
1647pat=a(b+)c
1648flg=g
1649br0=abc
1650br1=b
1651[end]
1652
1653[tricky31]
1654str=abbbc
1655pat=a(b+)c
1656flg=g
1657br0=abbbc
1658br1=bbb
1659[end]
1660
1661[tricky32]
1662str=ac
1663pat=a(b*)c
1664flg=g
1665br0=ac
1666br1=
1667[end]
1668
1669[tricky33]
1670str=abcdef
1671pat=(a|ab)(bc([de]+)f|cde)
1672flg=g
1673br0=abcdef
1674br1=a
1675br2=bcdef
1676br3=de
1677[end]
1678
1679[tricky34]
1680str=abc
1681pat=a([bc]?)c
1682flg=g
1683br0=abc
1684br1=b
1685[end]
1686
1687[tricky35]
1688str=ac
1689pat=a([bc]?)c
1690flg=g
1691br0=ac
1692br1=
1693[end]
1694
1695[tricky36]
1696str=abc
1697pat=a([bc]+)c
1698flg=g
1699br0=abc
1700br1=b
1701[end]
1702
1703[tricky37]
1704str=abcc
1705pat=a([bc]+)c
1706flg=g
1707br0=abcc
1708br1=bc
1709[end]
1710
1711[tricky38]
1712str=abcbc
1713pat=a([bc]+)bc
1714flg=g
1715br0=abcbc
1716br1=bc
1717[end]
1718
1719[tricky39]
1720str=abb
1721pat=a(bb+|b)b
1722flg=g
1723br0=abb
1724br1=b
1725[end]
1726
1727[tricky40]
1728str=abb
1729pat=a(bbb+|bb+|b)b
1730flg=g
1731br0=abb
1732br1=b
1733[end]
1734
1735[tricky41]
1736str=abbb
1737pat=a(bbb+|bb+|b)b
1738flg=g
1739br0=abbb
1740br1=bb
1741[end]
1742
1743[tricky42]
1744str=abbb
1745pat=a(bbb+|bb+|b)bb
1746flg=g
1747br0=abbb
1748br1=b
1749[end]
1750
1751[tricky43]
1752str=abcdef
1753pat=(.*).*
1754flg=g
1755br0=abcdef
1756br1=abcdef
1757br2=
1758br3=
1759[end]
1760
1761[tricky44]
1762str=bc
1763pat=(a*)*
1764flg=g
1765br0=
1766br1=
1767br2=
1768br3=
1769br4=
1770br5=
1771[end]
1772
1773[tricky45]
1774str=bc
1775pat=Z(((((((a+)+)+)+)+)+)+)+|Y(((((((a+)+)+)+)+)+)+)+|X(((((((a+)+)+)+)+)+)+)+|W(((((((a+)+)+)+)+)+)+)+|V(((((((a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+)+)+)+)+)+|CY(((((((a+)+)+)+)+)+)+)+|CX(((((((a+)+)+)+)+)+)+)+|CW(((((((a+)+)+)+)+)+)+)+|CV(((((((a+)+)+)+)+)+)+)+|(a+)+
1776flg=g
1777[end]
1778
1779[tricky46]
1780str=aaa
1781pat=Z(((((((a+)+)+)+)+)+)+)+|Y(((((((a+)+)+)+)+)+)+)+|X(((((((a+)+)+)+)+)+)+)+|W(((((((a+)+)+)+)+)+)+)+|V(((((((a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+)+)+)+)+)+|CY(((((((a+)+)+)+)+)+)+)+|CX(((((((a+)+)+)+)+)+)+)+|CW(((((((a+)+)+)+)+)+)+)+|CV(((((((a+)+)+)+)+)+)+)+|(a+)+
1782flg=g
1783br0=aaa
1784br1=
1785br2=
1786br3=
1787br4=
1788br5=
1789br6=
1790br7=
1791br8=
1792br9=
1793br10=
1794br11=
1795br12=
1796br13=
1797br14=
1798br15=
1799br16=
1800br17=
1801br18=
1802br19=
1803br20=
1804br21=
1805br22=
1806br23=
1807br24=
1808br25=
1809br26=
1810br27=
1811br28=
1812br29=
1813br30=
1814br31=
1815br32=
1816br33=
1817br34=
1818br35=
1819br36=
1820br37=
1821br38=
1822br39=
1823br40=
1824br41=
1825br42=
1826br43=
1827br44=
1828br45=
1829br46=
1830br47=
1831br48=
1832br49=
1833br50=
1834br51=
1835br52=
1836br53=
1837br54=
1838br55=
1839br56=
1840br57=
1841br58=
1842br59=
1843br60=
1844br61=
1845br62=
1846br63=
1847br64=
1848br65=
1849br66=
1850br67=
1851br68=
1852br69=
1853br70=
1854br71=aaa
1855[end]
1856
1857[tricky47]
1858str=Zaaa
1859pat=Z(((((((a+)+)+)+)+)+)+)+|Y(((((((a+)+)+)+)+)+)+)+|X(((((((a+)+)+)+)+)+)+)+|W(((((((a+)+)+)+)+)+)+)+|V(((((((a+)+)+)+)+)+)+)+|CZ(((((((a+)+)+)+)+)+)+)+|CY(((((((a+)+)+)+)+)+)+)+|CX(((((((a+)+)+)+)+)+)+)+|CW(((((((a+)+)+)+)+)+)+)+|CV(((((((a+)+)+)+)+)+)+)+|(a+)+
1860flg=g
1861br0=Zaaa
1862br1=aaa
1863br2=aaa
1864br3=aaa
1865br4=aaa
1866br5=aaa
1867br6=aaa
1868br7=aaa
1869br8=
1870br9=
1871br10=
1872br11=
1873br12=
1874br13=
1875br14=
1876br15=
1877br16=
1878br17=
1879br18=
1880br19=
1881br20=
1882br21=
1883br22=
1884br23=
1885br24=
1886br25=
1887br26=
1888br27=
1889br28=
1890br29=
1891br30=
1892br31=
1893br32=
1894br33=
1895br34=
1896br35=
1897br36=
1898br37=
1899br38=
1900br39=
1901br40=
1902br41=
1903br42=
1904br43=
1905br44=
1906br45=
1907br46=
1908br47=
1909br48=
1910br49=
1911br50=
1912br51=
1913br52=
1914br53=
1915br54=
1916br55=
1917br56=
1918br57=
1919br58=
1920br59=
1921br60=
1922br61=
1923br62=
1924br63=
1925br64=
1926br65=
1927br66=
1928br67=
1929br68=
1930br69=
1931br70=
1932br71=
1933[end]
1934
1935[tricky48]
1936str=xyxxxxyxxxz
1937pat=xyx*xz
1938flg=g
1939br0=xyxxxz
1940[end]
1941
1942[tricky49]
1943str=ad
1944pat=a(b|c)*d
1945flg=g
1946br0=ad
1947br1=
1948[end]
1949
1950[tricky50]
1951str=abcd
1952pat=a(b|c)*d
1953flg=g
1954br0=abcd
1955br1=c
1956[end]
1957
1958[tricky51]
1959str=abd
1960pat=a(b|c)+d
1961flg=g
1962br0=abd
1963br1=b
1964[end]
1965
1966[tricky52]
1967str=abcd
1968pat=a(b|c)+d
1969flg=g
1970br0=abcd
1971br1=c
1972[end]
1973
1974[tricky53]
1975str=ad
1976pat=a(b|c?)+d
1977flg=g
1978br0=ad
1979br1=
1980[end]
1981
1982[tricky54]
1983str=ad
1984pat=a(b|c){0,0}d
1985flg=g
1986br0=ad
1987br1=
1988[end]
1989
1990[tricky55]
1991str=ad
1992pat=a(b|c){0,1}d
1993flg=g
1994br0=ad
1995br1=
1996[end]
1997
1998[tricky56]
1999str=abd
2000pat=a(b|c){0,1}d
2001flg=g
2002br0=abd
2003br1=b
2004[end]
2005
2006[tricky57]
2007str=ad
2008pat=a(b|c){0,2}d
2009flg=g
2010br0=ad
2011br1=
2012[end]
2013
2014[tricky58]
2015str=abcd
2016pat=a(b|c){0,2}d
2017flg=g
2018br0=abcd
2019br1=c
2020[end]
2021
2022[tricky59]
2023str=ad
2024pat=a(b|c){0,}d
2025flg=g
2026br0=ad
2027br1=
2028[end]
2029
2030[tricky60]
2031str=abcd
2032pat=a(b|c){0,}d
2033flg=g
2034br0=abcd
2035br1=c
2036[end]
2037
2038[tricky61]
2039str=abd
2040pat=a(b|c){1,1}d
2041flg=g
2042br0=abd
2043br1=b
2044[end]
2045
2046[tricky62]
2047str=abd
2048pat=a(b|c){1,2}d
2049flg=g
2050br0=abd
2051br1=b
2052[end]
2053
2054[tricky63]
2055str=abcd
2056pat=a(b|c){1,2}d
2057flg=g
2058br0=abcd
2059br1=c
2060[end]
2061
2062[tricky64]
2063str=abd
2064pat=a(b|c){1,}d
2065flg=g
2066br0=abd
2067br1=b
2068[end]
2069
2070[tricky65]
2071str=abcd
2072pat=a(b|c){1,}d
2073flg=g
2074br0=abcd
2075br1=c
2076[end]
2077
2078[tricky66]
2079str=acbd
2080pat=a(b|c){2,2}d
2081flg=g
2082br0=acbd
2083br1=b
2084[end]
2085
2086[tricky67]
2087str=abcd
2088pat=a(b|c){2,2}d
2089flg=g
2090br0=abcd
2091br1=c
2092[end]
2093
2094[tricky68]
2095str=abcd
2096pat=a(b|c){2,4}d
2097flg=g
2098br0=abcd
2099br1=c
2100[end]
2101
2102[tricky69]
2103str=abcbd
2104pat=a(b|c){2,4}d
2105flg=g
2106br0=abcbd
2107br1=b
2108[end]
2109
2110[tricky70]
2111str=abcbcd
2112pat=a(b|c){2,4}d
2113flg=g
2114br0=abcbcd
2115br1=c
2116[end]
2117
2118[tricky71]
2119str=abcd
2120pat=a(b|c){2,}d
2121flg=g
2122br0=abcd
2123br1=c
2124[end]
2125
2126[tricky72]
2127str=abcbd
2128pat=a(b|c){2,}d
2129flg=g
2130br0=abcbd
2131br1=b
2132[end]
2133
2134[tricky73]
2135str=abc
2136pat=a(((b)))c
2137flg=g
2138br0=abc
2139br1=b
2140br2=b
2141br3=b
2142[end]
2143
2144[tricky74]
2145str=abd
2146pat=a(b|(c))d
2147flg=g
2148br0=abd
2149br1=b
2150br2=
2151[end]
2152
2153[tricky75]
2154str=acd
2155pat=a(b|(c))d
2156flg=g
2157br0=acd
2158br1=c
2159br2=c
2160[end]
2161
2162[tricky76]
2163str=abbd
2164pat=a(b*|c)d
2165flg=g
2166br0=abbd
2167br1=bb
2168[end]
2169
2170[tricky77]
2171str=aaaaabaaaabaaaabaaaab
2172pat=a[ab]{20}
2173flg=g
2174br0=aaaaabaaaabaaaabaaaab
2175[end]
2176
2177[tricky78]
2178str=aaaaabaaaabaaaabaaaab
2179pat=a[ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab][ab]
2180flg=g
2181br0=aaaaabaaaabaaaabaaaab
2182[end]
2183
2184[tricky79]
2185str=aaaaabaaaabaaaabaaaabweeknights
2186pat=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)
2187flg=g
2188br0=aaaaabaaaabaaaabaaaabweeknights
2189br1=wee
2190br2=knights
2191[end]
2192
2193[tricky80]
2194str=a1234567890123456789012345678901234567890123456789012345678901234567890b
2195pat=1234567890123456789012345678901234567890123456789012345678901234567890
2196flg=g
2197br0=1234567890123456789012345678901234567890123456789012345678901234567890
2198[end]
2199
2200[tricky81]
2201str=xacegikmoq
2202pat=[ab][cd][ef][gh][ij][kl][mn]
2203flg=g
2204br0=acegikm
2205[end]
2206
2207[tricky82]
2208str=xacegikmoq
2209pat=[ab][cd][ef][gh][ij][kl][mn][op]
2210flg=g
2211br0=acegikmo
2212[end]
2213
2214[tricky83]
2215str=xacegikmoqy
2216pat=[ab][cd][ef][gh][ij][kl][mn][op][qr]
2217flg=g
2218br0=acegikmoq
2219[end]
2220
2221[tricky84]
2222str=xacegikmoqy
2223pat=[ab][cd][ef][gh][ij][kl][mn][op][q]
2224flg=g
2225br0=acegikmoq
2226[end]
2227
2228[tricky85]
2229str=zabcdefghi
2230pat=(a)(b)(c)(d)(e)(f)(g)(h)
2231flg=g
2232br0=abcdefgh
2233br1=a
2234br2=b
2235br3=c
2236br4=d
2237br5=e
2238br6=f
2239br7=g
2240br8=h
2241[end]
2242
2243[tricky86]
2244str=zabcdefghij
2245pat=(a)(b)(c)(d)(e)(f)(g)(h)(i)
2246flg=g
2247br0=abcdefghi
2248br1=a
2249br2=b
2250br3=c
2251br4=d
2252br5=e
2253br6=f
2254br7=g
2255br8=h
2256br9=i
2257[end]
2258
2259[tricky87]
2260str=zabcdefghijk
2261pat=(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)
2262flg=g
2263br0=abcdefghij
2264br1=a
2265br2=b
2266br3=c
2267br4=d
2268br5=e
2269br6=f
2270br7=g
2271br8=h
2272br9=i
2273br10=j
2274[end]
2275
2276[tricky88]
2277str=zabcdefghijkl
2278pat=(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)
2279flg=g
2280br0=abcdefghijk
2281br1=a
2282br2=b
2283br3=c
2284br4=d
2285br5=e
2286br6=f
2287br7=g
2288br8=h
2289br9=i
2290br10=j
2291br11=k
2292[end]
2293
2294[tricky89]
2295str=abc
2296pat=(a)d|(b)c
2297flg=g
2298br0=bc
2299br1=
2300br2=b
2301[end]
2302
2303[tricky90]
2304str=_wwwnocolon _mailto:
2305pat=_+((www)|(ftp)|(mailto)):_*
2306flg=g
2307br0=_mailto:
2308br1=mailto
2309br2=
2310br3=
2311br4=mailto
2312[end]
2313
2314[tricky91]
2315str=accd
2316pat=a(b?c)+d
2317flg=g
2318br0=accd
2319br1=c
2320[end]
2321
2322[tricky92]
2323str=weeknights
2324pat=(wee|week)(knights|night)
2325flg=g
2326br0=weeknights
2327br1=wee
2328br2=knights
2329[end]
2330
2331[tricky93]
2332str=abc
2333pat=.*
2334flg=g
2335br0=abc
2336br1=
2337[end]
2338
2339[tricky94]
2340str=abd
2341pat=a(b|(c))d
2342flg=g
2343br0=abd
2344br1=b
2345br2=
2346[end]
2347
2348[tricky95]
2349str=acd
2350pat=a(b|(c))d
2351flg=g
2352br0=acd
2353br1=c
2354br2=c
2355[end]
2356
2357[tricky96]
2358str=abbd
2359pat=a(b*|c|e)d
2360flg=g
2361br0=abbd
2362br1=bb
2363[end]
2364
2365[tricky97]
2366str=acd
2367pat=a(b*|c|e)d
2368flg=g
2369br0=acd
2370br1=c
2371[end]
2372
2373[tricky98]
2374str=ad
2375pat=a(b*|c|e)d
2376flg=g
2377br0=ad
2378br1=
2379[end]
2380
2381[tricky99]
2382str=abc
2383pat=a(b?)c
2384flg=g
2385br0=abc
2386br1=b
2387[end]
2388
2389[tricky100]
2390str=ac
2391pat=a(b?)c
2392flg=g
2393br0=ac
2394br1=
2395[end]
2396
2397[tricky101]
2398str=abc
2399pat=a(b+)c
2400flg=g
2401br0=abc
2402br1=b
2403[end]
2404
2405[tricky102]
2406str=abbbc
2407pat=a(b+)c
2408flg=g
2409br0=abbbc
2410br1=bbb
2411[end]
2412
2413[tricky103]
2414str=ac
2415pat=a(b*)c
2416flg=g
2417br0=ac
2418br1=
2419[end]
2420
2421[tricky104]
2422str=abcdef
2423pat=(a|ab)(bc([de]+)f|cde)
2424flg=g
2425br0=abcdef
2426br1=a
2427br2=bcdef
2428br3=de
2429[end]
2430
2431[tricky105]
2432str=abc
2433pat=a([bc]?)c
2434flg=g
2435br0=abc
2436br1=b
2437[end]
2438
2439[tricky106]
2440str=ac
2441pat=a([bc]?)c
2442flg=g
2443br0=ac
2444br1=
2445[end]
2446
2447[tricky107]
2448str=abc
2449pat=a([bc]+)c
2450flg=g
2451br0=abc
2452br1=b
2453[end]
2454
2455[tricky108]
2456str=abcc
2457pat=a([bc]+)c
2458flg=g
2459br0=abcc
2460br1=bc
2461[end]
2462
2463[tricky109]
2464str=abcbc
2465pat=a([bc]+)bc
2466flg=g
2467br0=abcbc
2468br1=bc
2469[end]
2470
2471[tricky110]
2472str=abb
2473pat=a(bb+|b)b
2474flg=g
2475br0=abb
2476br1=b
2477[end]
2478
2479[tricky111]
2480str=abb
2481pat=a(bbb+|bb+|b)b
2482flg=g
2483br0=abb
2484br1=b
2485[end]
2486
2487[tricky112]
2488str=abbb
2489pat=a(bbb+|bb+|b)b
2490flg=g
2491br0=abbb
2492br1=bb
2493[end]
2494
2495[tricky113]
2496str=abbb
2497pat=a(bbb+|bb+|b)bb
2498flg=g
2499br0=abbb
2500br1=b
2501[end]
2502
2503[tricky114]
2504str=abcdef
2505pat=(.*).*
2506flg=g
2507br0=abcdef
2508br1=abcdef
2509br2=
2510br3=
2511[end]
2512
2513[tricky115]
2514str=bc
2515pat=(a*)*
2516flg=g
2517br0=
2518br1=
2519br2=
2520br3=
2521br4=
2522br5=
2523[end]
2524
2525[tricky116]
2526str=xyxxxxyxxxz
2527pat=xyx*xz
2528flg=g
2529br0=xyxxxz
2530[end]
2531
2532[tricky117]
2533str=ad
2534pat=a(b|c)*d
2535flg=g
2536br0=ad
2537br1=
2538[end]
2539
2540[tricky118]
2541str=abcd
2542pat=a(b|c)*d
2543flg=g
2544br0=abcd
2545br1=c
2546[end]
2547
2548[tricky119]
2549str=abd
2550pat=a(b|c)+d
2551flg=g
2552br0=abd
2553br1=b
2554[end]
2555
2556[tricky120]
2557str=abcd
2558pat=a(b|c)+d
2559flg=g
2560br0=abcd
2561br1=c
2562[end]
2563
2564[tricky121]
2565str=ad
2566pat=a(b|c?)+d
2567flg=g
2568br0=ad
2569br1=
2570[end]
2571
2572[tricky122]
2573str=ad
2574pat=a(b|c){0,0}d
2575flg=g
2576br0=ad
2577br1=
2578[end]
2579
2580[tricky123]
2581str=ad
2582pat=a(b|c){0,1}d
2583flg=g
2584br0=ad
2585br1=
2586[end]
2587
2588[tricky124]
2589str=abd
2590pat=a(b|c){0,1}d
2591flg=g
2592br0=abd
2593br1=b
2594[end]
2595
2596[tricky125]
2597str=ad
2598pat=a(b|c){0,2}d
2599flg=g
2600br0=ad
2601br1=
2602[end]
2603
2604[tricky126]
2605str=abcd
2606pat=a(b|c){0,2}d
2607flg=g
2608br0=abcd
2609br1=c
2610[end]
2611
2612[tricky127]
2613str=ad
2614pat=a(b|c){0,}d
2615flg=g
2616br0=ad
2617br1=
2618[end]
2619
2620[tricky128]
2621str=abcd
2622pat=a(b|c){0,}d
2623flg=g
2624br0=abcd
2625br1=c
2626[end]
2627
2628[tricky129]
2629str=abd
2630pat=a(b|c){1,1}d
2631flg=g
2632br0=abd
2633br1=b
2634[end]
2635
2636[tricky130]
2637str=abd
2638pat=a(b|c){1,2}d
2639flg=g
2640br0=abd
2641br1=b
2642[end]
2643
2644[tricky131]
2645str=abcd
2646pat=a(b|c){1,2}d
2647flg=g
2648br0=abcd
2649br1=c
2650[end]
2651
2652[tricky132]
2653str=abd
2654pat=a(b|c){1,}d
2655flg=g
2656br0=abd
2657br1=b
2658[end]
2659
2660[tricky133]
2661str=abcd
2662pat=a(b|c){1,}d
2663flg=g
2664br0=abcd
2665br1=c
2666[end]
2667
2668[tricky134]
2669str=acbd
2670pat=a(b|c){2,2}d
2671flg=g
2672br0=acbd
2673br1=b
2674[end]
2675
2676[tricky135]
2677str=abcd
2678pat=a(b|c){2,2}d
2679flg=g
2680br0=abcd
2681br1=c
2682[end]
2683
2684[tricky136]
2685str=abcd
2686pat=a(b|c){2,4}d
2687flg=g
2688br0=abcd
2689br1=c
2690[end]
2691
2692[tricky137]
2693str=abcbd
2694pat=a(b|c){2,4}d
2695flg=g
2696br0=abcbd
2697br1=b
2698[end]
2699
2700[tricky138]
2701str=abcbcd
2702pat=a(b|c){2,4}d
2703flg=g
2704br0=abcbcd
2705br1=c
2706[end]
2707
2708[tricky139]
2709str=abcd
2710pat=a(b|c){2,}d
2711flg=g
2712br0=abcd
2713br1=c
2714[end]
2715
2716[tricky140]
2717str=abcbd
2718pat=a(b|c){2,}d
2719flg=g
2720br0=abcbd
2721br1=b
2722[end]
2723
2724[tricky141]
2725str=abcd
2726pat=a(b|c?)+d
2727flg=g
2728br0=abcd
2729br1=
2730[end]
2731
2732[tricky142]
2733str=abd
2734pat=a(b+|((c)*))+d
2735flg=g
2736br0=abd
2737br1=
2738br2=
2739br3=
2740[end]
2741
2742; Boost.Regex bug
2743[tricky143]
2744str=abcd
2745pat=a(b+|((c)*))+d
2746flg=g
2747br0=abcd
2748br1=
2749br2=
2750;br3=c
2751br3=
2752[end]
2753
2754; Boost.Regex bug
2755[tricky144]
2756str=abcd
2757pat=a(b|c?)+d
2758flg=g
2759br0=abcd
2760;br1=c
2761br1=
2762[end]
2763
2764; Boost.Regex bug
2765[tricky145]
2766str=abcd
2767pat=a(b|((c)*))+d
2768flg=g
2769br0=abcd
2770;br1=c
2771;br2=c
2772;br3=c
2773br1=
2774br2=
2775br3=
2776[end]
2777
2778; Boost.Regex bug
2779[tricky146]
2780str=abd
2781pat=a(b+|((c)*))+d
2782flg=g
2783br0=abd
2784;br1=b
2785br1=
2786br2=
2787br3=
2788[end]
2789
2790; Boost.Regex bug
2791[tricky147]
2792str=abcd
2793pat=a(b+|((c)*))+d
2794flg=g
2795br0=abcd
2796;br1=c
2797;br2=c
2798;br3=c
2799br1=
2800br2=
2801br3=
2802[end]
2803
2804[tricky148]
2805str=++i //here is a line comment\n
2806pat=//[^\n]*
2807flg=g
2808br0=//here is a line comment
2809[end]
2810
2811[tricky149]
2812str=/* here is a block comment */
2813pat=/\*([^*]|\*+[^*/])*\*+/
2814flg=g
2815br0=/* here is a block comment */
2816br1=
2817[end]
2818
2819[tricky150]
2820str=/**/
2821pat=/\*([^*]|\*+[^*/])*\*+/
2822flg=g
2823br0=/**/
2824br1=
2825[end]
2826
2827[tricky151]
2828str=/***/
2829pat=/\*([^*]|\*+[^*/])*\*+/
2830flg=g
2831br0=/***/
2832br1=
2833[end]
2834
2835[tricky152]
2836str=/****/
2837pat=/\*([^*]|\*+[^*/])*\*+/
2838flg=g
2839br0=/****/
2840br1=
2841[end]
2842
2843[tricky153]
2844str=/*****/
2845pat=/\*([^*]|\*+[^*/])*\*+/
2846flg=g
2847br0=/*****/
2848br1=
2849[end]
2850
2851[tricky154]
2852str=/*****/*/
2853pat=/\*([^*]|\*+[^*/])*\*+/
2854flg=g
2855br0=/*****/
2856br1=
2857[end]
2858
2859[tricky155]
2860str=#define some_symbol
2861pat=^[[:blank:]]*#([^\n]*\\[[:space:]]+)*[^\n]*
2862flg=g
2863br0=#define some_symbol
2864br1=
2865[end]
2866
2867[tricky156]
2868str=#define some_symbol(x) #x
2869pat=^[[:blank:]]*#([^\n]*\\[[:space:]]+)*[^\n]*
2870flg=g
2871br0=#define some_symbol(x) #x
2872br1=
2873[end]
2874
2875[tricky157]
2876str=#define some_symbol(x) \\  \r\n  foo();\\\r\n   printf(#x);
2877pat=^[[:blank:]]*#([^\n]*\\[[:space:]]+)*[^\n]*
2878flg=g
2879br0=#define some_symbol(x) \\  \r\n  foo();\\\r\n   printf(#x);
2880br1=foo();\\\r\n   
2881[end]
2882
2883[tricky158]
2884str=aaaabab
2885pat=(aaa)(ab)*
2886flg=g
2887br0=aaaabab
2888br1=aaa
2889br2=ab
2890[end]
2891
2892[tricky159]
2893str=0xFF
2894pat=((0x[[:xdigit:]]+)|([[:digit:]]+))u?((int(8|16|32|64))|L)?
2895flg=g
2896br0=0xFF
2897br1=0xFF
2898br2=0xFF
2899br3=
2900br4=
2901br5=
2902br6=
2903[end]
2904
2905[tricky160]
2906str=35
2907pat=((0x[[:xdigit:]]+)|([[:digit:]]+))u?((int(8|16|32|64))|L)?
2908flg=g
2909br0=35
2910br1=35
2911br2=
2912br3=35
2913br4=
2914br5=
2915br6=
2916[end]
2917
2918[tricky161]
2919str=0xFFu
2920pat=((0x[[:xdigit:]]+)|([[:digit:]]+))u?((int(8|16|32|64))|L)?
2921flg=g
2922br0=0xFFu
2923br1=0xFF
2924br2=0xFF
2925br3=
2926br4=
2927br5=
2928br6=
2929[end]
2930
2931[tricky162]
2932str=0xFFL
2933pat=((0x[[:xdigit:]]+)|([[:digit:]]+))u?((int(8|16|32|64))|L)?
2934flg=g
2935br0=0xFFL
2936br1=0xFF
2937br2=0xFF
2938br3=
2939br4=L
2940br5=
2941br6=
2942[end]
2943
2944[tricky163]
2945str=0xFFFFFFFFFFFFFFFFuint64
2946pat=((0x[[:xdigit:]]+)|([[:digit:]]+))u?((int(8|16|32|64))|L)?
2947flg=g
2948br0=0xFFFFFFFFFFFFFFFFuint64
2949br1=0xFFFFFFFFFFFFFFFF
2950br2=0xFFFFFFFFFFFFFFFF
2951br3=
2952br4=int64
2953br5=int64
2954br6=64
2955[end]
2956
2957[tricky164]
2958str='\\x3A'
2959pat='([^\\']|\\.)*'
2960flg=g
2961br0='\\x3A'
2962br1=A
2963[end]
2964
2965[tricky165]
2966str='\\''
2967pat='([^\\']|\\.)*'
2968flg=g
2969br0='\\''
2970br1=\\'
2971[end]
2972
2973[tricky166]
2974str='\\n'
2975pat='([^\\']|\\.)*'
2976flg=g
2977br0='\\n'
2978br1=\\n
2979[end]
2980
2981[tricky167]
2982str=0123456789@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}
2983pat=0123456789@abcdefghijklmnopqrstuvwxyz\[\\\]\^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ\{\|\}
2984flg=gi
2985br0=0123456789@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}
2986[end]
2987
2988[tricky168]
2989str=A
2990pat=a
2991flg=gi
2992br0=A
2993[end]
2994
2995[tricky169]
2996str=a
2997pat=A
2998flg=gi
2999br0=a
3000[end]
3001
3002[tricky170]
3003str=abcABC
3004pat=[abc]+
3005flg=gi
3006br0=abcABC
3007[end]
3008
3009[tricky171]
3010str=abcABC
3011pat=[ABC]+
3012flg=gi
3013br0=abcABC
3014[end]
3015
3016[tricky172]
3017str=abcABC
3018pat=[a-z]+
3019flg=gi
3020br0=abcABC
3021[end]
3022
3023[tricky173]
3024str=abzANZ
3025pat=[A-Z]+
3026flg=gi
3027br0=abzANZ
3028[end]
3029
3030; Boost.Regex bug
3031;[tricky174]
3032;str=abzABZ
3033;pat=[a-Z]+
3034;flg=gi
3035;br0=abzABZ
3036;[end]
3037
3038[tricky175]
3039str=abzABZ
3040pat=[A-z]+
3041flg=gi
3042br0=abzABZ
3043[end]
3044
3045[tricky176]
3046str=abyzABYZ
3047pat=[[:lower:]]+
3048flg=gi
3049br0=abyzABYZ
3050[end]
3051
3052[tricky177]
3053str=abzABZ
3054pat=[[:upper:]]+
3055flg=gi
3056br0=abzABZ
3057[end]
3058
3059[tricky178]
3060str=abcZZZ
3061pat=\w+
3062flg=gi
3063br0=abcZZZ
3064[end]
3065
3066[tricky179]
3067str=abyzABYZ
3068pat=[[:alpha:]]+
3069flg=gi
3070br0=abyzABYZ
3071[end]
3072
3073[tricky180]
3074str=09abyzABYZ
3075pat=[[:alnum:]]+
3076flg=gi
3077br0=09abyzABYZ
3078[end]
3079
3080[tricky181]
3081str=(
3082pat=\(
3083flg=g
3084br0=(
3085[end]
3086
3087[tricky182]
3088str=)
3089pat=\)
3090flg=g
3091br0=)
3092[end]
3093
3094[tricky183]
3095str=$
3096pat=\$
3097flg=g
3098br0=$
3099[end]
3100
3101[tricky184]
3102str=^
3103pat=\^
3104flg=g
3105br0=^
3106[end]
3107
3108[tricky185]
3109str=.
3110pat=\.
3111flg=g
3112br0=.
3113[end]
3114
3115[tricky186]
3116str=*
3117pat=\*
3118flg=g
3119br0=*
3120[end]
3121
3122[tricky187]
3123str=+
3124pat=\+
3125flg=g
3126br0=+
3127[end]
3128
3129[tricky188]
3130str=?
3131pat=\?
3132flg=g
3133br0=?
3134[end]
3135
3136[tricky189]
3137str=[
3138pat=\[
3139flg=g
3140br0=[
3141[end]
3142
3143[tricky190]
3144str=]
3145pat=\]
3146flg=g
3147br0=]
3148[end]
3149
3150[tricky191]
3151str=|
3152pat=\|
3153flg=g
3154br0=|
3155[end]
3156
3157[tricky192]
3158str=\\
3159pat=\\
3160flg=g
3161br0=\
3162[end]
3163
3164[tricky193]
3165str=#
3166pat=#
3167flg=g
3168br0=#
3169[end]
3170
3171[tricky194]
3172str=#
3173pat=\#
3174flg=g
3175br0=#
3176[end]
3177
3178[tricky195]
3179str=a-
3180pat=a-
3181flg=g
3182br0=a-
3183[end]
3184
3185[tricky196]
3186str=-
3187pat=\-
3188flg=g
3189br0=-
3190[end]
3191
3192[tricky197]
3193str={
3194pat=\{
3195flg=g
3196br0={
3197[end]
3198
3199[tricky198]
3200str=}
3201pat=\}
3202flg=g
3203br0=}
3204[end]
3205
3206[tricky199]
3207str=0
3208pat=0
3209flg=g
3210br0=0
3211[end]
3212
3213[tricky200]
3214str=1
3215pat=1
3216flg=g
3217br0=1
3218[end]
3219
3220[tricky201]
3221str=9
3222pat=9
3223flg=g
3224br0=9
3225[end]
3226
3227[tricky202]
3228str=b
3229pat=b
3230flg=g
3231br0=b
3232[end]
3233
3234[tricky203]
3235str=B
3236pat=B
3237flg=g
3238br0=B
3239[end]
3240
3241[tricky204]
3242str=<
3243pat=<
3244flg=g
3245br0=<
3246[end]
3247
3248[tricky205]
3249str=>
3250pat=>
3251flg=g
3252br0=>
3253[end]
3254
3255[tricky206]
3256str=w
3257pat=w
3258flg=g
3259br0=w
3260[end]
3261
3262[tricky207]
3263str=W
3264pat=W
3265flg=g
3266br0=W
3267[end]
3268
3269[tricky208]
3270str=`
3271pat=`
3272flg=g
3273br0=`
3274[end]
3275
3276[tricky209]
3277str=
3278pat=
3279flg=g
3280br0=
3281[end]
3282
3283[tricky210]
3284str=\n
3285pat=\n
3286flg=g
3287br0=\n
3288[end]
3289
3290[tricky211]
3291str=,
3292pat=,
3293flg=g
3294br0=,
3295[end]
3296
3297[tricky212]
3298str=a
3299pat=a
3300flg=g
3301br0=a
3302[end]
3303
3304[tricky213]
3305str=f
3306pat=f
3307flg=g
3308br0=f
3309[end]
3310
3311[tricky214]
3312str=n
3313pat=n
3314flg=g
3315br0=n
3316[end]
3317
3318[tricky215]
3319str=r
3320pat=r
3321flg=g
3322br0=r
3323[end]
3324
3325[tricky216]
3326str=t
3327pat=t
3328flg=g
3329br0=t
3330[end]
3331
3332[tricky217]
3333str=v
3334pat=v
3335flg=g
3336br0=v
3337[end]
3338
3339[tricky218]
3340str=c
3341pat=c
3342flg=g
3343br0=c
3344[end]
3345
3346[tricky219]
3347str=x
3348pat=x
3349flg=g
3350br0=x
3351[end]
3352
3353[tricky220]
3354str=:
3355pat=:
3356flg=g
3357br0=:
3358[end]
3359
3360[tricky221]
3361str=w.a.b
3362pat=(\.[[:alnum:]]+){2}
3363flg=g
3364br0=.a.b
3365br1=.b
3366[end]
3367
3368[tricky222]
3369str=foobar
3370pat=(?!foo)bar
3371flg=g
3372br0=bar
3373[end]
3374
3375[tricky223]
3376str=??bar
3377pat=(?!foo)bar
3378flg=g
3379br0=bar
3380[end]
3381
3382[tricky224]
3383str=barfoo
3384pat=(?!foo)bar
3385flg=g
3386br0=bar
3387[end]
3388
3389[tricky225]
3390str=bar??
3391pat=(?!foo)bar
3392flg=g
3393br0=bar
3394[end]
3395
3396[tricky226]
3397str=bar
3398pat=(?!foo)bar
3399flg=g
3400br0=bar
3401[end]
3402
3403[tricky227]
3404str=a\nb
3405pat=a\Z
3406flg=g
3407[end]
3408
3409[tricky228]
3410str=abc
3411pat=()
3412flg=g
3413br0=
3414br1=
3415br2=
3416br3=
3417br4=
3418br5=
3419br6=
3420br7=
3421[end]
3422
3423[tricky229]
3424str=abc
3425pat=^()
3426flg=g
3427br0=
3428br1=
3429[end]
3430
3431[tricky230]
3432str=abc
3433pat=^()+
3434flg=g
3435br0=
3436br1=
3437[end]
3438
3439[tricky231]
3440str=abc
3441pat=^(){1}
3442flg=g
3443br0=
3444br1=
3445[end]
3446
3447[tricky232]
3448str=abc
3449pat=^(){2}
3450flg=g
3451br0=
3452br1=
3453[end]
3454
3455[tricky233]
3456str=abc
3457pat=^((){2})
3458flg=g
3459br0=
3460br1=
3461br2=
3462[end]
3463
3464[tricky234]
3465str=a
3466pat=()\1
3467flg=g
3468br0=
3469br1=
3470br2=
3471br3=
3472[end]
3473
3474[tricky235]
3475str=ab
3476pat=a()\1b
3477flg=g
3478br0=ab
3479br1=
3480[end]
3481
3482[tricky236]
3483str=ab
3484pat=a()b\1
3485flg=g
3486br0=ab
3487br1=
3488[end]
3489
3490[tricky237]
3491str=abcbc
3492pat=([a-c]+)\1
3493flg=g
3494br0=bcbc
3495br1=bc
3496[end]
3497
3498[tricky238]
3499str=xxxxxxxxyyyyyyyyab
3500pat=.+abc
3501flg=g
3502[end]
3503
3504[tricky239]
3505str=abcdxxxyyyxxxyyy
3506pat=(.+)\1
3507flg=g
3508br0=xxxyyyxxxyyy
3509br1=xxxyyy
3510[end]
3511
3512[tricky240]
3513str=___________________________________________x
3514pat=[_]+$
3515flg=g
3516[end]
3517
3518;[tricky241]
3519;str=abcXYZ
3520;pat=\l+
3521;flg=gi
3522;br0=abcXYZ
3523;[end]
3524
3525;[tricky242]
3526;str=abcXYZ
3527;pat=\u+
3528;flg=gi
3529;br0=abcXYZ
3530;[end]
3531
3532; Boost.Regex bug
3533[tricky243]
3534str=abcd
3535pat=a(b|(((c))*))+d
3536flg=g
3537br0=abcd
3538;br1=c
3539;br2=c
3540;br3=c
3541br1=
3542br2=
3543br3=
3544br4=c
3545[end]
Note: See TracBrowser for help on using the repository browser.