I am trying to learn regex. Currently I am stuck in this problem where I need to match between
as the delimiter
For e.g.
in="Hi how are you? I am good. "
The output must be:
I am good.
How do I write the regex pattern (in Python)?
CodePudding user response:
because the
symbol is a built-in operator in the regex, you have to use it with a backslash like \
, then make two repeats by \ {3}
and get the anything between them by .*
import re
text = "Hi how are you? I am good. "
result = re.search(r'\ {3}(.*)\ {3}', text)
if result:
print(result.group(1))
CodePudding user response:
As a first approach, we can try using re.findall
with the pattern \ {3}.*?\ {3}
:
inp = "Hi how are you? I am good. "
matches = re.findall(r'\ {3}(.*?)\ {3}', inp)
print(matches) # ['I am good.']