Я работаю над проектом НЛП, и у меня есть два формата ввода текста.
Формат 1:
Some line
Some line
Name is <name> random text and numbers. age is <age> random text and numbers
Some line
Формат 2:
Some line
Name
<name>. Random text and numbers
Some random line
Age
<age>. random text and numbers
Что я хочу сделать, это извлечьname
и age
из текста.Я хочу написать один тегер / регулярное выражение, которое работает в обоих форматах.Имя и возраст могут быть в любой строке.
В данный момент я хочу понять технику или библиотеку, которую я могу использовать.Я использую python-3.6 , и я счастлив использовать любую библиотеку.
Моя текущая стратегия такова: - Я планирую разделить каждую строку по символу новой строки.- Тогда для каждой строки я ищу (?:names is) (\w)
.Первый матч - имя.Это работает для первого формата.
Мой текущий код имени:
import re
Pattern = '(?:names is) (\w)'
Text ='...'.split('\n')
for t in Text:
Match = re.match(pattern, Text, re.I)
if match.group(1) is not None:
Name = match.group(1)
Однако он не работает для второго формата.Не могли бы вы дать мне знать и идеи.