fork download
  1. import re
  2.  
  3. import1 = "import first;"
  4. import2 = "import first : f;"
  5. import3 = "import first : f, second : g;"
  6.  
  7.  
  8. p = 'import\s+(?:[a-zA-Z0-9_.]+)\s*(?:,\s*(?:[a-zA-Z0-9_.]+)\s*)*;'
  9.  
  10. pm1 = re.match(p, import1) # match
  11. if pm1 != None:
  12. print "p w/ import1 => " + pm1.group(0)
  13.  
  14. pm2 = re.match(p, import2) # no match
  15. if pm2 != None:
  16. print "p w/ import2 => " + pm2.group(0)
  17.  
  18.  
  19. p2 = 'import\s+(?:[a-zA-Z0-9_.]+)\s*(?:,\s*(?:[a-zA-Z0-9_.]+)(?:\s*:\s*[a-zA-Z0-9_.]+)??\s*)*;'
  20.  
  21. p2m1 = re.match(p2, import1) # match
  22. if p2m1 != None:
  23. print "p2 w/ import1 => " + p2m1.group(0)
  24.  
  25. p2m2 = re.match(p2, import2) # no match but should match
  26. if p2m2 != None:
  27. print "p2 w/ import2 => " + p2m2.group(0)
  28.  
  29. p2m3 = re.match(p2, import3) # no match but should match
  30. if p2m3 != None:
  31. print "p2 w/ import3 => " + p2m3.group(0)
Success #stdin #stdout 0.01s 7736KB
stdin
Standard input is empty
stdout
p w/ import1 => import first;
p2 w/ import1 => import first;