fork download
  1. import re
  2.  
  3. strs = ["[1,12:12] call basic_while1() Error Code: 1046. No database selected",
  4. "[1,12:12] call add() Asdfjgg Error Code: 1046. No database aa selected",
  5. "[1,12:12] call add()",
  6. "[1,12:12]",
  7. "Error Code: 1046. No database selected",
  8. "END: Error Code: 2134. database doen't exist"
  9. ]
  10. rx = re.compile(r'^(?:\[(\d+),(\s?[0-9:]+)](?:\s+(.*?)\s*)?|.*?)(Error Code:.*)?$')
  11. for s in strs:
  12. m = re.match(rx, s)
  13. if m:
  14. print(m.groups())
  15.  
Success #stdin #stdout 0.02s 27712KB
stdin
Standard input is empty
stdout
('1', '12:12', 'call basic_while1()', 'Error Code: 1046. No database selected')
('1', '12:12', 'call add() Asdfjgg', 'Error Code: 1046. No database aa selected')
('1', '12:12', 'call add()', None)
('1', '12:12', None, None)
(None, None, None, 'Error Code: 1046. No database selected')
(None, None, None, "Error Code: 2134. database doen't exist")