У меня есть файл .txt, из которого я должен получить имя и возраст.Файл .txt содержит данные в следующем формате:
Age: 71 . John is 47 years old. Sam; Born: 05/04/1989(29).
Kenner is a patient Age: 36 yrs Height: 5 feet 1 inch; weight is 56 kgs.
This medical record is 10 years old.
Output 1: John, Sam, Kenner
Output_2: 47, 29, 36
Я использую регулярное выражение для извлечения данных.Например, для возраста я использую следующие регулярные выражения:
re.compile(r'age:\s*\d{1,3}',re.I)
re.compile(r'(age:|is|age|a|) \s*\d{1,3}(\s|y)',re.I)
re.compile(r'.* Age\s*:*\s*[0-9]+.*',re.I)
re.compile(r'.* [0-9]+ (?:year|years|yrs|yr) \s*',re.I)
Я буду применять другое регулярное выражение к выводу этих регулярных выражений для извлечения чисел.Проблема с этими регулярными выражениями, я также получаю данные, которые мне не нужны.Например,
This medical record is 10 years old.
Я получаю 10 из вышеприведенного предложения, которое мне не нужно.Я только хочу извлечь имена людей и их возраст.Я хочу знать, какой должен быть подход?Буду признателен за любую помощь.