‡Æ
üMö9c       s¦     d  Z    d k Z  d „  Z $ d „  Z = d d „ Z G d d „ Z L d „  Z f 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    s~     t  |  ƒ }  | i | ƒ d j oH  | 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 
   sL  $ % t  |  ƒ } & d } ' d } ( d } ) xý ) | i | | ƒ d j oà * | i } + | d \ } }	 , | |	 j o
 | j n o | o^ - | t | ƒ j p | i | | d ƒ d j  o . Pn / | i } 0 | d \ } }	 n 1 | | | | !t | | | ƒ } 2 |	 } 3 d } q3 W4 | | | } 5 | 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$   			 )3$	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   G H t  |  | | d ƒ Sd  S(   Ni   (   s   intsplits   strs   pats   maxsplit(   s   strs   pats   maxsplits#   /mit/python/lib/python2.0/regsub.pys   splitxG s   c    sJ  L M t  | ƒ } N g  } O d } } P d } Q xô Q | i |  | ƒ d j o× R | i	 }	 S |	 d \ }
 } T |
 | j o/ U | d } V | t |  ƒ j o W Pn nv Y | i |  | |
 !ƒ Z | o [ | i |  |
 | !ƒ n \ | } } ] | d } ^ | o
 | | j o _ Pn q7 W` | i |  | ƒ a | 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    s}   f g d  k  } h t |  | ƒ } i x? t d t | ƒ d ƒ d i r  } j | i | | ƒ | | <q? Wk | 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    sˆ   ~  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 	   sU  ” • 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 o5 ¡ | t | ƒ | \ } } ¢ | | | | !} n3 £ | d j o ¤ | | } n ¦ | d | } qE 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 GH» d G| GH¼ qC n ½ t	 | | ƒ \ } } } ¾ d Gt | | | ƒ GH¿ d	 Gt | | | ƒ GHqC 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   	
	