s='start of text\n line 1\n line 2\n\nline 3\n line 4\n\nstop matching after this\nline 5\n line 6\n\nline 7'
res = []
stop = False # Flag to know where to stop matching
for line in s.splitlines():
if line.strip().startswith('stop matching after this'):
stop = not stop # Reverse the flag
if stop:
res.append(line) # Add line as is
else:
res.append(line.lstrip()) # Add the line stripped from the left
print("\n".join(res))
cz0nc3RhcnQgb2YgdGV4dFxuICAgIGxpbmUgMVxuICAgICAgbGluZSAyXG5cbmxpbmUgM1xuICBsaW5lIDRcblxuc3RvcCBtYXRjaGluZyBhZnRlciB0aGlzXG5saW5lIDVcbiAgICBsaW5lIDZcblxubGluZSA3JwpyZXMgPSBbXQpzdG9wID0gRmFsc2UgICMgRmxhZyB0byBrbm93IHdoZXJlIHRvIHN0b3AgbWF0Y2hpbmcKZm9yIGxpbmUgaW4gcy5zcGxpdGxpbmVzKCk6CglpZiBsaW5lLnN0cmlwKCkuc3RhcnRzd2l0aCgnc3RvcCBtYXRjaGluZyBhZnRlciB0aGlzJyk6CgkJc3RvcCA9IG5vdCBzdG9wICAjIFJldmVyc2UgdGhlIGZsYWcKCWlmIHN0b3A6CgkJcmVzLmFwcGVuZChsaW5lKSAjIEFkZCBsaW5lIGFzIGlzCgllbHNlOgoJCXJlcy5hcHBlbmQobGluZS5sc3RyaXAoKSkgIyBBZGQgdGhlIGxpbmUgc3RyaXBwZWQgZnJvbSB0aGUgbGVmdAoKcHJpbnQoIlxuIi5qb2luKHJlcykp