Home > Software engineering >  Regex: Match between multi-character repeated delimiter
Regex: Match between multi-character repeated delimiter

Time:03-14

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.']
  • Related