K irddlmZddlZddlZddlZddlZddlZddlZGddeZ Gdde Z GddejZ d Zed k(reyy) )proxyNceZdZfdZxZS) StrSubclassc4tt| |SN)rsuper __getitem__selfindex __class__s \/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/regex/tests/test_regex.pyr zStrSubclass.__getitem__ s57.u566__name__ __module__ __qualname__r __classcell__r s@rrr s 77rrceZdZfdZxZS) BytesSubclassc4tt| |Sr)rrr r s rr zBytesSubclass.__getitem__sUW0788rrrs@rrrs 99rrceZdZdZdZdZdZdZdZdZ dZ dZ d Z d Z d Zd Zd ZdZdZdZdZdZdZdZdZdZdZdZdZdZddZdZdZ dZ!d Z"d!Z#d"Z$d#Z%d$Z&d%Z'd&Z(d'Z)d(Z*d)Z+d*Z,d+Z-d,Z.d-Z/d.Z0d/Z1d0Z2d1Z3d2Z4d3Z5d4Z6d5Z7d6Z8d7Z9d8Z:d9Z;d:Zd=Z?d>Z@d?ZAd@ZBdAZCdBZDdCZEdDZFdEZGdFZHdGZIdHZJdIZKdJZLdKZMdLZNdMZOdNZPdOZQdPZRdQZSdRZTdSZUdTZVdUZWdVZXdWZYdXZZdYZ[dZZ\d[Z]d\Z^d]Z_d^Z`d_Zad`ZbdaZcdbZddcZeddZfdeZgdfZhdgZidhZjdiZkdjZldkZmdlZndmZodnZpdoZqdpZrdqZsdrZtdsZudtZvduZwdvZxdwZydxZzdyZ{dzZ|d{Z}d|Z~d}Zd~ZdZdZdZdZy) RegexTestszz5cannot process flags argument with a compiled patternzinvalid group referencez missing >zbad character in group namezmissing group namez missing .recurse2sN&5$-0/"DAqAqM" d6lDL#>r) assertEqual)r r#r$r'r(s` `@rassertTypedEqualzRegexTests.assertTypedEqual/s& - ? rcd}tjd}t|}|jd|jdk7r|j yy)NQabbbcRzab+c)regexcompilerfindallfail)r sr%r&s r test_weakrefzRegexTests.test_weakref;sF  MM& ! !H 99Y 199Y#7 7 IIK 8rc|jtjddjdd|jtjddjd|jtjddjdd|jtjddjd|jtjd d d|jtjddjdd|jtjddjd|jtjdd jdd |jtjdd jd |jtjd ddy)Na*xxxrrrzx*axxx+r%aaaxxxarr;a+)r)r-searchspanmatchr s rtest_search_star_plusz RegexTests.test_search_star_plusBs` dE277:FC dE27796B dE277:FC dE27796B c5148 T5166q96B T51668&A T6277:FC T627796B T5148rc:t|d}t|dzS)Nrr:)intstr)r matchobj int_values rbump_numzRegexTests.bump_numNs $ 9q=!!rc6|jtjdddd|jtjd|jdd|jtjd|jddd |jtjd d dd |jtjd d dd |jtjdddd|jtjdddd|jtjdddd|jtjdddd|jtjdddd|jtjdddd|jtjdddt dt dzt dzt dzt dzt dz|jtjd d!d"d#|jtjdd$dd |jtjdd%dd |jtjdd&dd |jtjdd'dd(|jtjd)d*d)d+y),N(?i)b+r% bbbb BBBBx x\d+z08.2 -2 23x99yz9.3 -3 24x100yr;z 9.3 -3 23x99y.cy)N\nms rz1RegexTests.test_basic_regex_sub..YrrR (?Px)z \g\gxxxxxxz \g\g<1> (?Px)z\g\gz \g<1>\g<1>az\t\n\v\r\f\a\bz   z^\s*XtestXtestz\x0Az\u000Az \U0000000Az\N{LATIN CAPITAL LETTER A}Axs\x0A )r)r-subrJchrrCs rtest_basic_regex_subzRegexTests.test_basic_regex_subRsp 8S+>F 64==:JK   64==:JAN   3=uE 3s3T: :}dCVL :}dCVL <1BDI   <EvN 3(93?AQR 3N G?"g? #B?(*-a&?1 2 7C8'B 4#6= 4C8$? 4\g<1>\brZzxxxxr)r-rkrCs rtest_bug_449964zRegexTests.test_bug_449964qs" =/4H  rc<|jtjdddd|jtjdddd|jtjdddd|jtjddddy)Nz\r\nrRz abc def zabc def  rXrorCs rtest_bug_449000zRegexTests.test_bug_449000vs 7E3CD   652BC   7D2BC   641AB  rcPtjd|jt|jfd|jt|jfd|jt|jfd|jt|jfdy)NrPcNtjdtjSNrh)r-rBIpatternsrrVz*RegexTests.test_bug_1661..s%++gsEGG4rcNtjdtjSrv)r-r@rwrxsrrVz*RegexTests.test_bug_1661..s%,,wUWW5rcNtjdtjSrv)r-r/rwrxsrrVz*RegexTests.test_bug_1661..s%--egg6rcLtjtjSr)r-r.rwrxsrrVz*RegexTests.test_bug_1661..s%--1r)r-r.assertRaisesRegex ValueErrorFLAGS_WITH_COMPILED_PATr rys @r test_bug_1661zRegexTests.test_bug_1661s}--$ z4+G+G 4 6 z4+G+G 5 7 z4+G+G 6 8 z4+G+G 1 3rc |jtttjd|j y)Nz(?P)(?(quote)))r)reprr"r-r. PATTERN_CLASSrCs r test_bug_3629zRegexTests.test_bug_3629s/ d5==1H#IJK    rc |jtjdddd|jtjdddd|jtjdddd|jtjdddd|jtjdd dd |jtjdd dd |jtjdd dd|jtjdddd|jtjdddd|jtjdddd|jtjdddd|jtjdddd|jtjdddd |jtjdddd|jtjdddd|jtjdddd|jtjdddd|jtjdddd |jtj|j d!|jtj|j d"|jtj|j d#|jtj|j d$|jtj|j d%|jtj|j d&|jtj|j d'|jtj|j d(|jtj|j d)|jtj|j d*|jtj|j d+|jtj|j d,|jtjd-d.dd|jtjd/d0d1d2|jtjd/d3d1d4y)5Nr%\0z\000z\001z\008z8z\009z9z\111rwz\117Oz\1111I1z\00z\07z\08\09z\0azaz\400uĀz\777uǿris\400s\777c0tjdddS)Nr%\1r-rkrSrrrVz=RegexTests.test_sub_template_numeric_escape.. ))C $rc0tjdddS)Nr%z\8rrSrrrVz=RegexTests.test_sub_template_numeric_escape..rrc0tjdddS)Nr%z\9rrSrrrVz=RegexTests.test_sub_template_numeric_escape..rrc0tjdddS)Nr%\11rrSrrrVz=RegexTests.test_sub_template_numeric_escape.. ))C %rc0tjdddS)Nr%z\18rrSrrrVz=RegexTests.test_sub_template_numeric_escape..rrc0tjdddS)Nr%z\1arrSrrrVz=RegexTests.test_sub_template_numeric_escape..rrc0tjdddS)Nr%z\90rrSrrrVz=RegexTests.test_sub_template_numeric_escape..rrc0tjdddS)Nr%z\99rrSrrrVz=RegexTests.test_sub_template_numeric_escape..rrc0tjdddS)Nr%\118rrSrrrVz=RegexTests.test_sub_template_numeric_escape.. ))C# &rc0tjdddS)Nr%\11arrSrrrVz=RegexTests.test_sub_template_numeric_escape..rrc0tjdddS)Nr%z\181rrSrrrVz=RegexTests.test_sub_template_numeric_escape..rrc0tjdddS)Nr%z\800rrSrrrVz=RegexTests.test_sub_template_numeric_escape..rrz(((((((((((x)))))))))))rz((((((((((y))))))))))(.)rxyzxz8rxza)r)r-rkr}errorINVALID_GROUP_REFrCs r test_sub_template_numeric_escapez+RegexTests.test_sub_template_numeric_escapes  3s3T: 35v> 35v> 35zB 35zB 35v> 35v> 3#6@ 3#6 E 34f= 34f= 34jA 34jA 34jA 35x@ 35x@ 448'B 448'B u{{D,B,BE% & u{{D,B,BE% & u{{D,B,BE% & u{{D,B,BE& ' u{{D,B,BE& ' u{{D,B,BE& ' u{{D,B,BE& ' u{{D,B,BE& ' u{{D,B,BE' ( u{{D,B,BE' ( u{{D,B,BE' ( u{{D,B,BE' ( # 3W5w? 3Wa8'BrcR|jtjddddy)Nz (\S)\s+(\S)z\1 \2z hello therez hello thererorCs rtest_bug_114660zRegexTests.test_bug_114660s" >8^L  rcdtjdk\r(|jtjddddn'|jtjdddd|jtjdddd|jtjdddd y) Nr;rdrz(?V0)x*-abxdz-a-b--d-z-a-b-d-z(?V1)x*r8zab-dsys version_infor)r-rkrCs rtest_bug_462270zRegexTests.test_bug_462270s   y (   UYYy#v> K   UYYy#v> J 9c6:JG 4f5v>rc~d}|jtjd|zdzdj|dy)Nÿz(?Pa)abcr])r)r-r@group)r group_names rtest_bug_14462zRegexTests.test_bug_14462s;  g &:U&B z"C )rc|jtj|jd|jtj|jd|jtj|j d|jtj|j d|jtj|j d|jt|jd|jtjddd d |jtjdd d d |jtj|j d y) Nc0tjdddS)NrYz\g.s ))J .rc0tjdddS)NrYz\g.s ))J -rc0tjdddS)NrY\grZrrSrrrVz/RegexTests.test_symbolic_refs..s ))Jt ,rc0tjdddS)NrYz\grZrrSrrrVz/RegexTests.test_symbolic_refs.. ))J D 1rc0tjdddS)NrYz\g<1a1>rZrrSrrrVz/RegexTests.test_symbolic_refs..rrc0tjdddS)NrYz\grZrrSrrrVz/RegexTests.test_symbolic_refs.. ))J 4 0rz(?Px)|(?Py)z\grZz\2c0tjdddS)NrYz\g<-1>rZrrSrrrVz/RegexTests.test_symbolic_refs..rr) r}r-r MISSING_GTMISSING_GROUP_NAME MISSING_LTBAD_GROUP_NAME IndexErrorUNKNOWN_GROUP_Ir)rkrCs rtest_symbolic_refszRegexTests.test_symbolic_refss& u{{DOO>/ 0 u{{D,C,CF. / u{{DOO>- . u{{D,?,?B2 3 u{{D,?,?B2 3 z4+?+?B1 2 #6$GL #6tDbI u{{D,?,?B1 2rc|jtjdddd|jtjdddd|jtjdddd|jtjd ddd |jtjd ddd d y) NrLr%rM)rNzb+)zx BBBBr:r)rrzb*)xxxyxzxr)xxxyzr)r)r-subnrCs r test_re_subnzRegexTests.test_re_subns Hc;?L D#{;]K D#u5zB D#u5~F D#ua8,Grc|jtjddgdtjdk\r|jtjddgd|jtjddgd|jtjd dgd|jtjd dgd n|jtjddgd |jtjddgd |jtjd dgd |jtjd dgd|jtjddgd|jtjddgd|jtjddgd|jtjddgd |jtj ddDcgc]}|c}gd |jtjddgd|jtj ddDcgc]}|c}gd|jtjddgd|jtj ddDcgc]}|c}gd|jtjddgd|jtj ddDcgc]}|c}gd|jtjddgd|jtjd dgd!|jtjd"dgd#ycc}wcc}wcc}wcc}w)$N::a:b::crr]rrcr:*rrr]rrrrr(:*)rrrrr]rrrr::rrrrrz(?::*)z(:)*)rrrNr]rrNrrrNrNrrr]rrrrr]rrrr)rrr]rrrrz([b:]+))rrr]z:b::rz(b)|(:+)) rNrr]NrrrNrNrrz (?:b)|(?::+))rr]rrrr%xaxbxcz(?r)x)rrr]rz(x)|(y)) rr%Nr]r%Nrr%Nrz (?r)(x)|(y)) rr%Nrr%Nr]r%Nr(?V1)\bza b c)rr] rrrrz(?V1)\m)ra zb rz(?V1)\M)r] bz cr)r)r-splitrr splititerr rUs r test_re_splitzRegexTests.test_re_splits8 S)46MN   y (   U[[y9<  !   U[[;>@ A   U[[9=@$ %   U[[;>K L   U[[y9;N O   U[[;># $   U[[9=@    U[[;>" # Y :=  Z;>> ? ^Y?B  S(35HI U__S(%CD!DG  Wh79LM U__Wh%GH!HK  Y9<* + U__Y%IJ!J > @ ]H=@. / U__]H%MN!N > @ Z9<  Z9<  Z9< +EI K Os O& O+< O0 O5c|jtjdddgd|jtjdddgd|jtjdddgdtjd k\r*|jtjd ddgd y|jtjd ddgdy) Nrrr)rr]b::cza:b:c:d)r]rzc:dz(:))rrr]rrrr)rrrrza:b::c)r)r-rrrrCs rtest_qualified_re_splitz"RegexTests.test_qualified_re_split3s S)Q79JK S)Q79JK UIq9<    y (   U[[A>A    U[[A>A rc|jtjddg|jtjddgd|jtjddgd|jtjddgd|jtjdd d g|jtjd d d g|jtjd d dg|jtjdddg|jtjdddg|jtjdddg|jtjdddg|jtjdddgy)N:+r a:b::c:::drrz:::(:+)(:)(:*))rr)rr)rrz\((?P.{0,5}?TEST)\)z (MY TEST)zMY TESTz\((?P.{0,3}?TEST)\)z\((?P.{0,3}?T)\)z(MY T)zMY Tz [^a]{2}[A-Z]z Sz Sz[^a]{2,3}[A-Z]z Sz SzX(Y[^Y]+?){1,2}( |Q)+DEFzXYABCYPPQ Q DEF)zYPPQ rz(\nTest(\n+.+?){0,2}?)?\n+Endz Test xyz xyz End)z Test xyz xyzz xyzr)r-r/rCs rtest_re_findallzRegexTests.test_re_findall@s tU3R8 t\:a)|(?Pb))(?Pc)?rr;)r]NNa1b2c3)NrNr]Nr)r)r-rBrr.r patrUs r test_re_matchzRegexTests.test_re_match]sL S#.q16: UC03Z@ VS1!4c: VS1!4c: VS1771=zJmmO, 3*,GH 3*,GH 4+-HI 4+-HI 4+-HI KKs # C( S) S) A 3mm?@ 3--aA68IJ 3--dD$?B  4..q$:a)(?Pb)?((?(g2)c|d))r)rr]rrad)rr]Nrabdr)r)r-rBr.r ps rtest_re_groupref_existsz"RegexTests.test_re_groupref_existsxs %?GJ   %?EaHK  %?FM %?FM %=tDQGJ  %=tDQGJ  %qAD  %8#>qAD  'o 247 6! "rcr|jtjddjdddy)N#(?Pfirst) (?Psecond) first secondfirstsecondr r!)r)r-rB groupdictrCs rtest_groupdictzRegexTests.test_groupdicts0 %J #)+H'M Orcn|jtjddjddy)Nrrz\2 \1 \g \gzsecond first second first)r)r-rBexpandrCs r test_expandzRegexTests.test_expands/ %J  &!>? % 'rc |jtjddd|jtjddd|jtjddd|jtjddd|jtjdddd|jtjd ddd|jtjd ddd|jtjd ddd|jtjd ddd|jtjd ddd|jtjdddd|jtjd ddd|jtjddd|jtjddd|jtjddd|jtjddd|jtjdddd|jtjdddd|jtjdddd|jtjdddd|jttjddd|jttjddd|jttjddd|jttjddd|jttjd dd|jttjd!dd|jttjd"dd|jttjddd|jtjd#dd|jttjd#d$dy)%Nz ^(\w){1}$rz ^(\w){1}?$z ^(\w){1,2}$z ^(\w){1,2}?$z ^(\w){3}$r:rz ^(\w){1,3}$z ^(\w){1,4}$z ^(\w){3,4}?$z ^(\w){3}?$z ^(\w){1,3}?$z ^(\w){1,4}?$z^x{1}$r5z^x{1}?$z^x{1,2}$z ^x{1,2}?$z^x{1}rr%z^x{1}?z^x{0,1}z^x{0,1}?rz^x{3}$Tz^x{1,3}$z^x{1,4}$z ^x{3,4}?$z^x{3}?$z ^x{1,3}?$z ^x{1,4}?$z^x{}$zx{})r)r-rBboolrCs rtest_repeat_minmaxzRegexTests.test_repeat_minmaxs \594@ ]E:DA ^U;TB _eD ^U;A>D _e [%8$? We4Q7= Xu5a8#> Y6q93? Z7:B? ekk(E:;TB ekk*e<=tD ekk*e<=tD ekk+u=>E ekk)U;E ekk+u=>E ekk+u=>E We4d; ekk'59:DArc .|jtjdjd|jtjdjtj tj ztjz|jtjdjtjtj ztjz|jtjdjd|jtjdji|jtjdjddd|jtjddjd |jtjddjd|jtjd d jd |jtjd d jd |jtjd d jd |jtjd d jdd|jtjddj d|jtjddj"d|jt%t'tjddj(|j*tjd}d |jd<|j|jddy)Nz (?i)(a)(b)s (?i)(a)(b)rz(?i)(?Pa)(?Pb)r:)r otherrr]rzb(c)abcdefr9rr;rr:r1z abc(?Pdef)n)r)r-r.ryflagsrwUDEFAULT_VERSIONrhgroups groupindexrBposendposr@rAstringregsrr"rerrs r test_getattrzRegexTests.test_getattrs~ |4<" # |4;;Q? |4??D 'EFQQ " $ UC044a8 UC077; fh7;;Q? fh7>>B fh7<<>G fh7<?     MM* + S c*A.rc|jtjdddd|jtjdddd|jtjddtjdd |jtjd d tjdd |jtjddtjdd|jtjddtjdd|jtjd d tj dd|jtjddtj dd|jtjdd tj d|jtjdddd |jtjd d dd |jtjddtj dd|jtjddtj dd|jtjddtj d|jtjdddd|jtjddtjdd|jtjddtjddy)Nz\b(b.)\bzabcd abc bcd bxr:bxz\B(b.)\Bzabc bcd bc abxds\b(b.)\bsabcd abc bcd bxsbxs\B(b.)\Bsabc bcd bc abxd^abc$z abc rrz ^\Aabc\Z$s^abc$s abc abcs ^\Aabc\Z$z \d\D\w\W\s\Sz1aa! as \d\D\w\W\s\Ss1aa! a)r)r-r@LOCALEUNICODEMrCs rtest_special_escapeszRegexTests.test_special_escapess k3DEaH$O k3DEaH$O l4F ,,! # l4F ,,! # k3D --! # k3D --! # h 577CAFN lE577CAFN lIuwwGN l4FGJ   l4FGJ   iUWWEaH   mVUWWEaH   mZI   ox@CXN &6 ,,% ' ox --% 'rc d|jtjdddd|jtjddtjdd|jdj tj ddtjd|jdj tj ddtjd|jdj tj d dtjdy) Nz([\u2222\u2223])u∢r:rrPueèéêëēěėr3z%[e\xe8\xe9\xea\xeb\u0113\u011b\u0117]z*e|\xe8|\xe9|\xea|\xeb|\u0113|\u011b|\u0117)r)r-rBrCjoinr/rCs rtest_bigcharsetzRegexTests.test_bigcharset s %8(CAF   %8( --% ' s /u}}"FG / 1 /W /u}}"FG / 1 /\ /u}}"FG / 1rc|jtjddtjdd|jtjddtjddy)Na.ba bra.*bza b)r)r-rBDOTALLrCs r test_anyallzRegexTests.test_anyallsQ UFELLA!DfM VXu||DQG  rc|jtjdddd|jtjdddd|jtjdddd|jtjdddd|jtjd d dd|jtjd d dd|jtjd d dd|jtjdd dd|jtjdddd|jtjdddd|jtjddddy)Nz (a(?=\s[^a]))a br:r]z(a(?=\s[^a]*))z(a(?=\s[abc]))z(a(?=\s[abc]*))za bcz (a)(?=\s\1)a az (a)(?=\s\1*)a aaz(a)(?=\s(abc|a))z (a(?!\s[^a]))z(a(?!\s[abc]))za dz (a)(?!\s\1)z(a)(?!\s(abc|a))r)r-rBrCs rtest_non_consumingzRegexTests.test_non_consuming sj %5u=a@#F %6>qA3G %6>qA3G %7@CSI ^U;A>D _f=a@#F %8%@CSI %5u=a@#F %6>qA3G ^U;A>D %8%@CSIrc<|jtjddtjdd|jtjddtjdd|jtjddtjdd|jtjd d tjdd |jtjd dtjdd|jtjd d tjdd |jtjddtjdd|jtjdd tjdd |jtjddtjdd|jtjddj d|jtjddj d|jt tjddd|jt tjddd|jt tjddd|jt tjdddy)NrABCrrAsABCz (a\s[^a]*)za bbr:z (a\s[abc])rQz (a\s[abc]*)z ((a)\s\2)rRz ((a)\s\2*)rSz((a)\s(abc|a))z((a)\s(abc|a)*)z[Z-a]_r1z (?i)[Z-a]z(?i)naonAoTz (?i)n\xE3ounÃouNÃOz(?i)suſ)r)r-rBrwrAr)rCs rtest_ignore_casezRegexTests.test_ignore_case.s3 UE577;A>F VVUWW=a@&I ]FEGGDQG   ]E577CAFN ^VUWWEaH   \5%''B1EuM ]FEGGDQG   %6uwwGJ   %7I!L   Xs388:FC \37<<>G ekk*e<=tD ekk-BCTJ ekk-BCTJ ekk(H=>Erc|jtjddjd|jtjddjd|jtjddjd|jtjddjd|jtjd d jd|jtjd d jd|jtjd d jd|jtjddjd|jtjddjd|jtjddjd|jtjd djd|jtjddjd|jtjddjd|jtjddjd|jtjddjd|jtjddjd|jtjddjd|jtjddjdd}|D]3}|D],}tjd|z|r|j .5|jt tjdd d!|jt tjdd"d!|jt tjd#d d!|jt tjd#d"d!|jt tjd$d d!|jt tjd%d d!|jt tjdd d!|jt tjd#d d!|jt tjd$d d!|jt tjd%d d!|jt tjd&dd!|jt tjd&dd!|jtjd'd(d)d*g|jtjd+d(d)d*g|jtjd,d-jd.|jtjd/d-jd.|jtjd0d-jd.|jtjd1d2dg3jd4|jtjd1d5d6g3jd7y)8Nz(?fi)ssSSrrz(?fi)SSssßr1z#(?fi)\N{LATIN SMALL LETTER SHARP S}z (?fi)\N{LATIN SMALL LIGATURE ST}STz(?fi)STustuſtz(?fi)SSTußtusſtusstSSTr9z(?fi)FFIuffiuffiuffiz!(?fi)\N{LATIN SMALL LIGATURE FFI}FFIr>z!(?fi)\N{LATIN SMALL LIGATURE FF}iz!(?fi)f\N{LATIN SMALL LIGATURE FI}uΣσςz(?fi)z(?iV1)ffufffiTufiffz(?iV1)fiz (?iV1)fffiz (?iV1)f\uFB03z (?iV1)f\uFB01z/(?iV0)\m(?:word){e<=3}\M(?neaffineoptionsrr.uaffineffirr)r)r-r@rArBr0r)r/)r sigmach1ch2s rtest_case_foldingzRegexTests.test_case_foldingHs j$7<<>G j$7<<>G j *,,0DFF < &L   &I   j '))- 9 j -//3tvv ? k +--1TVV = k .004 @ k (**.$&& : &I  ! k (**.$&& : k (**.$&& : k (**.$&& : k (**.$&& : &J  ! &J  ! &J  !% C {{8c>37IIK  ell;GH   ell;GH   ell;GH   ell;GH   ell=.IJ   ell+;   " ell;GH   ell;GH   ell=.IJ   ell+;   " ell+;YGH   ell+;YGH   'Y :<>G >  'Y :<>G >  &M  ( &S  ) &T  ) &>Bdff NrcV|jtjddddy)Nz(\s)rr:rTrCs r test_categoryzRegexTests.test_categorys" Wc215s;rc|jtjdddd|jtjddddy)Nz\s([^a])rr:rz \s([^a]*)z bbbbr)r-r@rCs rtest_not_literalzRegexTests.test_not_literalsB k48;SA lE:1=tDrc|jtjdddd|jtjddddy)Nz\s(b)rr:rza\srrrtrCs rtest_search_coveragezRegexTests.test_search_coveragesB h5a8#> fd3A6=rc d}|jtj||tddD]}|t |z }|jt tj tjt |t |d|jtj tjt |t |jdtjtj|}|j|j |jdy)NrrTr1rry) r)r-escaperangerlr)rBrAr.)r rir s rtest_re_escapezRegexTests.test_re_escapes  a!,q# A QKA   T%++ell3q6.BCF"KL    U[[c!f)=s1vFKKM   mmELLO, 1**,h7rc Vd}|jtj||tddD]}t |g}||z }|jt tj tj||d|jtj tj||jdtjtj|}|j|j |jdy)NrrryTr1rz) r)r-r{r|bytesr)rBrAr.)r rr}rr s rtest_re_escape_bytezRegexTests.test_re_escape_bytes  a!,q# MAqc A FA   T%++ell1oq"ABD I   U[[a!<AACV L  M mmELLO, 1**,h7rctjtjk7r|jtjtj k7r|jtj tjk7r|jtjtjk7r|jtjtjk7r|jyyr) r-rw IGNORECASEr0LrBrD MULTILINESrNreVERBOSErCs rtest_constantszRegexTests.test_constantss 77e&& & IIK 77ell " IIK 77eoo % IIK 77ell " IIK 77emm # IIK $rc ,tjtjtjtjtj fD]D}|j tttjd||jFy)Nz ^pattern$) r-rwrDrerrr)rr"r.r)r flags r test_flagszRegexTests.test_flagss^WWegguwwA "D   T$u}}[$'G"HI   " "rc JdD]q}|jttjd|zt |d|jttjd|zt |dzd|jttjd|zt |dzd|jttjd|zt |d|jttjd |zt |dzd|jttjd |zt |d zdt|j tj |jd y) Nrre @z\%03oTz\%03o00z\%03o88z\x%02xz\x%02x0z\x%02xzzc.tjddS)Nz\911rr-rBrSrrrVz8RegexTests.test_sre_character_literals..s ++gr "r)r)r)r-rBrlr}rrr r}s rtest_sre_character_literalsz&RegexTests.test_sre_character_literalssA2 A   T%++hlCF"CDd K   T%++i!mSVc\"JK    T%++i!mSVc\"JK    T%++i!mSV"DEt L   T%++j1nc!fsl"KL    T%++j1nc!fsl"KL   u{{D,B,BE# $rc 2dD]e}|jttjd|zt |d|jttjd|zt |d|jttjd|zt |d|jttjd|zt |d|jttjd|zt |d|jttjd|zt |dh|j tj |jd y) Nrz[\%03o]Tz[\%03o0]z[\%03o8]z[\x%02x]z [\x%02x0]z [\x%02xz]c.tjddS)Nz[\911]rrrSrrrVz>RegexTests.test_sre_character_class_literals..s ++i $r)r)r)r-rBrlr}rBAD_OCTAL_ESCAPErs r!test_sre_character_class_literalsz,RegexTests.test_sre_character_class_literalss)2 PA   T%++j1nc!f"EF M   T%++kAos1v"FG N   T%++kAos1v"FG N   T%++kAos1v"FG N   T%++lQ.>A"GH$ O   T%++lQ.>A"GH$ O  P u{{D,A,AD% &rcB|jtjddjdd|jtjddj dd|jtjddj ddy)Nz(a)|(b)rr:rr)r)r-rBstartendrArCs rtest_bug_113254zRegexTests.test_bug_113254st Z5;;A>C Z599!a)(?Pb)?bz (?Pa(b))((a)))r)r-rB lastindex lastgrouprCs rtest_bug_527371zRegexTests.test_bug_527371s Xc2<. -- !r)r}r-rBAD_SETrCs rtest_bug_545855zRegexTests.test_bug_545855s# u{{DLL;" #rc|jtjdddzdzjdd|jtjdddzd zddzzd zjdd |jtjdd d zdzjdd|jtjdddzdzjddy)Nz.*?ci'rrri!Nz.*?cdircdei#Ni Nrdeiaz(a|b)*?c)r)r-rBrr@rCs rtest_bug_418626zRegexTests.test_bug_418626s VUT\D-@AEEaH   WdTkC.?$+.M /Q  Weemd.BCGGJ   j%$,2EFJJ1M  rcdtjdzdz}|jtj|xrddy)N[u‹]r:)r-r{r)r.)r r s rtest_bug_612074zRegexTests.test_bug_612074s8ELL**S0 s+115rc|jtjdddzdd|jtjdddzdzdd|jtjdddzdzddy)Nz(x)*iPr%r:z(x)*yr&z(x)*?yrTrCs rtest_stack_overflowzRegexTests.test_stack_overflowsz VUS[9!.s_ident sE\rc d|zS)Nzop%srSrs r s_operatorz+RegexTests.test_scanner..s_operator!s v~(=rct|Sr)floatrs rs_floatz(RegexTests.test_scanner..s_float"s E%L%8rct|Sr)rFrs rs_intz&RegexTests.test_scanner..s_int#s #e*#4rz [a-zA-Z_]\w*z\d+\.\d*rOz =|\+|-|\*|/)z\s+Nrzsum = 3*foo + 312.50 + bar) sumzop=r;zop*fooop+gs@rbar) r-Scannerr)rr"rryrscan)r rrrrrs r test_scannerzRegexTests.test_scanners1=84--/7!;k >UOnj%AD! d7??#:#:2#>#F#FGH     &BCG>?AFC DrcdD]Z}|jtjd|zdddd|jtjd|zdddd\y)N)r?*z ((.%s):)?zr)rNNa:z)rza:r]rT)r ops rtest_bug_448951zRegexTests.test_bug_448951/si B   U[[);SA!DG    U[[);UCAFI  rc|jtjddddd|jtjddddd|jtjddddd|jtjddddd|jtjd dddd |jtjd d ddd |jtjddddd|jtjdddddy)Nz ^((a)|b)*r)rrr]z ^(([ab])|c)*)rrrz ^((d)|[ab])*)rrNz ^((a)c|[ab])*z ^((a)|b)*?c)rrr]z^(([ab])|c)*?dabcd)rrrz^((d)|[ab])*?c)rrNz^((a)c|[ab])*?crTrCs rtest_bug_725106zRegexTests.test_bug_7251068s0 [%8;=MN ^U;A>A  ^U;A>A  _eqAD  %5u=a@C  %6>qAD rc|jtjddddd|jtjdddddy)Nz(a)(?:(?=(b)*)c)*abbr]r]Nz(a)((?!(b)*))*)r]r]NNrTrCs rtest_bug_725149zRegexTests.test_bug_725149JsP %8%@CF  %5u=a@C rcGddt}tj|d}|j|j ddy)Nc eZdZy).RegexTests.test_bug_764548..my_unicodeN)rrrrSrr my_unicoderSsrrrr)rGr-r.r)rB)r rr s rtest_bug_764548zRegexTests.test_bug_764548Qs6##mmJu-. 5)40rctjdd}|j|Dcgc]}|d c}gdycc}w)Nrrrr)r-finditerr))r ititems r test_finditerzRegexTests.test_finditerWs5 ^^E< 0 b1d$q'13EF1s =cztjdtjdur|jyy)N bug_926075s bug_926075)r-r.r0rCs rtest_bug_926075zRegexTests.test_bug_926075[s+ == &%-- *F F IIK Grctd}|jtj|jdgdy)Nu [.。.。]za.b.cr]rr)r)r-r.rrs rtest_bug_931848zRegexTests.test_bug_931848_s1. w/55g>A rctjdd|jtj d|j t fdtjdjd}|j|jj d|j|jdy)N\srQr:rctSrnextrsrrVz,RegexTests.test_bug_581080..g br) r-rr)rrA assertRaises StopIterationr.rr@)r rrs @rtest_bug_581080zRegexTests.test_bug_581080ds ^^E5 ) b&1 -)9:--&..u5 )..0&9 )40rctjdd|jtj d|jtj d|j t fdy)Nz.*asdfrkrrctSrrrsrrVz,RegexTests.test_bug_817234..qrr)r-rr)rrArr)r rs @rtest_bug_817234zRegexTests.test_bug_817234msX ^^E6 * b&1 b&1 -)9:rcddl}dD]~}|j|}|jtjdj |d|jtjdj |dddy)Nr bBhHiIlLfdsblarr:rS)arrayr)r-r.rB)r rtypecoder]s rtest_empty_arrayzRegexTests.test_empty_arraysss$ DH H%A   U]]6288;T B   U]]3/55a8> C Drctd}td}tj|tjtjz}|j t |j|dtj|tjtjz}|j t |j|dtjd|ztj}|j t |j|dtjd|ztj}|j t |j|dtjd|z}|j t |j|dtjd|z}|j t |j|d|j t tjddd|j tjdddy) NiiTz(?i)z(?iu)(?i)arhza(?i))rlr-r.rwr4r)r)rB)r upper_char lower_charrs rtest_inline_flagszRegexTests.test_inline_flags{s[ [ MM*egg&7 8 aggj12D9 MM*egg&7 8 aggj12D9 MM&:-uww 7 aggj12D9 MM&:-uww 7 aggj12D9 MM'J. / aggj12D9 MM'J. / aggj12D9 ekk(C894@ Xs3T:rctjd}|j|jddd|j|jddd|j|jdddtjdtj}|j|jddd |j|jddd |j|jdddy) N$#za b za b# #za b cza b c#rXz# #za# b# #za# b# c#)r-r.r)rkrrs rtest_dollar_matches_twicez$RegexTests.test_dollar_matches_twices--$ S(3Z@ S)4jA S$/8--U__5 S(4kB S)4lC S$/8rc4tjdtjd|jt|jfd|jt|j fd|jt|j fd|jt|jfd|jt|jfd|jt|j fd|jt|jfd |jt|j fd |jt|jd |jt|jd |jt|jd |jt|jd|jt|jd|jt|jdy)NrP.c&jdS)NbrBr srrVz2RegexTests.test_bytes_str_mixing..s ))D/rc&jdS)Nrr bpatsrrVz2RegexTests.test_bytes_str_mixing..s **S/rc(jddSNr rrkrsrrVz2RegexTests.test_bytes_str_mixing..s ''$ rc(jddSNrcrrsrrVz2RegexTests.test_bytes_str_mixing..s ''#t rc(jddS)Nr rrrsrrVz2RegexTests.test_bytes_str_mixing..s ''$ rc(jddSrrrsrrVz2RegexTests.test_bytes_str_mixing..s ((4 rc(jddSrrrsrrVz2RegexTests.test_bytes_str_mixing..s ((3 rc(jddSNrrrrsrrVz2RegexTests.test_bytes_str_mixing..s ((3 rcJtjdtjS)N\wr-r.rCrSrrrVz2RegexTests.test_bytes_str_mixing..s -- .rc,tjdS)Ns(?u)\wrrSrrrVz2RegexTests.test_bytes_str_mixing.. -- #rcltjdtjtjzS)N\w)r-r.rCASCIIrSrrrVz2RegexTests.test_bytes_str_mixing..s" --u}}u{{: ;rcJtjdtjS)Nz(?u)\w)r-r.r$rSrrrVz2RegexTests.test_bytes_str_mixing..s -- 5;; /rcJtjdtjS)N(?a)\wrrSrrrVz2RegexTests.test_bytes_str_mixing..s -- 5== 1rc,tjdSNz(?au)\wrrSrrrVz2RegexTests.test_bytes_str_mixing..r!r) r-r.r} TypeErrorSTR_PAT_ON_BYTESBYTES_PAT_ON_STRSTR_PAT_BYTES_TEMPLBYTES_PAT_STR_TEMPLr~BYTES_PAT_UNI_FLAG MIXED_FLAGS)r rr s @@rtest_bytes_str_mixingz RegexTests.test_bytes_str_mixingsmmC }}T" y$*?*?B  y$*?*?B  y$*B*BE  y$*?*?B  y$*?*?B  y$*?*?B  y$*B*BE  y$*?*?B  z4+B+BE/ 0 z4+B+BE$ % z4+;+;>< = z4+;+;>0 1 z4+;+;>2 3 z4+;+;>$ %rcdtjfD]}tjd|tjz}|j t |j ddtjd|}|j t |j ddtjdtjtjz}|j |j ddtjdtj}|j |j ddtjdtj}|j |j ddtjd}|j |j dddtjfD]}tjd|tjz}|j |j d dtjd }|j |j d d|jt|jd y) NrÀàTr#u(?a)Àr'rc,tjdSr)rrSrrrVz8RegexTests.test_ascii_and_unicode_flag..r!r) r-rCr.rr)r)rBr$r}r~r0)r r3r s rtest_ascii_and_unicode_flagz&RegexTests.test_ascii_and_unicode_flags' $ %rc ltjdd}|s|jdnA|r.|d|jdk7s|d|jdk7r|jd|s|jdy|dddk7r-|jdj t |ddyy) N(?\w)xyz(Failed: expected match but returned Nonerr:Failed)r%r%z0Failed: expected "('x', 'x')" but got {} instead)r-rBr0rformatasciirs rtest_subscripting_matchz"RegexTests.test_subscripting_matchs KK T * II@ Aadaggaj(AaDAGGAJ,> IIh  II@ A qTZ  IIJQQRWXYZ[X\R]^ _ rctjdd}tjdd}|r |r |dd|ddk(s|jdyy)Nz (?P\w)r%r:r<)r-rBr0)r m0m1s rtest_new_named_groupsz RegexTests.test_new_named_groupssF [[s + [[c *rber!un IIh -rc r|jtjddd|jtjddd|jtjddd|jttjddd|jttjdd d|jttjd d d|jttjd d d|jtjddd|jtjd dd|jtjd dd|jtjdd d|jtjdd d|jtjdd d|jttjddd|jttjddd|jttjddd|jttjddd|jttjddd|jttjddd|jttjddd|jttjddd|jttjddd|jttjddd|jttjddd|jttjddd|jttjddd|jttjddd|jttjddd|jttjd dd|jttjd!dd|jttjd"dd|jttjd#dd|jttjd$dd|jttjd%dd|jttjd&dd|jttjd'dd|jttjd(dd|jttjd)dd|jttjd*dd|jttjd+dd|jttjd,dd|jttjd-dd|jttjd.d/d|jttjd0d1d|jttjddd|jtjd.d2d|jtjd0d2d|jtjdd2d|jtjd3d/d|jtjd4d1d|jtjd5dd|jttjd3d2d|jttjd4d2d|jttjd5d2d|jttjd6dd|jttjd6d7d|jttjd8dd|jttjd9d7d|jttjd:d7d|jttjd:dd|jttjdd/d|jttjdd7d|jttjdd;d|jtjdj d?|jtj d) r chars_uchars_bword_settestsrycharsexpectedrPs rtest_propertieszRegexTests.test_propertiess  \7;TB ]G &()*. 0 ekk*C &()*. 0 ekk*> &()*. 0 ekk*B &()*. 0 ekk%56= ekk%56= ekk%56= UC0$7 UC0$7 UC0$7 UC0$7 UC0$7 UC0$7 ekk%56= ekk%56= ekk%56= ekk(C894@ ekk(C894@ ekk)S9:DA ekk)S9:DA ekk(C894@ ekk(C894@ ekk%56= ekk%56= ekk%56= UF388:FC UI6;;=vF u $&(  x $&(6'G I u.CD - / ekk)S9:DA(<BBDE1 G2 31 G%: ;1 GS !1 Wc * 1 GT " 1 Wd + 1 G1 21 g'; <1 W&8 91 gv .1 W&: ;1 gt ,1 gv .1 w(: ;1  01 3!1 " 4#1 $ 7%1 (* -)1 * * 5+1 ,$ '-1 .!'4 0/1 0% (11 2!'5 131 4) ,51 6"7I 671 8!'7 391 :"7G 4;1 <!'9 5=1 >"7E 2?1 @"7G 4A1 B#GW 5C1 F* -G1 H * 5I1 J$ 'K1 L!'4 0M1 N% (O1 P!'5 1Q1 R) ,S1 T"7I 6U1 V!'7 3W1 X"7G 4Y1 Z!'9 5[1 \"7E 2]1 ^"7G 4_1 `#GW 5a1 d). L $GUH L#A;##EMM'5$ABhNIIl11':; L ekk*?EF   ekk*A (*+,0 2 ekk*A (*+,0 2 L 077qJKK LsA w88 x6*x11x6cB|jtjdddg|jtjddddg|jtjddgd|jtjd dgd y) N\w+u हिन्दी,हिन्दीz\W+r,r)rrirjz(?V1)\B)ru हuिuनu्uदuी,r)r)r-r/rrCs rtest_word_classzRegexTests.test_word_classs v 24 1 2 4 v 24693Z A Z 2467 8 Z 246A BrcT|jtjddddgy)N\G\w{2}abcd efrrrrCs rtest_search_anchorzRegexTests.test_search_anchors! z9=d|Lrc|jtjddgd|jtjdddgd|jtjdddd g|jtjdddgd |jtjd d dd dg|jtjddDcgc]}|d c}gd|jtjdddDcgc]}|d c}gd |jtjddDcgc]}|d c}gd|jtjdddDcgc]}|d c}gd |jtjddgd|jtjddgd|jtjddgd|jtjddgd|jtjddDcgc]}|d c}gd|jtjddDcgc]}|d c}gd|jtjddDcgc]}|d c}gd|jtjddDcgc]}|d c}gd|jtjddddg|jtjddddg|jtjddg|jtjdddg|jtjd d!gd"|jtjd#d!gd"|jtjd$d!gd%|jtjd&d!gd%|jtjd'dd(d)*d+d,g|jtjd'dd(d-*d+d,g|jtjd'dd(d)*Dcgc]}|d c}d+d,g|jtjd'dd(d-*Dcgc]}|d c}d+d,g|jtjddd(d)*Dcgc]}|d c}d,d+g|jtjddd(d-*Dcgc]}|d c}d,d+g|jtjddd(d)*d,d+g|jtjddd(d-*d,d+g|jtjd.d/tjd0d1g|jtjd2d/tjd1d0g|jtjd3dd g|jtjd3ddd dg|jtjd4d5d6d7g|jtjd8d5d9d:g|jtjd3dDcgc]}|d c}d g|jtjd3ddDcgc]}|d c}d dg|jtjd4d5Dcgc]}|d c}d;dg|jtj d?d?j d@|jtj dAd?j d@|jtj dBdCj d@|jtj dDdCj d@|jtjdEdFdd|jtjdGdFddycc}wcc}wcc}wcc}wcc}wcc}wcc}wcc}wcc}wcc}wcc}wcc}wcc}wcc}wcc}wcc}w)HNz(?r).r)rrr]T overlapped(?r)..abcderrrrrr (?r)(.)(-)(.)a-b-crrrr]rrr^|\w+foo barrrr (?V1)^|\w+ (?r)^|\w+rrr (?rV1)^|\w+rmrnrrz .{2}(?<=\G.*)rz (?r)\G\w{2}z (?r)\w{2}\Gefzq*qqwe)qqrrrz(?V1)q*z(?r)q*)rrrrz(?rV1)q*rPr:r;r8r9rrrz[ab]aBr]Bz(?r)[ab]z(?r).{2} (\w+) (\w+)zfirst second third fourth fifthr")thirdfourthz(?r)(\w+) (\w+))rfifth)r!rrz third fourthz fourth fifthz second thirdr-riz (?r)abcdefz (?i)abcdefABCDEFz (?ir)abcdef(.)r(?r)(.))r)r-r/rrwr@rArkrs rtest_search_reversezRegexTests.test_search_reverses8 x7I x4HK  y':T4LI y'dK " $ '7,o> @ x(GH1!A$HK  y')1!A$5 7 x(GH1!A$HK  y')1!A$5 7 x;>  }i@C  |Y?B  ~yAD  x(KL1!A$L   } )1!A$) + | )1!A$) + ~ )1!A$) + z9=d|L '7@4,O ~yA2F ~yAD6J uf57IJ z6:  sF!Ds G  sF"E H  sF)1!A$Cj " sF)1!A$Sz # wA)1!A$Cj " wA)1!A$Sz # wAaH3 K  wAbI *  wegg>c K {D%''BS#JO {E:TFC {EdK ,  ~ +-/BE/  '9 +-/BE/  {E(JK1!A$K &  {E)1!A$"D\ + ~ +)-.1!A$.0> 0  7I +)-.1!A$.0> 0  h9>>@&I lH=BBDfM lH=BBDfM mX>CCEvN 65%8%@ :uea*)arrtrCs r test_atomiczRegexTests.test_atomics j$7>rc|jtjddjd|jtjddjd|jtjddjd|jtjddjd|jtjd d jd |jtjd d jd|jtjdd jd|jtjdd jd|jtjddd|jtjddd|jtjddd|jtjddd|jtjdd d|jtjdd d|jtjdd d|jtjdd dy)Nza?ar]r1za*ar<r>za+aza{1,3}az (?:ab)?abrr]z (?:ab)*ababababriz (?:ab)+abz (?:ab){1,3}abza?+aza*+aza++aza{1,3}+az (?:ab)?+abz (?:ab)*+abz (?:ab)++abz(?:ab){1,3}+abr)r-r@rArCs rtest_possessivezRegexTests.test_possessives fc27796B fe499;VD fe499;VD j%8==?H lD9>>@&I lH=BBDfM lH=BBDfM &6AFFHK   gs3T: gu5t< gu5t< k594@ mT:DA mX>E mX>E &7BDIrc6 tjdk\r)|jtjddgdn'|jtjdddg|jtjddgd|jtj ddgd|jtj ddDcgc]}|d  c}gd|jtj d dgd |jtj d dDcgc]}|d  c}gd |jtj d dgd|jtj d dDcgc]}|d  c}gd|jtj d dgd |jtj d dDcgc]}|d  c}gd tjdk\r_|jtjddgd|jtjddDcgc]}|c}gdn\|jtjdddg|jtjddDcgc]}|c}dgtjdk\r_|jtjddgd|jtjddDcgc]}|c}gdn\|jtjdddg|jtjddDcgc]}|c}dg|jtjddgd|jtjddDcgc]}|c}gd|jtjddgd|jtjddDcgc]}|c}gdycc}wcc}wcc}wcc}wcc}wcc}wcc}wcc}wcc}wcc}w)Nrz\brQ)rr]rrrrrzr{r|rr~rr}rrr)rr%r]r%rr%rrz(?r))rrr%rr%r]r%rz(?V1)z(?rV1))rrr)r-rr/rrrs rtest_zerowidthzRegexTests.test_zerowidth8s   y (   U[[69    U[[6 @ Z7:  x;>  x(KL1!A$L   |Y?B  | )1!A$) + }i@C  } )1!A$) + ~yAD  ~ )1!A$) +   y (   U[[X69! "   X)FGAaGJ0 1   U[[X6 C   X)FGAaGj    y (   U[[:=! "   )JKAaK4 6   U[[:XJ G   )JKAaKj  Wh7:  U__Wh%GH!HK, - Xx8;  U__Xx%HI!IL, -UM HH LL I Js< Q)8 Q. Q3: Q8. Q= R< R R 7 R Rc|jtjddjd|jtjddjd|jtjddd|jtjddd|jtjddd|jtjddtj d|jtjd dtj d|jtjd dtj jdy) Nz(?i)Abrr]z(?i:A)bzA(?i)bz(?V0)Abz(?V1)Abz(?-i)AbrGz(?-i:A)bzA(?-i)b)r)r-r@rArwrCs rtest_scoped_and_inline_flagsz'RegexTests.test_scoped_and_inline_flagsrs  i6;;=vF j$7<<>G i6= j$7> j$7> j$eggFM k4uwwGN j$eggFKKM  rc<|jtjddjd|jtjddjd|jtjddjdy)Nz(?:a+)+r<r>z (?:(?:ab)+c)+abcabcriz (?:a+){2,}rrCs rtest_repeated_repeatsz RegexTests.test_repeated_repeatssw j%8==?H &6AFFHK   mU;@@BFKrc |jtjddjd|jtjddd|jtjddd|jtjddjd|jt tj ddd|jtj d dd|jt tj d dd|jtj d dd|jtj d dd|jtj d dd|jt tj ddd|jtj ddd|jt tj ddd|jt tj ddd|jtj ddd|jt tj ddd|jtj ddd|jt tj ddd|jtj ddd|jtj ddd|jtj ddd|jt tj ddd|jt tj ddd|jtj ddd|jt tj ddd|jt ttjd|jy)Nz 123(?<=a\d+)a123r:rb123z 123(?CCEvN ov>E ov>E ov>CCEvN ekk/5ABDI _e?    rc:tjdk\r(|jtjddddn'|jtjdddd|jtjddddtjdk\r(|jtjdddd n'|jtjdddd |jtjdddd tjdk\r(|jtjddd d n'|jtjddd d |jtjddd d y)Nrz (?V0)(x)?(y)?z\2-\1r;zy-x-zy-xz (?V1)(x)?(y)?r%z-x-z-xr&zy--zy-rrCs rtest_unmatched_in_subz RegexTests.test_unmatched_in_subsD   y (   UYY'74H    UYY'74H  #3XtDfM   y (   UYY'73G O   UYY'73G N #3XsCUK   y (   UYY'73G O   UYY'73G N #3XsCUKrcbtjd}tjdk\r$|j |j dddn#|j |j ddd|j |j dDcgc]}|jc}dd gtjd }|j |j d dd|j |j dDcgc]}|jc}dd gycc}wcc}w) NzD(?mV0)(?P[ \t]+\r*$)|(?P(?<=[^\n])\Z)rc&d|jzdzSN<>rrTs rrVz+RegexTests.test_bug_10328..akk0AC0Grzfoobar )z%foobarrc&d|jzdzSrrrTs rrVz+RegexTests.test_bug_10328..rr)zfoobarr:rrzD(?mV1)(?P[ \t]+\r*$)|(?P(?<=[^\n])\Z)c&d|jzdzSrrrTs rrVz+RegexTests.test_bug_10328..sC!++,=,Cr)r-r.rrr)rrrr s rtest_bug_10328zRegexTests.test_bug_10328smmcd   y (   SXX&GF H   SXX&G4 6 S\\)-DE!'')E H mmcd "C B D S\\)-DE!'')E H  F Fs D'D,c|jtjddddg|jtjdddgd|jtjddd d g|jtjdddgd |jtjd d dddg|jtjddDcgc]}|d c}ddg|jtjdddDcgc]}|d c}gd|jtjddDcgc]}|d c}d d g|jtjdddDcgc]}|d c}gd |jtjd d dDcgc]}|j c}ddg|jtjdd dDcgc]}|j c}ddgycc}wcc}wcc}wcc}wcc}wcc}w)N..rtrrTrq)rrrrrsrrruz (.)(-)(.)rwryrxrrv)r)r-r/rr6rs rtest_overlappedzRegexTests.test_overlappeds ug6t E ug$GJ  y':T4LI y'dK " $ |WN O , . ug(FG1!A$G$ J  ug)1!A$5 7 y'(JK1!A$K ,  y')1!A$5 7 enn\ d/$%!((*%'6&H J enn=M d/$%!((*%'6&H JHK%%s$2 I- I & I! II"Ic|jtjddgd|jtjddDcgc]}|c}gdycc}w)Nrjza,b,,c,)r]rrrr)r)r-rrrs rtest_splititerzRegexTests.test_splititersM T957NO U__T9%EF!FI Fs A c|jtjddjd|jtjddjd|jtjddgd|jtjddd d g|jtjdd gd y) NrLr4r1rMr]rNrOrRrSrTrUrV)r)r-rBrAr/rCs r test_graphemezRegexTests.test_graphemes UF388:FC UI6;;=vF u $&(  x $&(6'G I u.CD - /rcd}|jtjd|gd|jtjd|gdd}|jtjd|gd|jtjd|gdd}|jtjd|gd |jtjd|gd y) Nz4The quick ("brown") fox can't jump 32.3 feet, right?r)rTherquickz ("brownz") foxrcan'trjumpr32rP3rfeet, rightrz(?V1w)\b)rrrrrr "rr)rrrcan'trrrz32.3rrrjrrrrzThe fox)rrz rrzcan't aujourd'hui l'objectif) rrrrraujourdrhuirlrobjectifr)rrrz aujourd'huirz l'objectifr)r)r-rr texts rtest_word_boundaryzRegexTests.test_word_boundarysF Z69  [$7:   Z69  [$7: . Z69  [$7:0 1rc |jtjddddg|jtjdddg|jtjddddg|jtjd dddg|jtjd dddg|jtjd dddg|jtjd d j d |jtjd d d|jtjd dd|jtjdd j d |jtjdd d|jtjddd|jtjdd j d |jtjddj d |jtjddd|jtjdd j d |jtjddj d |jtjddj d |jtjdd j d |jtjdd j d|jtjddd|jtjdd j d |jtjdd j d|jtjddj d|jtjdd j d |jtjddj d |jtjddd|jtjdd j d |jtjddj d |jtjddj d y)Nz.+zLine 1 Line 2 zLine 1zLine 2zLine 1 Line 2 zLine 1 Line 2 zLine 1 zLine 2 z(?w).+^abcrrz abcz abcz(?w)^abcabc$zabc zabc z(?w)abc$(?m)^abcr:z (?mw)^abc(?m)abc$z (?mw)abc$)r)r-r/r@rrCs rtest_line_boundaryzRegexTests.test_line_boundary s u.@AH D  u.@A    u.DE z " $ y2DE X   y2DE X   y2HI X   gu5;;=qA gw7> gw7> k59??A1E k7;TB k7;TB gu5;;=qA gw7==?C gw7> k59??A1E k7;AACQG k7;AACQG k59??A1E k7;AACQG k7;TB lE:@@BAF lG<BBDaH lG<BBDaH k59??A1E k7;AACQG k7;TB lE:@@BAF lG<BBDaH lG<BBDaHrcp |jtjddjd|jtjddjd|jtjddjd|jtjddjd|jtjddjd |jtjdd jd |jtjd djd |jtjd d jd |jtjd djd|jtjddjd|jtjddjd|jtjddjd|jtjddjd|jtjddjd|jtjddjd|jtjddjd|jtjddjd|jtjddjd|jtjddjd|jtjddjd|jtjddj dgdgd|jtjddjd|jtjddj d d!ggdy)"Nz(?:(a)|(b))(c)rrrrz(?:(?a)|(?b))(?c)z!(?a)(?:(?b)|(?c))(?d)r)r]rNracd)r]Nrrz(a)(?:(b)|(c))(d)z(a)(?|(b)|(b))(d))r]rrz(?|(?a)|(?b))(c)z(?|(?a)|(?b))(c))r]r)rrz$(?|(?a)(?b)|(?c)(?d))(e)abe)r]rrPr)rrrPz (?|(?a)(?b)|(?c)(d))(e)z(?|(?a)(?b)|(c)(d))(e))rrrPz (?|(?a)(?b)|(c)(?d))(e)r]r)r]r)rNrPrr)r)r-rBr6 capturesdictrCs rtest_branch_resetzRegexTests.test_branch_resetJs %6=DDFI  %6=DDFI  %B * , %B * , %I 0 2 %I 0 2 %95AHHJ  ! %95AHHJ  ! %95AHHJ   %>ELLN   %>ELLN   %>ELLN   %>ELLN   %L ? , %L ? , %H ? , %H ? , %D ? , %D ? , %H ? , %H uC5!9 ; %H + - %H Sz!; =rc J|jtjddjd|jtjddjd|jtjddjd|jtjddjd|jtjdd d d |jtj d d dg|jtj dddg|jtj ddddg|jtj ddddg|jtj ddddg|jtj ddddg|jtj ddgd|jtj ddgd|jtj d d dg|jtj dd dg|jtj dd dg|jtj dd dg|jd j tj d!d"d#|jd j tj d$d"d%|jd j tj d&d'd(|jd j tj d)d*d+|jd j tj d,d*d+|jd j tj d-d.d*d j d/td0D}|jttj d1|d2|jttj d3|d4|jttj d5|d6|jttj d7|d8|jttj d9|d8|jttj d:|d6|jttj d;|d<|jttj d=|d>|jttj d?|d@|jttj dA|dB|jttj dC|dB|jttj dD|dE|jttj dF|dG|jttj dH|dG|jtttjdI|j|jtj dJdKddLg|jtj dMdKddLg|jtj dNdKddLg|jtj dOdKddLgy)PNz[a]r]r1z(?i)[a]rhz[a-b]z (?i)[a-b]z (?V0)([][])rza[b]crwz [\p{Alpha}]a0z(?i)[\p{Alpha}]A0z [a\p{Alpha}]ab0rz [a\P{Alpha}]rz(?i)[a\p{Alpha}]z(?i)[a\P{Alpha}]z[a-b\p{Alpha}]abC0)r]rCz(?i)[a-b\p{Alpha}]AbC0)rhrrz [\P{Alpha}]z [^\p{Alpha}]z [^\P{Alpha}]rz[^\d-h]za^b12c-hza^bcz[^\dh]za^bc-z [^h\s\db]z a^b 12c-hza^c-z[^b\w]rQrz[^b\S]z[^8\d]za 1b2c32K|]}t|ywrrl.0rs r z&RegexTests.test_set..s9qCF9ryz \p{ASCII}rz \p{Letter}uz \p{Digit}r`z(?V1)[\p{ASCII}&&\p{Letter}]4z'(?V1)[\p{ASCII}&&\p{Alnum}&&\p{Letter}]z&(?V1)[\p{ASCII}&&\p{Alnum}&&\p{Digit}]z(?V1)[\p{ASCII}&&\p{Cc}]!z(?V1)[\p{ASCII}&&\p{Graph}]^z(?V1)[\p{ASCII}--\p{Cc}]_z[\p{Letter}\p{Digit}]rz(?V1)[\p{Letter}||\p{Digit}]z \p{HexDigit}z(?V1)[\p{HexDigit}~~\p{Digit}]rcz(?V1)[\p{Digit}~~\p{HexDigit}]z (?V0)([][-])z(?V1)[[a-z]--[aei]]rrz(?iV1)[[a-z]--[aei]]z (?V1)[\w--a]z (?iV1)[\w--a]) r)r-rBrArkr/rHr|lenrr"r.r)r all_charss rtest_setzRegexTests.test_sets VS1668&A Z5::4A7K ~tc K >c K ':EBS E  ':EBS E  '8&AD  'F I  u=SzJ '7>c Krc Kgdddtj|jfdddtj|jfdddtj|jfdddtj|jfdddtj|jfddd t d fd ddtj|jfd ddtj|jfd ddtj|jfdddtj|j fdd d t d fddd t d fdddt dfddd t d fdddt dfdddtj|j fdd d t d fddd t d fdd dtj|jfddtddzdt tddzfdd dt d fddd t d!fd"d#dt d#fd$d#dt d#fd%d#dt d#fd&d#dt dfd'd(dt d(fd)d(dt d(fd*d+dt td,fd-d+dt dfd.d/dt dfd0d1dt dfd2d+dt dfd3d4dt d4fd5d4dt d4fd6d7dt td8td9ztd:ztd;ztd<ztd=zfd>d?dt d?fd@dAdt dBfdCdDdt dDfdCdEdt dfdFdGdt dfdHdGdt dfdCdIdt dIfdJdEdt dfdKdEdt dEfdLdGdt dfdMdGdt dGfdNdGdt dGfdOddtj|jfdPdQdQdt dQfdQdRdt dfdQdSdt dfdQdTdt dfdQdUdt dQfdQdVdt dQfdWdQdt dQfdXdQdt dQfdXdYdt dYfdXdZdt dZfd[dYdt dYfd[dQdt dfd[d\dt dfd[dZdt dZfd]dYdt dYfd]dQdt dQfd]dZdt dfd^dQdt dQfd_dQdt dQfd_d`dt dfdad`dt dQfd_dbdt dfdcdbdt dQfdddQdt dfdedQdt dfdfdQdt dQfdfdSdt dSfdgdhdt dhfdgdidt dfdjdQdt dfdjdkdt dkfdldkdt dfdldmdt dmfdndodt dpfdqdrdt drfdsdrdt drfdtdrdt drfdudvdtj|jfdwdvdtj|jfdxdvdtj|jfdydvdtj|jfdzdvdtj|jfd{d{dt d{fd|d}dt d}fd|d}dt d}fd~ddt dfd~dkdt dfdddt dfdddt dfdddt dfdddt dfddrdt d fdddt d fdddt d fdddt dfdddt dfdddt dfdddt dfdddt dfdddt dfdddt dfdddt dfddrdt dfdddt dfdddt dfdddt dfdddt dfdddt dfdddt dfdddt dfddQdt dfdddt dfdddt dfdddt dfdddt dfdddt dfdddt dfdddt dfddQdt dfddQdt dfdddt dQfdddt dfdddt dfdddt dfddvdtj|jfdddt dfdQddt dfdddt dfdddt dfdddt dfdddt dfdddt dfdddt d fdddt dīfdddt dƫfdddt dfdddt dfdddt d˫fddQdt dͫfddQdt dϫfdddt dѫfdddt dѫfdddt dԫfdddt d֫fdddt dfddQdt d٫fdddt dܫfdddt dޫfdddt dfdddt dfdddt dfdddt dfdddt dfdddt dfdd dt d fdddt dfdddt dfdddt dfdddt dfdddt dfddpdt dpfddd t dQfddd t dQfddd t dfdddt dfdddt dfdddt dfdddt dfdddt dfdddt dfdddt dfdd dt d fd d dt d fd d dt dfdd dt dfdd dt dfdddt dfdddt dfdddt dfdddt dfdddt dfdddt d fd!d"dt d#fd!d$dt d%fd&d'dt d(fd&dQdt dfd)d'dt d*fd+dodt d,fd-ddtj|jfd.dd/t d0fd1dd/t d2fd3ddtj|j fd4d5dt d5fd6d5dtj|jfd7d8dt d8fd7d8dt d9fd:d;dt d;fddt d>fd?d dt d fd@dAdt dAfdBd>dt d>fdQdQdt dQfdQdRdt dfdQdSdt dfdQdTdt dfdQdUdt dQfdQdVdt dQfdWdQdt dQfdXdQdt dQfdXdYdt dYfdXdZdt dZfdCdZdt dZfd[dYdt dYfd[dQdt dfd[d\dt dfdDd\dt dfd[dZdt dZfdDdZdt dZfdEdZdt dZfdFdZdt dZfdGdZdt dfd]dYdt dYfd]dQdt dQfdHdQdt dQfd]dZdt dfd^dQdt dQfdIdQdt dQfd_dQdt dQfd_d`dt dfdad`dt dQfd_dbdt dfdcdbdt dQfdddQdt dfdedQdt dfdfdQdt dQfdfdSdt dSfdgdhdt dhfdgdidt dfdjdQdt dfdjdkdt dkfdldkdt dfdldmdt dmfdndodt dpfdqdrdt drfdtdrdt drfdJdvdtj|jfdudvdtj|jfdwdvdtj|jfd{d{dt d{fd|d}dt d}fd~ddt dfd~dkdt dfdddt dfdddt dfdddt dfdddt dfddQdt dfdddt dfdddt dfdKdvdtj|jfdLdvdtj|jfdddt dfdxdvdtj|jfdddt dfdddt dfdddt dfdddt dfdydvdtj|jfdzdvdtj|jfddQdt dfddQdt dfdddt dQfdMddt dQfdNdvdtj|jfdOddt dQfdddt dfdPddt dfdddt dfdQddt dfdddt dfdRddt dfddvdtj|jfdddt dfdQddt dfdddt dfdSdTdt dUfdVddt dWfdddt dfdddt dfdddt dfdddt dfdddt d fdddt dīfdddt dƫfdddt dfdddt dfdddt d˫fddQdt dͫfddQdt dϫfdddt dѫfdddt dѫfdddt dԫfdddt d֫fdddt dfddQdt d٫fdddt dܫfdddt dޫfdddt dfdddt dfdddt dfdddt dfdddt dfdddt dfdXd dYt d fdZddt dfd[ddtj|jfd\ddtj|jfdd dt d fdddt dfdddt dfdddt dfdddt dfdddt dfddpdt dpfddd t dQfddd t dQfd]d^dt d^fd]d_dt dfd]d`dt dfd]dadt dfd]dbdt d^fd]dcdt d^fddd^dt d^fded^dt d^fdedfdt dffdgdhdt dhfdidhdt dhfdjdfdt dffdkd^dt dfdkdldt dfdmdldt dfdkdhdt dhfdndhdt dhfdodhdt dhfdpdhdt dhfdqdhdt dfdrdfdt dffdrd^dt d^fdsd^dt d^fdrdhdt dfdtd^dt d^fdud^dt d^fdvd^dt d^fdvdwdt dfdxdwdt d^fdvdydt dfdzdydt d^fd{d^dt dfd|d^dt dfd}d^dt d^fd}d`dt d`fd~ddt dfdddt dfdd^dt dfdddt dfdddt dfdddt dfdddt dfdddt dfdddt dfddvdtj|jfddvdtj|jfddvdtj|jfdddt dfdddt dfdddt dfdddt dfdddt dfdddt dfdddt dfdddt dfdd^dt dfdddt dfdddt dfddvdtj|jfddvdtj|jfdddt dfddvdtj|jfdddt dfdddt dfdddt dfdddt dfddvdtj|jfddvdtj|jfdd^dt dfdd^dt dfdddt d^fdddt d^fddvdtj|jfdddt d^fd~ddt d^fdddt d^fdddt dfdddt dfdddt dfdddt dfdddt dfdddt dfdddt dfddvdtj|jfdÐddt dīfd]ddt dfdddt dfdƐddt dȫfdɐddt dʫfdːddt d̫fd͐ddt dϫfdАddt dѫfdҐddt dfdҐddt dfdՐddt d׫fdؐddt d٫fdڐddt dfdېddt dfdݐddt dޫfdߐd^dt dfdd^dt dfdddt dfdddt dfdddt dfdddt dfdddt dfdd^dt dfdddt dfdddt dfdddt dfdddt dfdddt dfdddt dfdddt dfdddt dfdddYt dfdddt dfdddt dfddd t dfddd t dfdddt dfdddt dfdddt d fd d dt d fd ddt dfdddt dfddd t d^fddd t d^fdddt dfdddt dfdddt dfddmd t dfddmd t dfddmd t dfddmdt dfddd t dfdd d t d!fd"d#d t d$fd%d&dtj|jfd'd(dt d(fd)d*dt dfd)d&dt d&fd+d*dt d*fd,d(dt d(fdad-dt dfd.d-dt dQfd/d0dt dQfdCdEdt dfdKdEdt dEfd1d2dt d3fd4d2dt d3fd5d6dt dQfd7d6dt dQfd8d9dt d9fd:d;dd;da)z(?Pa)z (?Pa)z(?Pa)(?P=foo_123rz(?Pa)(?P=1)1r]z(?Pa)(?P=0)z(?Pa)(?P=-1)z(?Pa)(?P=!)z(?Pa)(?P=foo_124)z(?Pa)z(?Pa)(?P=foo_123)z(?a)\ga)\g<1>z(?a)\gz(?a)\gz (?a)z(?a)\gr)[\1]rrz'\x01'rr9rz\141z((a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)\119abcdefghijklk9z0,11)rkrrz[\0a]z[a\0]z[^a\0]z\a[\b]\f\n\r\t\vz z[\a][\b][\f][\n][\r][\t][\v]z\xffrrz\x00ffffffffffffffz\x00fz\x00feþz\x00ffz\t\n\v\r\f\a\gz gz \gz \t\n\v\r\f\ar^r_r`rarbrcrdz[\t][\n][\v][\r][\f][\b]z z^\w+=(\\[\000-\277]|[^\n\\])*z(SRC=eval.c g.c blah blah blah \\ apes.cz SRC=eval.c g.c blah blah blah \\rKacbrLrMzacc ccbza.{4,5}bza bza.b(?s)z(?s)a.bza.*(?s)bz(?s)a.*bz (?s)a.{4,5}br)rrrz''rxbcaxcabxxabcyababczab*czab*bcabbcabbbbczab+bcabqzab?bczab?cr@abccraabcr^rza.cza.*caxyzcaxyzdza[bc]drza[b-d]eaceza[b-d]aacrza[-b]a-za[\-b]za[b-]za[]brza[za\zabc)z(abcza]za[]]bza]bza[^bc]daedza[^-b]cadcza-cza[^]b]cza]cz\ba\b-az-a-z\by\br;yzrzx\bzx\Br%z\Bzrzz\Bz\Bxz\Ba\Bz\By\Bz\By\br&z\by\Bzab|cdrrz()efdefz0,1)rrz$brza\(ba(b)r za\(*bza((bza\\bza\brz0,1,2)r]r]r]z(a)b(c))rr]rza+b+caabbabcz(a+|b)*)rrz(a+|b)+z(a+|b)?rz)(z[^ab]*rr4z a|b|c|d|erPz (a|b|c|d|e)fr)rrPzabcd*efgabcdefgzab* xabyabbbzxayabbbzz(ab|cd)ert)rrz [abhgefdc]ijhijz ^(ab|cd)ez(abc|)efr-z(a|b)c*d)bcdrz (ab|ab*)bc)rr]z a([bc]*)c*)rrz a([bc]*)(c*d))rrrz a([bc]+)(c*d)z a([bc]*)(c+d))rrrz a[bcd]*dcdcdeadcdcdez a[bcd]+dcdcdez (ab|a)b*c)rrz ((a)(b)c)(d)z1,2,3,4)rr]rrz[a-zA-Z_][a-zA-Z0-9_]*alphaz^a(bc+|b[eh])g|.h$abh)bhNz(bc+d$|ef*g.|h?i(j|k))effgz)rrNij)rrjeffgbcddreffgzz(((((((((a)))))))))zmultiple words of textzuh-uhzmultiple wordszmultiple words, yeahz (.*)c(.*))rtrrz\((.*), (.*)\)z(a, b)z2,1)rr]z[k]za[-]?cz(abc)\1rz ([a-c]*)\1z^(.+)?BABrhz(a+).\1$r)rrz ^(a+).\1$aaaa)rrz ([a-c]+)\1z(a)\1)rr]z(a+)\1z(a+)+\1z(a).+\1r)rr]z(a)ba*\1z (aa|a)a\1$r<)r<r]z (a|aa)a\1$z(a+)a\1$z ([abc]*)\1z (a)(b)c|ab)rNNz(a)+xaaax)rr]z([ac])+xaacx)rrz([^/]*/)*sub1/zd:msgs/tdir/sub1/trial/away.cpp)zd:msgs/tdir/sub1/ztdir/z([^.]*)\.([^:]*):[T ]+(.*)track1.title:TBlah blah blahz0,1,2,3)r track1titlezBlah blah blahz ([^N]*N)+abNNxyzN)r#xyzNabNNxyz)abNNNz ([abc]*)xabcx)r(rz ([xyz]*)x)r%rz (a)+b|aac)rNz (?Paaa)az (?Paaa)az0,id)rr<z(?Paa)(?P=id))rrz(?Paa)(?P=xd)rgz\g<1>z(.)\g<1>gg)r*r)z\Nr'\N{LATIN SMALL LETTER A}z\prrKz\PPz\P{Lu}zab{0,}bczab{1,}bcz ab{1,3}bcz ab{3,4}bcz ab{4,5}bcz ab{0,1}bczab{0,1}cza[b-a]z*az(*)bz a{1,}b{1,}cza**za.+?cz (a+|b){0,}z (a+|b){1,}z (a+|b){0,1}z ([abc])*dabbbcd)r-rz ([abc])*bcd)rr]z((((((((((a))))))))))10z((((((((((a))))))))))\10z((((((((((a))))))))))\41z(?i)((((((((((a))))))))))\41z(?i)abcrWXBCAXCABXXABCYABABCz(?i)ab*cz (?i)ab*bcABBCz (?i)ab*?bcABBBBCz (?i)ab{0,}?bcz (?i)ab+?bcz (?i)ab+bcABQz (?i)ab{1,}bcz (?i)ab{1,}?bcz(?i)ab{1,3}?bcz(?i)ab{3,4}?bcz(?i)ab{4,5}?bcz (?i)ab??bcz(?i)ab{0,1}?bcz (?i)ab??cz (?i)ab{0,1}?cz (?i)^abc$ABCCz(?i)^abcAABCz(?i)abc$z(?i)^z(?i)$z(?i)a.cz (?i)a.*?cAXYZCz(?i)a.*cAXYZDz (?i)a[bc]dABDz (?i)a[b-d]eACEz (?i)a[b-d]AACACz (?i)a[-b]zA-z (?i)a[b-]z (?i)a[b-a]z(?i)a[]bz(?i)a[z(?i)a]zA]z (?i)a[]]bzA]Bz (?i)a[^bc]dAEDz (?i)a[^-b]cADCzA-Cz (?i)a[^]b]czA]Cz (?i)ab|cdABCDz(?i)()efDEF)EFrz(?i)*az(?i)(*)bz(?i)$brz(?i)a\z(?i)a\(bA(B)rDz (?i)a\(*bzA((Bz(?i)a\\bzA\Bz(?i)abc)z(?i)(abcz (?i)((a)))rhrhrhz (?i)(a)b(c))rWrhrz (?i)a+b+cAABBABCz(?i)a{1,}b{1,}cz(?i)a**z (?i)a.+?cABCABCz (?i)a.{0,5}?cz (?i)(a+|b)*)rrz(?i)(a+|b){0,}z (?i)(a+|b)+z(?i)(a+|b){1,}z (?i)(a+|b)?)rhrhz(?i)(a+|b){0,1}z(?i)(a+|b){0,1}?rNz(?i))(z (?i)[^ab]*CDEz(?i)a*z (?i)([abc])*dABBBCD)rIrz(?i)([abc])*bcd)rArhz (?i)a|b|c|d|eEz(?i)(a|b|c|d|e)frC)rCrJz (?i)abcd*efgABCDEFGz(?i)ab* XABYABBBZXAYABBBZz (?i)(ab|cd)eABCDE)rHCDz(?i)[abhgefdc]ijHIJz (?i)^(ab|cd)ez (?i)(abc|)efrz (?i)(a|b)c*d)BCDrz(?i)(ab|ab*)bc)rWrhz(?i)a([bc]*)c*)rWBCz(?i)a([bc]*)(c*d))rArRDz(?i)a([bc]+)(c*d)z(?i)a([bc]*)(c+d))rArrOz(?i)a[bcd]*dcdcdeADCDCDEz(?i)a[bcd]+dcdcdez (?i)(ab|a)b*c)rWrz(?i)((a)(b)c)(d))rWrhrrSz(?i)[a-zA-Z_][a-zA-Z0-9_]*ALPHAz(?i)^a(bc+|b[eh])g|.h$ABH)BHNz(?i)(bc+d$|ef*g.|h?i(j|k))EFFGZ)rXrXNIJ)rYrYJEFFGBCDDREFFGZz(?i)((((((((((a))))))))))z(?i)((((((((((a))))))))))\10AAz(?i)(((((((((a)))))))))z+(?i)(?:(?:(?:(?:(?:(?:(?:(?:(?:(a))))))))))z/(?i)(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))rz(?i)multiple words of textzUH-UHz(?i)multiple wordszMULTIPLE WORDS, YEAHzMULTIPLE WORDSz (?i)(.*)c(.*))rNrDEz(?i)\((.*), (.*)\)z(A, B))rrhz(?i)[k]z (?i)a[-]?cz (?i)(abc)\1z(?i)([a-c]*)\1za(?!b).abadrza(?=d).z a(?=c|d).z a(?:b|c|d)(.)za(?:b|c|d)*(.)za(?:b|c|d)+?(.)za(?:b|(c|e){1,2}?|d)+?(.)z1,2)rrPz(?]*?bza>bz^a*?$z ^((a)c)?(ab)$)NNrz^([ab]*?)(?=(b)?)c)rNz^([ab]*?)(?!(b))cz^([ab]*?)(? UNKNOWN_GROUPrrlTRAILING_CHARSr BAD_ESCAPEBAD_CHAR_RANGENOTHING_TO_REPEATMULTIPLE_REPEAT OPEN_GROUPrrappendrFr~subTestr}r@rr)rHr0r=)r rcrexcvalryr:r6re group_listrrUr#ffieldss r test_variouszRegexTests.test_variouss9y  BEKK Ay  Rd.A.A By  Rd.A.A B y  BEKK1D1D E y  )$EKK!! #y  $T3c ;y  $T2u{{!! #y  %dB !! #y  $T2u{{!! #y  "*4U[[   "#y  (sCs 4)y  **4eCj A+y  0(r5; ?1y  2#D#uSz :3y  4#D"eDk :5y  6)$EKK   "7y  <c3c 3=y  >)$U3Z @?y  DCU[[$*@*@ AEy  F ,Gy  HSVc\3c!fsl(; $% 'ey  hfc5S? 3iy  n#FBd 2gy  jWb%+ .ky  lub%+ .my  nuc5< 0oy  pr5; /qy  rsE%L 1sy  tuc5; /uy  vdCt -wy  xc5; /yy  zdCt -{y  |S"ekk4<< 8}y  @3EKK 6Ay  BCU[[$// :Cy  DS"ekk4+>+> ?Ey  FS"ekk4+>+> ?Gy  H4eDk *Iy  JeS%, /Ky  LeS%, /My  NsE%L 1Oy  Pr5; /Qy  RsE%L 1Sy  Vr5; /Wy  Xr5; /Yy  ZsE%L 1[y  \c5: .]y  ^c5: ._y  `sE#J /ay  bb%+ .cy  db%+ .ey  fr5; /gy  hUBd ,iy  lUCs ,my  nUCs ,oy  pUBd ,qy  rUBd ,sy  tb%+ .uy  vb%+ .wy  xr5; /yy  zb%+ .{y  |b%+ .}y  ~c5: .y  Bc5: .Cy  DsE#J /Ey  FeS%+ .Gy  Hfc5; /Iy  JUE5#4 5Ky  L3E$K (My  NeRx 1Oy  PtS%+ .Qy  RvsE&M 2Sy  TvsE&M 2Uy  XeWeO&< =Yy  Zw.?(@ A[y  \ieEl 3]y  ^eU;%7 8_y  `eU;%7 8ay  beU:%6 7cy  d3EKK)<)< =ey  fuc5< 0gy  hBE$K (iy  j2sE"I &ky  n#sE#J /oy  pT5% *< =qy  rCy)9 :sy  tKeDk 2uy  vJU3Z 0wy  x%})= >yy  zUCu 6{y  |'2uT{ 3}y  ~5% *; <y  @l(; Gy  Hfgu5H/I JIy  Jfgu5H/I JKy  Lfgu5H/I JMy  NieI.> ?Oy  PiU4[ 9Qy  R%m(< =Sy  TVY6L0M NUy  V&wU7^ DWy  Z"5%|1D E[y  \&w@: ]y  `&tWe=7 ay  d&vr5; ?ey  f&vr5; ?gy  h&x%A; iy  l#CeCj 9my  n&wE$K @oy  p5s$% 'qy  t'7E2G,H Iuy  x 5% 2C Dyy  zD"eDk *{y  |tS%+ .}y  ~3e 5y  @Hc5< 8Ay  Bc5: .Cy  D'5%*@ AEy  F62uT{ 3Gy  H5%0A*B CIy  JHeU3D-E FKy  NtUE+$6 7Oy  PeU;%7 8Qy  RueK&8 9Sy  Tu\': ;Uy  V%l(; Yy  ZE5% *= >[y  \%l(; <]y  ^HeU3D-E F_y  `4%0B*C Day  dfeU=%9 :ey  fm(< =gy  h@%23 5iy  l+,J )* +my  r*eU3G-H Isy  t)UE-,@ Auy  v&%)? @wy  x%U4[ 1yy  z&%y)9 :{y  |%m(< =}y  Bfb%++t7J7J KCy  DVVU?-C DEy  F!&&%2G HGy  H!&"ekk4;M;M NIy  NCeCj )Oy  PsB T-C-C DQy  R$U4[ 1Sy  T$E+$6 7Uy  VCeCj )Wy  X)#sE#J ?Yy  ZCeCj )[y  \S%* -]y  ^CeCj )_y  `S%* -ay  fE3e -gy  hE2uT{ +iy  jE2uT{ +ky  lE2uT{ +my  nGS%, /oy  pGS%, /qy  tUCu .uy  veS%, /wy  xfc5= 1yy  zhU8_ 5{y  |3h 8}y  ~fc5= 1y  @ eRt -A y  B eRt -C y  D E$K 0E y  F hU8_ 5G y  J 3h 8K y  L (Cx 9M y  N (Cx 9O y  P (Bd 4Q y  R fc5= 1S y  T eS%, /U y  V %eEl 3W y  X hE$K 0Y y  Z UCu .[ y  \ U5\ 2] y  ` eS%, /a y  b fb%+ .c y  d VS%, /e y  f fb%+ .g y  h VS%, /i y  j %eBi (k y  l %eBi (m y  n E3e -o y  p E3e -q y  r Wc5> 2s y  v Wb%+ .w y  x ub%+ .y y  z uc5< 0{ y  | r5; /} y  ~ sE%L 1 y  @ uc5; /A y  B dCt -C y  D dCt -E y  F sB T-@-@ AG y  H S"ekk4<< 8I y  L 3EKK 6M y  N 4eDk *O y  P eS%, /Q y  R sE%L 1S y  T r5; /U y  V sE%L 1W y  X r5; /Y y  Z r5; /[ y  \ sE%L 1] y  ^ eS%+ ._ y  b fc5; /c y  d UE5#4 5e y  f 3EKK)?)? @g y  h S"ekk4+A+A Bi y  j 3E$K (k y  l CU[[$// :m y  n eRx 1o y  p tS%+ .q y  r vsE&M 2s y  t vsE&M 2u y  x S"ekk4+>+> ?y y  z S"ekk4+>+> ?{ y  | eWeO&< =} y  ~ w.?(@ A y  @ ieEl 3A y  B IsE%L 9C y  D CU[[$*>*> ?E y  F hU5\ 2G y  H eU;%7 8I y  J 4k(: ;K y  N eU;%7 8O y  P 4k(: ;Q y  R eU:%6 7S y  T D%z): ;U y  V 3EKK)<)< =W y  X uc5< 0Y y  Z BE$K ([ y  \ 2sE"I &] y  ^ (E5+A B_ y  ` FE5+? @a y  d #sE#J /e y  f T5% *< =g y  h Cy)9 :i y  j KeDk 2k y  l JU3Z 0m y  n %})= >o y  p UCu 6q y  r '2uT{ 3s y  t 5% *; } y  ~ fgu5H/I J y  @ fgu5H/I JA y  B fgu5H/I JC y  D ieI.> ?E y  F iU4[ 9G y  H %m(< =I y  J VY6L0M NK y  L &wU7^ DM y  P "5%|1D EQ y  R &w@: S y  V &tWe=7 W y  Z &vr5; ?[ y  \ &vr5; ?] y  ^ &x%A; _ y  b %c4s s y  t xeHo >u y  v xU4[ 9w y  x 63f 6y y  | 5#uU| 4} y  ~ uc5< 8 y  @8Rt 5Ay  B%eEl 3Cy  DeS%, 7Ey  F%eEl 3Gy  H&"eDk 2Iy  JeEl 3Ky  L&"eDk 2My  NeEl 3Oy  ReS%) ,Sy  TeS%) ,Uy  VsE%L 1Wy  XsE%L 1Yy  Z'3g 7[y  \"eDk 2]y  ^5"eDk 2_y  `5#uU| 4ay  bE2uT{ 3cy  dE3e 5ey  h5#uT{ 3iy  j$U4[ 1ky  l$U4[ 1my  n3EKK1D1D Eoy  pb%++t|| Uy  V%U8_ 5Wy  X4eDk 2Yy  Z63f 6[y  \63f 6]y  ^b%++t/B/B C_y  `b%++t/B/B Cay  b%%*@ Acy  dE7E2C,D Eey  f)S%, 7gy  j 3e =ky  lRd.B.B Cmy  n(Cu 6oy  p(Cu 6qy  rhU5\ :sy  tD%{); ?wy  xD%{); ?{y  |D%z): ;}y  @eU:-> ?Ay  B ueJ.? @Cy  DsB T-@-@ AEy  F5#uU| 4Gy  HBd ,Iy  Jr3b *Ky  Lhu_/E FMy  Nu]/C DOy  Pc3c 3Qy  R ueK.@ ASy  VYU9-= >Wy  X S%+ 6Yy  Z Cs 4[y  \WeU=-A B]y  ^ U5\ :_y  `gr5; 7ay  bXueJ.? @cy  dVUE,,? @ey  fueU<-@ Agy  hueU=-A Biy  l!&'59L3M Nmy  n!&'59L3M Noy  p!&'59L3M Nqy  r!)S% 2B Csy  t!)Rt =uy  veUE-,@ Awy  x E;5 yy  |*7Cw H}y  ~&ueU<5H Iy  @*7GUD> Ay  F*4%A; Gy  J*62uT{ CKy  L*62uT{ CMy  N*8WeE? Oy  R)#tU3Z @Sy  T-dCt EUy  Z'S%* =[y  \;CCj ]y  `?SCj ay  d*7Bd Dey  h"#93 # $ &iy  lgw6K0L Mmy  n$XueJ6G Hoy  pb%+ .qy  v4eDk 2wy  xXsE%L 9yy  z#uU| <{y  |U4[ 1}y  ~U4[ 1y  @&#uT{ 3Ay  DeS%* 5Ey  Fuc5: 6Gy  HsE#J 7Iy  J)%j8I JKy  P#L#uX GQy  T)-eI>N OUy  X' c5? KYy  `S"ekk43F3F Gay  b0eFm Lcy  pc3d ,qy  rc3c +sy  tc3c +uy  z c5= "{y  F E$K Gy  L U5\ My  T U5\ Uy  ^FBd ,_y  `U6] 3ay  f_c5+= >gy  hU;-? @iy  j]Cu 6ky  l}c5< 8my  nXsE(O iy  l c5+> ?my  p%eEl 3qy  r 3h @sy  t Cy1A Buy  x#9c59 =yy  |sE%L 1}y  ~sE%L 1y  @%eEl 3Ay  B%eEl 3Cy  L!'3g ?My  P*Bd E!H#>#>%#HI AHHPQ RsPP0BUQ)BT*R$BU T*BUUBUU BU UBV=U4BV V3BV=V<BV=c|jtjdddd|jtjdddd|jtjdtjddd|jtjdddd|jtjdd ddy) Nztest\?z result\?\. ztest?r\1\1r%rZz\\1\\1cy)NrrSrTs rrVz-RegexTests.test_replacement.. rWr)r)r-rkr{rCs rtest_replacementzRegexTests.test_replacement s 9.@'J   5'37> 5%,,w*?EwO 5)S97C 5*;SA7Krc tjtjztjz}|dz}d|zdz|zdz}|j t t tj||jy)Nrr rr) r:ascii_lowercasedigitsascii_uppercaser)rr"r-r.r)r allsideregexps rtest_common_prefixzRegexTests.test_common_prefix sk$$v}}4v7M7MMQwtc!D(3. d5==#89:D(.){0,2})drr(.)+r])r)r-r@capturesrBrCs r test_captureszRegexTests.test_captures s h6??BE  k8<EEaK :u~ & ( &F !!Q5)5F)G I %G !!)!Q2J (2* + %@ "(1a+tf6N &.  ot<EEaH %  &96BKKAN *  gs3<)r pairsrmatchingpairrmrnrUs r test_turkiczRegexTests.test_turkic s4'E 5KK$ %Dzz#HC   c3Z ( LL#s $ LL#s $ LL#s $ LL#s $  % 'C 'KK C% 7=Sz1 "2"9"9%**#&'SzX- "6"="=eCj*#&' ' 'rc .gd}|jtjdd|jd|jtjdd|jd|jtjdd|dgd}|jtjd d |jd |jtjd d |jd |jtjd d |d|jt t tj dgd|j|jtjddtgdg|jtjddtgddgdg}|jtjdd|jdddg}|jtjdd|jddg}|jtjdd|jddg}|jtjdd|jd |jtjdd!|jd |jtjd"d#jd$|jtjd"d%jd$|jtjd&d'gjd(y))N)onetwothreez 333\L444 333one444)rz(?i)333\L444 333TWO444 333four444)sonestwosthrees 333\L444s 333one444s(?i)333\L444s 333TWO444s 333four444z3\L4\L+5z ^\Lz solid QWERT)good brilliantz +s\ol[i}drgz +solid QWERT)rr+solidrSTRASSE(?fi)\Lustraßewordsristressrrdkitz (?i)\LSKITSruSKİTSz(?fi)\b(\w+) +\1\bu straße STRASSE )r:ru STRASSE straße z ^\L$rr6) r)r-rBrrr"r.rr/r^rAr@)r rhs rtest_named_listszRegexTests.test_named_lists s) %5{uw  - %9;uw  - %5| - %6 uw  . %:Luw  . %6   d5==1F%$'()*.*<*< >  9:<=? A 568:B E+ %6 /w@@DI  h' %6 /w@@DI  99 %6  )' &6 ) &6 9 ) &; 9;;?467 L &; 9;;?467 L &6BGLLN  rc  |jtttjd|j |jtttjd|j |jtttjd|j |jtttjd|j |jtttjd|j |jtttjd|j d}|jtj d|d|jtj d |jd d d |jtj d |d|jtj d|d d|jtj d|d dd}|jtj d|jd d d|jtj d|jd d d|jtj d|jd d d|jtj d|jd d d|jtj d|jd d d|jtj d|jd d d|jtttjd|j |jtj ddjd d d|jtj ddjd d d |jtj d!djd d d"|jtj d#d$jd d d%|jtj d#d&d|jtj d'd(jd d d)|jtj d*d+jd d d,|jtj d*d-jd d d|jtj d.d-jd d d/|jtj d0d1jd d d|jtj d0d2jd d d3|jtj d0d4jd d d3|jtj d0d5jd d d3|jtj d0d6jd d d|jtj d0d7jd d d|jtj d0d8jd d d|jtj d0d9jd d d:|jtj d0d;jd d d:|jtj d0d<jd d d:|jtj d0d=d|jtj d0d>d|jtj d0d?d|jtj d0d@d|jtj d0dAd|jtj dBdCjd d dD|jtj dEdCjd d dF|jtj dGdHjd d dI|jtj dGdJd|jtj dGdKjd d dLdM}|jtj dN|jd d dO|jtj dP|jd d dQ|jtj dR|jd d dS|jtjdTdUdVjWdXdYg|jtjdTdZdVjWd[dXg|jtjd\dZdVjWdYdXg|jtjd]dUdVjWd^dXg|jtjd_dUdVjWdYdXg|jtjd]dZdVjWdXdYg|jtjd`dadbjWdcddg|jtjd`dedbjWdfdcg|jtjdgdedbjWdddcg|jtjdhdadbjWdidcg|jtjdjdadbjWdddcg|jtjdhdedbjWdcddg|jtj dkdljdm|jtj dndljdm|jtj dodpjdq|jtjdrdsdsdtg|jtjdudvdvdtg|jtjdwdxjdy|jtjdwdzjd{|jtjdwd|jd}|jtjdwd~d|jtjdwdjd|jtjddjd|jtjddjd|jtjddjd|jtjddjd|jtjddjd|jtj ddjgddggf|jttjdddy)Nz (fou){s,e<=1}z(fuu){s}z (fuu){s,e}z(anaconda){1i+1d<1,s<=1}z(anaconda){1i+1d<1,s<=1,e<=10}z(anaconda){s<=1,e<=1,1i+1d<1}z-molasses anaconda foo bar baz smith anderson z(znacnda){s<=1,e<=3,1i+1d<1}z(znacnda){s<=1,e<=3,1i+1d<2}rr:)r_rz(ananda){1i+1d<2}z(?:\bznacnda){e<=2}anacondaz(?:\bnacnda){e<=2}z#anaconda foo bar baz smith andersonz(fuu){i<=3,d<=3,e<=5})r6r6z(?b)(fuu){i<=3,d<=3,e<=5})r_r`rz(fuu){i<=2,d<=2,e<=5})rdr`rz(?e)(fuu){i<=2,d<=2,e<=5}z(fuu){i<=3,d<=3,e}z(?b)(fuu){i<=3,d<=3,e}z(approximate){s<=3,1i+1d<3}z (foobar){e}xirefoabralfobarxie)ririz(?e)(foobar){e})r>r>z(?b)(foobar){e})rarrz(foobar){e<=2} xirefoabrzlfd)rr_r xirefoabzlfdz(foobar){i<=2,s<=2,e<=2}oobargoobaploowap)rrarz\b(foobar){e}\bzfoobarz)rrerzboing zfoobarz goobar woopz(?b)\b(foobar){e}\b)rrrz^(foobar){e<=1}$foobarxfoobar)rrfoobarxfooxbarfoxbarxoobarfoobaxoobar)rrrfobarfoobaxfoobarxfoobarxxxxfoobarxfoxbarfoxbarxz (foobar){i<=1,d<=2,s<=3,2d+1s<4}(3oifaowefbaoraofuiebofasebfaobfaorfeoaro)r.rbrz$(?b)(foobar){i<=1,d<=2,s<=3,2d+1s<4})"'rzfoo(bar){e<=1}zap foobarzap)rr_r;r.fobarzapfoobrzap)rr;rzxwww.cnn.com 64.236.16.20 www.slashdot.org 66.35.250.150 For useful information, use www.slashdot.org this is demo data! z(?s)^.*(dot.org){e}.*$)rx)rrz(?es)^.*(dot.org){e}.*$)r)]dz^.*(dot.org){e}.*$))rw)ez\b\L{e<=1}\bz book cot dog desk zcat dogrcotdogz book dog cot desk z dogz(?e)\b\L{e<=1}\bz(?r)\b\L{e<=1}\bzdog z(?er)\b\L{e<=1}\bs\b\L{e<=1}\bs book cot dog desk scat dogscotsdogs book dog cot desk s dogs(?e)\b\L{e<=1}\bs(?r)\b\L{e<=1}\bsdog s(?er)\b\L{e<=1}\bz(\w+) (\1{e<=1})zfoo fou)rfouz(?r)(\2{e<=1}) (\w+)s(\w+) (\1{e<=1})sfoo fou)sfoosfouz(?:(?:QR)+){e}rtrz (?:Q+){e}rz(?:service detection){0     d5==#>?@     d5==1K#LMN     d5==1Q#RST     d5==1P#QRS    ? &DdK   &D Q . 0 &94@$G &EJJ1    " d5==1N#OPQ     m !!%a-= ? &7 !!%a-= ? &7 !!%a-A C &6 41:'7 9 &6GN &@ #tAqz+= ? &9:FKKA    &9 &((,Q 4D F &= &((,Q 4H J &8(CHHAN   &8)DII!    &8)DII!    &8)DII!    &8(CHHAN   &8(CHHAN   &8(CHHAN   &8'BGG1M   &8'BGG1M   &8'BGG1M   &8*EtL &8*EtL &8*EtL &8)DdK &8)DdK &H 466:d1ajC  &L 466:d1ajC  &9;GLLQ    &9:FM &9:FKKA   O &?FKKA  $ & &@$GLLQ  # % &;TBGG1M  ! '= y'8: K '= y'8: K 'A y'8: K 'A y'8: K '> (8(8(:<>Df=M O '> (8(8(:<>Ev=N P 'B (8(8(:<>Df=M O 'B (8(8(:<>Ev=N P 'C (8(8(:<>Df=M O 'B (8(8(:<>Df=M O &99ELLN   &= VX~ / &: fh 0 2 '8'BW E  |U;eR[I %D "dfg / %D  DFG - %D !TVW . %D  $ & %D ""&$&' 3 )> y * )B y * )> ,  + )B ,  + )G !\9 . &X ,}~sB.G I ekk*EtLM  rc |jtjddddd|jtjddddd|jtjddddd|jtjddddd |jtjdd ddd |jtjdd d|jtjd dddd|jtjd dddd|jtjd dddd|jtjd dddd|jtjd d ddd|jtjd d d|jtjddddd|jtjddjdgd|jtjddddd|jtjddjdgd|jtjddddd|jtjddddd|jtjd d!ddd"|jtjd#d!ddd"tjd$}|jt |jd%d&|jt |jd'd(|jt |jd)d&|jt |jd*d(|jt |jd+d(|jt |jd,d(|jt |jd-d&|jt |jd.d&|jt |jd/d(|jt |jd0d&|jt |jd1d&|jt |jd2d&y)3Nz(\w)(?:(?R)|(\w?))\1rZ)rZr%rr)rr]rabba)r r]Nkayak)rrNpaper)paprr] dontmatchmez(?r)\2(?:(\w?)|(?R))(\w))rZrr%)rrr])r Nr])rNr)rr]rz\(((?>[^()]+)|(?R))*\) (ab(cd)ef))rrr:)rr(cd)rz(?r)\(((?R)|(?>[^()]+))*\))rr)rrrrz\(([^()]+|(?R))*\)zsome text (a(b(c)d)e) more text) (a(b(c)d)e)rPz(?r)\(((?R)|[^()]+)*\))rr]z!(foo(\(((?:(?>[^()]+)|(?2))*)\)))foo(bar(baz)+baz(bop)))rrz(bar(baz)+baz(bop))zbar(baz)+baz(bop)z%(?r)(foo(\(((?:(?2)|(?>[^()]+))*)\)))zv^\s*(<\s*([a-zA-Z:]+)(?:\s*[a-zA-Z:]*\s*=\s*(?:'[^']*'|"[^"]*"))*\s*(/\s*)?>(?:[^<>]*|(?1))*(?(3)|<\s*/\s*\2\s*>))\s*$zTzFzzzzzz< fooo / >z foozfoozfooz)r)r-r@rr.r))r rgxs rtest_recursivezRegexTests.test_recursive s &=tDaI   &=uEqJ   &=vFK   &=wGL   &=wGL   &=}M   &A4H!M   &A5I1N   &A6JA  " &A7KQ ! # &A7KQ   &A   &?N # % &?   %? A &C 2 4 &C   %? A &; +-./23G I &? +-./23G I &J "$%&)+ &N "$%&)+ mmZ[ cjj)ABCTJ cjj)ABCUK cjj)<=>E cjj);<=uE cjj)9:;UC cjj):; cjj)9:;TB cjj)?@A4H cjj)@ABDIrctjd}|jtj||u|jtj||u|j d}|jtj||u|jtj||u|j|j dutj|}|j|j|j du|j|j dutjdd}tj|}|jt|jd|jt|jdtjdd}tj|}|jt|jd|jt|jdtjdd}tj|}|jt|d|jt|dtjdd}tj|}|jt|d|jt|dy)Nr]rPrrrrQ) r-r. assertTruecopydeepcopyrBr: detach_stringrr)rrr)r rrUm2rit2s r test_copyzRegexTests.test_copy< s MM#   ! )*  a(A-. GGCL  ! A-.  a(12 ,- YYq\  ,-  T)*^^C &iim b)3/ c*C0^^C &mmB b)3/ c*C0__S% (iim b3' cC(__S% (mmB b3' cC(rc|jtjdddd|jtjdddd|jtjdddd|jtjdddd |jtjddj ddy) Nrz{0} => {2} {1}r{foo bar => bar fooz(?\w+) (?\w+)z{word2} {word1}bar foo)r"r:)r#r:)r)r-subfsubfnrBexpandfrCs r test_formatzRegexTests.test_formatg s N4D * , $B Y()2 4 ^5E / 1 %C Y()7 9 ^ W-.0D Frc |jttjddd|jttjddd|jttjdddd|jttjddd d|jttjdd d d|jttjdd dd d|jttjd dd|jttjd dd|jttjd ddd|jttjd dd d|jttjd d d d|jttjd d dd dy)NrTr(Fr;)r9xabcr:)r8rrrz(?r)abcr)r)r-rrCs rtest_fullmatchzRegexTests.test_fullmatchu s eoofe<=tD eooff=>F eooffQGH$O eooff!DEtL eoofg1EFN eoofg1  eooj%@A4H eooj&ABEJ eooj&KL   eooj&aHI   eooj'qIJ   eooj'q rc 0 |jtjdddd|jtjdtdtdd|jtjdddd|jtjdt dt dd|jtjdt dt dd|jtjdt dt ddd td fD]}|jtjd |gd tjd k\rQ|jtjd |gd|jtjd|gd|jtjd |gd|jtjd|gddt dt dt dfD]}|jtjd|gdtjd k\rQ|jtjd|gd|jtjd|gd|jtjd|gd|jtjd|gddtdfD]z}|jtjd|gd|jtjd|gd|jtjd |gd!|d"t d"t d"t d"fD]z}|jtjd#|gd$|jtjd%|gd$|jtjd&|gd'|dtdfD] }|jtjd|jd(|jtjd)|jd*|jtjd)|jd+d|jtjd)|jd,d|jtjd)|jd,d,d-dt dt dt dfD] }|jtjd|jd(|jtjd.|jd/|jtjd.|jd+d|jtjd.|jd,d|jtjd.|jd,d,d0y)1Nr&r]rxazyrGsxyzsxazrrrrrrrrrrs:a:b::c:)rrGr rrs:*)rrrGrr rrrs(:*))rr/rrrGr/rrr ::rrrrr)rrGr r)rr/rGr/r r0rrrrrrrs a:b::c:::ds:+)r/r0s:::s(:+)s(:)(:*)))r/r)r/r/)r/r0rSrrrr:rs(a))rG)rGrG)r*r-rkrr bytearray memoryviewrrrr/r)rBr6r)r r:s rtest_issue_18468zRegexTests.test_issue_18468 sw eiiS%8%@ eii[-= e $ & eiidF;VD eiimD.A  !"( * eiiio F $ & eiij.> V % ' Y!77 -F  ! !%++c6":= 9,%%ekk$&?B()%%ekk&&&ADLM%%ekk$&?B%%ekk&&&AD,- -"=#< J J!79 2F  ! !%++dF";> 9,%%ekk%&@C34%%ekk'6&BE%%ekk%&@C%%ekk'6&BE12 2 #K $== (F  ! !%--f"=@   ! !%--"?B   ! !%-- 6"BE' (  (%mM&B M "J}$=? 2F  ! !%--v">A   ! !%--"@C   ! !%-- F"CF1 2  2;s++ F   U[[f5<<> C   U[[7>>@& I   U[[7==a@# F   U[[7==a@# F   U[[7==aCF   ]40)D/ T  F   U[[v6==? D   U[[8??A7 K   U[[8>>qA4 H   U[[8>>qA4 H   U[[8>>q!DG   rch |jtjdddjd|jtjdddj d|jtjdddjd|jtjdddj d|jtjdd dd|jtjd d djd |jtjd d dj d |jtjd ddjd|jtjd ddj d|jtjdddjd |jtjddddgjd |jtjddddgj d|jtjddddgjd|jtjddddgj d|jtjddddgjd |jtjddddgj d|jtjddddgjd|jtjddddgj d|jtjddddgd|jtjdddj d|jtjdddj d|jtjdddj d|jtjdddj d|jtjdddj d|jtjdd dd|jtjdd!ddy)"Nrr]Tpartialr1rrr>catchzabc\w{3}r-Frirtrz\d{4}$1234z \Lpost)r6rrkr8rPOSTpostPOSz [a-z]*4R$r]ab4a4a4R4aa44)r)r-rBr6rArCs r test_partialzRegexTests.test_partial s T3=EEtL T3=BBDfM WeTBJJ   WeTBGGIL   WgtDdK [( ( [( ( [' ' [' ( YEMM   \64!'5 * \64$&& * \5$!'4 ) \5$$&& * %6 %gu . %6 "dff . %6t %gt - %6t "dff . %6 ug'(, . \3EJJL   \4FKKM   \5$GLLN   \4FKKM   \5$GLLN   \4FM \5$GNrc D|jttjdtjd|jttjdtjd|jtj ddddg|jtj d dddg|jtj dd d g|jtj dd d g|jtj dd d g|jtj ddDcgc]}|jc}dg|jtjddtjtjzjdd|jtjddtjtjzjdd|jtjddtjtjzjdd|jtjddjd|jttjddtjd|jtjddjddd |jtjd!d"jddd#|jtjd$d%jdd%|jtjd&d'd|jtjd(d)jdd|jtjd*d+jdd,|jtjd*d-jdd.|jtjd*d/jdd0|jtjd1d/jd/|jtjd2d3jd4|jtjd5d+jd6|jtjd5d-jd7|jtjd8djdd|jtjd9d/tjjdd/|jtjd:d;jddd<|jtjd=d;jddd>|jtjd?d;jddd@|jtjdAd;jdddB|jtjdCdDjdd+|jtj dEdFdGdHgIgdJ|jtj dKdFgdL|jtj dMdFgdJ|jtj dNdFgdJ|jtjdOd+jdddPdQ|jtjdRdSjdddT|jtjdUd+jdddV|jtjdWdXd|jtjdYdZd|jtj|j d[|jtjd\d]jdd^|jtjd_d`jdd`|jtjdadbd|jtjdcddd|jtjdedfjdddPdg|jtj dhdid"djg|jtj dkdid"djg|jtj dldid"djg|jtj dmdid"djg|jtjdndojdo|jtj dpdqDcgc]}|jc}drdsg|jtjdtduj#dvgdw|jtj|j$dxdy}dz}|jtj||tj&dd{|jtj d|d}d~g|jt)tj*dddtj,t)d|jtjddd|jtjddj/ddd7g|jtj*ddddtjdtj}|j|jdd|j|j dg|jtj|j0d|jtj2ddd|jtj2ddd|jtj2dd|jtj2ddd|jtj2ddd|jtj2dd|jtjddjd|jtjddjd|jtjddjdtjdtj4tj6z}|j|j dDcgc]}|jc}dg|j|j ddgd}|j|j |Dcgc]}|jc}dg|j|j |dgtjdtj4tj8ztj6z}|j|j dDcgc]}|jc}dg|j|j ddgd}|j|j |Dcgc]}|jc}dg|j|j |dgt:j<dk\r(|jtj*ddddSn'|jtj*dddd|jtj*ddddSt:j<dk\r(|jtj*ddddn'|jtj*dddd|jtj*dddd|jtj*dddtj>d|jtjddj@d|jtjddj@d|jtjddj@d|jtjddj@d|jtjddj@d|jtjddj@d|jtjddj@d|jtjddj@d|jtjddj@d|jtjddj@d|jtjddj@d|jtjddj@d|jtjddj@d|jtjddj@d|jtjddj@d|jtj ddg|jtj*dddd|jttjd+d+tjBd|jtj ddëddg|jtj ddëddg|jtj ddëddg|jtj ddëddg|jtjddȄ|jtjdd+jdddPdʫ|jtjdd+jdddPdʫdjEd̈́tGdΫD}|jt)djEtj d|t)djEtj d||jt)djEtj d|t)djEtj d||jt)djEtj d|t)djEtj d||jt)djEtj d|t)djEtj d||jt)djEtj d|t)djEtj d||jt)djEtj d|t)djEtj d||jt)djEtj d|t)djEtj d||jt)djEtj d|t)djEtj d||jt)djEtj d|t)djEtj d||jt)djEtj d|t)djEtj d||jt)djEtj d|t)djEtj d||jt)djEtj d|t)djEtj d||jt)djEtj d|t)djEtj d||jt)djEtj d|t)djEtj d|tItGd}|jt)djEtj d|t)djEtj d||jt)djEtj d|t)djEtj d||jt)djEtj d|t)djEtj d||jt)djEtj d|t)djEtj d||jt)djEtj d|t)djEtj d||jt)djEtj d|t)djEtj d||jt)djEtj d|t)djEtj d||jt)djEtj d|t)djEtj d||jt)djEtj d|t)djEtj d||jt)djEtj d|t)djEtj d||jt)djEtj d|t)djEtj d||jt)djEtj d|t)djEtj d||jt)djEtj d|t)djEtj d||jt)djEtj d|t)djEtj d||jt)tjd d jt)d |jtjd d jd|jtj*dddd|jtj*dddd|jtjJdddd|jtjJdddd|jtjLdddjd7|jtjLdddjNd|jtjdddjd|jtjdddjd|jtjdddjd|jtjddjd6|jtjddd|jtj d d!gd"|jtj d#d!gd"|jtj d$d%Dcgc]}|jc}gd&|jtj d'd%Dcgc]}|jc}gd&|jtjd(d)dd)|jtjd(d*dd*|jtjd+d,dd,|jtjd-d.dd.|jtjd/djddd0|jtj d1d2d3d4g|jtj d5d2dd6g|jtjd7djddd8|jtj d9d2d:dg|jtj d;d2d6dg|jtjd<d=dd=|jtjd>d+jd?d|jtjd>d+j#d?d+g|jtjd@dAddB|jtjdCdAddB|jtjdDdAd|jtjdEdAddA|jtjdFdGddG|jtjdFdHddI|jtjdJdGddK|jtjdJdHddI|jtjdLdHddH|jtjdLdMddI|jtjdNdMddI|jtjdOdMddI|jtjdPdAd|jtjdQdAddA|jtjdRdGddG|jtjdRdHddI|jtjdSdHddH|jtjdSdMddI|jtjdTdMddI|jtjdUdMddI|jtjdVdGddG|jtjdVdHddI|jtjdWdGddK|jtjdWdHddI|jtjdXdHddH|jtjdXdMddI|jtjdYdMddI|jtjdZdMddI|jtjd[dGddG|jtjd[dHddI|jtjd\dHddH|jtjd\dMddI|jtjd]dMddI|jtjd^dMddId_} |jtQtj d`| d|jtjdadbjd7|jtjdcdddddtjde} df} |j| j | Dcgc]}|jddPc}dgdhg|jtjdidjtj&jdk|jtjdldjtj&jdm|jtjdndojdp|jtjdqdod|jtjdrdsjdt|jtj drdudvdwg|jtjdxdyjdddz|jtjd{dyjdddz|jtj*dxd|dyd}|jtj*d{d|dyd}|jtjd~ddgjd|jtjdddgjd|jtjddjd|jtjddjd|jtjddjd|jtjddjd|jtjddjdtjdddg} tSjT| } tSjV| } |j| jdjd4|jtjddtj&jdp|jtjddtj&jd|jtjddtj&d|jtjddtj&jdp|jtjddtj&jd|jtjddtj&d|jYtjd|jYtjd|jttjdd|jttjdd|jtj ddtjZddg|jtjdddjdd}d}|jttjd|z|d|jttjd|z|d|jttjd|z|d|jttjd|z|d|jttjd|z|d|jttjd|z|d|jttjddddgd|jttjddddgd|jttjddddgd|jttjddddgd|jtjddddgjd|jtjddddgjd|jtjddjd|jtjddjd|jtjddjd|jtjddd|jtjddjd|jtjddjdd}d}|jttj||d|jttjddd|jttjddd|jttjdÐdd|jttjdĐdd|jttjdŐdƫd|jtjdǐdȫjdɫ|jtjdʐdtj&jd|jtjdʐdtj&j@d|jtjd̐dtj&jd|jtjd̐dtj&j@d|jtjd͐dtj&jdϫ|jtjd͐dtj&j@dЫ|jtjdѐdtj4tj8zjdӫ|jtj dԐd2d6g|jtj dՐd2d6g|jtj d֐d׫dؐdg|jtj dڐd׫g|jtj dېd׫dg|jtj dܐd׫gdݢ|jtjdސd߫jd|jtjdd߫jd|jtjddjd|jtjddjd|jtjdd߫jd|jtjdd߫jd|jtjddjd|jtjddjd|jtjddjd|jtjddjd|jtjddjd|jtjddjd|jtj2dddd|jtj2dddd|jtj2dddd|jtj2dddd|jtj2dd|jtjddbjd6|jtjddjd6|jtjddjd|jtjdd̫jd|jtjdd̫jd|jtjdd"jd|jtjdd"j]ddi|jtjdd"j_dd+gi|jtjdd"jd|jtjdd"j]ddi|jtjdd"j_dd+gi|jtjdd"jd|jtjdd"j]ddi|jtjdd"j_dd+gi|jttjddd|jtjdddjd|jtjdddjd|jttjddd|jttjddd|jttjddd|jttjddd|jttjd dd|jttjd dd|jttjd d d|jttjd d d|jttjddd|jttjddd|jttjddd|jttjddd|jttjddd|jttjddd|jtjLdd"j#dgd|jtjLdd"jdd|jtjLdd"j#dgd|jtjLdd"jdd|jtjdddjNd|jtjdddjNd|jtjdddjNd|jtjdddjNd|jtjdddjNd|jtjdddjNd|jtjdddjNd|jtjd ddjNd|jtjd!ddjNd|jtjd!ddjNd|jtjd"ddjNd|jtjd"ddjNd|jtjd#ddjNd|jtjd$ddjNd|jtjd$ddjNd|jtjd%ddjNd|jtjd%ddjNd|jtjd&ddjNd|jtjd'ddjNd|jtjd'ddjNd|jtjd(ddjNd|jtjd)ddjNd|jtjd*ddjNd|jtjd+ddjNd|jtjd,ddjNd|jtjd-ddjNd|jtjd+d+djNd|jtjd,d+djNd|jtjd-d+djNd|jtjd.ddjNd|jtjd/ddjNd|jtjd0ddjNd|jtjd1ddjNd|jtjd2ddjNd|jtjd3ddjNd|jtjd1d+djNd|jtjd2d+djNd|jtjd3d+djNd|jtjd4d5djNdd6}d7} tj|| tj&}|j|j@d|j|j`gd8ggf|jtjd9d:j@d;|jtjd9d<j@d|jtj d=d>d>g|jttjd?d+d|jttjd@d+d|jtjLdAdAjd4|jtjdBdCj_dDggdDgdE|jttjdFdGd|jttjdHdGd|jtjdIdJj`gggdKf|jtjdLdj@dM|jtjdLdj`dggdgf|jtjdNdj@dO|jtjdNdj`ggdgf|jtjdPdj@dO|jtjdPdj`ggdgf|jtjdQdRj@dS|jtjdTdRj@d|jtjdUdRj@d|jtjdVdWj@dX|jtjdYdWj@dX|jtjLdZd[j@d|jtjLd\d[j@d|jtjd]d^d|jttjd_d|jttjd`d|jtj dadbgdc|jtj dddbgdc|jtjdedftjbj@dg|jttjdhdd|jttjdidd|jtjdjdkjdk|jtjdjdld|jtjdmdnjdn|jtjdmdod|jtjdmdnj`gdpggf|jtjdqdnjdn|jtjdrdnj`gdpggf|jtjdsjedtgdu|jtjdsjedvgdw|jtjdxjdyd|jtjdzjd{dtjd|tjtjfz} |j| jd}jd}|j| jd~jd|j| jdjd|j| jdjdd}d}tj||tj&}|j|jd|j|j]ddddddtj||tjZ}|j|jd|j|j]ddddddd}d}tj||tj&}|j|j@d;|j|j`gggfd}tj||tj&}|j|j@dX|j|j`ddgggf|jtj*dddd|jtjJdddd|jtjddjiddf|jtjddjkdd|jtjddd|jtjddtjd|jtjddjd7|jtjddjd7|jtjddd|jtjddjd6|jtjdd"jmd"ggdf|jtjdd"jod4ggdf|jttjLddd|jttjLddd|jtjddbd|jtjddbjd,|jtjddjd|jtjddjd6|jtjddjd7|jtjddjd7|jtjddjd6|jtjddgjd|jtjdjd+jd6|jtjdtjjd+jd6|jtjdddjd|jtjdddd|jtjdddjd|jtjdddjd|jtjdddd|jtjdddjd|jtjdddd|jtjdddjd|jtjdddjd|jtjdddd|jttjdddd|jttjdddd|jttjdddd|jttjdddd|jttjdddd|jttjdddd|jttjdddd|jttjdddd|jttjdd+d|jttjdd+d|jttjdd+d|jttjdd+d|jttjdd+d|jttjdd+d|jttjdd+d|jtjdʐd˫d|jttjd̐dͫd|jttjdΐdͫd|jtj d̐dϫdАdg|jtj dѐdϫdАdg|jtj dΐdϫdg|jtj d̐dtjpdАdg|jtj dѐdtjpdАdg|jtj dΐdtjpdg|jtj d̐dtjrdg|jtj dѐdtjrdАdg|jtj dΐdtjrdg|jtQtj ddjEdӄtGdDddԫ|jtQtj ddjEdՄtGdDtjrd֫|jtQtj ddjEdׄtGdDtjpdԫ|jtQtj ddjEdلtGdDdd֫|jtQtj ddjEdڄtGdDtjrd֫|jtQtj ddjEdۄtGdDtjpd֫|jtQtj ddjEd݄tGdDddԫ|jtQtj ddjEdބtGdDtjrdԫ|jtQtj ddjEd߄tGdDtjpdԫ|jttjddd|jttjLddd|jttjdd|jttjddycc}wcc}wcc}wcc}wcc}wcc}wcc}wcc}wcc}w(Nz(?>b)rGTz^((?>\w+)|(?>\s+))*$z\((?:(?>[^()]+)|(?R))*\)za(bcd(e)f)g(h)z (bcd(e)f)z(h)z\((?:(?:[^()]+)|(?R))*\)za(b(cd)e)f)g)hz(b(cd)e)z a(bc(d(e)f)ghz(d(e)f)z(?r)\((?:(?>[^()]+)|(?R))*\)z\((?:[^()]*+|(?0))*\)z a(b(c(de)fg)hz (c(de)fg)za(bc)drrz ([\da-f:]+)$rJrPz^(?=ab(de))(abd)(e)abde)rrrPz\ rz ^(a|)\1{2}brr:)rrz ^(a){0,0}rrGz(?>.*/)bza/bz((?i)blah)\s+\1z blah BLAHz(\()?[^()]+(?(1)\)|)z(abcdz(a*)*r]r:r:rrrr<r;r;z a(?#xxx)*z (?=abc){3}abc abcabcabcr>z^(?:a(?:(?:))+)+r1r]z a(?x: b c )dz a#comment *z(?V1)(a(?(1)\1)){1} aaaaaaaaaar0z(?V1)(a(?(1)\1)){2})r>r9z(?V1)(a(?(1)\1)){3})rirz(?V1)(a(?(1)\1)){4})r)r.r`z(?V1)(a)(?<=b(?1))bazz(?fi)\Lu)POST, Post, post, poſt, post, and poſtr9r8)keywords)r:Postr9upoſtr;poſtz (?fi)pos|post)r<Posr8upoſr;rMz (?fi)post|posz(?fi)post|anotherz(?V1)((a)(?1)|(?2))rrz(?V1)(\1xx|){6}rZ)r]rFz(a|)+rz(a|)*\dPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaz ^(?:a?b?)*$rc,tjdS)Nz\N{1}rrSrrrVz)RegexTests.test_hg_bugs.. rrrza a rz(q1|.)*(q2|.)*(x(a|bc)*y){2,}xayxayz(?i)[^a]rhz(?i)[[:ascii:]]uKz((a|b(?1)c){3,5})baaaaca)rrr]z (?<=:\S+ )\w+z:9 abc :10 defr z (?<=:\S* )\w+z(?<=:\S+? )\w+z(?<=:\S*? )\w+z (?:fe)?malefemalez!(fe)?male: h(?(1)(er)|(is)) (\w+)z(female: her dog; male: his cat. asdsasdazfemale: her dogz male: his catz (?\((?:[^()]++|(?&rec))*\))zaaa(((1+0)+1)+1)bbbrec)z(1+0)z ((1+0)+1)z (((1+0)+1)+1)c0tjdddS)Nr%\rrSrrrVz)RegexTests.test_hg_bugs.. s ))Cs #rz%(CAGCCTCCCATTTCAGAATATACATCC){1a(?b))rr%rz(-)c$|jdS)Nr%)r&rTs rrVz)RegexTests.test_hg_bugs.. sQXXd^rrwaxbxcz \bt(est){i<2}z Some textc,tjdS)Nz.???rrSrrrVz)RegexTests.test_hg_bugs.. s -- rzfoo!?F) special_onlyzfoo\!\?zfoo!\?sfoo!?sfoo\!\?sfoo!\?z^([^z]*(?:WWWi|W))?$WWWi)r^z^([^z]*(?:WWWi|w))?$z^([^z]*?(?:WWWi|W))?$r5yxxxrz(?V0).*rfz(?V1).*z(?V0).*?rz |||||||||z |t|e|s|t|z(?V1).*?z^(@)\n(?!.*?@)(.*)z\1\n==========\n\2z@ z @ ========== rcazrrz(?b)(?:cats|cat){e<=1}z (?:cat){e<=1}z(?e)(?:cat){e<=1}z(?b)(?:cat){e<=1}z(?:cats){e<=2}zc ats)r:r:rz(?e)(?:cats){e<=2}rz(?b)(?:cats){e<=2}zc a ts)rrrz(?:cats){e<=1}z(?e)(?:cats){e<=1}z(?b)(?:cats){e<=1}z\bof ([a-z]+) of \1\bz#To make use of one of these modulesz\g<0>z(?V1)[[b-e]--cd]r-z(?V1)[b-e--cd]z(?V1)[[bcde]--cd]z(?V1)[bcde--cd]z ^unknown property at position 4$c,tjdS)Nz\p{}rrSrrrVz)RegexTests.test_hg_bugs..n s%--(rz(?:()|(?(1)()|z)){2}(?(2)a|z))r]rrz(?:()|(?(1)()|z)){0,2}(?(2)a|z)rc32K|]}t|ywrrrs rrz*RegexTests.test_hg_bugs..} s71A7riz [[:alnum:]]+z[\p{Alpha}\p{PosixDigit}]+z [[:alpha:]]+z \p{Alpha}+z [[:ascii:]]+z[\p{InBasicLatin}]+z [[:blank:]]+z[\p{gc=Space_Separator}\t]+z [[:cntrl:]]+z\p{gc=Control}+z [[:digit:]]+z[0-9]+z [[:graph:]]+z<[^\p{Space}\p{gc=Control}\p{gc=Surrogate}\p{gc=Unassigned}]+z [[:lower:]]+z \p{Lower}+z [[:print:]]+z%(?V1)[\p{Graph}\p{Blank}--\p{Cntrl}]+z [[:punct:]]+z2(?V1)[\p{gc=Punctuation}\p{gc=Symbol}--\p{Alpha}]+z [[:space:]]+z\p{Whitespace}+z [[:upper:]]+z \p{Upper}+z [[:word:]]+zL[\p{Alpha}\p{gc=Mark}\p{Digit}\p{gc=Connector_Punctuation}\p{Join_Control}]+z [[:xdigit:]]+z [0-9A-Fa-f]+ryrs(?a)[[:alnum:]]+s(?a)[\p{Alpha}\p{PosixDigit}]+s(?a)[[:alpha:]]+s(?a)\p{Alpha}+s(?a)[[:ascii:]]+s(?a)[\x00-\x7F]+s(?a)[[:blank:]]+s(?a)[\p{gc=Space_Separator}\t]+s(?a)[[:cntrl:]]+s(?a)\p{gc=Control}+s(?a)[[:digit:]]+s (?a)[0-9]+s(?a)[[:graph:]]+s@(?a)[^\p{Space}\p{gc=Control}\p{gc=Surrogate}\p{gc=Unassigned}]+s(?a)[[:lower:]]+s(?a)\p{Lower}+s(?a)[[:print:]]+s&(?aV1)[\p{Graph}\p{Blank}--\p{Cntrl}]+s(?a)[[:punct:]]+s3(?aV1)[\p{gc=Punctuation}\p{gc=Symbol}--\p{Alpha}]+s(?a)[[:space:]]+s(?a)\p{Whitespace}+s(?a)[[:upper:]]+s(?a)\p{Upper}+s(?a)[[:word:]]+sP(?a)[\p{Alpha}\p{gc=Mark}\p{Digit}\p{gc=Connector_Punctuation}\p{Join_Control}]+s(?a)[[:xdigit:]]+s(?a)[0-9A-Fa-f]+z\X$uab℃u℃z([^L]*)([^R]*R)LtR)rrcrzx\1yxayxbyrzx{1}yz(a)*abcr5OXRGOOGOXrz.XRGz .{1,3}XRG)r:rzR|RRz (.)(?(1)(?!))r;z(y)?(\d)(?(1)\b\B)ax1y2z3b))rr)r2)rrz(y)?+(\d)(?(1)\b\B)z(?i)(?:error){e}z regex failure)r)rr`)r`rb)rbrbz(?fi)(?:error){e}z(?p)\d+(\w(\d*)?|[eE]([+-]\d+))10b12z10E+12z(?p)(\w|ae|oe|ue|ss)aez(?p)one(self)?(selfsufficient)?oneselfsufficientz(ab\Kcd))rrz \w\w\K\w\wabcdefghrghz (\w\w\K\w\w)efghz (?r)(ab\Kcd))rrz(?r)\w\w\K\w\wrz(?r)(\w\w\K\w\w)z6(?(DEFINE)(?\d+)(?\w+))(?&quant) (?&item)z 5 elephantsz#(?&routine)(?(DEFINE)(?.))routinez 12(*FAIL)|3123rz(?r)12(*FAIL)|3z \d+(*PRUNE)\dz\d+(?=(*PRUNE))\dz\d+(*PRUNE)bcd|[3d]123bcd123zzdrz\d+?(*PRUNE)bcd|[3d]3bcdz\d++(?<=3(*PRUNE))zzd|[4d]$124zzdz\d++(?<=(*PRUNE)3)zzd|[4d]$z\d++(?<=2(*PRUNE)3)zzd|[3d]$z(?r)\d(*PRUNE)\d+z(?r)\d(?<=(*PRUNE))\d+z(?r)\d+(*PRUNE)bcd|[3d]z(?r)\d++(?<=3(*PRUNE))zzd|[4d]$z(?r)\d++(?<=(*PRUNE)3)zzd|[4d]$z (?r)\d++(?<=2(*PRUNE)3)zzd|[3d]$z\d+(*SKIP)bcd|[3d]z\d+?(*SKIP)bcd|[3d]z\d++(?<=3(*SKIP))zzd|[4d]$z\d++(?<=(*SKIP)3)zzd|[4d]$z\d++(?<=2(*SKIP)3)zzd|[3d]$z(?r)\d+(*SKIP)bcd|[3d]z(?r)\d++(?<=3(*SKIP))zzd|[4d]$z(?r)\d++(?<=(*SKIP)3)zzd|[4d]$z(?r)\d++(?<=2(*SKIP)3)zzd|[3d]$zJune 30, December 31, 2013 2012 some words follow: more words and numbers 1,234,567 9,876,542 more words and numbers 1,234,567 9,876,542z(?2014|2013 ?2012)z1(?>2)12zn(?V1w)(?=(?=[^A-Z]*+[A-Z])(?=[^a-z]*+[a-z]))(?=\D*+\d)(?=\p{Alphanumeric}*+\P{Alphanumeric})\A(?s:.){8,255}+\ZzAAaa11!!z(?smx) (?(DEFINE) (? ^,[^,]+, ) ) # Group 2 is defined on this line ^,([^,]+), (?:(?!(?&subcat)[\r\n]+(?&subcat)).)+ zP ,Cat 1, ,Brand 1, some thing ,Brand 2, other things ,Cat 2, ,Brand, Some thing )r)rrd)r)6;z (abcdefgh){e}z******abcdefghijklmnopqrtuvwxyz)r.rz(abcdefghi){e})r.rz(?:(?=\d)\d+\b|\w+)rfriz(?(?=\d)\d+\b|\w+)z (?(?<=love\s)you|(?<=hate\s)her)z I love yourz&I love you but I don't hate her eitheryouherz (?p)a*(.*?)aaabbb)r{bbbz (?p)a*(.*)rr|z (?irV0)\L21r)kwz (?irV1)\Lza|b111a222)r;rz(?r)a|bz(?if)<(CLI)><\1>z rz z(?ifr)<\1><(CLI)>z \Lrrrgz (x{6}){e<=1}xxxxxxxxxxxrz(?r)(x{6}){e<=1}c,tjdS)Ns00000\0\00\^(\00\U05000000rrSrrrVz)RegexTests.test_hg_bugs..s --< =rc,tjdS)Ns{e.su}}W/Erz ((?0)){e}z ?(?0){e}z0((brown)|(lazy)){1<=e<=3} ((dog)|(fox)){1<=e<=3}z+The quick borwn fax jumped over the lzy hog)borwnrrfaxrr)lzyrrhogrrz\d\d\d-\d\d-\d\d\d\dz$My SSN is 999-89-76, but don't tell.)$ruЙuйz(?ui)z(?ai)z(?afi)z (?i)\L22121)rz (?ri)\Lz (?fi)\Lz (?fri)\Lz(?r)\1dog..(?<=(\L))$ccdogccbcbccrz(?ir)\1dog..(?<=(\L))$z(2)(?:\1{5}){e<=1}3222212)r:rdz(\d)(?:\1{5}){e<=1}z&\A(?P(?>\((?&whole)\)|[+\-]))\Zz((-))z((-)+)zx.*? (.).*\1(.*)\1z x |y| z|rz\.sr (.*?) (.)(.*)\2(.*)\2(.*)z#.sr h |||)r#z"\xF9\x80\xAEqdz\x95L\xA7\x89[\xFE \x91)\xF9]\xDB'\x99\x09=\x00\xFD\x98\x22\xDD\xF1\xB6\xC3 Z\xB6gv\xA5x\x93P\xE1r\x14\x8Cv\x0C\xC0w\x15r\xFFc%" z(?P((?>(?"(?>\\.|[^\\"]+)+"|""|(?>'(?>\\.|[^\\']+)+')|''|(?>`(?>\\.|[^\\`]+)+`)|``)))) (?P((?>(?"(?>\\.|[^\\"]+)+"|""|(?>'(?>\\.|[^\\']+)+')|''|(?>`(?>\\.|[^\\`]+)+`)|``))))z foo(?<=foo)z foo(?.*\!\w*\:.*)|(?P.*))rhz\w*(ea)\w*|\w*e(?!a)\w*easier)eaz (^1234$){i,d}12234z(^1234$){s,i,d}z(^123$){s,i,d} xxxxxxxx123)rra)rrerza?yzxxxxyz)rr.z(?:(?![a-d]).)+z.(?(DEFINE)(?P(?:(?![a-d]).)))(?&mydef)+z((\w{1,3})(\.{2,10})){1,3}z("Erm....yes. T..T...Thank you for that."zErm....Ermz....zT...Trnz((\w{1,3})(\.{2,10})){3}z((\w{1,3})(\.{2,10})){2}z((\w{1,3})(\.{2,10})){1})r)zT..rrrz(?:ESTONIA(?!\w)){e<=1}zESTONIAN WORKERSESTONIANz(?:ESTONIA(?=\W)){e<=1}z(?:(?.))(?&func)rfuncz!(?(DEFINE)(?.))(?=(?&func))z#(?(DEFINE)(?.)).(?<=(?&func))zab(?#comment\))cdz[a-z]+ [a-z]*?:r{z(?r):[a-z]*? [a-z]+z(?u)\p{Script:Beng}u৯z(?u)\p{Script:Bengali}z!(?u)\p{Script_Extensions:Bengali}z(?u)\p{Script_Extensions:Beng}z(?u)\p{Script_Extensions:Cakm}z(?u)\p{Script_Extensions:Sylo}z(?u)\p{scx:Latin}r,z(?u)\p{scx:Ahom}z(?u)\p{scx:Common}4z(?u)\p{scx:Caucasian_Albanian}z(?u)\p{scx:Arabic}uتz(?u)\p{scx:Balinese}z(?u)\p{scx:Devanagari}uजz(?u)\p{scx:Batak}z(?P.)*(?&x)rz(?P.)(?P.)(?P.)rz(?:ab)*ababz(?:ab)*?z(?:ab)*+z(?:ab)+z(?:ab)+?z(?:ab)++z (?r)(?:ab)*z (?r)(?:ab)*?z (?r)(?:ab)*+z (?r)(?:ab)+z (?r)(?:ab)+?z (?r)(?:ab)++r4za*?za*+r?za+?za++z(?r)a*z(?r)a*?z(?r)a*+z(?r)a+z(?r)a+?z(?r)a++z (?:\s*\w+'*)+whateveraz(?PGGCGTCACACTTTGCTATGCCATAGCAT[AG]TTTATCCATAAGATTAGCGGATCCTACCTGACGCTTTTTATCGCAACTCTCTACTGTTTCTCCATAACAGAACATATTGACTATCCGGTATTACCCGGCATGACAGGAGTAAAA){e<=1}(?P[ACGT]{1059}){e<=2}(?PTAATCGTCTTGTTTGATACACAAGGGTCGCATCTGCGGCCCTTTTGCTTTTTTAAGTTGTAAGGATATGCCATTCTAGA){e<=0}(?P[ACGT]{18}){e<=0}(?PAGATCGG[CT]AGAGCGTCGTGTAGGGAAAGAGTGTGG){e<=1}?GCACGGCGTCACACTTTGCTATGCCATAGCATATTTATCCATAAGATTAGCGGATCCTACCTGACGCTTTTTATCGCAACTCTCTACTGTTTCTCCATAACAGAACATATTGACTATCCGGTATTACCCGGCATGACAGGAGTAAAAATGGCTATCGACGAAAACAAACAGAAAGCGTTGGCGGCAGCACTGGGCCAGATTGAGAAACAATTTGGTAAAGGCTCCATCATGCGCCTGGGTGAAGACCGTTCCATGGATGTGGAAACCATCTCTACCGGTTCGCTTTCACTGGATATCGCGCTTGGGGCAGGTGGTCTGCCGATGGGCCGTATCGTCGAAATCTACGGACCGGAATCTTCCGGTAAAACCACGCTGACGCTGCAGGTGATCGCCGCAGCGCAGCGTGAAGGTAAAACCTGTGCGTTTATCGATGCTGAACACGCGCTGGACCCAATCTACGCACGTAAACTGGGCGTCGATATCGACAACCTGCTGTGCTCCCAGCCGGACACCGGCGAGCAGGCACTGGAAATCTGTGACGCCCTGGCGCGTTCTGGCGCAGTAGACGTTATCGTCGTTGACTCCGTGGCGGCACTGACGCCGAAAGCGGAAATCGAAGGCGAAATCGGCGACTCTCATATGGGCCTTGCGGCACGTATGATGAGCCAGGCGATGCGTAAGCTGGCGGGTAACCTGAAGCAGTCCAACACGCTGCTGATCTTCATCAACCCCATCCGTATGAAAATTGGTGTGATGTTCGGCAACCCGGAAACCACTTACCGGTGGTAACGCGCTGAAATTCTACGCCTCTGTTCGTCTCGACATCCGTTAAATCGGCGCGGTGAAAGAGGGCGAAAACGTGGTGGGTAGCGAAACCCGCGTGAAAGTGGTGAAGAACAAAATCGCTGCGCCGTTTAAACAGGCTGAATTCCAGATCCTCTACGGCGAAGGTATCAACTTCTACCCCGAACTGGTTGACCTGGGCGTAAAAGAGAAGCTGATCGAGAAAGCAGGCGCGTGGTACAGCTACAAAGGTGAGAAGATCGGTCAGGGTAAAGCGAATGCGACTGCCTGGCTGAAATTTAACCCGGAAACCGCGAAAGAGATCGAGTGAAAAGTACGTGAGTTGCTGCTGAGCAACCCGAACTCAACGCCGGATTTCTCTGTAGATGATAGCGAAGGCGTAGCAGAAACTAACGAAGATTTTTAATCGTCTTGTTTGATACACAAGGGTCGCATCTGCGGCCCTTTTGCTTTTTTAAGTTGTAAGGATATGCCATTCTAGACAGTTAACACACCAACAAAGATCGGTAGAGCGTCGTGTAGGGAAAGAGTGTGGTACCiz)(?e)(dogf(((oo){e<1})|((00){e<1}))d){e<2}dogfoodrdogfootrLu👨‍👩‍👧‍👦z(?=a)az(?!b)az ((\d)*?)*?zX(?(DEFINE)(?(?THIS_SHOULD_NOT_MATCHx?)|(?right))).*(?<=(?&mydef).*)zx rightr)mydefwrongrz(?:cat){e<=1:[u]}cutz(?:cat){e<=1:u}z?(?be)(AGTGTTCCCCGCGCCAGCGGGGATAAACCG){s<=5,i<=5,d<=5,s+i+d<=10}TTCCCCGCGCCAGCGGGGATAAACCG)rr:r;rz (?:bc){e})r:rr:z (?e)(?:bc){e}rz (?b)(?:bc){e}z,(?e)(?:^(\$ )?\d{1,3}(,\d{3})*(\.\d{2})$){e}z$ 10,112.111.12)r.rrz/(?e)(?:^(\$ )?\d{1,3}(,\d{3})*(\.\d{2})$){s<=1}z9(?e)(?:^(\$ )?\d{1,3}(,\d{3})*(\.\d{2})$){s<=1,i<=1,d<=1}z/(?e)(?:^(\$ )?\d{1,3}(,\d{3})*(\.\d{2})$){s<=3}z$ 10,1a2.111.12)rrrz/(?e)(?:^(\$ )?\d{1,3}(,\d{3})*(\.\d{2})$){s<=2}z(?e)(?:0?,0(?:,0)?){s<=1,d<=1}z,0;0z(?e)(?:0??,0(?:,0)?){s<=1,d<=1}z#\b(?e)(?:\d{6,20}){i<=5:[\-\\\/]}\bz-cat dog starting at 00:01132.000. hello worldz(?#)z(?x)(?#)z(\d+){i<=2:[ab]}123X4Y5)rqr5z(?i)(\d+){i<=2:[ab]}z^(test){e<=5}$terstin)rr;rz(?:(x*)\1\1\1)*x$z(?:(x*)\1{3})*x$zt(?:es){s<=1:\d}tte5tteztzt(?:es){i<=1:\d}ttes5ttesztr;zt(es){i<=1,0.*)(?PCTTCC){e<=1}(?P([ACGT]){4,6})(?PCAATACCGACTCCTCACTGTGT){e<=2}(?P([ACGT]){0,6}$))r2TTCAGACGTGTGCTCTTCCGATCTCAATACCGACTCCTCACTGTGTGTCT)insertanchorumisidrzt(?P.*)(?PAACACTGG){e<=1}(?P([AT][CG]){5}){e<=2}(?PGTAACCGAAG){e<=2}(?P([ACGT]){0,6}$)&GGAAAACACTGGTCTCAGTCTCGTAACCGAAGTGGTCG&GGAAAACACTGGTCTCAGTCTCGTCCCCGAAGTGGTCGrz(test1)|(test2)z matched: \1\2test1zmatched: test1zmatched: {1}{2}z(?:\bha\b){i:[ ]}havingz (?a:\w)\wudжz(?a:\w)(?u:\w)z ^\p{LC}+$u😺z ^\p{So}+$r)r1rr/z\p{HorizSpace}+u4   ᠎              z\p{VertSpace}+u …

