import re
import1 = "import first;"
import2 = "import first : f;"
import3 = "import first : f, second : g;"
p = 'import\s+(?:[a-zA-Z0-9_.]+)\s*(?:,\s*(?:[a-zA-Z0-9_.]+)\s*)*;'
pm1 = re.match(p, import1) # match
if pm1 != None:
print "p w/ import1 => " + pm1.group(0)
pm2 = re.match(p, import2) # no match
if pm2 != None:
print "p w/ import2 => " + pm2.group(0)
p2 = 'import\s+(?:[a-zA-Z0-9_.]+)\s*(?:,\s*(?:[a-zA-Z0-9_.]+)(?:\s*:\s*[a-zA-Z0-9_.]+)??\s*)*;'
p2m1 = re.match(p2, import1) # match
if p2m1 != None:
print "p2 w/ import1 => " + p2m1.group(0)
p2m2 = re.match(p2, import2) # no match but should match
if p2m2 != None:
print "p2 w/ import2 => " + p2m2.group(0)
p2m3 = re.match(p2, import3) # no match but should match
if p2m3 != None:
print "p2 w/ import3 => " + p2m3.group(0)
aW1wb3J0IHJlCgppbXBvcnQxID0gImltcG9ydCBmaXJzdDsiCmltcG9ydDIgPSAiaW1wb3J0IGZpcnN0IDogZjsiCmltcG9ydDMgPSAiaW1wb3J0IGZpcnN0IDogZiwgc2Vjb25kIDogZzsiCgoKcCA9ICdpbXBvcnRccysoPzpbYS16QS1aMC05Xy5dKylccyooPzosXHMqKD86W2EtekEtWjAtOV8uXSspXHMqKSo7JwoKcG0xID0gcmUubWF0Y2gocCwgaW1wb3J0MSkgIyBtYXRjaAppZiBwbTEgIT0gTm9uZToKCXByaW50ICJwIHcvIGltcG9ydDEgPT4gIiArIHBtMS5ncm91cCgwKQoKcG0yID0gcmUubWF0Y2gocCwgaW1wb3J0MikgIyBubyBtYXRjaAppZiBwbTIgIT0gTm9uZToKCXByaW50ICJwIHcvIGltcG9ydDIgPT4gIiArIHBtMi5ncm91cCgwKQoKCnAyID0gJ2ltcG9ydFxzKyg/OlthLXpBLVowLTlfLl0rKVxzKig/OixccyooPzpbYS16QS1aMC05Xy5dKykoPzpccyo6XHMqW2EtekEtWjAtOV8uXSspPz9ccyopKjsnCgpwMm0xID0gcmUubWF0Y2gocDIsIGltcG9ydDEpICMgbWF0Y2gKaWYgcDJtMSAhPSBOb25lOgoJcHJpbnQgInAyIHcvIGltcG9ydDEgPT4gIiArIHAybTEuZ3JvdXAoMCkKCnAybTIgPSByZS5tYXRjaChwMiwgaW1wb3J0MikgIyBubyBtYXRjaCBidXQgc2hvdWxkIG1hdGNoCmlmIHAybTIgIT0gTm9uZToKCXByaW50ICJwMiB3LyBpbXBvcnQyID0+ICIgKyBwMm0yLmdyb3VwKDApCgpwMm0zID0gcmUubWF0Y2gocDIsIGltcG9ydDMpICMgbm8gbWF0Y2ggYnV0IHNob3VsZCBtYXRjaAppZiBwMm0zICE9IE5vbmU6CglwcmludCAicDIgdy8gaW1wb3J0MyA9PiAiICsgcDJtMy5ncm91cCgwKQ==