regress.txt 35 KB

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