Was regulärer Ausdruck in Python verwende ich, um Daten wie folgt zu entsprechen: "11/12/98"?Python Regex Match-Datum
24
A
Antwort
33
Sie für Ziffern suchen könnte durch zukunftsSchrägStriche getrennt:
In [146]: import re
In [152]: match=re.search(r'(\d+/\d+/\d+)','The date is 11/12/98')
In [153]: match.group(1)
Out[153]: '11/12/98'
Natürlich wird auch ungültige Daten übereinstimmen:
In [154]: match=re.search(r'(\d+/\d+/\d+)','The date is 99/99/99')
In [155]: match.group(1)
Out[155]: '99/99/99'
Sie könnten das Datum bestätigen strptime
(siehe unten).
Statt Regex zu verwenden, können Sie es in ein datetime.datetime
Objekt analysieren, die wahrscheinlich mehr nützlich ist:
In [140]: datetime.datetime.strptime("11/12/98","%m/%d/%y")
Out[140]: datetime.datetime(1998, 11, 12, 0, 0)
In [141]: datetime.datetime.strptime("11/12/98","%d/%m/%y")
Out[141]: datetime.datetime(1998, 12, 11, 0, 0)
In [143]: date.year
Out[143]: 1998
In [144]: date.month
Out[144]: 11
In [145]: date.day
Out[145]: 12
Um zu testen, ob eine Folge von Ziffern getrennt durch vorausSchrägStriche ein gültiges Datum darstellt , könnten Sie einen try..except
Block verwenden. Ungültige Daten werden heben ein ValueError
:
In [159]: try:
.....: datetime.datetime.strptime("99/99/99","%m/%d/%y")
.....: except ValueError as err:
.....: print(err)
.....:
.....:
time data '99/99/99' does not match format '%m/%d/%y'
1
ich die unten RE adaequat finden Datum in folgendem Format;
- 14-11-2017
- 14.11.2017
- 14 | 11 | 2017
Es Jahr 2000-2099
akzeptieren Bitte vergessen Sie nicht, am Ende $ hinzufügen, wenn nicht, akzeptieren Sie 14-11-201 oder 20177
date="13-11-2017"
x=re.search("^([1-9] |1[0-9]| 2[0-9]|3[0-1])(.|-)([1-9] |1[0-2])(.|-|)20[0-9][0-9]$",date)
x.group()
Ausgabe = '13 -11-2017 '
Verwandte Themen
- 1. Python-Regex für Python-Funktionssignaturen
- 2. Standard Regex vs Python Regex Diskrepanz
- 3. Python Fuzzy Regex mit verschachtelten oder Regex
- 4. python regex Gruppierung
- 5. python regex Probleme
- 6. Python Regex passendes Problem
- 7. Python - Tweepy Regex
- 8. Python und Regex
- 9. Regex in Python
- 10. Python Lambda mit Regex
- 11. Einfache Python Regex Substitution
- 12. Python Regex, Fixnummernabstand
- 13. Nur Python-Regex-Übereinstimmungsraum
- 14. Extract Variablen Python regex
- 15. Python Regex Teilauszug
- 16. Python Regex finden Wechselverhalten
- 17. Negative Vorschau Python Regex
- 18. Regex Schrägstrich erfassen Python
- 19. Regex oder Python
- 20. Python 3 REGEX-Hilfe
- 21. Python Regex mit devanagari
- 22. Python Liste Kreuzung - Regex
- 23. Python: Regex parallel kompilieren
- 24. Python Regex - bedingte Übereinstimmung?
- 25. Python Regex Parser
- 26. Python Regex in Listen
- 27. Python Regex Gruppierung
- 28. Python Regex übereinstimmen
- 29. Python Regex Negative Lookbehind
- 30. mehrzeilige python regex
Sorry, mein Fehler, ich habe es gegen 4 Ziffern getestet :) – Bronek