import re

def findall_overlapped(r, s):
  res = []                     # Resulting list
  reg = r'^{}$'.format(r)      # Regex must match full string
  for q in range(len(s)):      # Iterate over all chars in a string
    for w in range(q,len(s)):  # Iterate over the rest of the chars to the right
        cur = s[q:w+1]         # Currently tested slice
        m = re.match(reg, cur) # If there is a full slice match
        if m:
            res.append(m.group(1))    # Append Group 1 value to the resulting list
  return res

rx = r'foo", "(.*?)", "bar"'
text = '"lorem ipsum", "foo", "baz", "bar", "lorem ipsum", "bar", "ipsum", "foo", "baz", "bar"'
for s in findall_overlapped(rx, text):
	print(s)