I have a list of words such as:
l = """abca
bcab
aaba
cccc
cbac
babb
"""
I want to find the words that have the same first and last character, and that the two middle characters are different from the first/last character.
The desired final result:
['abca', 'bcab', 'cbac']
I tried this:
re.findall('^(.)..\\1$', l, re.MULTILINE)
But it returns all of the unwanted words as well. I thought of using [^...] somehow, but I couldn't figure it out. There's a way of doing this with sets (to filter the results from the search above), but I'm looking for a regex.
Is it possible?