- import re 
- p = re.compile(ur'''(?P<Alternation1> 
-      \$\{(?P<braced>[_a-zA-Z][a-zA-Z0-9]*(?::[_a-zA-Z]\w*)+) 
-      \} 
-      ) 
-      | 
-      (?P<Alternation2> 
-       \$(?P<named>[_a-zA-Z][a-zA-Z0-9]*(?::[_a-zA-Z]\w*)+ 
-      ) 
-     ) 
- ''', re.VERBOSE) 
- test_str = u"asdasd $asd:sd + ${asd123:asd} $HOME $$asd" 
-   
- print [x for x in re.findall(p, test_str)] 
				aW1wb3J0IHJlCnAgPSByZS5jb21waWxlKHVyJycnKD9QPEFsdGVybmF0aW9uMT4KICAgICBcJFx7KD9QPGJyYWNlZD5bX2EtekEtWl1bYS16QS1aMC05XSooPzo6W19hLXpBLVpdXHcqKSspCiAgICAgXH0KICAgICApCiAgICAgfAogICAgICg/UDxBbHRlcm5hdGlvbjI+CiAgICAgIFwkKD9QPG5hbWVkPltfYS16QS1aXVthLXpBLVowLTldKig/OjpbX2EtekEtWl1cdyopKwogICAgICkKICAgICkKJycnLCByZS5WRVJCT1NFKQp0ZXN0X3N0ciA9IHUiYXNkYXNkICRhc2Q6c2QgKyAke2FzZDEyMzphc2R9ICRIT01FICQkYXNkIgogCnByaW50IFt4IGZvciB4IGluIHJlLmZpbmRhbGwocCwgdGVzdF9zdHIpXQ==