Match text between two strings with regular expression

Use re.search

>>> import re
>>> s="Part 1. Part 2. Part 3 then more text"
>>> re.search(r'Part 1\.(.*?)Part 3', s).group(1)
' Part 2. '
>>> re.search(r'Part 1(.*?)Part 3', s).group(1)
'. Part 2. '

Or use re.findall, if there are more than one occurances.

Leave a Comment