fork download
  1. import re
  2.  
  3. commands = "copy move".split()
  4. input_string = "something move 11 something move 12 something 13 copy 14 15"
  5. tokens = re.split("(%s)" % "|".join(map(re.escape, commands)), input_string)
  6. result = []
  7. for cmd, s in zip(tokens[1::2], tokens[2::2]):
  8. args = re.findall(r"\d+", s)
  9. result.append((cmd,) + tuple(args) + ("",)*(2 - len(args)))
  10. print(result)
Success #stdin #stdout 0.08s 10864KB
stdin
Standard input is empty
stdout
[('move', '11', ''), ('move', '12', '13'), ('copy', '14', '15')]