import re
Try to use raw string (r'') when dealing with regular expression to avoid additional backslash to prevent escaping text.
pattern = "^{0}".format(some_str);
marker = re.search(pattern, buffer);
if marker:
prefix = buffer[0:marker.end(1)];
theStr = "<name>Eric</name>"
thePattern = "<name>(.*)</name>"
marker = re.search(thePattern, theStr)
marker.group(0)
'<name>Eric</name>'
marker.group(1)
'Eric'
theStr = "<names><name>A</name><name>B</name></names>"
marker = re.findall(r"<name>(.+?)</name>", theStr)
print marker
['A', 'B']