fork download
  1. import re
  2. rx = r"(\{%\s*block\s+(.+?)\s*%}[\s\S]*?\{%\s*endblock\s*(?:\2\s*)?%})"
  3. s = "{% block some_name %}Some Text{% endblock %} \nSomething Else\n{% block another_name %}Some Other Content{% endblock %}"
  4. print(list(map(list, zip(*re.findall(rx, s)))))
Success #stdin #stdout 0.04s 9840KB
stdin
Standard input is empty
stdout
[['{% block some_name %}Some Text{% endblock %}', '{% block another_name %}Some Other Content{% endblock %}'], ['some_name', 'another_name']]