def _split(stri) :
    """ Split the initial string into normal strings and expressions 
    to evaluate (enclosed in #{...})
    """
    def analyse(s) :
        v=re.match("#{(.*)}$",s)
        if v : return ("E",v.group(1))
        return ("S",s)
    lst=re.split("(#{[^}]*})",stri)
    return [analyse(c) for c in lst]
 Split the initial string into normal strings and expressions 
    to evaluate (enclosed in #{...})
    
recipes/Python/578487_Evaluates_string_embedded_expressions_rubstr/recipe-578487.py