testinput2 77 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263
  1. /-- This set of tests is not Perl-compatible. It checks on special features
  2. of PCRE's API, error diagnostics, and the compiled code of some patterns.
  3. It also checks the non-Perl syntax the PCRE supports (Python, .NET,
  4. Oniguruma). Finally, there are some tests where PCRE and Perl differ,
  5. either because PCRE can't be compatible, or there is a possible Perl
  6. bug.
  7. NOTE: This is a non-UTF set of tests. When UTF support is needed, use
  8. test 5, and if Unicode Property Support is needed, use test 7. --/
  9. < forbid 8W
  10. /(a)b|/I
  11. /abc/I
  12. abc
  13. defabc
  14. \Aabc
  15. *** Failers
  16. \Adefabc
  17. ABC
  18. /^abc/I
  19. abc
  20. \Aabc
  21. *** Failers
  22. defabc
  23. \Adefabc
  24. /a+bc/I
  25. /a*bc/I
  26. /a{3}bc/I
  27. /(abc|a+z)/I
  28. /^abc$/I
  29. abc
  30. *** Failers
  31. def\nabc
  32. /ab\idef/X
  33. /(?X)ab\idef/X
  34. /x{5,4}/
  35. /z{65536}/
  36. /[abcd/
  37. /(?X)[\B]/
  38. /(?X)[\R]/
  39. /(?X)[\X]/
  40. /[\B]/BZ
  41. /[\R]/BZ
  42. /[\X]/BZ
  43. /[z-a]/
  44. /^*/
  45. /(abc/
  46. /(?# abc/
  47. /(?z)abc/
  48. /.*b/I
  49. /.*?b/I
  50. /cat|dog|elephant/I
  51. this sentence eventually mentions a cat
  52. this sentences rambles on and on for a while and then reaches elephant
  53. /cat|dog|elephant/IS
  54. this sentence eventually mentions a cat
  55. this sentences rambles on and on for a while and then reaches elephant
  56. /cat|dog|elephant/IiS
  57. this sentence eventually mentions a CAT cat
  58. this sentences rambles on and on for a while to elephant ElePhant
  59. /a|[bcd]/IS
  60. /(a|[^\dZ])/IS
  61. /(a|b)*[\s]/IS
  62. /(ab\2)/
  63. /{4,5}abc/
  64. /(a)(b)(c)\2/I
  65. abcb
  66. \O0abcb
  67. \O3abcb
  68. \O6abcb
  69. \O9abcb
  70. \O12abcb
  71. /(a)bc|(a)(b)\2/I
  72. abc
  73. \O0abc
  74. \O3abc
  75. \O6abc
  76. aba
  77. \O0aba
  78. \O3aba
  79. \O6aba
  80. \O9aba
  81. \O12aba
  82. /abc$/IE
  83. abc
  84. *** Failers
  85. abc\n
  86. abc\ndef
  87. /(a)(b)(c)(d)(e)\6/
  88. /the quick brown fox/I
  89. the quick brown fox
  90. this is a line with the quick brown fox
  91. /the quick brown fox/IA
  92. the quick brown fox
  93. *** Failers
  94. this is a line with the quick brown fox
  95. /ab(?z)cd/
  96. /^abc|def/I
  97. abcdef
  98. abcdef\B
  99. /.*((abc)$|(def))/I
  100. defabc
  101. \Zdefabc
  102. /)/
  103. /a[]b/
  104. /[^aeiou ]{3,}/I
  105. co-processors, and for
  106. /<.*>/I
  107. abc<def>ghi<klm>nop
  108. /<.*?>/I
  109. abc<def>ghi<klm>nop
  110. /<.*>/IU
  111. abc<def>ghi<klm>nop
  112. /(?U)<.*>/I
  113. abc<def>ghi<klm>nop
  114. /<.*?>/IU
  115. abc<def>ghi<klm>nop
  116. /={3,}/IU
  117. abc========def
  118. /(?U)={3,}?/I
  119. abc========def
  120. /(?<!bar|cattle)foo/I
  121. foo
  122. catfoo
  123. *** Failers
  124. the barfoo
  125. and cattlefoo
  126. /(?<=a+)b/
  127. /(?<=aaa|b{0,3})b/
  128. /(?<!(foo)a\1)bar/
  129. /(?i)abc/I
  130. /(a|(?m)a)/I
  131. /(?i)^1234/I
  132. /(^b|(?i)^d)/I
  133. /(?s).*/I
  134. /[abcd]/IS
  135. /(?i)[abcd]/IS
  136. /(?m)[xy]|(b|c)/IS
  137. /(^a|^b)/Im
  138. /(?i)(^a|^b)/Im
  139. /(a)(?(1)a|b|c)/
  140. /(?(?=a)a|b|c)/
  141. /(?(1a)/
  142. /(?(1a))/
  143. /(?(?i))/
  144. /(?(abc))/
  145. /(?(?<ab))/
  146. /((?s)blah)\s+\1/I
  147. /((?i)blah)\s+\1/I
  148. /((?i)b)/IDZS
  149. /(a*b|(?i:c*(?-i)d))/IS
  150. /a$/I
  151. a
  152. a\n
  153. *** Failers
  154. \Za
  155. \Za\n
  156. /a$/Im
  157. a
  158. a\n
  159. \Za\n
  160. *** Failers
  161. \Za
  162. /\Aabc/Im
  163. /^abc/Im
  164. /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I
  165. aaaaabbbbbcccccdef
  166. /(?<=foo)[ab]/IS
  167. /(?<!foo)(alpha|omega)/IS
  168. /(?!alphabet)[ab]/IS
  169. /(?<=foo\n)^bar/Im
  170. foo\nbarbar
  171. ***Failers
  172. rhubarb
  173. barbell
  174. abc\nbarton
  175. /^(?<=foo\n)bar/Im
  176. foo\nbarbar
  177. ***Failers
  178. rhubarb
  179. barbell
  180. abc\nbarton
  181. /(?>^abc)/Im
  182. abc
  183. def\nabc
  184. *** Failers
  185. defabc
  186. /(?<=ab(c+)d)ef/
  187. /(?<=ab(?<=c+)d)ef/
  188. /(?<=ab(c|de)f)g/
  189. /The next three are in testinput2 because they have variable length branches/
  190. /(?<=bullock|donkey)-cart/I
  191. the bullock-cart
  192. a donkey-cart race
  193. *** Failers
  194. cart
  195. horse-and-cart
  196. /(?<=ab(?i)x|y|z)/I
  197. /(?>.*)(?<=(abcd)|(xyz))/I
  198. alphabetabcd
  199. endingxyz
  200. /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/I
  201. abxyZZ
  202. abXyZZ
  203. ZZZ
  204. zZZ
  205. bZZ
  206. BZZ
  207. *** Failers
  208. ZZ
  209. abXYZZ
  210. zzz
  211. bzz
  212. /(?<!(foo)a)bar/I
  213. bar
  214. foobbar
  215. *** Failers
  216. fooabar
  217. /This one is here because Perl behaves differently; see also the following/I
  218. /^(a\1?){4}$/I
  219. aaaa
  220. aaaaaa
  221. /Perl does not fail these two for the final subjects. Neither did PCRE until/
  222. /release 8.01. The problem is in backtracking into a subpattern that contains/
  223. /a recursive reference to itself. PCRE has now made these into atomic patterns./
  224. /^(xa|=?\1a){2}$/
  225. xa=xaa
  226. ** Failers
  227. xa=xaaa
  228. /^(xa|=?\1a)+$/
  229. xa=xaa
  230. ** Failers
  231. xa=xaaa
  232. /These are syntax tests from Perl 5.005/I
  233. /a[b-a]/
  234. /a[]b/
  235. /a[/
  236. /*a/
  237. /(*)b/
  238. /abc)/
  239. /(abc/
  240. /a**/
  241. /)(/
  242. /\1/
  243. /\2/
  244. /(a)|\2/
  245. /a[b-a]/Ii
  246. /a[]b/Ii
  247. /a[/Ii
  248. /*a/Ii
  249. /(*)b/Ii
  250. /abc)/Ii
  251. /(abc/Ii
  252. /a**/Ii
  253. /)(/Ii
  254. /:(?:/
  255. /(?<%)b/
  256. /a(?{)b/
  257. /a(?{{})b/
  258. /a(?{}})b/
  259. /a(?{"{"})b/
  260. /a(?{"{"}})b/
  261. /(?(1?)a|b)/
  262. /[a[:xyz:/
  263. /(?<=x+)y/
  264. /a{37,17}/
  265. /abc/\
  266. /abc/\i
  267. /(a)bc(d)/I
  268. abcd
  269. abcd\C2
  270. abcd\C5
  271. /(.{20})/I
  272. abcdefghijklmnopqrstuvwxyz
  273. abcdefghijklmnopqrstuvwxyz\C1
  274. abcdefghijklmnopqrstuvwxyz\G1
  275. /(.{15})/I
  276. abcdefghijklmnopqrstuvwxyz
  277. abcdefghijklmnopqrstuvwxyz\C1\G1
  278. /(.{16})/I
  279. abcdefghijklmnopqrstuvwxyz
  280. abcdefghijklmnopqrstuvwxyz\C1\G1\L
  281. /^(a|(bc))de(f)/I
  282. adef\G1\G2\G3\G4\L
  283. bcdef\G1\G2\G3\G4\L
  284. adefghijk\C0
  285. /^abc\00def/I
  286. abc\00def\L\C0
  287. /word ((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
  288. )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
  289. )?)?)?)?)?)?)?)?)?otherword/I
  290. /.*X/IDZ
  291. /.*X/IDZs
  292. /(.*X|^B)/IDZ
  293. /(.*X|^B)/IDZs
  294. /(?s)(.*X|^B)/IDZ
  295. /(?s:.*X|^B)/IDZ
  296. /\Biss\B/I+
  297. Mississippi
  298. /iss/IG+
  299. Mississippi
  300. /\Biss\B/IG+
  301. Mississippi
  302. /\Biss\B/Ig+
  303. Mississippi
  304. *** Failers
  305. Mississippi\A
  306. /(?<=[Ms])iss/Ig+
  307. Mississippi
  308. /(?<=[Ms])iss/IG+
  309. Mississippi
  310. /^iss/Ig+
  311. ississippi
  312. /.*iss/Ig+
  313. abciss\nxyzisspqr
  314. /.i./I+g
  315. Mississippi
  316. Mississippi\A
  317. Missouri river
  318. Missouri river\A
  319. /^.is/I+g
  320. Mississippi
  321. /^ab\n/Ig+
  322. ab\nab\ncd
  323. /^ab\n/Img+
  324. ab\nab\ncd
  325. /abc/I
  326. /abc|bac/I
  327. /(abc|bac)/I
  328. /(abc|(c|dc))/I
  329. /(abc|(d|de)c)/I
  330. /a*/I
  331. /a+/I
  332. /(baa|a+)/I
  333. /a{0,3}/I
  334. /baa{3,}/I
  335. /"([^\\"]+|\\.)*"/I
  336. /(abc|ab[cd])/I
  337. /(a|.)/I
  338. /a|ba|\w/I
  339. /abc(?=pqr)/I
  340. /...(?<=abc)/I
  341. /abc(?!pqr)/I
  342. /ab./I
  343. /ab[xyz]/I
  344. /abc*/I
  345. /ab.c*/I
  346. /a.c*/I
  347. /.c*/I
  348. /ac*/I
  349. /(a.c*|b.c*)/I
  350. /a.c*|aba/I
  351. /.+a/I
  352. /(?=abcda)a.*/I
  353. /(?=a)a.*/I
  354. /a(b)*/I
  355. /a\d*/I
  356. /ab\d*/I
  357. /a(\d)*/I
  358. /abcde{0,0}/I
  359. /ab\d+/I
  360. /a(?(1)b)(.)/I
  361. /a(?(1)bag|big)(.)/I
  362. /a(?(1)bag|big)*(.)/I
  363. /a(?(1)bag|big)+(.)/I
  364. /a(?(1)b..|b..)(.)/I
  365. /ab\d{0}e/I
  366. /a?b?/I
  367. a
  368. b
  369. ab
  370. \
  371. *** Failers
  372. \N
  373. /|-/I
  374. abcd
  375. -abc
  376. \Nab-c
  377. *** Failers
  378. \Nabc
  379. /^.?abcd/IS
  380. /\( # ( at start
  381. (?: # Non-capturing bracket
  382. (?>[^()]+) # Either a sequence of non-brackets (no backtracking)
  383. | # Or
  384. (?R) # Recurse - i.e. nested bracketed string
  385. )* # Zero or more contents
  386. \) # Closing )
  387. /Ix
  388. (abcd)
  389. (abcd)xyz
  390. xyz(abcd)
  391. (ab(xy)cd)pqr
  392. (ab(xycd)pqr
  393. () abc ()
  394. 12(abcde(fsh)xyz(foo(bar))lmno)89
  395. *** Failers
  396. abcd
  397. abcd)
  398. (abcd
  399. /\( ( (?>[^()]+) | (?R) )* \) /Ixg
  400. (ab(xy)cd)pqr
  401. 1(abcd)(x(y)z)pqr
  402. /\( (?: (?>[^()]+) | (?R) ) \) /Ix
  403. (abcd)
  404. (ab(xy)cd)
  405. (a(b(c)d)e)
  406. ((ab))
  407. *** Failers
  408. ()
  409. /\( (?: (?>[^()]+) | (?R) )? \) /Ix
  410. ()
  411. 12(abcde(fsh)xyz(foo(bar))lmno)89
  412. /\( ( (?>[^()]+) | (?R) )* \) /Ix
  413. (ab(xy)cd)
  414. /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix
  415. (ab(xy)cd)
  416. /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix
  417. (ab(xy)cd)
  418. (123ab(xy)cd)
  419. /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix
  420. (ab(xy)cd)
  421. (123ab(xy)cd)
  422. /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix
  423. (ab(xy)cd)
  424. /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix
  425. (abcd(xyz<p>qrs)123)
  426. /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix
  427. (ab(cd)ef)
  428. (ab(cd(ef)gh)ij)
  429. /^[[:alnum:]]/DZ
  430. /^[[:^alnum:]]/DZ
  431. /^[[:alpha:]]/DZ
  432. /^[[:^alpha:]]/DZ
  433. /[_[:alpha:]]/IS
  434. /^[[:ascii:]]/DZ
  435. /^[[:^ascii:]]/DZ
  436. /^[[:blank:]]/DZ
  437. /^[[:^blank:]]/DZ
  438. /[\n\x0b\x0c\x0d[:blank:]]/IS
  439. /^[[:cntrl:]]/DZ
  440. /^[[:digit:]]/DZ
  441. /^[[:graph:]]/DZ
  442. /^[[:lower:]]/DZ
  443. /^[[:print:]]/DZ
  444. /^[[:punct:]]/DZ
  445. /^[[:space:]]/DZ
  446. /^[[:upper:]]/DZ
  447. /^[[:xdigit:]]/DZ
  448. /^[[:word:]]/DZ
  449. /^[[:^cntrl:]]/DZ
  450. /^[12[:^digit:]]/DZ
  451. /^[[:^blank:]]/DZ
  452. /[01[:alpha:]%]/DZ
  453. /[[.ch.]]/I
  454. /[[=ch=]]/I
  455. /[[:rhubarb:]]/I
  456. /[[:upper:]]/Ii
  457. A
  458. a
  459. /[[:lower:]]/Ii
  460. A
  461. a
  462. /((?-i)[[:lower:]])[[:lower:]]/Ii
  463. ab
  464. aB
  465. *** Failers
  466. Ab
  467. AB
  468. /[\200-\110]/I
  469. /^(?(0)f|b)oo/I
  470. /This one's here because of the large output vector needed/I
  471. /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\w+)\s+(\270)/I
  472. \O900 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 ABC ABC
  473. /This one's here because Perl does this differently and PCRE can't at present/I
  474. /(main(O)?)+/I
  475. mainmain
  476. mainOmain
  477. /These are all cases where Perl does it differently (nested captures)/I
  478. /^(a(b)?)+$/I
  479. aba
  480. /^(aa(bb)?)+$/I
  481. aabbaa
  482. /^(aa|aa(bb))+$/I
  483. aabbaa
  484. /^(aa(bb)??)+$/I
  485. aabbaa
  486. /^(?:aa(bb)?)+$/I
  487. aabbaa
  488. /^(aa(b(b))?)+$/I
  489. aabbaa
  490. /^(?:aa(b(b))?)+$/I
  491. aabbaa
  492. /^(?:aa(b(?:b))?)+$/I
  493. aabbaa
  494. /^(?:aa(bb(?:b))?)+$/I
  495. aabbbaa
  496. /^(?:aa(b(?:bb))?)+$/I
  497. aabbbaa
  498. /^(?:aa(?:b(b))?)+$/I
  499. aabbaa
  500. /^(?:aa(?:b(bb))?)+$/I
  501. aabbbaa
  502. /^(aa(b(bb))?)+$/I
  503. aabbbaa
  504. /^(aa(bb(bb))?)+$/I
  505. aabbbbaa
  506. /--------------------------------------------------------------------/I
  507. /#/IxDZ
  508. /a#/IxDZ
  509. /[\s]/DZ
  510. /[\S]/DZ
  511. /a(?i)b/DZ
  512. ab
  513. aB
  514. *** Failers
  515. AB
  516. /(a(?i)b)/DZ
  517. ab
  518. aB
  519. *** Failers
  520. AB
  521. / (?i)abc/IxDZ
  522. /#this is a comment
  523. (?i)abc/IxDZ
  524. /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
  525. /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
  526. /\Q\E/DZ
  527. \
  528. /\Q\Ex/DZ
  529. / \Q\E/DZ
  530. /a\Q\E/DZ
  531. abc
  532. bca
  533. bac
  534. /a\Q\Eb/DZ
  535. abc
  536. /\Q\Eabc/DZ
  537. /x*+\w/DZ
  538. *** Failers
  539. xxxxx
  540. /x?+/DZ
  541. /x++/DZ
  542. /x{1,3}+/BZO
  543. /x{1,3}+/BZOi
  544. /[^x]{1,3}+/BZO
  545. /[^x]{1,3}+/BZOi
  546. /(x)*+/DZ
  547. /^(\w++|\s++)*$/I
  548. now is the time for all good men to come to the aid of the party
  549. *** Failers
  550. this is not a line with only words and spaces!
  551. /(\d++)(\w)/I
  552. 12345a
  553. *** Failers
  554. 12345+
  555. /a++b/I
  556. aaab
  557. /(a++b)/I
  558. aaab
  559. /(a++)b/I
  560. aaab
  561. /([^()]++|\([^()]*\))+/I
  562. ((abc(ade)ufh()()x
  563. /\(([^()]++|\([^()]+\))+\)/I
  564. (abc)
  565. (abc(def)xyz)
  566. *** Failers
  567. ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
  568. /(abc){1,3}+/DZ
  569. /a+?+/I
  570. /a{2,3}?+b/I
  571. /(?U)a+?+/I
  572. /a{2,3}?+b/IU
  573. /x(?U)a++b/DZ
  574. xaaaab
  575. /(?U)xa++b/DZ
  576. xaaaab
  577. /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/DZ
  578. /^x(?U)a+b/DZ
  579. /^x(?U)(a+)b/DZ
  580. /[.x.]/I
  581. /[=x=]/I
  582. /[:x:]/I
  583. /\l/I
  584. /\L/I
  585. /\N{name}/I
  586. /\u/I
  587. /\U/I
  588. /a{1,3}b/U
  589. ab
  590. /[/I
  591. /[a-/I
  592. /[[:space:]/I
  593. /[\s]/IDZ
  594. /[[:space:]]/IDZ
  595. /[[:space:]abcde]/IDZ
  596. /< (?: (?(R) \d++ | [^<>]*+) | (?R)) * >/Ix
  597. <>
  598. <abcd>
  599. <abc <123> hij>
  600. <abc <def> hij>
  601. <abc<>def>
  602. <abc<>
  603. *** Failers
  604. <abc
  605. |8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|IDZ
  606. |\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|IDZ
  607. /(.*)\d+\1/I
  608. /(.*)\d+/I
  609. /(.*)\d+\1/Is
  610. /(.*)\d+/Is
  611. /(.*(xyz))\d+\2/I
  612. /((.*))\d+\1/I
  613. abc123bc
  614. /a[b]/I
  615. /(?=a).*/I
  616. /(?=abc).xyz/IiI
  617. /(?=abc)(?i).xyz/I
  618. /(?=a)(?=b)/I
  619. /(?=.)a/I
  620. /((?=abcda)a)/I
  621. /((?=abcda)ab)/I
  622. /()a/I
  623. /(?(1)ab|ac)(.)/I
  624. /(?(1)abz|acz)(.)/I
  625. /(?(1)abz)(.)/I
  626. /(?(1)abz)(1)23/I
  627. /(a)+/I
  628. /(a){2,3}/I
  629. /(a)*/I
  630. /[a]/I
  631. /[ab]/I
  632. /[ab]/IS
  633. /[^a]/I
  634. /\d456/I
  635. /\d456/IS
  636. /a^b/I
  637. /^a/Im
  638. abcde
  639. xy\nabc
  640. *** Failers
  641. xyabc
  642. /c|abc/I
  643. /(?i)[ab]/IS
  644. /[ab](?i)cd/IS
  645. /abc(?C)def/I
  646. abcdef
  647. 1234abcdef
  648. *** Failers
  649. abcxyz
  650. abcxyzf
  651. /abc(?C)de(?C1)f/I
  652. 123abcdef
  653. /(?C1)\dabc(?C2)def/IS
  654. 1234abcdef
  655. *** Failers
  656. abcdef
  657. /(?C1)\dabc(?C2)def/ISS
  658. 1234abcdef
  659. *** Failers
  660. abcdef
  661. /(?C255)ab/I
  662. /(?C256)ab/I
  663. /(?Cab)xx/I
  664. /(?C12vr)x/I
  665. /abc(?C)def/I
  666. *** Failers
  667. \x83\x0\x61bcdef
  668. /(abc)(?C)de(?C1)f/I
  669. 123abcdef
  670. 123abcdef\C+
  671. 123abcdef\C-
  672. *** Failers
  673. 123abcdef\C!1
  674. /(?C0)(abc(?C1))*/I
  675. abcabcabc
  676. abcabc\C!1!3
  677. *** Failers
  678. abcabcabc\C!1!3
  679. /(\d{3}(?C))*/I
  680. 123\C+
  681. 123456\C+
  682. 123456789\C+
  683. /((xyz)(?C)p|(?C1)xyzabc)/I
  684. xyzabc\C+
  685. /(X)((xyz)(?C)p|(?C1)xyzabc)/I
  686. Xxyzabc\C+
  687. /(?=(abc))(?C)abcdef/I
  688. abcdef\C+
  689. /(?!(abc)(?C1)d)(?C2)abcxyz/I
  690. abcxyz\C+
  691. /(?<=(abc)(?C))xyz/I
  692. abcxyz\C+
  693. /a(b+)(c*)(?C1)/I
  694. abbbbbccc\C*1
  695. /a(b+?)(c*?)(?C1)/I
  696. abbbbbccc\C*1
  697. /(?C)abc/I
  698. /(?C)^abc/I
  699. /(?C)a|b/IS
  700. /(?R)/I
  701. /(a|(?R))/I
  702. /(ab|(bc|(de|(?R))))/I
  703. /x(ab|(bc|(de|(?R))))/I
  704. xab
  705. xbc
  706. xde
  707. xxab
  708. xxxab
  709. *** Failers
  710. xyab
  711. /(ab|(bc|(de|(?1))))/I
  712. /x(ab|(bc|(de|(?1)x)x)x)/I
  713. /^([^()]|\((?1)*\))*$/I
  714. abc
  715. a(b)c
  716. a(b(c))d
  717. *** Failers)
  718. a(b(c)d
  719. /^>abc>([^()]|\((?1)*\))*<xyz<$/I
  720. >abc>123<xyz<
  721. >abc>1(2)3<xyz<
  722. >abc>(1(2)3)<xyz<
  723. /(a(?1)b)/DZ
  724. /(a(?1)+b)/DZ
  725. /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I
  726. 12
  727. (((2+2)*-3)-7)
  728. -12
  729. *** Failers
  730. ((2+2)*-3)-7)
  731. /^(x(y|(?1){2})z)/I
  732. xyz
  733. xxyzxyzz
  734. *** Failers
  735. xxyzz
  736. xxyzxyzxyzz
  737. /((< (?: (?(R) \d++ | [^<>]*+) | (?2)) * >))/Ix
  738. <>
  739. <abcd>
  740. <abc <123> hij>
  741. <abc <def> hij>
  742. <abc<>def>
  743. <abc<>
  744. *** Failers
  745. <abc
  746. /(?1)/I
  747. /((?2)(abc)/I
  748. /^(abc)def(?1)/I
  749. abcdefabc
  750. /^(a|b|c)=(?1)+/I
  751. a=a
  752. a=b
  753. a=bc
  754. /^(a|b|c)=((?1))+/I
  755. a=a
  756. a=b
  757. a=bc
  758. /a(?P<name1>b|c)d(?P<longername2>e)/DZ
  759. abde
  760. acde
  761. /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/DZ
  762. /(?P<a>a)...(?P=a)bbb(?P>a)d/DZ
  763. /^\W*(?:(?P<one>(?P<two>.)\W*(?P>one)\W*(?P=two)|)|(?P<three>(?P<four>.)\W*(?P>three)\W*(?P=four)|\W*.\W*))\W*$/Ii
  764. 1221
  765. Satan, oscillate my metallic sonatas!
  766. A man, a plan, a canal: Panama!
  767. Able was I ere I saw Elba.
  768. *** Failers
  769. The quick brown fox
  770. /((?(R)a|b))\1(?1)?/I
  771. bb
  772. bbaa
  773. /(.*)a/Is
  774. /(.*)a\1/Is
  775. /(.*)a(b)\2/Is
  776. /((.*)a|(.*)b)z/Is
  777. /((.*)a|(.*)b)z\1/Is
  778. /((.*)a|(.*)b)z\2/Is
  779. /((.*)a|(.*)b)z\3/Is
  780. /((.*)a|^(.*)b)z\3/Is
  781. /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is
  782. /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is
  783. /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is
  784. /(a)(bc)/INDZ
  785. abc
  786. /(?P<one>a)(bc)/INDZ
  787. abc
  788. /(a)(?P<named>bc)/INDZ
  789. /(a+)*zz/I
  790. aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzbbbbbb\M
  791. aaaaaaaaaaaaaz\M
  792. /(aaa(?C1)bbb|ab)/I
  793. aaabbb
  794. aaabbb\C*0
  795. aaabbb\C*1
  796. aaabbb\C*-1
  797. /ab(?P<one>cd)ef(?P<two>gh)/I
  798. abcdefgh
  799. abcdefgh\C1\Gtwo
  800. abcdefgh\Cone\Ctwo
  801. abcdefgh\Cthree
  802. /(?P<Tes>)(?P<Test>)/DZ
  803. /(?P<Test>)(?P<Tes>)/DZ
  804. /(?P<Z>zz)(?P<A>aa)/I
  805. zzaa\CZ
  806. zzaa\CA
  807. /(?P<x>eks)(?P<x>eccs)/I
  808. /(?P<abc>abc(?P<def>def)(?P<abc>xyz))/I
  809. "\[((?P<elem>\d+)(,(?P>elem))*)\]"I
  810. [10,20,30,5,5,4,4,2,43,23,4234]
  811. *** Failers
  812. []
  813. "\[((?P<elem>\d+)(,(?P>elem))*)?\]"I
  814. [10,20,30,5,5,4,4,2,43,23,4234]
  815. []
  816. /(a(b(?2)c))?/DZ
  817. /(a(b(?2)c))*/DZ
  818. /(a(b(?2)c)){0,2}/DZ
  819. /[ab]{1}+/DZ
  820. /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii
  821. Baby Bjorn Active Carrier - With free SHIPPING!!
  822. /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS
  823. Baby Bjorn Active Carrier - With free SHIPPING!!
  824. /a*.*b/ISDZ
  825. /(a|b)*.?c/ISDZ
  826. /abc(?C255)de(?C)f/DZ
  827. /abcde/ICDZ
  828. abcde
  829. abcdfe
  830. /a*b/ICDZS
  831. ab
  832. aaaab
  833. aaaacb
  834. /a*b/ICDZSS
  835. ab
  836. aaaab
  837. aaaacb
  838. /a+b/ICDZ
  839. ab
  840. aaaab
  841. aaaacb
  842. /(abc|def)x/ICDZS
  843. abcx
  844. defx
  845. ** Failers
  846. abcdefzx
  847. /(abc|def)x/ICDZSS
  848. abcx
  849. defx
  850. ** Failers
  851. abcdefzx
  852. /(ab|cd){3,4}/IC
  853. ababab
  854. abcdabcd
  855. abcdcdcdcdcd
  856. /([ab]{,4}c|xy)/ICDZS
  857. Note: that { does NOT introduce a quantifier
  858. /([ab]{,4}c|xy)/ICDZSS
  859. Note: that { does NOT introduce a quantifier
  860. /([ab]{1,4}c|xy){4,5}?123/ICDZ
  861. aacaacaacaacaac123
  862. /\b.*/I
  863. ab cd\>1
  864. /\b.*/Is
  865. ab cd\>1
  866. /(?!.bcd).*/I
  867. Xbcd12345
  868. /abcde/I
  869. ab\P
  870. abc\P
  871. abcd\P
  872. abcde\P
  873. the quick brown abc\P
  874. ** Failers\P
  875. the quick brown abxyz fox\P
  876. "^(0?[1-9]|[12][0-9]|3[01])/(0?[1-9]|1[012])/(20)?\d\d$"I
  877. 13/05/04\P
  878. 13/5/2004\P
  879. 02/05/09\P
  880. 1\P
  881. 1/2\P
  882. 1/2/0\P
  883. 1/2/04\P
  884. 0\P
  885. 02/\P
  886. 02/0\P
  887. 02/1\P
  888. ** Failers\P
  889. \P
  890. 123\P
  891. 33/4/04\P
  892. 3/13/04\P
  893. 0/1/2003\P
  894. 0/\P
  895. 02/0/\P
  896. 02/13\P
  897. /0{0,2}ABC/I
  898. /\d{3,}ABC/I
  899. /\d*ABC/I
  900. /[abc]+DE/I
  901. /[abc]?123/I
  902. 123\P
  903. a\P
  904. b\P
  905. c\P
  906. c12\P
  907. c123\P
  908. /^(?:\d){3,5}X/I
  909. 1\P
  910. 123\P
  911. 123X
  912. 1234\P
  913. 1234X
  914. 12345\P
  915. 12345X
  916. *** Failers
  917. 1X
  918. 123456\P
  919. //KF>testsavedregex
  920. /abc/IS>testsavedregex
  921. <testsavedregex
  922. abc
  923. ** Failers
  924. bca
  925. /abc/ISS>testsavedregex
  926. <testsavedregex
  927. abc
  928. ** Failers
  929. bca
  930. /abc/IFS>testsavedregex
  931. <testsavedregex
  932. abc
  933. ** Failers
  934. bca
  935. /abc/IFSS>testsavedregex
  936. <testsavedregex
  937. abc
  938. ** Failers
  939. bca
  940. /(a|b)/IS>testsavedregex
  941. <testsavedregex
  942. abc
  943. ** Failers
  944. def
  945. /(a|b)/ISS>testsavedregex
  946. <testsavedregex
  947. abc
  948. ** Failers
  949. def
  950. /(a|b)/ISF>testsavedregex
  951. <testsavedregex
  952. abc
  953. ** Failers
  954. def
  955. /(a|b)/ISSF>testsavedregex
  956. <testsavedregex
  957. abc
  958. ** Failers
  959. def
  960. ~<(\w+)/?>(.)*</(\1)>~smgI
  961. \J1024<!DOCTYPE seite SYSTEM "http://www.lco.lineas.de/xmlCms.dtd">\n<seite>\n<dokumenteninformation>\n<seitentitel>Partner der LCO</seitentitel>\n<sprache>de</sprache>\n<seitenbeschreibung>Partner der LINEAS Consulting\nGmbH</seitenbeschreibung>\n<schluesselworte>LINEAS Consulting GmbH Hamburg\nPartnerfirmen</schluesselworte>\n<revisit>30 days</revisit>\n<robots>index,follow</robots>\n<menueinformation>\n<aktiv>ja</aktiv>\n<menueposition>3</menueposition>\n<menuetext>Partner</menuetext>\n</menueinformation>\n<lastedited>\n<autor>LCO</autor>\n<firma>LINEAS Consulting</firma>\n<datum>15.10.2003</datum>\n</lastedited>\n</dokumenteninformation>\n<inhalt>\n\n<absatzueberschrift>Die Partnerfirmen der LINEAS Consulting\nGmbH</absatzueberschrift>\n\n<absatz><link ziel="http://www.ca.com/" zielfenster="_blank">\n<bild name="logo_ca.gif" rahmen="no"/></link> <link\nziel="http://www.ey.com/" zielfenster="_blank"><bild\nname="logo_euy.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><link ziel="http://www.cisco.de/" zielfenster="_blank">\n<bild name="logo_cisco.gif" rahmen="ja"/></link></absatz>\n\n<absatz><link ziel="http://www.atelion.de/"\nzielfenster="_blank"><bild\nname="logo_atelion.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><link ziel="http://www.line-information.de/"\nzielfenster="_blank">\n<bild name="logo_line_information.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><bild name="logo_aw.gif" rahmen="no"/></absatz>\n\n<absatz><link ziel="http://www.incognis.de/"\nzielfenster="_blank"><bild\nname="logo_incognis.gif" rahmen="no"/></link></absatz>\n\n<absatz><link ziel="http://www.addcraft.com/"\nzielfenster="_blank"><bild\nname="logo_addcraft.gif" rahmen="no"/></link></absatz>\n\n<absatz><link ziel="http://www.comendo.com/"\nzielfenster="_blank"><bild\nname="logo_comendo.gif" rahmen="no"/></link></absatz>\n\n</inhalt>\n</seite>
  962. /^a/IF
  963. /line\nbreak/I
  964. this is a line\nbreak
  965. line one\nthis is a line\nbreak in the second line
  966. /line\nbreak/If
  967. this is a line\nbreak
  968. ** Failers
  969. line one\nthis is a line\nbreak in the second line
  970. /line\nbreak/Imf
  971. this is a line\nbreak
  972. ** Failers
  973. line one\nthis is a line\nbreak in the second line
  974. /(?i)(?-i)AbCd/I
  975. AbCd
  976. ** Failers
  977. abcd
  978. /a{11111111111111111111}/I
  979. /(){64294967295}/I
  980. /(){2,4294967295}/I
  981. "(?i:a)(?i:b)(?i:c)(?i:d)(?i:e)(?i:f)(?i:g)(?i:h)(?i:i)(?i:j)(k)(?i:l)A\1B"I
  982. abcdefghijklAkB
  983. "(?P<n0>a)(?P<n1>b)(?P<n2>c)(?P<n3>d)(?P<n4>e)(?P<n5>f)(?P<n6>g)(?P<n7>h)(?P<n8>i)(?P<n9>j)(?P<n10>k)(?P<n11>l)A\11B"I
  984. abcdefghijklAkB
  985. "(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)A\11B"I
  986. abcdefghijklAkB
  987. "(?P<name0>a)(?P<name1>a)(?P<name2>a)(?P<name3>a)(?P<name4>a)(?P<name5>a)(?P<name6>a)(?P<name7>a)(?P<name8>a)(?P<name9>a)(?P<name10>a)(?P<name11>a)(?P<name12>a)(?P<name13>a)(?P<name14>a)(?P<name15>a)(?P<name16>a)(?P<name17>a)(?P<name18>a)(?P<name19>a)(?P<name20>a)(?P<name21>a)(?P<name22>a)(?P<name23>a)(?P<name24>a)(?P<name25>a)(?P<name26>a)(?P<name27>a)(?P<name28>a)(?P<name29>a)(?P<name30>a)(?P<name31>a)(?P<name32>a)(?P<name33>a)(?P<name34>a)(?P<name35>a)(?P<name36>a)(?P<name37>a)(?P<name38>a)(?P<name39>a)(?P<name40>a)(?P<name41>a)(?P<name42>a)(?P<name43>a)(?P<name44>a)(?P<name45>a)(?P<name46>a)(?P<name47>a)(?P<name48>a)(?P<name49>a)(?P<name50>a)(?P<name51>a)(?P<name52>a)(?P<name53>a)(?P<name54>a)(?P<name55>a)(?P<name56>a)(?P<name57>a)(?P<name58>a)(?P<name59>a)(?P<name60>a)(?P<name61>a)(?P<name62>a)(?P<name63>a)(?P<name64>a)(?P<name65>a)(?P<name66>a)(?P<name67>a)(?P<name68>a)(?P<name69>a)(?P<name70>a)(?P<name71>a)(?P<name72>a)(?P<name73>a)(?P<name74>a)(?P<name75>a)(?P<name76>a)(?P<name77>a)(?P<name78>a)(?P<name79>a)(?P<name80>a)(?P<name81>a)(?P<name82>a)(?P<name83>a)(?P<name84>a)(?P<name85>a)(?P<name86>a)(?P<name87>a)(?P<name88>a)(?P<name89>a)(?P<name90>a)(?P<name91>a)(?P<name92>a)(?P<name93>a)(?P<name94>a)(?P<name95>a)(?P<name96>a)(?P<name97>a)(?P<name98>a)(?P<name99>a)(?P<name100>a)"I
  988. aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
  989. "(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)"I
  990. aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
  991. /[^()]*(?:\((?R)\)[^()]*)*/I
  992. (this(and)that
  993. (this(and)that)
  994. (this(and)that)stuff
  995. /[^()]*(?:\((?>(?R))\)[^()]*)*/I
  996. (this(and)that
  997. (this(and)that)
  998. /[^()]*(?:\((?R)\))*[^()]*/I
  999. (this(and)that
  1000. (this(and)that)
  1001. /(?:\((?R)\))*[^()]*/I
  1002. (this(and)that
  1003. (this(and)that)
  1004. ((this))
  1005. /(?:\((?R)\))|[^()]*/I
  1006. (this(and)that
  1007. (this(and)that)
  1008. (this)
  1009. ((this))
  1010. /\x{0000ff}/I
  1011. /^((?P<A>a1)|(?P<A>a2)b)/I
  1012. /^((?P<A>a1)|(?P<A>a2)b)/IJ
  1013. a1b\CA
  1014. a2b\CA
  1015. ** Failers
  1016. a1b\CZ\CA
  1017. /(?|(?<a>)(?<b>)(?<a>)|(?<a>)(?<b>)(?<a>))/IJ
  1018. /^(?P<A>a)(?P<A>b)/IJ
  1019. ab\CA
  1020. /^(?P<A>a)(?P<A>b)|cd/IJ
  1021. ab\CA
  1022. cd\CA
  1023. /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ
  1024. cdefgh\CA
  1025. /^((?P<A>a1)|(?P<A>a2)b)/IJ
  1026. a1b\GA
  1027. a2b\GA
  1028. ** Failers
  1029. a1b\GZ\GA
  1030. /^(?P<A>a)(?P<A>b)/IJ
  1031. ab\GA
  1032. /^(?P<A>a)(?P<A>b)|cd/IJ
  1033. ab\GA
  1034. cd\GA
  1035. /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ
  1036. cdefgh\GA
  1037. /(?J)^((?P<A>a1)|(?P<A>a2)b)/I
  1038. a1b\CA
  1039. a2b\CA
  1040. /^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<A>d)/I
  1041. / In this next test, J is not set at the outer level; consequently it isn't
  1042. set in the pattern's options; consequently pcre_get_named_substring() produces
  1043. a random value. /Ix
  1044. /^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<C>d)/I
  1045. a bc d\CA\CB\CC
  1046. /^(?P<A>a)?(?(A)a|b)/I
  1047. aabc
  1048. bc
  1049. ** Failers
  1050. abc
  1051. /(?:(?(ZZ)a|b)(?P<ZZ>X))+/I
  1052. bXaX
  1053. /(?:(?(2y)a|b)(X))+/I
  1054. /(?:(?(ZA)a|b)(?P<ZZ>X))+/I
  1055. /(?:(?(ZZ)a|b)(?(ZZ)a|b)(?P<ZZ>X))+/I
  1056. bbXaaX
  1057. /(?:(?(ZZ)a|\(b\))\\(?P<ZZ>X))+/I
  1058. (b)\\Xa\\X
  1059. /(?P<ABC/I
  1060. /(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/I
  1061. bXXaYYaY
  1062. bXYaXXaX
  1063. /()()()()()()()()()(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/I
  1064. bXXaYYaY
  1065. /\s*,\s*/IS
  1066. \x0b,\x0b
  1067. \x0c,\x0d
  1068. /^abc/Im
  1069. xyz\nabc
  1070. xyz\nabc\<lf>
  1071. xyz\r\nabc\<lf>
  1072. xyz\rabc\<cr>
  1073. xyz\r\nabc\<crlf>
  1074. ** Failers
  1075. xyz\nabc\<cr>
  1076. xyz\r\nabc\<cr>
  1077. xyz\nabc\<crlf>
  1078. xyz\rabc\<crlf>
  1079. xyz\rabc\<lf>
  1080. /abc$/Im<lf>
  1081. xyzabc
  1082. xyzabc\n
  1083. xyzabc\npqr
  1084. xyzabc\r\<cr>
  1085. xyzabc\rpqr\<cr>
  1086. xyzabc\r\n\<crlf>
  1087. xyzabc\r\npqr\<crlf>
  1088. ** Failers
  1089. xyzabc\r
  1090. xyzabc\rpqr
  1091. xyzabc\r\n
  1092. xyzabc\r\npqr
  1093. /^abc/Im<cr>
  1094. xyz\rabcdef
  1095. xyz\nabcdef\<lf>
  1096. ** Failers
  1097. xyz\nabcdef
  1098. /^abc/Im<lf>
  1099. xyz\nabcdef
  1100. xyz\rabcdef\<cr>
  1101. ** Failers
  1102. xyz\rabcdef
  1103. /^abc/Im<crlf>
  1104. xyz\r\nabcdef
  1105. xyz\rabcdef\<cr>
  1106. ** Failers
  1107. xyz\rabcdef
  1108. /^abc/Im<bad>
  1109. /abc/I
  1110. xyz\rabc\<bad>
  1111. abc
  1112. /.*/I<lf>
  1113. abc\ndef
  1114. abc\rdef
  1115. abc\r\ndef
  1116. \<cr>abc\ndef
  1117. \<cr>abc\rdef
  1118. \<cr>abc\r\ndef
  1119. \<crlf>abc\ndef
  1120. \<crlf>abc\rdef
  1121. \<crlf>abc\r\ndef
  1122. /\w+(.)(.)?def/Is
  1123. abc\ndef
  1124. abc\rdef
  1125. abc\r\ndef
  1126. +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I
  1127. /* this is a C style comment */\M
  1128. /(?P<B>25[0-5]|2[0-4]\d|[01]?\d?\d)(?:\.(?P>B)){3}/I
  1129. /()()()()()()()()()()()()()()()()()()()()
  1130. ()()()()()()()()()()()()()()()()()()()()
  1131. ()()()()()()()()()()()()()()()()()()()()
  1132. ()()()()()()()()()()()()()()()()()()()()
  1133. ()()()()()()()()()()()()()()()()()()()()
  1134. (.(.))/Ix
  1135. XY\O400
  1136. /(a*b|(?i:c*(?-i)d))/IS
  1137. /()[ab]xyz/IS
  1138. /(|)[ab]xyz/IS
  1139. /(|c)[ab]xyz/IS
  1140. /(|c?)[ab]xyz/IS
  1141. /(d?|c?)[ab]xyz/IS
  1142. /(d?|c)[ab]xyz/IS
  1143. /^a*b\d/DZ
  1144. /^a*+b\d/DZ
  1145. /^a*?b\d/DZ
  1146. /^a+A\d/DZ
  1147. aaaA5
  1148. ** Failers
  1149. aaaa5
  1150. /^a*A\d/IiDZ
  1151. aaaA5
  1152. aaaa5
  1153. /(a*|b*)[cd]/IS
  1154. /(a+|b*)[cd]/IS
  1155. /(a*|b+)[cd]/IS
  1156. /(a+|b+)[cd]/IS
  1157. /((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
  1158. ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
  1159. (((
  1160. a
  1161. ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
  1162. ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
  1163. )))
  1164. /Ix
  1165. large nest
  1166. /a*\d/BZ
  1167. /a*\D/BZ
  1168. /0*\d/BZ
  1169. /0*\D/BZ
  1170. /a*\s/BZ
  1171. /a*\S/BZ
  1172. / *\s/BZ
  1173. / *\S/BZ
  1174. /a*\w/BZ
  1175. /a*\W/BZ
  1176. /=*\w/BZ
  1177. /=*\W/BZ
  1178. /\d*a/BZ
  1179. /\d*2/BZ
  1180. /\d*\d/BZ
  1181. /\d*\D/BZ
  1182. /\d*\s/BZ
  1183. /\d*\S/BZ
  1184. /\d*\w/BZ
  1185. /\d*\W/BZ
  1186. /\D*a/BZ
  1187. /\D*2/BZ
  1188. /\D*\d/BZ
  1189. /\D*\D/BZ
  1190. /\D*\s/BZ
  1191. /\D*\S/BZ
  1192. /\D*\w/BZ
  1193. /\D*\W/BZ
  1194. /\s*a/BZ
  1195. /\s*2/BZ
  1196. /\s*\d/BZ
  1197. /\s*\D/BZ
  1198. /\s*\s/BZ
  1199. /\s*\S/BZ
  1200. /\s*\w/BZ
  1201. /\s*\W/BZ
  1202. /\S*a/BZ
  1203. /\S*2/BZ
  1204. /\S*\d/BZ
  1205. /\S*\D/BZ
  1206. /\S*\s/BZ
  1207. /\S*\S/BZ
  1208. /\S*\w/BZ
  1209. /\S*\W/BZ
  1210. /\w*a/BZ
  1211. /\w*2/BZ
  1212. /\w*\d/BZ
  1213. /\w*\D/BZ
  1214. /\w*\s/BZ
  1215. /\w*\S/BZ
  1216. /\w*\w/BZ
  1217. /\w*\W/BZ
  1218. /\W*a/BZ
  1219. /\W*2/BZ
  1220. /\W*\d/BZ
  1221. /\W*\D/BZ
  1222. /\W*\s/BZ
  1223. /\W*\S/BZ
  1224. /\W*\w/BZ
  1225. /\W*\W/BZ
  1226. /[^a]+a/BZ
  1227. /[^a]+a/BZi
  1228. /[^a]+A/BZi
  1229. /[^a]+b/BZ
  1230. /[^a]+\d/BZ
  1231. /a*[^a]/BZ
  1232. /(?P<abc>x)(?P<xyz>y)/I
  1233. xy\Cabc\Cxyz
  1234. /(?<abc>x)(?'xyz'y)/I
  1235. xy\Cabc\Cxyz
  1236. /(?<abc'x)(?'xyz'y)/I
  1237. /(?<abc>x)(?'xyz>y)/I
  1238. /(?P'abc'x)(?P<xyz>y)/I
  1239. /^(?:(?(ZZ)a|b)(?<ZZ>X))+/
  1240. bXaX
  1241. bXbX
  1242. ** Failers
  1243. aXaX
  1244. aXbX
  1245. /^(?P>abc)(?<abcd>xxx)/
  1246. /^(?P>abc)(?<abc>x|y)/
  1247. xx
  1248. xy
  1249. yy
  1250. yx
  1251. /^(?P>abc)(?P<abc>x|y)/
  1252. xx
  1253. xy
  1254. yy
  1255. yx
  1256. /^((?(abc)a|b)(?<abc>x|y))+/
  1257. bxay
  1258. bxby
  1259. ** Failers
  1260. axby
  1261. /^(((?P=abc)|X)(?<abc>x|y))+/
  1262. XxXxxx
  1263. XxXyyx
  1264. XxXyxx
  1265. ** Failers
  1266. x
  1267. /^(?1)(abc)/
  1268. abcabc
  1269. /^(?:(?:\1|X)(a|b))+/
  1270. Xaaa
  1271. Xaba
  1272. /^[\E\Qa\E-\Qz\E]+/BZ
  1273. /^[a\Q]bc\E]/BZ
  1274. /^[a-\Q\E]/BZ
  1275. /^(?P>abc)[()](?<abc>)/BZ
  1276. /^((?(abc)y)[()](?P<abc>x))+/BZ
  1277. (xy)x
  1278. /^(?P>abc)\Q()\E(?<abc>)/BZ
  1279. /^(?P>abc)[a\Q(]\E(](?<abc>)/BZ
  1280. /^(?P>abc) # this is (a comment)
  1281. (?<abc>)/BZx
  1282. /^\W*(?:(?<one>(?<two>.)\W*(?&one)\W*\k<two>|)|(?<three>(?<four>.)\W*(?&three)\W*\k'four'|\W*.\W*))\W*$/Ii
  1283. 1221
  1284. Satan, oscillate my metallic sonatas!
  1285. A man, a plan, a canal: Panama!
  1286. Able was I ere I saw Elba.
  1287. *** Failers
  1288. The quick brown fox
  1289. /(?=(\w+))\1:/I
  1290. abcd:
  1291. /(?=(?'abc'\w+))\k<abc>:/I
  1292. abcd:
  1293. /(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J
  1294. adaa
  1295. ** Failers
  1296. addd
  1297. adbb
  1298. /(?'abc'a|b)(?<abc>d|e)(?&abc){2}/J
  1299. bdaa
  1300. bdab
  1301. ** Failers
  1302. bddd
  1303. /(?(<bc))/
  1304. /(?(''))/
  1305. /(?('R')stuff)/
  1306. /((abc (?(R) (?(R1)1) (?(R2)2) X | (?1) (?2) (?R) ))) /x
  1307. abcabc1Xabc2XabcXabcabc
  1308. /(?<A> (?'B' abc (?(R) (?(R&A)1) (?(R&B)2) X | (?1) (?2) (?R) ))) /x
  1309. abcabc1Xabc2XabcXabcabc
  1310. /(?<A> (?'B' abc (?(R) (?(R&C)1) (?(R&B)2) X | (?1) (?2) (?R) ))) /x
  1311. /^(?(DEFINE) abc | xyz ) /x
  1312. /(?(DEFINE) abc) xyz/xI
  1313. /(a|)*\d/
  1314. \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
  1315. \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
  1316. /^a.b/<lf>
  1317. a\rb
  1318. a\nb\<cr>
  1319. a\x85b\<anycrlf>
  1320. ** Failers
  1321. a\nb
  1322. a\nb\<any>
  1323. a\rb\<cr>
  1324. a\rb\<any>
  1325. a\x85b\<any>
  1326. a\rb\<anycrlf>
  1327. /^abc./mgx<any>
  1328. abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x85abc7 JUNK
  1329. /abc.$/mgx<any>
  1330. abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc7 abc9
  1331. /a/<cr><any>
  1332. /a/<any><crlf>
  1333. /^a\Rb/<bsr_unicode>
  1334. a\nb
  1335. a\rb
  1336. a\r\nb
  1337. a\x0bb
  1338. a\x0cb
  1339. a\x85b
  1340. ** Failers
  1341. a\n\rb
  1342. /^a\R*b/<bsr_unicode>
  1343. ab
  1344. a\nb
  1345. a\rb
  1346. a\r\nb
  1347. a\x0bb
  1348. a\x0cb
  1349. a\x85b
  1350. a\n\rb
  1351. a\n\r\x85\x0cb
  1352. /^a\R+b/<bsr_unicode>
  1353. a\nb
  1354. a\rb
  1355. a\r\nb
  1356. a\x0bb
  1357. a\x0cb
  1358. a\x85b
  1359. a\n\rb
  1360. a\n\r\x85\x0cb
  1361. ** Failers
  1362. ab
  1363. /^a\R{1,3}b/<bsr_unicode>
  1364. a\nb
  1365. a\n\rb
  1366. a\n\r\x85b
  1367. a\r\n\r\nb
  1368. a\r\n\r\n\r\nb
  1369. a\n\r\n\rb
  1370. a\n\n\r\nb
  1371. ** Failers
  1372. a\n\n\n\rb
  1373. a\r
  1374. /^a[\R]b/<bsr_unicode>
  1375. aRb
  1376. ** Failers
  1377. a\nb
  1378. /(?&abc)X(?<abc>P)/I
  1379. abcPXP123
  1380. /(?1)X(?<abc>P)/I
  1381. abcPXP123
  1382. /(?:a(?&abc)b)*(?<abc>x)/
  1383. 123axbaxbaxbx456
  1384. 123axbaxbaxb456
  1385. /(?:a(?&abc)b){1,5}(?<abc>x)/
  1386. 123axbaxbaxbx456
  1387. /(?:a(?&abc)b){2,5}(?<abc>x)/
  1388. 123axbaxbaxbx456
  1389. /(?:a(?&abc)b){2,}(?<abc>x)/
  1390. 123axbaxbaxbx456
  1391. /(abc)(?i:(?1))/
  1392. defabcabcxyz
  1393. DEFabcABCXYZ
  1394. /(abc)(?:(?i)(?1))/
  1395. defabcabcxyz
  1396. DEFabcABCXYZ
  1397. /^(a)\g-2/
  1398. /^(a)\g/
  1399. /^(a)\g{0}/
  1400. /^(a)\g{3/
  1401. /^(a)\g{aa}/
  1402. /^a.b/<lf>
  1403. a\rb
  1404. *** Failers
  1405. a\nb
  1406. /.+foo/
  1407. afoo
  1408. ** Failers
  1409. \r\nfoo
  1410. \nfoo
  1411. /.+foo/<crlf>
  1412. afoo
  1413. \nfoo
  1414. ** Failers
  1415. \r\nfoo
  1416. /.+foo/<any>
  1417. afoo
  1418. ** Failers
  1419. \nfoo
  1420. \r\nfoo
  1421. /.+foo/s
  1422. afoo
  1423. \r\nfoo
  1424. \nfoo
  1425. /^$/mg<any>
  1426. abc\r\rxyz
  1427. abc\n\rxyz
  1428. ** Failers
  1429. abc\r\nxyz
  1430. /(?m)^$/<any>g+
  1431. abc\r\n\r\n
  1432. /(?m)^$|^\r\n/<any>g+
  1433. abc\r\n\r\n
  1434. /(?m)$/<any>g+
  1435. abc\r\n\r\n
  1436. /abc.$/mgx<anycrlf>
  1437. abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc9
  1438. /^X/m
  1439. XABC
  1440. ** Failers
  1441. XABC\B
  1442. /(ab|c)(?-1)/BZ
  1443. abc
  1444. /xy(?+1)(abc)/BZ
  1445. xyabcabc
  1446. ** Failers
  1447. xyabc
  1448. /x(?-0)y/
  1449. /x(?-1)y/
  1450. /x(?+0)y/
  1451. /x(?+1)y/
  1452. /^(abc)?(?(-1)X|Y)/BZ
  1453. abcX
  1454. Y
  1455. ** Failers
  1456. abcY
  1457. /^((?(+1)X|Y)(abc))+/BZ
  1458. YabcXabc
  1459. YabcXabcXabc
  1460. ** Failers
  1461. XabcXabc
  1462. /(?(-1)a)/BZ
  1463. /((?(-1)a))/BZ
  1464. /((?(-2)a))/BZ
  1465. /^(?(+1)X|Y)(.)/BZ
  1466. Y!
  1467. /(?<A>tom|bon)-\k{A}/
  1468. tom-tom
  1469. bon-bon
  1470. ** Failers
  1471. tom-bon
  1472. /\g{A/
  1473. /(?|(abc)|(xyz))/BZ
  1474. >abc<
  1475. >xyz<
  1476. /(x)(?|(abc)|(xyz))(x)/BZ
  1477. xabcx
  1478. xxyzx
  1479. /(x)(?|(abc)(pqr)|(xyz))(x)/BZ
  1480. xabcpqrx
  1481. xxyzx
  1482. /\H++X/BZ
  1483. ** Failers
  1484. XXXX
  1485. /\H+\hY/BZ
  1486. XXXX Y
  1487. /\H+ Y/BZ
  1488. /\h+A/BZ
  1489. /\v*B/BZ
  1490. /\V+\x0a/BZ
  1491. /A+\h/BZ
  1492. / *\H/BZ
  1493. /A*\v/BZ
  1494. /\x0b*\V/BZ
  1495. /\d+\h/BZ
  1496. /\d*\v/BZ
  1497. /S+\h\S+\v/BZ
  1498. /\w{3,}\h\w+\v/BZ
  1499. /\h+\d\h+\w\h+\S\h+\H/BZ
  1500. /\v+\d\v+\w\v+\S\v+\V/BZ
  1501. /\H+\h\H+\d/BZ
  1502. /\V+\v\V+\w/BZ
  1503. /\( (?: [^()]* | (?R) )* \)/x
  1504. \J1024(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(00)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)
  1505. /[\E]AAA/
  1506. /[\Q\E]AAA/
  1507. /[^\E]AAA/
  1508. /[^\Q\E]AAA/
  1509. /[\E^]AAA/
  1510. /[\Q\E^]AAA/
  1511. /A(*PRUNE)B(*SKIP)C(*THEN)D(*COMMIT)E(*F)F(*FAIL)G(?!)H(*ACCEPT)I/BZ
  1512. /^a+(*FAIL)/C
  1513. aaaaaa
  1514. /a+b?c+(*FAIL)/C
  1515. aaabccc
  1516. /a+b?(*PRUNE)c+(*FAIL)/C
  1517. aaabccc
  1518. /a+b?(*COMMIT)c+(*FAIL)/C
  1519. aaabccc
  1520. /a+b?(*SKIP)c+(*FAIL)/C
  1521. aaabcccaaabccc
  1522. /a+b?(*THEN)c+(*FAIL)/C
  1523. aaabccc
  1524. /a(*MARK)b/
  1525. /(?i:A{1,}\6666666666)/
  1526. /\g6666666666/
  1527. /[\g6666666666]/BZ
  1528. /(?1)\c[/
  1529. /.+A/<crlf>
  1530. \r\nA
  1531. /\nA/<crlf>
  1532. \r\nA
  1533. /[\r\n]A/<crlf>
  1534. \r\nA
  1535. /(\r|\n)A/<crlf>
  1536. \r\nA
  1537. /a(*CR)b/
  1538. /(*CR)a.b/
  1539. a\nb
  1540. ** Failers
  1541. a\rb
  1542. /(*CR)a.b/<lf>
  1543. a\nb
  1544. ** Failers
  1545. a\rb
  1546. /(*LF)a.b/<CRLF>
  1547. a\rb
  1548. ** Failers
  1549. a\nb
  1550. /(*CRLF)a.b/
  1551. a\rb
  1552. a\nb
  1553. ** Failers
  1554. a\r\nb
  1555. /(*ANYCRLF)a.b/<CR>
  1556. ** Failers
  1557. a\rb
  1558. a\nb
  1559. a\r\nb
  1560. /(*ANY)a.b/<cr>
  1561. ** Failers
  1562. a\rb
  1563. a\nb
  1564. a\r\nb
  1565. a\x85b
  1566. /(*ANY).*/g
  1567. abc\r\ndef
  1568. /(*ANYCRLF).*/g
  1569. abc\r\ndef
  1570. /(*CRLF).*/g
  1571. abc\r\ndef
  1572. /a\Rb/I<bsr_anycrlf>
  1573. a\rb
  1574. a\nb
  1575. a\r\nb
  1576. ** Failers
  1577. a\x85b
  1578. a\x0bb
  1579. /a\Rb/I<bsr_unicode>
  1580. a\rb
  1581. a\nb
  1582. a\r\nb
  1583. a\x85b
  1584. a\x0bb
  1585. ** Failers
  1586. a\x85b\<bsr_anycrlf>
  1587. a\x0bb\<bsr_anycrlf>
  1588. /a\R?b/I<bsr_anycrlf>
  1589. a\rb
  1590. a\nb
  1591. a\r\nb
  1592. ** Failers
  1593. a\x85b
  1594. a\x0bb
  1595. /a\R?b/I<bsr_unicode>
  1596. a\rb
  1597. a\nb
  1598. a\r\nb
  1599. a\x85b
  1600. a\x0bb
  1601. ** Failers
  1602. a\x85b\<bsr_anycrlf>
  1603. a\x0bb\<bsr_anycrlf>
  1604. /a\R{2,4}b/I<bsr_anycrlf>
  1605. a\r\n\nb
  1606. a\n\r\rb
  1607. a\r\n\r\n\r\n\r\nb
  1608. ** Failers
  1609. a\x85\85b
  1610. a\x0b\0bb
  1611. /a\R{2,4}b/I<bsr_unicode>
  1612. a\r\rb
  1613. a\n\n\nb
  1614. a\r\n\n\r\rb
  1615. a\x85\85b
  1616. a\x0b\0bb
  1617. ** Failers
  1618. a\r\r\r\r\rb
  1619. a\x85\85b\<bsr_anycrlf>
  1620. a\x0b\0bb\<bsr_anycrlf>
  1621. /(*BSR_ANYCRLF)a\Rb/I
  1622. a\nb
  1623. a\rb
  1624. /(*BSR_UNICODE)a\Rb/I
  1625. a\x85b
  1626. /(*BSR_ANYCRLF)(*CRLF)a\Rb/I
  1627. a\nb
  1628. a\rb
  1629. /(*CRLF)(*BSR_UNICODE)a\Rb/I
  1630. a\x85b
  1631. /(*CRLF)(*BSR_ANYCRLF)(*CR)ab/I
  1632. /(?<a>)(?&)/
  1633. /(?<abc>)(?&a)/
  1634. /(?<a>)(?&aaaaaaaaaaaaaaaaaaaaaaa)/
  1635. /(?+-a)/
  1636. /(?-+a)/
  1637. /(?(-1))/
  1638. /(?(+10))/
  1639. /(?(10))/
  1640. /(?(+2))()()/
  1641. /(?(2))()()/
  1642. /\k''/
  1643. /\k<>/
  1644. /\k{}/
  1645. /\k/
  1646. /\kabc/
  1647. /(?P=)/
  1648. /(?P>)/
  1649. /(?!\w)(?R)/
  1650. /(?=\w)(?R)/
  1651. /(?<!\w)(?R)/
  1652. /(?<=\w)(?R)/
  1653. /[[:foo:]]/
  1654. /[[:1234:]]/
  1655. /[[:f\oo:]]/
  1656. /[[: :]]/
  1657. /[[:...:]]/
  1658. /[[:l\ower:]]/
  1659. /[[:abc\:]]/
  1660. /[abc[:x\]pqr:]]/
  1661. /[[:a\dz:]]/
  1662. /(^(a|b\g<-1'c))/
  1663. /^(?+1)(?<a>x|y){0}z/
  1664. xzxx
  1665. yzyy
  1666. ** Failers
  1667. xxz
  1668. /(\3)(\1)(a)/
  1669. cat
  1670. /(\3)(\1)(a)/<JS>
  1671. cat
  1672. /TA]/
  1673. The ACTA] comes
  1674. /TA]/<JS>
  1675. The ACTA] comes
  1676. /(?2)[]a()b](abc)/
  1677. abcbabc
  1678. /(?2)[^]a()b](abc)/
  1679. abcbabc
  1680. /(?1)[]a()b](abc)/
  1681. abcbabc
  1682. ** Failers
  1683. abcXabc
  1684. /(?1)[^]a()b](abc)/
  1685. abcXabc
  1686. ** Failers
  1687. abcbabc
  1688. /(?2)[]a()b](abc)(xyz)/
  1689. xyzbabcxyz
  1690. /(?&N)[]a(?<N>)](?<M>abc)/
  1691. abc<abc
  1692. /(?&N)[]a(?<N>)](abc)/
  1693. abc<abc
  1694. /a[]b/
  1695. /a[^]b/
  1696. /a[]b/<JS>
  1697. ** Failers
  1698. ab
  1699. /a[]+b/<JS>
  1700. ** Failers
  1701. ab
  1702. /a[]*+b/<JS>
  1703. ** Failers
  1704. ab
  1705. /a[^]b/<JS>
  1706. aXb
  1707. a\nb
  1708. ** Failers
  1709. ab
  1710. /a[^]+b/<JS>
  1711. aXb
  1712. a\nX\nXb
  1713. ** Failers
  1714. ab
  1715. /a(?!)b/BZ
  1716. /(?!)?a/BZ
  1717. ab
  1718. /a(*FAIL)+b/
  1719. /(abc|pqr|123){0}[xyz]/SI
  1720. /(?(?=.*b)b|^)/CI
  1721. adc
  1722. abc
  1723. /(?(?=b).*b|^d)/I
  1724. /(?(?=.*b).*b|^d)/I
  1725. /xyz/C
  1726. xyz
  1727. abcxyz
  1728. abcxyz\Y
  1729. ** Failers
  1730. abc
  1731. abc\Y
  1732. abcxypqr
  1733. abcxypqr\Y
  1734. /(*NO_START_OPT)xyz/C
  1735. abcxyz
  1736. /(*NO_AUTO_POSSESS)a+b/BZ
  1737. /xyz/CY
  1738. abcxyz
  1739. /^"((?(?=[a])[^"])|b)*"$/C
  1740. "ab"
  1741. /^"((?(?=[a])[^"])|b)*"$/
  1742. "ab"
  1743. /^X(?5)(a)(?|(b)|(q))(c)(d)Y/
  1744. XYabcdY
  1745. /^X(?&N)(a)(?|(b)|(q))(c)(d)(?<N>Y)/
  1746. XYabcdY
  1747. /Xa{2,4}b/
  1748. X\P
  1749. Xa\P
  1750. Xaa\P
  1751. Xaaa\P
  1752. Xaaaa\P
  1753. /Xa{2,4}?b/
  1754. X\P
  1755. Xa\P
  1756. Xaa\P
  1757. Xaaa\P
  1758. Xaaaa\P
  1759. /Xa{2,4}+b/
  1760. X\P
  1761. Xa\P
  1762. Xaa\P
  1763. Xaaa\P
  1764. Xaaaa\P
  1765. /X\d{2,4}b/
  1766. X\P
  1767. X3\P
  1768. X33\P
  1769. X333\P
  1770. X3333\P
  1771. /X\d{2,4}?b/
  1772. X\P
  1773. X3\P
  1774. X33\P
  1775. X333\P
  1776. X3333\P
  1777. /X\d{2,4}+b/
  1778. X\P
  1779. X3\P
  1780. X33\P
  1781. X333\P
  1782. X3333\P
  1783. /X\D{2,4}b/
  1784. X\P
  1785. Xa\P
  1786. Xaa\P
  1787. Xaaa\P
  1788. Xaaaa\P
  1789. /X\D{2,4}?b/
  1790. X\P
  1791. Xa\P
  1792. Xaa\P
  1793. Xaaa\P
  1794. Xaaaa\P
  1795. /X\D{2,4}+b/
  1796. X\P
  1797. Xa\P
  1798. Xaa\P
  1799. Xaaa\P
  1800. Xaaaa\P
  1801. /X[abc]{2,4}b/
  1802. X\P
  1803. Xa\P
  1804. Xaa\P
  1805. Xaaa\P
  1806. Xaaaa\P
  1807. /X[abc]{2,4}?b/
  1808. X\P
  1809. Xa\P
  1810. Xaa\P
  1811. Xaaa\P
  1812. Xaaaa\P
  1813. /X[abc]{2,4}+b/
  1814. X\P
  1815. Xa\P
  1816. Xaa\P
  1817. Xaaa\P
  1818. Xaaaa\P
  1819. /X[^a]{2,4}b/
  1820. X\P
  1821. Xz\P
  1822. Xzz\P
  1823. Xzzz\P
  1824. Xzzzz\P
  1825. /X[^a]{2,4}?b/
  1826. X\P
  1827. Xz\P
  1828. Xzz\P
  1829. Xzzz\P
  1830. Xzzzz\P
  1831. /X[^a]{2,4}+b/
  1832. X\P
  1833. Xz\P
  1834. Xzz\P
  1835. Xzzz\P
  1836. Xzzzz\P
  1837. /(Y)X\1{2,4}b/
  1838. YX\P
  1839. YXY\P
  1840. YXYY\P
  1841. YXYYY\P
  1842. YXYYYY\P
  1843. /(Y)X\1{2,4}?b/
  1844. YX\P
  1845. YXY\P
  1846. YXYY\P
  1847. YXYYY\P
  1848. YXYYYY\P
  1849. /(Y)X\1{2,4}+b/
  1850. YX\P
  1851. YXY\P
  1852. YXYY\P
  1853. YXYYY\P
  1854. YXYYYY\P
  1855. /\++\KZ|\d+X|9+Y/
  1856. ++++123999\P
  1857. ++++123999Y\P
  1858. ++++Z1234\P
  1859. /Z(*F)/
  1860. Z\P
  1861. ZA\P
  1862. /Z(?!)/
  1863. Z\P
  1864. ZA\P
  1865. /dog(sbody)?/
  1866. dogs\P
  1867. dogs\P\P
  1868. /dog(sbody)??/
  1869. dogs\P
  1870. dogs\P\P
  1871. /dog|dogsbody/
  1872. dogs\P
  1873. dogs\P\P
  1874. /dogsbody|dog/
  1875. dogs\P
  1876. dogs\P\P
  1877. /\bthe cat\b/
  1878. the cat\P
  1879. the cat\P\P
  1880. /abc/
  1881. abc\P
  1882. abc\P\P
  1883. /abc\K123/
  1884. xyzabc123pqr
  1885. xyzabc12\P
  1886. xyzabc12\P\P
  1887. /(?<=abc)123/
  1888. xyzabc123pqr
  1889. xyzabc12\P
  1890. xyzabc12\P\P
  1891. /\babc\b/
  1892. +++abc+++
  1893. +++ab\P
  1894. +++ab\P\P
  1895. /(?&word)(?&element)(?(DEFINE)(?<element><[^m][^>]>[^<])(?<word>\w*+))/BZ
  1896. /(?&word)(?&element)(?(DEFINE)(?<element><[^\d][^>]>[^<])(?<word>\w*+))/BZ
  1897. /(ab)(x(y)z(cd(*ACCEPT)))pq/BZ
  1898. /abc\K/+
  1899. abcdef
  1900. abcdef\N\N
  1901. xyzabcdef\N\N
  1902. ** Failers
  1903. abcdef\N
  1904. xyzabcdef\N
  1905. /^(?:(?=abc)|abc\K)/+
  1906. abcdef
  1907. abcdef\N\N
  1908. ** Failers
  1909. abcdef\N
  1910. /a?b?/+
  1911. xyz
  1912. xyzabc
  1913. xyzabc\N
  1914. xyzabc\N\N
  1915. xyz\N\N
  1916. ** Failers
  1917. xyz\N
  1918. /^a?b?/+
  1919. xyz
  1920. xyzabc
  1921. ** Failers
  1922. xyzabc\N
  1923. xyzabc\N\N
  1924. xyz\N\N
  1925. xyz\N
  1926. /^(?<name>a|b\g<name>c)/
  1927. aaaa
  1928. bacxxx
  1929. bbaccxxx
  1930. bbbacccxx
  1931. /^(?<name>a|b\g'name'c)/
  1932. aaaa
  1933. bacxxx
  1934. bbaccxxx
  1935. bbbacccxx
  1936. /^(a|b\g<1>c)/
  1937. aaaa
  1938. bacxxx
  1939. bbaccxxx
  1940. bbbacccxx
  1941. /^(a|b\g'1'c)/
  1942. aaaa
  1943. bacxxx
  1944. bbaccxxx
  1945. bbbacccxx
  1946. /^(a|b\g'-1'c)/
  1947. aaaa
  1948. bacxxx
  1949. bbaccxxx
  1950. bbbacccxx
  1951. /(^(a|b\g<-1>c))/
  1952. aaaa
  1953. bacxxx
  1954. bbaccxxx
  1955. bbbacccxx
  1956. /(?-i:\g<name>)(?i:(?<name>a))/
  1957. XaaX
  1958. XAAX
  1959. /(?i:\g<name>)(?-i:(?<name>a))/
  1960. XaaX
  1961. ** Failers
  1962. XAAX
  1963. /(?-i:\g<+1>)(?i:(a))/
  1964. XaaX
  1965. XAAX
  1966. /(?=(?<regex>(?#simplesyntax)\$(?<name>[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)(?:\[(?<index>[a-zA-Z0-9_\x{7f}-\x{ff}]+|\$\g<name>)\]|->\g<name>(\(.*?\))?)?|(?#simple syntax withbraces)\$\{(?:\g<name>(?<indices>\[(?:\g<index>|'(?:\\.|[^'\\])*'|"(?:\g<regex>|\\.|[^"\\])*")\])?|\g<complex>|\$\{\g<complex>\})\}|(?#complexsyntax)\{(?<complex>\$(?<segment>\g<name>(\g<indices>*|\(.*?\))?)(?:->\g<segment>)*|\$\g<complex>|\$\{\g<complex>\})\}))\{/
  1967. /(?<n>a|b|c)\g<n>*/
  1968. abc
  1969. accccbbb
  1970. /^X(?7)(a)(?|(b)|(q)(r)(s))(c)(d)(Y)/
  1971. XYabcdY
  1972. /(?<=b(?1)|zzz)(a)/
  1973. xbaax
  1974. xzzzax
  1975. /(a)(?<=b\1)/
  1976. /(a)(?<=b+(?1))/
  1977. /(a+)(?<=b(?1))/
  1978. /(a(?<=b(?1)))/
  1979. /(?<=b(?1))xyz/
  1980. /(?<=b(?1))xyz(b+)pqrstuvew/
  1981. /(a|bc)\1/SI
  1982. /(a|bc)\1{2,3}/SI
  1983. /(a|bc)(?1)/SI
  1984. /(a|b\1)(a|b\1)/SI
  1985. /(a|b\1){2}/SI
  1986. /(a|bbbb\1)(a|bbbb\1)/SI
  1987. /(a|bbbb\1){2}/SI
  1988. /^From +([^ ]+) +[a-zA-Z][a-zA-Z][a-zA-Z] +[a-zA-Z][a-zA-Z][a-zA-Z] +[0-9]?[0-9] +[0-9][0-9]:[0-9][0-9]/SI
  1989. /<tr([\w\W\s\d][^<>]{0,})><TD([\w\W\s\d][^<>]{0,})>([\d]{0,}\.)(.*)((<BR>([\w\W\s\d][^<>]{0,})|[\s]{0,}))<\/a><\/TD><TD([\w\W\s\d][^<>]{0,})>([\w\W\s\d][^<>]{0,})<\/TD><TD([\w\W\s\d][^<>]{0,})>([\w\W\s\d][^<>]{0,})<\/TD><\/TR>/isIS
  1990. "(?>.*/)foo"SI
  1991. /(?(?=[^a-z]+[a-z]) \d{2}-[a-z]{3}-\d{2} | \d{2}-\d{2}-\d{2} ) /xSI
  1992. /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))/iSI
  1993. /(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/SI
  1994. /<a[\s]+href[\s]*=[\s]* # find <a href=
  1995. ([\"\'])? # find single or double quote
  1996. (?(1) (.*?)\1 | ([^\s]+)) # if quote found, match up to next matching
  1997. # quote, otherwise match up to next space
  1998. /isxSI
  1999. /^(?!:) # colon disallowed at start
  2000. (?: # start of item
  2001. (?: [0-9a-f]{1,4} | # 1-4 hex digits or
  2002. (?(1)0 | () ) ) # if null previously matched, fail; else null
  2003. : # followed by colon
  2004. ){1,7} # end item; 1-7 of them required
  2005. [0-9a-f]{1,4} $ # final hex number at end of string
  2006. (?(1)|.) # check that there was an empty component
  2007. /xiIS
  2008. /(?|(?<a>A)|(?<a>B))/I
  2009. AB\Ca
  2010. BA\Ca
  2011. /(?|(?<a>A)|(?<b>B))/
  2012. /(?:a(?<quote> (?<apostrophe>')|(?<realquote>")) |
  2013. b(?<quote> (?<apostrophe>')|(?<realquote>")) )
  2014. (?('quote')[a-z]+|[0-9]+)/JIx
  2015. a"aaaaa
  2016. b"aaaaa
  2017. ** Failers
  2018. b"11111
  2019. a"11111
  2020. /^(?|(a)(b)(c)(?<D>d)|(?<D>e)) (?('D')X|Y)/JDZx
  2021. abcdX
  2022. eX
  2023. ** Failers
  2024. abcdY
  2025. ey
  2026. /(?<A>a) (b)(c) (?<A>d (?(R&A)$ | (?4)) )/JDZx
  2027. abcdd
  2028. ** Failers
  2029. abcdde
  2030. /abcd*/
  2031. xxxxabcd\P
  2032. xxxxabcd\P\P
  2033. /abcd*/i
  2034. xxxxabcd\P
  2035. xxxxabcd\P\P
  2036. XXXXABCD\P
  2037. XXXXABCD\P\P
  2038. /abc\d*/
  2039. xxxxabc1\P
  2040. xxxxabc1\P\P
  2041. /(a)bc\1*/
  2042. xxxxabca\P
  2043. xxxxabca\P\P
  2044. /abc[de]*/
  2045. xxxxabcde\P
  2046. xxxxabcde\P\P
  2047. /-- This is not in the Perl-compatible test because Perl seems currently to be
  2048. broken and not behaving as specified in that it *does* bumpalong after
  2049. hitting (*COMMIT). --/
  2050. /(?1)(A(*COMMIT)|B)D/
  2051. ABD
  2052. XABD
  2053. BAD
  2054. ABXABD
  2055. ** Failers
  2056. ABX
  2057. BAXBAD
  2058. /(\3)(\1)(a)/<JS>
  2059. cat
  2060. /(\3)(\1)(a)/SI<JS>
  2061. cat
  2062. /(\3)(\1)(a)/SI
  2063. cat
  2064. /i(?(DEFINE)(?<s>a))/SI
  2065. i
  2066. /()i(?(1)a)/SI
  2067. ia
  2068. /(?i)a(?-i)b|c/BZ
  2069. XabX
  2070. XAbX
  2071. CcC
  2072. ** Failers
  2073. XABX
  2074. /(?i)a(?s)b|c/BZ
  2075. /(?i)a(?s-i)b|c/BZ
  2076. /^(ab(c\1)d|x){2}$/BZ
  2077. xabcxd
  2078. /^(?&t)*+(?(DEFINE)(?<t>.))$/BZ
  2079. /^(?&t)*(?(DEFINE)(?<t>.))$/BZ
  2080. / -- This one is here because Perl gives the match as "b" rather than "ab". I
  2081. believe this to be a Perl bug. --/
  2082. /(?>a\Kb)z|(ab)/
  2083. ab
  2084. /(?P<L1>(?P<L2>0|)|(?P>L2)(?P>L1))/
  2085. /abc(*MARK:)pqr/
  2086. /abc(*:)pqr/
  2087. /abc(*FAIL:123)xyz/
  2088. /--- This should, and does, fail. In Perl, it does not, which I think is a
  2089. bug because replacing the B in the pattern by (B|D) does make it fail. ---/
  2090. /A(*COMMIT)B/+K
  2091. ACABX
  2092. /--- These should be different, but in Perl they are not, which I think
  2093. is a bug in Perl. ---/
  2094. /A(*THEN)B|A(*THEN)C/K
  2095. AC
  2096. /A(*PRUNE)B|A(*PRUNE)C/K
  2097. AC
  2098. /--- Mark names can be duplicated. Perl doesn't give a mark for this one,
  2099. though PCRE does. ---/
  2100. /^A(*:A)B|^X(*:A)Y/K
  2101. ** Failers
  2102. XAQQ
  2103. /--- COMMIT at the start of a pattern should be the same as an anchor. Perl
  2104. optimizations defeat this. So does the PCRE optimization unless we disable it
  2105. with \Y. ---/
  2106. /(*COMMIT)ABC/
  2107. ABCDEFG
  2108. ** Failers
  2109. DEFGABC\Y
  2110. /^(ab (c+(*THEN)cd) | xyz)/x
  2111. abcccd
  2112. /^(ab (c+(*PRUNE)cd) | xyz)/x
  2113. abcccd
  2114. /^(ab (c+(*FAIL)cd) | xyz)/x
  2115. abcccd
  2116. /--- Perl gets some of these wrong ---/
  2117. /(?>.(*ACCEPT))*?5/
  2118. abcde
  2119. /(.(*ACCEPT))*?5/
  2120. abcde
  2121. /(.(*ACCEPT))5/
  2122. abcde
  2123. /(.(*ACCEPT))*5/
  2124. abcde
  2125. /A\NB./BZ
  2126. ACBD
  2127. *** Failers
  2128. A\nB
  2129. ACB\n
  2130. /A\NB./sBZ
  2131. ACBD
  2132. ACB\n
  2133. *** Failers
  2134. A\nB
  2135. /A\NB/<crlf>
  2136. A\nB
  2137. A\rB
  2138. ** Failers
  2139. A\r\nB
  2140. /\R+b/BZ
  2141. /\R+\n/BZ
  2142. /\R+\d/BZ
  2143. /\d*\R/BZ
  2144. /\s*\R/BZ
  2145. \x20\x0a
  2146. \x20\x0d
  2147. \x20\x0d\x0a
  2148. /\S*\R/BZ
  2149. a\x0a
  2150. /X\h*\R/BZ
  2151. X\x20\x0a
  2152. /X\H*\R/BZ
  2153. X\x0d\x0a
  2154. /X\H+\R/BZ
  2155. X\x0d\x0a
  2156. /X\H++\R/BZ
  2157. X\x0d\x0a
  2158. /(?<=abc)def/
  2159. abc\P\P
  2160. /abc$/
  2161. abc
  2162. abc\P
  2163. abc\P\P
  2164. /abc$/m
  2165. abc
  2166. abc\n
  2167. abc\P\P
  2168. abc\n\P\P
  2169. abc\P
  2170. abc\n\P
  2171. /abc\z/
  2172. abc
  2173. abc\P
  2174. abc\P\P
  2175. /abc\Z/
  2176. abc
  2177. abc\P
  2178. abc\P\P
  2179. /abc\b/
  2180. abc
  2181. abc\P
  2182. abc\P\P
  2183. /abc\B/
  2184. abc
  2185. abc\P
  2186. abc\P\P
  2187. /.+/
  2188. abc\>0
  2189. abc\>1
  2190. abc\>2
  2191. abc\>3
  2192. abc\>4
  2193. abc\>-4
  2194. /^\cģ/
  2195. /(?P<abn>(?P=abn)xxx)/BZ
  2196. /(a\1z)/BZ
  2197. /(?P<abn>(?P=abn)(?<badstufxxx)/BZ
  2198. /(?P<abn>(?P=axn)xxx)/BZ
  2199. /(?P<abn>(?P=axn)xxx)(?<axn>yy)/BZ
  2200. /-- These tests are here because Perl gets the first one wrong. --/
  2201. /(\R*)(.)/s
  2202. \r\n
  2203. \r\r\n\n\r
  2204. \r\r\n\n\r\n
  2205. /(\R)*(.)/s
  2206. \r\n
  2207. \r\r\n\n\r
  2208. \r\r\n\n\r\n
  2209. /((?>\r\n|\n|\x0b|\f|\r|\x85)*)(.)/s
  2210. \r\n
  2211. \r\r\n\n\r
  2212. \r\r\n\n\r\n
  2213. /-- --/
  2214. /^abc$/BZ
  2215. /^abc$/BZm
  2216. /^(a)*+(\w)/S
  2217. aaaaX
  2218. ** Failers
  2219. aaaa
  2220. /^(?:a)*+(\w)/S
  2221. aaaaX
  2222. ** Failers
  2223. aaaa
  2224. /(a)++1234/SDZ
  2225. /([abc])++1234/SI
  2226. /(?<=(abc)+)X/
  2227. /(^ab)/I
  2228. /(^ab)++/I
  2229. /(^ab|^)+/I
  2230. /(^ab|^)++/I
  2231. /(?:^ab)/I
  2232. /(?:^ab)++/I
  2233. /(?:^ab|^)+/I
  2234. /(?:^ab|^)++/I
  2235. /(.*ab)/I
  2236. /(.*ab)++/I
  2237. /(.*ab|.*)+/I
  2238. /(.*ab|.*)++/I
  2239. /(?:.*ab)/I
  2240. /(?:.*ab)++/I
  2241. /(?:.*ab|.*)+/I
  2242. /(?:.*ab|.*)++/I
  2243. /(?=a)[bcd]/I
  2244. /((?=a))[bcd]/I
  2245. /((?=a))+[bcd]/I
  2246. /((?=a))++[bcd]/I
  2247. /(?=a+)[bcd]/iI
  2248. /(?=a+?)[bcd]/iI
  2249. /(?=a++)[bcd]/iI
  2250. /(?=a{3})[bcd]/iI
  2251. /(abc)\1+/S
  2252. /-- Perl doesn't get these right IMO (the 3rd is PCRE-specific) --/
  2253. /(?1)(?:(b(*ACCEPT))){0}/
  2254. b
  2255. /(?1)(?:(b(*ACCEPT))){0}c/
  2256. bc
  2257. ** Failers
  2258. b
  2259. /(?1)(?:((*ACCEPT))){0}c/
  2260. c
  2261. c\N
  2262. /^.*?(?(?=a)a|b(*THEN)c)/
  2263. ba
  2264. /^.*?(?(?=a)a|bc)/
  2265. ba
  2266. /^.*?(?(?=a)a(*THEN)b|c)/
  2267. ac
  2268. /^.*?(?(?=a)a(*THEN)b)c/
  2269. ac
  2270. /^.*?(a(*THEN)b)c/
  2271. aabc
  2272. /^.*? (?1) c (?(DEFINE)(a(*THEN)b))/x
  2273. aabc
  2274. /^.*?(a(*THEN)b|z)c/
  2275. aabc
  2276. /^.*?(z|a(*THEN)b)c/
  2277. aabc
  2278. /-- --/
  2279. /-- These studied versions are here because they are not Perl-compatible; the
  2280. studying means the mark is not seen. --/
  2281. /(*MARK:A)(*SKIP:B)(C|X)/KS
  2282. C
  2283. D
  2284. /(*:A)A+(*SKIP:A)(B|Z)/KS
  2285. AAAC
  2286. /-- --/
  2287. "(?=a*(*ACCEPT)b)c"
  2288. c
  2289. c\N
  2290. /(?1)c(?(DEFINE)((*ACCEPT)b))/
  2291. c
  2292. c\N
  2293. /(?>(*ACCEPT)b)c/
  2294. c
  2295. c\N
  2296. /(?:(?>(a)))+a%/++
  2297. %aa%
  2298. /(a)b|ac/++SS
  2299. ac\O3
  2300. /(a)(b)x|abc/++
  2301. abc\O6
  2302. /(a)bc|(a)(b)\2/
  2303. \O3abc
  2304. \O4abc
  2305. /(?(DEFINE)(a(?2)|b)(b(?1)|a))(?:(?1)|(?2))/SI
  2306. /(a(?2)|b)(b(?1)|a)(?:(?1)|(?2))/SI
  2307. /(a(?2)|b)(b(?1)|a)(?1)(?2)/SI
  2308. /(abc)(?1)/SI
  2309. /^(?>a)++/
  2310. aa\M
  2311. aaaaaaaaa\M
  2312. /(a)(?1)++/
  2313. aa\M
  2314. aaaaaaaaa\M
  2315. /(?:(foo)|(bar)|(baz))X/SS=
  2316. bazfooX
  2317. foobazbarX
  2318. barfooX
  2319. bazX
  2320. foobarbazX
  2321. bazfooX\O0
  2322. bazfooX\O2
  2323. bazfooX\O4
  2324. bazfooX\O6
  2325. bazfooX\O8
  2326. bazfooX\O10
  2327. /(?=abc){3}abc/BZ
  2328. /(?=abc)+abc/BZ
  2329. /(?=abc)++abc/BZ
  2330. /(?=abc){0}xyz/BZ
  2331. /(?=(a))?./BZ
  2332. /(?=(a))??./BZ
  2333. /^(?=(a)){0}b(?1)/BZ
  2334. /(?(DEFINE)(a))?b(?1)/BZ
  2335. /^(?=(?1))?[az]([abc])d/BZ
  2336. /^(?!a){0}\w+/BZ
  2337. /(?<=(abc))?xyz/BZ
  2338. /[:a[:abc]b:]/BZ
  2339. /((?2))((?1))/SS
  2340. abc
  2341. /((?(R2)a+|(?1)b))/SS
  2342. aaaabcde
  2343. /(?(R)a*(?1)|((?R))b)/SS
  2344. aaaabcde
  2345. /(a+|(?R)b)/
  2346. /^(a(*:A)(d|e(*:B))z|aeq)/C
  2347. adz
  2348. aez
  2349. aeqwerty
  2350. /.(*F)/
  2351. \P\Pabc
  2352. /\btype\b\W*?\btext\b\W*?\bjavascript\b/IS
  2353. /\btype\b\W*?\btext\b\W*?\bjavascript\b|\burl\b\W*?\bshell:|<input\b.*?\btype\b\W*?\bimage\b|\bonkeyup\b\W*?\=/IS
  2354. /a(*SKIP)c|b(*ACCEPT)|/+S!I
  2355. a
  2356. /a(*SKIP)c|b(*ACCEPT)cd(*ACCEPT)|x/SI
  2357. ax
  2358. 'a*(*ACCEPT)b'+
  2359. \N\N
  2360. abc\N\N
  2361. bbb\N\N
  2362. /(*ACCEPT)a/+I
  2363. bax
  2364. /z(*ACCEPT)a/+I
  2365. baxzbx
  2366. /a(?:.)*?a/ims
  2367. \Mabbbbbbbbbbbbbbbbbbbbba
  2368. /a(?:.(*THEN))*?a/ims
  2369. \Mabbbbbbbbbbbbbbbbbbbbba
  2370. /a(?:.(*THEN:ABC))*?a/ims
  2371. \Mabbbbbbbbbbbbbbbbbbbbba
  2372. /^(?>a+)(?>(z+))\w/BZ
  2373. aaaazzzzb
  2374. ** Failers
  2375. aazz
  2376. /(.)(\1|a(?2))/
  2377. bab
  2378. /\1|(.)(?R)\1/
  2379. cbbbc
  2380. /(.)((?(1)c|a)|a(?2))/
  2381. baa
  2382. /(?P<abn>(?P=abn)xxx)/BZ
  2383. /(a\1z)/BZ
  2384. /^(?>a+)(?>b+)(?>c+)(?>d+)(?>e+)/
  2385. \Maabbccddee
  2386. /^(?>(a+))(?>(b+))(?>(c+))(?>(d+))(?>(e+))/
  2387. \Maabbccddee
  2388. /^(?>(a+))(?>b+)(?>(c+))(?>d+)(?>(e+))/
  2389. \Maabbccddee
  2390. /^a\x41z/<JS>
  2391. aAz
  2392. *** Failers
  2393. ax41z
  2394. /^a[m\x41]z/<JS>
  2395. aAz
  2396. /^a\x1z/<JS>
  2397. ax1z
  2398. /^a\u0041z/<JS>
  2399. aAz
  2400. *** Failers
  2401. au0041z
  2402. /^a[m\u0041]z/<JS>
  2403. aAz
  2404. /^a\u041z/<JS>
  2405. au041z
  2406. *** Failers
  2407. aAz
  2408. /^a\U0041z/<JS>
  2409. aU0041z
  2410. *** Failers
  2411. aAz
  2412. /(?(?=c)c|d)++Y/BZ
  2413. /(?(?=c)c|d)*+Y/BZ
  2414. /a[\NB]c/
  2415. aNc
  2416. /a[B-\Nc]/
  2417. /a[B\Nc]/
  2418. /(a)(?2){0,1999}?(b)/
  2419. /(a)(?(DEFINE)(b))(?2){0,1999}?(?2)/
  2420. /--- This test, with something more complicated than individual letters, causes
  2421. different behaviour in Perl. Perhaps it disables some optimization; no tag is
  2422. passed back for the failures, whereas in PCRE there is a tag. ---/
  2423. /(A|P)(*:A)(B|P) | (X|P)(X|P)(*:B)(Y|P)/xK
  2424. AABC
  2425. XXYZ
  2426. ** Failers
  2427. XAQQ
  2428. XAQQXZZ
  2429. AXQQQ
  2430. AXXQQQ
  2431. /-- Perl doesn't give marks for these, though it does if the alternatives are
  2432. replaced by single letters. --/
  2433. /(b|q)(*:m)f|a(*:n)w/K
  2434. aw
  2435. ** Failers
  2436. abc
  2437. /(q|b)(*:m)f|a(*:n)w/K
  2438. aw
  2439. ** Failers
  2440. abc
  2441. /-- After a partial match, the behaviour is as for a failure. --/
  2442. /^a(*:X)bcde/K
  2443. abc\P
  2444. /-- These are here because Perl doesn't return a mark, except for the first --/
  2445. /(?=(*:x))(q|)/K+
  2446. abc
  2447. /(?=(*:x))((*:y)q|)/K+
  2448. abc
  2449. /(?=(*:x))(?:(*:y)q|)/K+
  2450. abc
  2451. /(?=(*:x))(?>(*:y)q|)/K+
  2452. abc
  2453. /(?=a(*:x))(?!a(*:y)c)/K+
  2454. ab
  2455. /(?=a(*:x))(?=a(*:y)c|)/K+
  2456. ab
  2457. /(..)\1/
  2458. ab\P
  2459. aba\P
  2460. abab\P
  2461. /(..)\1/i
  2462. ab\P
  2463. abA\P
  2464. aBAb\P
  2465. /(..)\1{2,}/
  2466. ab\P
  2467. aba\P
  2468. abab\P
  2469. ababa\P
  2470. ababab\P
  2471. ababab\P\P
  2472. abababa\P
  2473. abababa\P\P
  2474. /(..)\1{2,}/i
  2475. ab\P
  2476. aBa\P
  2477. aBAb\P
  2478. AbaBA\P
  2479. abABAb\P
  2480. aBAbaB\P\P
  2481. abABabA\P
  2482. abaBABa\P\P
  2483. /(..)\1{2,}?x/i
  2484. ab\P
  2485. abA\P
  2486. aBAb\P
  2487. abaBA\P
  2488. abAbaB\P
  2489. abaBabA\P
  2490. abAbABaBx\P
  2491. /^(..)\1/
  2492. aba\P
  2493. /^(..)\1{2,3}x/
  2494. aba\P
  2495. ababa\P
  2496. ababa\P\P
  2497. abababx
  2498. ababababx
  2499. /^(..)\1{2,3}?x/
  2500. aba\P
  2501. ababa\P
  2502. ababa\P\P
  2503. abababx
  2504. ababababx
  2505. /^(..)(\1{2,3})ab/
  2506. abababab
  2507. /^\R/
  2508. \r\P
  2509. \r\P\P
  2510. /^\R{2,3}x/
  2511. \r\P
  2512. \r\P\P
  2513. \r\r\P
  2514. \r\r\P\P
  2515. \r\r\r\P
  2516. \r\r\r\P\P
  2517. \r\rx
  2518. \r\r\rx
  2519. /^\R{2,3}?x/
  2520. \r\P
  2521. \r\P\P
  2522. \r\r\P
  2523. \r\r\P\P
  2524. \r\r\r\P
  2525. \r\r\r\P\P
  2526. \r\rx
  2527. \r\r\rx
  2528. /^\R?x/
  2529. \r\P
  2530. \r\P\P
  2531. x
  2532. \rx
  2533. /^\R+x/
  2534. \r\P
  2535. \r\P\P
  2536. \r\n\P
  2537. \r\n\P\P
  2538. \rx
  2539. /^a$/<CRLF>
  2540. a\r\P
  2541. a\r\P\P
  2542. /^a$/m<CRLF>
  2543. a\r\P
  2544. a\r\P\P
  2545. /^(a$|a\r)/<CRLF>
  2546. a\r\P
  2547. a\r\P\P
  2548. /^(a$|a\r)/m<CRLF>
  2549. a\r\P
  2550. a\r\P\P
  2551. /./<CRLF>
  2552. \r\P
  2553. \r\P\P
  2554. /.{2,3}/<CRLF>
  2555. \r\P
  2556. \r\P\P
  2557. \r\r\P
  2558. \r\r\P\P
  2559. \r\r\r\P
  2560. \r\r\r\P\P
  2561. /.{2,3}?/<CRLF>
  2562. \r\P
  2563. \r\P\P
  2564. \r\r\P
  2565. \r\r\P\P
  2566. \r\r\r\P
  2567. \r\r\r\P\P
  2568. "AB(C(D))(E(F))?(?(?=\2)(?=\4))"
  2569. ABCDGHI\O03
  2570. /-- These are all run as real matches in test 1; here we are just checking the
  2571. settings of the anchored and startline bits. --/
  2572. /(?>.*?a)(?<=ba)/I
  2573. /(?:.*?a)(?<=ba)/I
  2574. /.*?a(*PRUNE)b/I
  2575. /.*?a(*PRUNE)b/sI
  2576. /^a(*PRUNE)b/sI
  2577. /.*?a(*SKIP)b/I
  2578. /(?>.*?a)b/sI
  2579. /(?>.*?a)b/I
  2580. /(?>^a)b/sI
  2581. /(?>.*?)(?<=(abcd)|(wxyz))/I
  2582. /(?>.*)(?<=(abcd)|(wxyz))/I
  2583. "(?>.*)foo"I
  2584. "(?>.*?)foo"I
  2585. /(?>^abc)/mI
  2586. /(?>.*abc)/mI
  2587. /(?:.*abc)/mI
  2588. /-- Check PCRE_STUDY_EXTRA_NEEDED --/
  2589. /.?/S-I
  2590. /.?/S!I
  2591. /(?:(a)+(?C1)bb|aa(?C2)b)/
  2592. aab\C+
  2593. /(?:(a)++(?C1)bb|aa(?C2)b)/
  2594. aab\C+
  2595. /(?:(?>(a))(?C1)bb|aa(?C2)b)/
  2596. aab\C+
  2597. /(?:(?1)(?C1)x|ab(?C2))((a)){0}/
  2598. aab\C+
  2599. /(?1)(?C1)((a)(?C2)){0}/
  2600. aab\C+
  2601. /(?:(a)+(?C1)bb|aa(?C2)b)++/
  2602. aab\C+
  2603. aab\C+\O2
  2604. /(ab)x|ab/
  2605. ab\O3
  2606. ab\O2
  2607. /(ab)/
  2608. ab\O3
  2609. ab\O2
  2610. /(?<=123)(*MARK:xx)abc/K
  2611. xxxx123a\P\P
  2612. xxxx123a\P
  2613. /123\Kabc/
  2614. xxxx123a\P\P
  2615. xxxx123a\P
  2616. /^(?(?=a)aa|bb)/C
  2617. bb
  2618. /(?C1)^(?C2)(?(?C99)(?=(?C3)a(?C4))(?C5)a(?C6)a(?C7)|(?C8)b(?C9)b(?C10))(?C11)/
  2619. bb
  2620. /-- Perl seems to have a bug with this one --/
  2621. /aaaaa(*COMMIT)(*PRUNE)b|a+c/
  2622. aaaaaac
  2623. /-- Here are some that Perl treats differently because of the way it handles
  2624. backtracking verbs. --/
  2625. /(?!a(*COMMIT)b)ac|ad/
  2626. ac
  2627. ad
  2628. /^(?!a(*THEN)b|ac)../
  2629. ac
  2630. ad
  2631. /^(?=a(*THEN)b|ac)/
  2632. ac
  2633. /\A.*?(?:a|b(*THEN)c)/
  2634. ba
  2635. /\A.*?(?:a|b(*THEN)c)++/
  2636. ba
  2637. /\A.*?(?:a|b(*THEN)c|d)/
  2638. ba
  2639. /(?:(a(*MARK:X)a+(*SKIP:X)b)){0}(?:(?1)|aac)/
  2640. aac
  2641. /\A.*?(a|b(*THEN)c)/
  2642. ba
  2643. /^(A(*THEN)B|A(*THEN)D)/
  2644. AD
  2645. /(?!b(*THEN)a)bn|bnn/
  2646. bnn
  2647. /(?(?=b(*SKIP)a)bn|bnn)/
  2648. bnn
  2649. /(?=b(*THEN)a|)bn|bnn/
  2650. bnn
  2651. /-------------------------/
  2652. /(*LIMIT_MATCH=12bc)abc/
  2653. /(*LIMIT_MATCH=4294967290)abc/
  2654. /(*LIMIT_RECURSION=4294967280)abc/I
  2655. /(a+)*zz/
  2656. aaaaaaaaaaaaaz
  2657. aaaaaaaaaaaaaz\q3000
  2658. /(a+)*zz/S-
  2659. aaaaaaaaaaaaaz\Q10
  2660. /(*LIMIT_MATCH=3000)(a+)*zz/I
  2661. aaaaaaaaaaaaaz
  2662. aaaaaaaaaaaaaz\q60000
  2663. /(*LIMIT_MATCH=60000)(*LIMIT_MATCH=3000)(a+)*zz/I
  2664. aaaaaaaaaaaaaz
  2665. /(*LIMIT_MATCH=60000)(a+)*zz/I
  2666. aaaaaaaaaaaaaz
  2667. aaaaaaaaaaaaaz\q3000
  2668. /(*LIMIT_RECURSION=10)(a+)*zz/IS-
  2669. aaaaaaaaaaaaaz
  2670. aaaaaaaaaaaaaz\Q1000
  2671. /(*LIMIT_RECURSION=10)(*LIMIT_RECURSION=1000)(a+)*zz/IS-
  2672. aaaaaaaaaaaaaz
  2673. /(*LIMIT_RECURSION=1000)(a+)*zz/IS-
  2674. aaaaaaaaaaaaaz
  2675. aaaaaaaaaaaaaz\Q10
  2676. /-- This test causes a segfault with Perl 5.18.0 --/
  2677. /^(?=(a)){0}b(?1)/
  2678. backgammon
  2679. /(?|(?<n>f)|(?<n>b))/JI
  2680. /(?<a>abc)(?<a>z)\k<a>()/JDZS
  2681. /a*[bcd]/BZ
  2682. /[bcd]*a/BZ
  2683. /-- A complete set of tests for auto-possessification of character types --/
  2684. /\D+\D \D+\d \D+\S \D+\s \D+\W \D+\w \D+. \D+\C \D+\R \D+\H \D+\h \D+\V \D+\v \D+\Z \D+\z \D+$/BZx
  2685. /\d+\D \d+\d \d+\S \d+\s \d+\W \d+\w \d+. \d+\C \d+\R \d+\H \d+\h \d+\V \d+\v \d+\Z \d+\z \d+$/BZx
  2686. /\S+\D \S+\d \S+\S \S+\s \S+\W \S+\w \S+. \S+\C \S+\R \S+\H \S+\h \S+\V \S+\v \S+\Z \S+\z \S+$/BZx
  2687. /\s+\D \s+\d \s+\S \s+\s \s+\W \s+\w \s+. \s+\C \s+\R \s+\H \s+\h \s+\V \s+\v \s+\Z \s+\z \s+$/BZx
  2688. /\W+\D \W+\d \W+\S \W+\s \W+\W \W+\w \W+. \W+\C \W+\R \W+\H \W+\h \W+\V \W+\v \W+\Z \W+\z \W+$/BZx
  2689. /\w+\D \w+\d \w+\S \w+\s \w+\W \w+\w \w+. \w+\C \w+\R \w+\H \w+\h \w+\V \w+\v \w+\Z \w+\z \w+$/BZx
  2690. /\C+\D \C+\d \C+\S \C+\s \C+\W \C+\w \C+. \C+\C \C+\R \C+\H \C+\h \C+\V \C+\v \C+\Z \C+\z \C+$/BZx
  2691. /\R+\D \R+\d \R+\S \R+\s \R+\W \R+\w \R+. \R+\C \R+\R \R+\H \R+\h \R+\V \R+\v \R+\Z \R+\z \R+$/BZx
  2692. /\H+\D \H+\d \H+\S \H+\s \H+\W \H+\w \H+. \H+\C \H+\R \H+\H \H+\h \H+\V \H+\v \H+\Z \H+\z \H+$/BZx
  2693. /\h+\D \h+\d \h+\S \h+\s \h+\W \h+\w \h+. \h+\C \h+\R \h+\H \h+\h \h+\V \h+\v \h+\Z \h+\z \h+$/BZx
  2694. /\V+\D \V+\d \V+\S \V+\s \V+\W \V+\w \V+. \V+\C \V+\R \V+\H \V+\h \V+\V \V+\v \V+\Z \V+\z \V+$/BZx
  2695. /\v+\D \v+\d \v+\S \v+\s \v+\W \v+\w \v+. \v+\C \v+\R \v+\H \v+\h \v+\V \v+\v \v+\Z \v+\z \v+$/BZx
  2696. / a+\D a+\d a+\S a+\s a+\W a+\w a+. a+\C a+\R a+\H a+\h a+\V a+\v a+\Z a+\z a+$/BZx
  2697. /\n+\D \n+\d \n+\S \n+\s \n+\W \n+\w \n+. \n+\C \n+\R \n+\H \n+\h \n+\V \n+\v \n+\Z \n+\z \n+$/BZx
  2698. / .+\D .+\d .+\S .+\s .+\W .+\w .+. .+\C .+\R .+\H .+\h .+\V .+\v .+\Z .+\z .+$/BZx
  2699. / .+\D .+\d .+\S .+\s .+\W .+\w .+. .+\C .+\R .+\H .+\h .+\V .+\v .+\Z .+\z .+$/BZxs
  2700. /\D+$ \d+$ \S+$ \s+$ \W+$ \w+$ \C+$ \R+$ \H+$ \h+$ \V+$ \v+$ a+$ \n+$ .+$ .+$/BZxm
  2701. /(?=a+)a(a+)++a/BZ
  2702. /a+(bb|cc)a+(?:bb|cc)a+(?>bb|cc)a+(?:bb|cc)+a+(aa)a+(?:bb|aa)/BZ
  2703. /a+(bb|cc)?#a+(?:bb|cc)??#a+(?:bb|cc)?+#a+(?:bb|cc)*#a+(bb|cc)?a#a+(?:aa)?/BZ
  2704. /a+(?:bb)?a#a+(?:|||)#a+(?:|b)a#a+(?:|||)?a/BZ
  2705. /[ab]*/BZ
  2706. aaaa
  2707. /[ab]*?/BZ
  2708. aaaa
  2709. /[ab]?/BZ
  2710. aaaa
  2711. /[ab]??/BZ
  2712. aaaa
  2713. /[ab]+/BZ
  2714. aaaa
  2715. /[ab]+?/BZ
  2716. aaaa
  2717. /[ab]{2,3}/BZ
  2718. aaaa
  2719. /[ab]{2,3}?/BZ
  2720. aaaa
  2721. /[ab]{2,}/BZ
  2722. aaaa
  2723. /[ab]{2,}?/BZ
  2724. aaaa
  2725. /\d+\s{0,5}=\s*\S?=\w{0,4}\W*/BZ
  2726. /[a-d]{5,12}[e-z0-9]*#[^a-z]+[b-y]*a[2-7]?[^0-9a-z]+/BZ
  2727. /[a-z]*\s#[ \t]?\S#[a-c]*\S#[C-G]+?\d#[4-8]*\D#[4-9,]*\D#[!$]{0,5}\w#[M-Xf-l]+\W#[a-c,]?\W/BZ
  2728. /a+(aa|bb)*c#a*(bb|cc)*a#a?(bb|cc)*d#[a-f]*(g|hh)*f/BZ
  2729. /[a-f]*(g|hh|i)*i#[a-x]{4,}(y{0,6})*y#[a-k]+(ll|mm)+n/BZ
  2730. /[a-f]*(?>gg|hh)+#[a-f]*(?>gg|hh)?#[a-f]*(?>gg|hh)*a#[a-f]*(?>gg|hh)*h/BZ
  2731. /[a-c]*d/DZS
  2732. /[a-c]+d/DZS
  2733. /[a-c]?d/DZS
  2734. /[a-c]{4,6}d/DZS
  2735. /[a-c]{0,6}d/DZS
  2736. /-- End of special auto-possessive tests --/
  2737. /^A\o{1239}B/
  2738. A\123B
  2739. /^A\oB/
  2740. /^A\x{zz}B/
  2741. /^A\x{12Z/
  2742. /^A\x{/
  2743. /[ab]++/BZO
  2744. /[^ab]*+/BZO
  2745. /a{4}+/BZO
  2746. /a{4}+/BZOi
  2747. /[a-[:digit:]]+/
  2748. /[A-[:digit:]]+/
  2749. /[a-[.xxx.]]+/
  2750. /[a-[=xxx=]]+/
  2751. /[a-[!xxx!]]+/
  2752. /[A-[!xxx!]]+/
  2753. A]]]
  2754. /[a-\d]+/
  2755. /(?<0abc>xx)/
  2756. /(?&1abc)xx(?<1abc>y)/
  2757. /(?<ab-cd>xx)/
  2758. /(?'0abc'xx)/
  2759. /(?P<0abc>xx)/
  2760. /\k<5ghj>/
  2761. /\k'5ghj'/
  2762. /\k{2fgh}/
  2763. /(?P=8yuki)/
  2764. /\g{4df}/
  2765. /(?&1abc)xx(?<1abc>y)/
  2766. /(?P>1abc)xx(?<1abc>y)/
  2767. /\g'3gh'/
  2768. /\g<5fg>/
  2769. /(?(<4gh>)abc)/
  2770. /(?('4gh')abc)/
  2771. /(?(4gh)abc)/
  2772. /(?(R&6yh)abc)/
  2773. /(((a\2)|(a*)\g<-1>))*a?/BZ
  2774. /-- Test the ugly "start or end of word" compatibility syntax --/
  2775. /[[:<:]]red[[:>:]]/BZ
  2776. little red riding hood
  2777. a /red/ thing
  2778. red is a colour
  2779. put it all on red
  2780. ** Failers
  2781. no reduction
  2782. Alfred Winifred
  2783. /[a[:<:]] should give error/
  2784. /(?=ab\K)/+
  2785. abcd
  2786. /abcd/f<lf>
  2787. xx\nxabcd
  2788. / -- Test stack check external calls --/
  2789. /(((((a)))))/Q0
  2790. /(((((a)))))/Q1
  2791. /(((((a)))))/Q
  2792. /^\w+(?>\s*)(?<=\w)/BZ
  2793. /\othing/
  2794. /\o{}/
  2795. /\o{whatever}/
  2796. /\xthing/
  2797. /\x{}/
  2798. /\x{whatever}/
  2799. "((?=(?(?=(?(?=(?(?=()))))))))"
  2800. a
  2801. "(?(?=)==)(((((((((?=)))))))))"
  2802. a
  2803. /^(?:(a)|b)(?(1)A|B)/I
  2804. aA123\O3
  2805. aA123\O6
  2806. '^(?:(?<AA>a)|b)(?(<AA>)A|B)'
  2807. aA123\O3
  2808. aA123\O6
  2809. '^(?<AA>)(?:(?<AA>a)|b)(?(<AA>)A|B)'J
  2810. aA123\O3
  2811. aA123\O6
  2812. '^(?:(?<AA>X)|)(?:(?<AA>a)|b)\k{AA}'J
  2813. aa123\O3
  2814. aa123\O6
  2815. /(?<N111>(?J)(?<N111>1(111111)11|)1|1|)(?(<N111>)1)/
  2816. /(?(?=0)?)+/
  2817. /(?(?=0)(?=00)?00765)/
  2818. 00765
  2819. /(?(?=0)(?=00)?00765|(?!3).56)/
  2820. 00765
  2821. 456
  2822. ** Failers
  2823. 356
  2824. '^(a)*+(\w)'
  2825. g
  2826. g\O3
  2827. '^(?:a)*+(\w)'
  2828. g
  2829. g\O3
  2830. //C
  2831. \O\C+
  2832. "((?2){0,1999}())?"
  2833. /((?+1)(\1))/BZ
  2834. /(?(?!)a|b)/
  2835. bbb
  2836. aaa
  2837. "((?2)+)((?1))"
  2838. "(?(?<E>.*!.*)?)"
  2839. "X((?2)()*+){2}+"BZ
  2840. "X((?2)()*+){2}"BZ
  2841. "(?<=((?2))((?1)))"
  2842. /(?<=\Ka)/g+
  2843. aaaaa
  2844. /(?<=\Ka)/G+
  2845. aaaaa
  2846. /((?2){73}(?2))((?1))/
  2847. /.((?2)(?R)\1)()/BZ
  2848. /(?1)()((((((\1++))\x85)+)|))/
  2849. /(\9*+(?2);\3++()2|)++{/
  2850. /\V\x85\9*+((?2)\3++()2)*:2/
  2851. /(((?(R)){0,2}) (?''((?'R')((?'R')))))/J
  2852. /(((?(X)){0,2}) (?''((?'X')((?'X')))))/J
  2853. /(((?(R)){0,2}) (?''((?'X')((?'R')))))/
  2854. "(?J)(?'d'(?'d'\g{d}))"
  2855. ".*?\h.+.\.+\R*?\xd(?i)(?=!(?=b`b`b`\`b\xa9b!)`\a`bbbbbbbbbbbbb`bbbbbbbbbbbb*R\x85bbbbbbb\C?{((?2)(?))((
  2856. \H){8(?<=(?1){29}\xa8bbbb\x16\xd\xc6^($(?<! )(\xa9H4){4}h}1)B))\x15')"
  2857. "(?J:(?|(?'R')(\k'R')|((?'R'))))"
  2858. /(?<=|(\,\$(?73591620449005828816)\xa8.{7}){6}\x09)/
  2859. //
  2860. \O1
  2861. /^(?:(?(1)x|)+)+$()/BZ
  2862. /(?=di(?<=(?1))|(?=(.))))/
  2863. /(?(R))*+/BZ
  2864. /[[:\\](?'abc')[a:]/
  2865. "[[[.\xe8Nq\xffq\xff\xe0\x2|||::Nq\xffq\xff\xe0\x6\x2|||::[[[:[::::::[[[[[::::::::[:[[[:[:::[[[[[[[[[[[[:::::::::::::::::[[.\xe8Nq\xffq\xff\xe0\x2|||::Nq\xffq\xff\xe0\x6\x2|||::[[[:[::::::[[[[[::::::::[:[[[:[:::[[[[[[[[[[[[[[:::E[[[:[:[[:[:::[[:::E[[[:[:[[:'[:::::E[[[:[::::::[[[:[[[[[[[::E[[[:[::::::[[[:[[[[[[[[:[[::[::::[[:::::::[[:[[[[[[[:[[::[:[[:[~"
  2866. /()(?(R)0)*+/BZ
  2867. /(?R-:(?</
  2868. /(?1){3918}(((((0(\k'R'))))(?J)(?'R'(?'R'\3){99})))/I
  2869. /(?J:(?|(:(?|(?'R')(\k'R')|((?'R')))H'Rk'Rf)|s(?'R')))/
  2870. /0(?0)|(1)(*THEN)(*SKIP:0)(*FAIL)/
  2871. 01
  2872. /((?(R8000000000)))/
  2873. /(?(8000000000/
  2874. /(?:ab)?(?:ab)(?:ab)/
  2875. abab
  2876. ababab
  2877. aba
  2878. /((*MARK:A))++a(*SKIP:B)b/
  2879. aacb
  2880. /(?J:(?|(:(?|(?'R')(\z(?|(?'R')(\k'R')|((?'R')))k'R')|((?'R')))H'Ak'Rf)|s(?'R')))/
  2881. /(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?<a>1)/
  2882. /a[[:punct:]b]/BZ
  2883. /L(?#(|++<!(2)?/BZ
  2884. /L(?#(|++<!(2)?/BOZ
  2885. /L(?#(|++<!(2)?/BCZ
  2886. /L(?#(|++<!(2)?/BCOZ
  2887. /(A*)\E+/CBZ
  2888. /()\Q\E*]/BCZ
  2889. /(?<A>)(?J:(?<B>)(?<B>))(?<C>)/
  2890. \O\CC
  2891. /(?=a\K)/
  2892. ring bpattingbobnd $ 1,oern cou \rb\L
  2893. /(?<=((?C)0))/
  2894. 9010
  2895. abcd
  2896. /((?J)(?'R'(?'R'(?'R'(?'R'(?'R'(?|(\k'R'))))))))/
  2897. /\N(?(?C)0?!.)*/
  2898. /(?<RA>abc)(?(R)xyz)/BZ
  2899. /(?<R>abc)(?(R)xyz)/BZ
  2900. /(?=.*[A-Z])/I
  2901. "(?<=(a))\1?b"
  2902. ab
  2903. aaab
  2904. "(?=(a))\1?b"
  2905. ab
  2906. aaab
  2907. /(?(?=^))b/
  2908. abc
  2909. /-- End of testinput2 --/