擅长:python、mysql、java
<pre><code>import re
# as a general rule you shouldn't call variables str in python as it's a builtin function name.
str = "header1svdijfooter1ccsdheader2cdijhfooter2"
# this is how you declare dicts.. but if you're only going to have "one"
# and "two" for the keys why not use a list? (you need the {} for dicts).
#headers = {"one": "header1", "two": "header2"}
#footers = {"one": "footer1", "two": "footer2"}
delimiters = [("header1", "footer1"), ("header2", "footer2")]
results = []
for header, footer in delimiters:
regex = re.compile("({header}.*?{footer})".format(header = header, footer = footer))
matches = regex.search(str)
if matches is not None:
for group in matches.groups():
results.append(group)
print results
</code></pre>