I have the following line:
I _ foo and _
I want to match anything (case insensitive) that matches the text and has a words that replace the underscores e. g.
I want foo and bar I implemented foo and foo i use Foo and bar
So in this case I want to get the whole sentences back: ["I want foo and bar", "I implemented foo and foo", "i use Foo and bar"]
To be honest, I don’t have any idea.
Advertisement
Answer
import re strings = [ "I want foo and bar", "I implemented foo and foo", "i use Foo and bar" ] for string in strings: fw, sw = re.search(r"i (.+?) foo and (.+?)(?:s|$)", string, flags=re.I).groups() print("first word:", fw) print("second word:", sw)
Where flags=re.I
is needed for case insensitivity.