fork(1) download
  1. import re
  2. message = """[key X] value
  3. [key X] value value
  4. [key X] value
  5. value
  6. value
  7. value
  8. [key ] value
  9. [key ] ?
  10. [key ] ?"""
  11.  
  12. messageRegex = re.compile(r"^\[([^][]*)]\s+(.*(?:\n(?!\[[^][]*]).*)*)", re.M)
  13.  
  14. for value in messageRegex.findall(message):
  15. print(value)
Success #stdin #stdout 0.02s 27712KB
stdin
Standard input is empty
stdout
('key    X', 'value')
('key    X', 'value value')
('key    X', 'value\nvalue\nvalue\nvalue')
('key     ', 'value')
('key     ', '?')
('key     ', '?')