Ich habe den folgenden Code zu extrahieren die DatenVerwendung von Python und Regex verschiedene Formate von Terminen
import re
date_reg_exp2 = re.compile(r'\d{2}([-/.])(\d{2}|[a-zA-Z]{3})\1(\d{4}|\d{2})|\w{3}\s\d{2}[,.]\s\d{4}')
matches_list = date_reg_exp2.findall("23-SEP-2015 and 23-09-2015 and 23-09-15 and Sep 23, 2015")
print matches_list
Der Ausgang I ist
["23-SEP-2015","23-09-2015","23-09-15","Sep 23, 2015"]
Was ich erhalte ist erwarten zum Spiel:
[('-', 'SEP', '2015'), ('-', '09', '2015'), ('-', '09', '15'), ('', '', '')]
Bitte überprüfen Sie den Link für regex
here.
Ich denke, Ihre erste '(' an der falschen Stelle sein kann - die ersten beiden Zahlen nicht erfasst werden, die erste was Sie gesagt haben, es zu erfassen ist die '[- /.]' Sequenz –
Wirklich, es ist etwas schwierig für Regex, das zu tun ... was ist nur zu verwenden '" 23-SEP-2015 und 23-09-2015 und 23-09-15 und 23.09.2015 ".split ('and')' in diesem Fall? –
In diesem Fall funktioniert es, aber die Eingabezeichenfolge ist nicht wirklich durch 'und' getrennt. Es kann sein "Diese Zeichenfolge ist 23-09-2015 und es kann auch etwas sein". Ich brauche eine Übereinstimmung sagen '['23 -09-2015 ']' –