Ζ
όMφ9c       s|   d  Z  d k Z d   Z d   Z d d  Z d d  Z d   Z d	 d  Z h  Z d
   Z	 d   Z
 d   Z d   Z d S(   s  Regexp-based split and replace using the obsolete regex module.

This module is only for backward compatibility.  These operations
are now provided by the new regular expression module, "re".

sub(pat, repl, str):        replace first occurrence of pattern in string
gsub(pat, repl, str):       replace all occurrences of pattern in string
split(str, pat, maxsplit):  split string using pattern as delimiter
splitx(str, pat, maxsplit): split string using pattern as delimiter plus
                            return delimiters
Nc    si   t  |   } | i |  d j o? | i } | d \ } } | |  t | | |  | | } n | Sd  S(   Ni    (
   s   compiles   pats   progs   searchs   strs   regss   as   bs   expands   repl(   s   pats   repls   strs   progs   regss   as   bs#   /mit/python/lib/python2.0/regsub.pys   sub s    	&c 
   s  t  |   } d } d } d } xά | i | |  d j oΒ | i } | d \ } }	 | |	 j o
 | j n o | oR | t |  j p | i | | d  d j  o Pn | i } | d \ } }	 n | | | | !t | | |  } |	 } d } q! W| | | } | Sd  S(   Ns    i    i   (   s   compiles   pats   progs   news   starts   firsts   searchs   strs   regss   as   bs   lens   expands   repl(
   s   pats   repls   strs   progs   news   starts   firsts   regss   as   bs#   /mit/python/lib/python2.0/regsub.pys   gsub$ s$     	&0	!c    s   t  |  | | d  Sd  S(   Ni    (   s   intsplits   strs   pats   maxsplit(   s   strs   pats   maxsplits#   /mit/python/lib/python2.0/regsub.pys   split= s    i    c    s   t  |  | | d  Sd  S(   Ni   (   s   intsplits   strs   pats   maxsplit(   s   strs   pats   maxsplits#   /mit/python/lib/python2.0/regsub.pys   splitxG s    c    s  t  |  } g  } d } } d } xΚ | i |  |  d j o° | i	 }	 |	 d \ }
 } |
 | j o& | d } | t |   j o Pn na | i |  | |
 ! | o | i |  |
 | ! n | } } | d } | o
 | | j o Pn q% W| i |  |  | Sd  S(   Ni    i   (   s   compiles   pats   progs   ress   starts   nexts
   splitcounts   searchs   strs   regss   as   bs   lens   appends   retains   maxsplit(   s   strs   pats   maxsplits   retains   progs   ress   starts   nexts
   splitcounts   regss   as   bs#   /mit/python/lib/python2.0/regsub.pys   intsplitL s*    
 	
	


c    sh   d  k  } t |  |  } x9 t d t |  d  d r } | i | |  | | <q3 W| i	 | d  Sd  S(   Ni    i   s    (
   s   strings   splitxs   strs   pats   wordss   ranges   lens   is
   capitalizes
   joinfields(   s   strs   pats   strings   wordss   is#   /mit/python/lib/python2.0/regsub.pys   capwordsf s    	 s   [^a-zA-Z0-9_]+c    sp   t  |   t  d  j o |  Sn |  t i   f } t i |  o t | } n t i |   } t | <| Sd  S(   Ns    (	   s   types   pats   regexs
   get_syntaxs   keys   caches   has_keys   progs   compile(   s   pats   keys   progs#   /mit/python/lib/python2.0/regsub.pys   compile~ s    c      s
   h  a  d  S(   N(   s   cache(    s#   /mit/python/lib/python2.0/regsub.pys   clear_cache s     c 	   s  d |  j o |  Sn d } d } t d  } xδ | t |   j  oΠ |  | } | d } | d j p | t |   j o | | } n |  | } | d } d | j o
 d j n o/ | t |  | \ } } | | | | !} n* | d j o | | } n | d | } q0 W| Sd  S(   Ns   \s    i    s   0i   s   9(   s   repls   news   is   ords   ord0s   lens   cs   regss   as   bs   str(	   s   repls   regss   strs   news   is   ord0s   cs   as   bs#   /mit/python/lib/python2.0/regsub.pys   expand s$      c     s  d  k  }  |  i d o |  i d } n d } xι d oα |  i i   o |  i i d  n |  i i   } | o Pn | d d j o | d  } n t	 | |  } t |  d j o d GHd G| GHq1 n t	 | |  \ } } } d Gt | | |  GHd	 Gt | | |  GHq1 Wd  S(
   Ni   s   [ 	
]+s   --> s   
i   s   Sorry, not three fieldss   split:s   sub :s   gsub:(   s   syss   argvs   delpats   stdins   isattys   stderrs   writes   readlines   lines   splits   fieldss   lens   pats   repls   strs   subs   gsub(   s   syss   delpats   lines   fieldss   pats   repls   strs#   /mit/python/lib/python2.0/regsub.pys   test­ s*    	    
(   s   __doc__s   regexs   subs   gsubs   splits   splitxs   intsplits   capwordss   caches   compiles   clear_caches   expands   test(    s#   /mit/python/lib/python2.0/regsub.pys   ? s   				
				