Wenn Sie nur die Zeichenfolge erhalten möchten, suchen Sie einfach erneut.
python
target_text = "Bisher wurden sieben Arten von "Coronaviren" gefunden, die Menschen infizieren, und eine davon ist das sogenannte "neue Coronavirus (SARS)", das seit Dezember letzten Jahres ein Problem darstellt.-CoV2) ". Von diesen machen vier Arten von Viren 10 bis 15% (35% während der Epidemie) der Erkältungen aus und die meisten sind mild. Die verbleibenden zwei Arten von Viren sind "schweres akutes respiratorisches Syndrom (SARS)", das 2002 auftrat, und "nahöstliches respiratorisches Syndrom (MERS)", das seit 2012 aufgetreten ist. Coronavirus infiziert alle Tiere, aber selten andere Tiere verschiedener Arten. Es ist auch bekannt, dass die Alkoholdesinfektion (70%) die Infektiosität verliert."
keyword = "([0-9]+)"
results = re.findall(keyword, target_text)
# ['12', '2', '10', '15', '35', '2002', '2012', '70']
Es gibt jedoch keine Funktion, die verwendet werden kann, wenn Sie alle Übereinstimmungsobjekte abrufen möchten, die mit re.search () abgerufen werden können. Schreiben Sie daher eine Funktion, die rekursiv die gesamte Zeichenfolge durchsucht.
python
import re
def search_all(regrex, target, search_start_index=0, matches=None):
if matches == None:
matches = []
match = re.search(regrex, target[search_start_index:])
if match == None:
return matches
matches.append(match)
return search_all(regrex, target, search_start_index + match.end() + 1, matches)
python
target_text = "Bisher wurden sieben Arten von "Coronaviren" gefunden, die Menschen infizieren, und eine davon ist das sogenannte "neue Coronavirus (SARS)", das seit Dezember letzten Jahres ein Problem darstellt.-CoV2) ". Von diesen machen vier Arten von Viren 10 bis 15% (35% während der Epidemie) der Erkältungen aus und die meisten sind mild. Die verbleibenden zwei Arten von Viren sind "schweres akutes respiratorisches Syndrom (SARS)", das 2002 auftrat, und "nahöstliches respiratorisches Syndrom (MERS)", das seit 2012 aufgetreten ist. Coronavirus infiziert alle Tiere, aber selten andere Tiere verschiedener Arten. Es ist auch bekannt, dass die Alkoholdesinfektion (70%) die Infektiosität verliert."
keyword = "([0-9]+)"
search_result_groups = search_all(keyword, target_text)
for item in search_result_groups:
print(item.group())
# 12
# 2
# 10
# 15
# 35
# 2002
# 2012
# 70
--Ich habe re.findall () in den Kommentaren hinzugefügt / bearbeitet. Vielen Dank.
Recommended Posts