Я довольно новичок в Regex, и поэтому я уверен, что упускаю что-то очевидное, но мне нужна помощь со следующей проблемой.
Я хочу извлечь следующие строки из конкретная c подстрока. Я работаю со списком отсканированных документов, и у меня есть следующая строка примера, и я хочу извлечь все после "FORENAME"
Это то, что я сделал до сих пор:
regex = r"(?<=(FORE))[A-Z]+"
test_str = 'UNIQUE NUMBER 12345 678910 11 FROM THIS DOCUMENT | . ISSUED ON 2011-04-04 FORENAME GUIDO \\ SURNAME VAN ROSSUM. '
matches = re.finditer(regex, test_str)
for matchNum, match in enumerate(matches, start=1):
print ("Match {matchNum} was found at {start}-{end}: {match}".format(matchNum = matchNum, start = match.start(), end = match.end(), match = match.group()))
for groupNum in range(0, len(match.groups())):
groupNum = groupNum + 1
print ("Group {groupNum} found at {start}-{end}: {group}".format(groupNum = groupNum, start = match.start(groupNum), end = match.end(groupNum), group = match.group(groupNum)))
Что возвращает следующее:
Match 1 was found at 78-82: NAME
Group 1 found at 74-78: FORE
Что я хочу вернуть:
GUIDO \ SURNAME VAN ROSSUM.
Спасибо!