Ich versuche, eine Funktion zu machen, die nur den zweistelligen Interger aus einem bestimmten Regex-Ausdruck extrahiert.Wie kann ich eine zweistellige Zahl aus einem Satz mit Regex-Ausdruck extrahieren?
def extract_number(message_text):
regex_expression = 'What are the top ([0-9]{2}) trends on facebook'
regex= re.compile(regex_expression)
matches = regex.finditer(message_text)
for match in matches:
return match.group()
# if there were no matches, return None
return None
So dass, wenn ich drucken
message_text= 'What are the top 54 trends on facebook today'
print(extract_number(message_text))
Ich werde die Nummer 54. bekommen Wenn ich folgendes unter schreibe, bekomme ich die unabhängig von Charakter, den ich setzen in (. +) ... Warum funktioniert es nicht für Zahlen?
def extract_number(message_text):
regex_expression = 'What are the top (.+) trends on facebook'
regex= re.compile(regex_expression)
matches = regex.finditer(message_text)
for match in matches:
return match.group()
message_text= 'What are the top fifty trends on facebook today'
print(extract_number(message_text))
Da es nur eine Zahl in der Zeichenfolge, Verwendung 'ist (\ d +) 'um eine Nummer daraus zu extrahieren und mit der ersten erfassten Gruppe darauf zuzugreifen. Hier ist [Demo] (https://regex101.com/r/NJew3u/1) – Tushar
Verwenden Sie den ersten Code, ich habe "Was sind die Top-54-Trends auf Facebook", nicht "54", – EvanL00