z(?(?<=A)|(?(?![^B])C|D))z ^a?(a?)b?c\1$abcarkz (?(?=a).|..)z (?(?=b).|..)z (?(?!a).|..)z (?(?!b).|..)z(\L){e<=5}blah)rr+z [^/]*b/ccczb/ccczb/ccbzb/ccz [^/]*b/xyzzb/xyzb/yzz(?i)[^/]*b/cccz(?i)[^/]*b/xyzz.*?rz z xzxyz abczxyz abc foozxyz abc foo zxyz abc foo barz (?V1)[[\s\S]]z(?V1)[[\s\S]-a]z(?V1)[[\s\S]--a]z(?V1)[[a-z]--b]z(?V1)[[\s\S]--b]z(?V1)[a-[\s\S]]z(?V1)[a--[\s\S]]zB(?ifu)(H\N{LATIN SMALL LETTER O WITH DIAERESIS}gskolan?)[\\s\\S]*puwYrkeshögskola . Studieämnen . Studieämnen . Studieämnen . Studieämnen . Studieämnen . Studieämnen . StudieämnenrIu9z(?a:\d)u99rz(?u:\d)rJc32K|]}t|ywrrrs rrz*RegexTests.test_hg_bugs..%.&rrrc32K|]}t|ywrrrs rrz*RegexTests.test_hg_bugs..'rrz (?a:\p{L})c32K|]}t|ywrrrs rrz*RegexTests.test_hg_bugs..)A_Q#a&A_rc32K|]}t|ywrrrs rrz*RegexTests.test_hg_bugs..*rrc32K|]}t|ywrrrs rrz*RegexTests.test_hg_bugs..+rrz (?u:\p{L})c32K|]}t|ywrrrs rrz*RegexTests.test_hg_bugs..-rrc32K|]}t|ywrrrs rrz*RegexTests.test_hg_bugs...rrc32K|]}t|ywrrrs rrz*RegexTests.test_hg_bugs../rrz \A\P{L}?\p{L}zhello,z\A\P{L}*(?P\p{L}+)\P{L}*\Zz(\s|\S)z(?:[\S\s]|[A-D][M-Z])):r)r)r-r.V1r/rrr@rwr6rBrerAr}rUNDEF_CHAR_NAMErrr BESTMATCHr>rkWORDspansrur{FULLCASErCrrrrNr DEBUGrHr|rr$rr6rpickledumpsloadsr ENHANCEMATCHr#rr rrV0r&r& allcapturesallspansr4rh)r rUfzseqrxr r%rawrdr TEST_REGEX TEST_DATArrupper_ilower_ir]py_regex_patternrysequences r test_hg_bugszRegexTests.test_hg_bugs snS emmG588DEtL emm,C  " 'B )51 3 'B )51 3 'B (\ + 'B &K ) 'F &K )  ..1? CE!'')E -  h ((9E!Hf & osEGG ((=E!Hc # osEGG ((=E!Hc # &;VDKKM   ekk%EGGDEtL nc:@@AFI  k59??1EH  j%8>>qA5I &8+FM &= 58V % gs388;VD gt499!CCEvN &8$?DDFO nf=CCAFO neq5 * &< Q $4 6 &< Q $4 6 &< Q $4 6 &< Q $6 8 &:EBHHK   '; ?5>#%" # '7 ?AC< = '7 ?AC? @ '; ?AC? @ &;SAGG1   &8$?DDQJ   gs399!Q?K j(;TB mT:DA u{{D,@,@C" # eX6;;A>G &E E!Hh ( j#6= &79JK   &99EKKA Q& ( '79IJ %.  '79IJ %.  '8:JK %.  '8:JK %.  nh?EEG    ..= 4 67!'')79J 9  &I !!)%3  u{{DOO>$ '5 b#u?B ' ) y-@7)L uyy7 P **  \ ] _ ^X>E %6=CCCHL K  6+CWM   ]]+588 < ;/6 K0"5 u{{D,@,@C! " gEBKP gDA9M g. : hUC\R hTB   h/< &< &(J ( &< &(J ( &= &(J (mmF%..5==*HI S\\&-AB!'')BUGL V,ug6 S\\#->?!'')?%I S)E73mmF%..5;K;K*K --+ S\\&-AB!'')BUGL V,ug6 S\\#->?!'')?%I S)E73   y (   UYYy#v> E   UYYy#v> D 9c6:DA   y (   UYYz3? M   UYYz3? M :sF;[I #8 ell<=N P %:  i ) %> y * %> y * %5u=JJ   %9 y * %9 y * %6@MM   %: < , %: < , %6  L) - %:  L) - %:  L) - %6@MM   %: < , %: < , '? /124 6 437= ekk$U[[ABDI ':HE H  '8(Cc F  ';XF I  '98Ds G  u{{,N ( * %D uQ1~} . %F uQ1~} .7g77 rwwu}}5H ( "''%--0Q #  rwwu}}5H ( "''%--0A #  rwwu}}5H ( "''%--0J #  rwwu}}5H ( "''%--0R #  rwwu}}5H ( "''%--0F"NOP R rwwu}}5H ( "''%-- u"EFG I rwwu}}5H ( "''%--0s #  rwwu}}5H ( "''%--0A #  rwwu}}5H ( "''%--0\^c"def h rwwu}}5H (   &_    rwwu}}5H ( "''%--0F #  rwwu}}5H ( "''%--0A #  rwwu}}5G ( "''%--1D #  rwwu}}5I ( "''%--0C #  eEl# sxx 6N ) #((5==1W $  sxx 6N ) #((5==1G#OPQ S sxx 6N ) #((5==1I5#QRS U sxx 6N ) #((5==1X $  sxx 6N ) #((5==1L $  sxx 6N ) #((5==1CU#KLM O sxx 6N ) #((5==1y|A$BCD E sxx 6N ) #((5==1G#OPQ S sxx 6N ) #((5==1_af#ghi k sxx 6N ) #((5==1l $  sxx 6N ) #((5==1Le#TUV X sxx 6N ) #((5==1G#OPQ S sxx 6M ) #((5==2JLQ$RST U sxx 6O ) #((5==1I5#QRS U u||FJ?EEGH /  &7?FFHK  67D98D :w=xH FGT:HE J>I D ( D ' fgtDIIK   fgtDIIK   k7 ( UC0557@ %5tDDQJ   '8*E H  ':JG 6   &_ * , &LcRXXYbceij &LcR[[\efilhmn neE &:EB1EuM &A,  o +U__>>Bdfg O &6 +U__>>Bdfg O %;XFKKM   %:HEtL &I  ) 'J 246;U^ E nh?EEaK   mX>DDQJ   >5(CUK =%BEJ %5tFKKM   %5tFKKM   eY7<<>G i;@@BFK &9  ) &9  ) &:  ) MM.5%. A LLO LLO ,,.7 ^X!!% 1 ^W!!% 1 ^S!"& ( %7!!% 1 %7!!% 1 %7!"& ( %++(> ? %++'EF emmK894@ emmN;4U E  ell>4U E  ell?De F  &BIT]!TVV - &C  '(, 8 &; TVV % &< TVV % %R 466 # %R   %: tvv ' %F 0226$&' C y ell+;Q?@%H ekk-?@$G ekk-?@%H ekk/5ABDI ekk/5ABEJ ekk*]   %? FHh ( ow //466 + ow //'< 4 &7 //466 + &7 //'< 4 &6 //467 , &6 //'< 4 gxu~~   @ DFF , '9:F (  '\ x ! 'D 469'8) * 'B 4679 ; 'B 468L7M O 'B 468= > &@ #egz 3 &@ #egz 3 &A  57J 0 &A  57J 0 &D #egz 3 &D #egz 3 &E  57J 0 &E  57J 0 &< UWi ) &= UWi ) &= UWi ) &> UWi ) gERWXZgh gERVWYde gDQVWYde gDQUVXab g. < nc:??A6J nc:??A6J mS9>>@&I mR8==?H k26;;=vF &F 8 % &F vtn . &F &3% 2 &J 8 % &J vtn . &J &3% 2 &L 8 % &L vtn . &L &3% 2 ekk*>GH$O &8) ( &DEtL ekk*=sCDeL ekk*?EFM ekk*KSQR   ekk*?JKTR ekk*A8LM   ekk*CXNO   ekk*>IJER )95AJJ3O   )95AGGL   )C # 1 )C sS " YdCKK   YEMM   ZTBJJ   ZtDLL   ZFNN   YdCKK   YEMM   ZtDLL   ZtDLL   ZFNN   ]D$GOO   ]FDIQQ   ^RFNN   ^T4HPP   ^VTJRR   ]D$GOO   ]FDIQQ   ^T4HPP   ^T4HPP   ^VTJRR   T2t<DDeL UB=EEuM UB=EEuM T2t<DDdK UB=EEtL UB=EEtL T3=EEuM UC>FFN UC>FFN Xr4@HH%P YDAII5Q YDAII5Q Xr4@HH$O YDAII4P YDAII4P XsDAII5Q YTBJJER YTBJJER %5z4PXX  G, LL$eoo > 3 2vr*:; &R !\9 . &R !\9 . u FH G H J ell9c:;TB ell9c:;TB >CCEvN 'F !\^y2 )&  ekk*>FGN ekk* J   %6 %y 2 ekk*>HI4P ekk*=wGH$O %96BHHJ   %96BDI %97CIIK   %97CTJ %9  =2sB- 1 %;WEKKM   %@  =2sB- 1 '=>DDXNPbc '=>DDYOQde ':;BB:NPTU 7>>xH$O MMJ R W R Y R Y \ a \ d \ d R d e  -0668-H "89??A>R "89??A<P "89??A>RHM KK A 7+ 3Cw_fpHQW)X Y KK1C1C D 7+ 3Cw_fpHQW)X YJ; KK A 3 2r2,7; KK A 3 B8R*<= #57GQScd $68JGTVfg &8:JKRRScdfvwx &8:JKSSTfgiyz &:HEtL &:HEGGTVZ[ \3STYY[]cd %68XY^^`bhi \3YZ\`a \3YZ__acij We4@@BeWoD^_ We4==?6(LdAef eoo.@Clmnpt u eoo.?A[\]_cd %@#FM &A3GLLNPVW &6?DDFO _d;@@BFK _d;@@BFK _d;@@BFK _d;@@BFK %7RHMMOQWX 'BCII#NSSUW]^ 'B%''RXXY\]bbdflm ]GTJOOQSYZ ]GTJDQ ]FDINNPRXY ]FDINNPRXY ]FDI4P %6NSSUW]^ %6NPTU %6MRRTV\] %6MRRTV\] %6MtT ekk*EsTXYZ\`a ekk*E{\`abdhi ekk*E|]abceij ekk*E}^bcdfjk ekk*EGZdhijlpq ekk*EG^hlmnptu ekk*EG_imnoquv ekk*EGblpqrtxy ekk*:C@A4H ekk*.)+rz{0} {0[0]} {0[-1]}z abc abc abcz0{1} {1[0]} {1[1]} {1[2]} {1[-1]} {1[-2]} {1[-3]}z c a b c c b az0{x} {x[0]} {x[1]} {x[2]} {x[-1]} {x[-2]} {x[-3]})r)r-rBr&r$rCs rtest_subscripted_capturesz$RegexTests.test_subscripted_capturess \ -.  ? \ KL   \ KL   L2G  ! L     UYYxg> K   U]]8W=@    x11affhA C   }11affh 8 : ) s /D3Dc|jtjddgd|jtjddgdy)Nz\Ru …

)rrrX  rW…u
u
s\Rs )s rj   rrCs rtest_line_endingzRegexTests.test_line_endingsD u}}U,LMFH u}}V-BCF&'rr)rrrrrrrrrrrrprrrrr+r,r-r.r/r0rorqrsrtrurvDUPLICATE_GROUP CANT_TURN_OFFrr*r2rDrJrmrprsrrrrrrrrrrrrrr rrr$r'r*r=rErIrOrUrZrorqrurwr~rrrrrrrrrrrrrrrrrrrrrrrrr1r8r?rCrfrkrorrrrrrrrrrrrrrrrr}rrrrrrr rr r'r+r3rBrrrrrrSrrrrs.MU1J2N-J%O#M1J'*GKK>CGMK"N-N*N+'O0J'O=M0O   9"B>  3 7rC?) 2.H1f E2N6.." O' #BJ/<'B 1 JF4VNp<E> 8 8 " $ &I A# 6KD $1 G 1; D;6 9 %D%6 ` v2p BM`ED?J48-t L.`L*"J0 /10(IT4=lKLZ] 7~LPH(,('44lBEJN))V F,JX3OjmO^)V8p& :'rrc0tjdy)Nr) verbosity)unittestmainrSrr test_mainrs MMAr__main__)weakrefrrrr-r:rrrGrrrTestCaserrrrSrrrsc 7#79E9dF'""dF'LM z Kr