]<#@sddlZddlZddlZyddlZWnek rNdZYnXdddddddd d d d d dddddddddddddddgZdZejZZ ej Z Z ej ZZejZZejZZejZZejZZejZZejZ ej!Z!dddZ"dddZ#dd dZ$ddd!dZ%ddd"dZ&ddd#dZ'dd$dZ(dd%d Z)dd&d Z*d'd Z+dd(d Z,e-d)Z.e-d*Z/d+d Z0iZ1iZ2e3ej*d,dZ4d-Z5d.d/Z6d0d1Z7d2d3Z8d4d5Z9ddl:Z:d6d7Z;e:j<e4e;e6Gd8d9d9Z=dS):Nmatch fullmatchsearchsubsubnsplitfindallfinditercompilepurgetemplateescapeerrorAILMSXUASCII IGNORECASELOCALE MULTILINEDOTALLVERBOSEUNICODEz2.2.1cCst||j|S)N)_compiler)patternstringflagsr!'/opt/alt/python35/lib64/python3.5/re.pyrscCst||j|S)N)rr)rrr r!r!r"rscCst||j|S)N)rr)rrr r!r!r"rscCst||j|||S)N)rr)rreplrcountr r!r!r"rscCst||j|||S)N)rr)rr#rr$r r!r!r"rs cCst||j||S)N)rr)rrmaxsplitr r!r!r"rscCst||j|S)N)rr)rrr r!r!r"rscCst||j|S)N)rr )rrr r!r!r"r scCs t||S)N)r)rr r!r!r"r scCstjtjdS)N)_cacheclear _cache_replr!r!r!r"r s cCst||tBS)N)rT)rr r!r!r"r sZ@_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890s@_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890cCst|tr~t}t|}xMt|D]?\}}||kr.|dkr_d||srPcCsOt||}|d r<t|ddkr<|ddS|dd}|S)NrcSstj||S)N)rLrO)rr r!r!r"filterIsz_subx..filter)rNrH)rr rRr!r!r"_subxCs ! rScCst|j|jffS)N)rrr )rJr!r!r"_pickleQsrTc@s+eZdZdddZddZdS)Scannerrc Csddlm}m}||_g}tj}||_xh|D]`\}}|j} |jtj ||| tj ||ffg|j | |dqAWtj ||d|ffg}t j ||_dS)Nr)BRANCH SUBPATTERNrQ) sre_constantsrVrWlexiconrLPatternr opengroupr5 SubPatternparse closegrouprDr scanner) selfrZr rVrWrJr9phraseactiongidr!r!r"__init__Zs    %!zScanner.__init__c Csg}|j}|jj|j}d}x|}|s=P|j}||krVP|j|jdd}t|r||_|||j}|dk r|||}q-W|||dfS)NrrQ)r5r`rendrZ lastindexcallablegroup) rarresultr5rr:mjrcr!r!r"scanis&         z Scanner.scanN)__name__ __module__ __qualname__rermr!r!r!r"rUYs rU)>sysrDrLr> ImportError__all__ __version__SRE_FLAG_ASCIIrrSRE_FLAG_IGNORECASErrSRE_FLAG_LOCALErrSRE_FLAG_UNICODErrSRE_FLAG_MULTILINErrSRE_FLAG_DOTALLrrSRE_FLAG_VERBOSErrSRE_FLAG_TEMPLATEr)TEMPLATESRE_FLAG_DEBUGrGrrrrrrrrr r r r frozensetr/r3r r&r(r=rBrIrrNrPrScopyregrTpicklerUr!r!r!r"zsd