[PYTHON] Regulärer Ausdruck der Datumsnotation

Ich dachte an reguläre Ausdrücke, die sich der japanischen Datums- und Uhrzeitnotation und der amerikanischen Datums- und Zeitnotation bewusst sind. Es mag einen Fehler geben, aber ein Memorandum. Es ist ein wenig unvernünftig für das Tag-Monat-Jahr-Format im englischen Stil, aber ich habe es nicht gesehen. Im letzten Jahr, Monat, Tag, Stunde, Minute und Sekunde konnte ich vorerst den regulären Python-Ausdruck drücken. Warum ist es so lästig? ..

Regulärer Ausdruck, der den Tag trifft

'\\s*(?:[12][0-9]|3[01]|0?[1-9])\\s*?(?:th\\s*)?[Tag\\-/\\.,]?'

Regulärer Ausdruck, der den Monat trifft

'\\s*(?:(?:1[0-2]|0?[1-9])\\s*?[Mond\\-/\\.,]?|(?:Jan(?:uary|\\.)?|Feb(?:ruary|\\.)?|Mar(?:ch|\\.)?|Apr(?:il|\\.)?|May\\.?|Jun[e|\\.]?|Jul[y|\\.]?|Aug(?:ust|\\.)?|Sep(?:tember|\\.)?|Oct(?:ober|\\.)?|Nov(?:ember|\\.)?|Dec(?:ember|\\.)?)\\s*)'

Regulärer Ausdruck, der das Jahr trifft

'\s*(?:\d{4}|[\']?\d{2})\s*[Jahr\-/\.,]?'

Regulärer Ausdruck, der das erste Jahr des japanischen Kalenders trifft (Gengo)

Von Daika nach Reiwa

'\\s*(?:[ABDEHIKM-PR-UWYZ]\\.?|[Manku Inui Ryojin Reihomoto Waka Daiten Anasu Takara Hiroju Heiyasu Nobuhiro Nobuhiro Tokuo Keisho Bunsai Masaaki Akira Akira Eiji Shirakami Shirakami][Mandschu Kame Toru Koujin Homoto Kayoshi Dowa Kika Kuniyasu Schatz Hiroshi Hira Nobu Hironori Keisei Ehrenwerter Zivilisationskalender Masatake Nagaharu Yasushi][Katsuho Kagegami]?[Charakterschatzwolke]?)\\s*?(?:\\d{1,2}|Ehemalige)[Jahr\\-/\\.,]?'

Regulärer Ausdruck, der die Stunde trifft

'\\s*(?:1[0-9]|2[0-4]||0?[0-9])\\s*?[\\.:Zeit]?'

Regulärer Ausdruck, der eine Minute trifft

'\\s*(?:[1-5][0-9]|0?[0-9])\\s*?[\\.:Protokoll]?'

Regulärer Ausdruck, der Sekunden trifft

'\\s*(?:[1-5][0-9]|0?[0-9])\\s*?(?:Sekunden|[Ss]ec(?:onds)?)?'

Regulärer Ausdruck, der den Wochentag trifft

'\\s*(?:\\(?[Sonntag Montag Dienstag Mittwoch Donnerstag Freitag Samstag](?:Tag)?\\)?|(?:Sun|Mon|Tues?|Wed(?:nes)?|Thu(?:rs)?|Fri|Sat(?:ur))(?:day)?[\\.,]?)'

Regulärer Ausdruck, der die Zeit trifft

'(?:\\s*(?:1[0-9]|2[0-4]||0?[0-9])\\s*?[\\.:Zeit]?\\s*(?:[1-5][0-9]|0?[0-9])\\s*?[\\.:Protokoll]?\\s*(?:[1-5][0-9]|0?[0-9])\\s*?(?:Sekunden|[Ss]ec(?:onds)?)??\\s*(?:[,\\.]?\\d+)?(?:\\s*(?:[+\\-]\\d{4})\\s*\\(?(?:[ABCDEFGHIJKLMNOPRSTUVWY][ABCDEFGHIJKLMNOPRSTUVWXYZ][ABCDGHKLMNORSTUVWZ][1DST][T])\\)?|\\s*(?:[+\\-]\\d{4})|\\s*\\(?(?:[ABCDEFGHIJKLMNOPRSTUVWY][ABCDEFGHIJKLMNOPRSTUVWXYZ][ABCDGHKLMNORSTUVWZ][1DST][T])\\)?)?)'

Regulärer Ausdruck, der das Datum trifft

"(?:(?:\\s*(?:\\d{4}|[']?\\d{2})\\s*[Jahr\\-/\\.,]?|\\s*(?:[ABDEHIKM-PR-UWYZ]\\.?|[Manku Inui Ryojin Reihomoto Waka Daiten Anasu Takara Hiroju Heiyasu Nobuhiro Nobuhiro Tokuo Keisho Bunsai Masaaki Akira Akira Eiji Shirakami Shirakami][Mandschu Kame Toru Koujin Homoto Kayoshi Dowa Kika Kuniyasu Schatz Hiroshi Hira Nobu Hironori Keisei Ehrenwerter Zivilisationskalender Masatake Nagaharu Yasushi][Katsuho Kagegami]?[Charakterschatzwolke]?)\\s*?(?:\\d{1,2}|Ehemalige)[Jahr\\-/\\.,]?)\\s*(?:(?:1[0-2]|0?[1-9])\\s*?[Mond\\-/\\.,]?|(?:Jan(?:uary|\\.)?|Feb(?:ruary|\\.)?|Mar(?:ch|\\.)?|Apr(?:il|\\.)?|May\\.?|Jun[e|\\.]?|Jul[y|\\.]?|Aug(?:ust|\\.)?|Sep(?:tember|\\.)?|Oct(?:ober|\\.)?|Nov(?:ember|\\.)?|Dec(?:ember|\\.)?)\\s*)\\s*(?:[12][0-9]|3[01]|0?[1-9])\\s*?(?:th\\s*)?[Tag\\-/\\.,]?\\s*(?:\\(?[TagMond火水木金土](?:曜Tag)?\\)?|(?:Sun|Mon|Tues?|Wed(?:nes)?|Thu(?:rs)?|Fri|Sat(?:ur))(?:day)?[\\.,]?)?|\\s*(?:\\(?[TagMond火水木金土](?:曜Tag)?\\)?|(?:Sun|Mon|Tues?|Wed(?:nes)?|Thu(?:rs)?|Fri|Sat(?:ur))(?:day)?[\\.,]?)?(?:\\s*(?:\\d{4}|[']?\\d{2})\\s*[Jahr\\-/\\.,]??(?:\\s*(?:(?:1[0-2]|0?[1-9])\\s*?[Mond\\-/\\.,]?|(?:Jan(?:uary|\\.)?|Feb(?:ruary|\\.)?|Mar(?:ch|\\.)?|Apr(?:il|\\.)?|May\\.?|Jun[e|\\.]?|Jul[y|\\.]?|Aug(?:ust|\\.)?|Sep(?:tember|\\.)?|Oct(?:ober|\\.)?|Nov(?:ember|\\.)?|Dec(?:ember|\\.)?)\\s*)\\s*(?:[12][0-9]|3[01]|0?[1-9])\\s*?(?:th\\s*)?[Tag\\-/\\.,]?|\\s*(?:[12][0-9]|3[01]|0?[1-9])\\s*?(?:th\\s*)?[Tag\\-/\\.,]?\\s*(?:(?:1[0-2]|0?[1-9])\\s*?[Mond\\-/\\.,]?|(?:Jan(?:uary|\\.)?|Feb(?:ruary|\\.)?|Mar(?:ch|\\.)?|Apr(?:il|\\.)?|May\\.?|Jun[e|\\.]?|Jul[y|\\.]?|Aug(?:ust|\\.)?|Sep(?:tember|\\.)?|Oct(?:ober|\\.)?|Nov(?:ember|\\.)?|Dec(?:ember|\\.)?)\\s*))|(?:\\s*(?:(?:1[0-2]|0?[1-9])\\s*?[Mond\\-/\\.,]?|(?:Jan(?:uary|\\.)?|Feb(?:ruary|\\.)?|Mar(?:ch|\\.)?|Apr(?:il|\\.)?|May\\.?|Jun[e|\\.]?|Jul[y|\\.]?|Aug(?:ust|\\.)?|Sep(?:tember|\\.)?|Oct(?:ober|\\.)?|Nov(?:ember|\\.)?|Dec(?:ember|\\.)?)\\s*)\\s*(?:[12][0-9]|3[01]|0?[1-9])\\s*?(?:th\\s*)?[Tag\\-/\\.,]?|\\s*(?:[12][0-9]|3[01]|0?[1-9])\\s*?(?:th\\s*)?[Tag\\-/\\.,]?\\s*(?:(?:1[0-2]|0?[1-9])\\s*?[Mond\\-/\\.,]?|(?:Jan(?:uary|\\.)?|Feb(?:ruary|\\.)?|Mar(?:ch|\\.)?|Apr(?:il|\\.)?|May\\.?|Jun[e|\\.]?|Jul[y|\\.]?|Aug(?:ust|\\.)?|Sep(?:tember|\\.)?|Oct(?:ober|\\.)?|Nov(?:ember|\\.)?|Dec(?:ember|\\.)?)\\s*))\\s*(?:\\d{4}|[']?\\d{2})\\s*[Jahr\\-/\\.,]?))"

Regulärer Ausdruck, der das Jahr, den Monat, den Tag, die Stunde, die Minute und die Sekunde trifft

"(?:(?:\\s*(?:\\d{4}|[']?\\d{2})\\s*[Jahr\\-/\\.,]?|\\s*(?:[ABDEHIKM-PR-UWYZ]\\.?|[Manku Inui Ryojin Reihomoto Waka Daiten Anasu Takara Hiroju Heiyasu Nobuhiro Nobuhiro Tokuo Keisho Bunsai Masaaki Akira Akira Eiji Shirakami Shirakami][Mandschu Kame Toru Koujin Homoto Kayoshi Dowa Kika Kuniyasu Schatz Hiroshi Hira Nobu Hironori Keisei Ehrenwerter Zivilisationskalender Masatake Nagaharu Yasushi][Katsuho Kagegami]?[Charakterschatzwolke]?)\\s*?(?:\\d{1,2}|Ehemalige)[Jahr\\-/\\.,]?)\\s*(?:(?:1[0-2]|0?[1-9])\\s*?[Mond\\-/\\.,]?|(?:Jan(?:uary|\\.)?|Feb(?:ruary|\\.)?|Mar(?:ch|\\.)?|Apr(?:il|\\.)?|May\\.?|Jun[e|\\.]?|Jul[y|\\.]?|Aug(?:ust|\\.)?|Sep(?:tember|\\.)?|Oct(?:ober|\\.)?|Nov(?:ember|\\.)?|Dec(?:ember|\\.)?)\\s*)\\s*(?:[12][0-9]|3[01]|0?[1-9])\\s*?(?:th\\s*)?[Tag\\-/\\.,]?\\s*(?:\\(?[TagMond火水木金土](?:曜Tag)?\\)?|(?:Sun|Mon|Tues?|Wed(?:nes)?|Thu(?:rs)?|Fri|Sat(?:ur))(?:day)?[\\.,]?)?|\\s*(?:\\(?[TagMond火水木金土](?:曜Tag)?\\)?|(?:Sun|Mon|Tues?|Wed(?:nes)?|Thu(?:rs)?|Fri|Sat(?:ur))(?:day)?[\\.,]?)?(?:\\s*(?:\\d{4}|[']?\\d{2})\\s*[Jahr\\-/\\.,]??(?:\\s*(?:(?:1[0-2]|0?[1-9])\\s*?[Mond\\-/\\.,]?|(?:Jan(?:uary|\\.)?|Feb(?:ruary|\\.)?|Mar(?:ch|\\.)?|Apr(?:il|\\.)?|May\\.?|Jun[e|\\.]?|Jul[y|\\.]?|Aug(?:ust|\\.)?|Sep(?:tember|\\.)?|Oct(?:ober|\\.)?|Nov(?:ember|\\.)?|Dec(?:ember|\\.)?)\\s*)\\s*(?:[12][0-9]|3[01]|0?[1-9])\\s*?(?:th\\s*)?[Tag\\-/\\.,]?|\\s*(?:[12][0-9]|3[01]|0?[1-9])\\s*?(?:th\\s*)?[Tag\\-/\\.,]?\\s*(?:(?:1[0-2]|0?[1-9])\\s*?[Mond\\-/\\.,]?|(?:Jan(?:uary|\\.)?|Feb(?:ruary|\\.)?|Mar(?:ch|\\.)?|Apr(?:il|\\.)?|May\\.?|Jun[e|\\.]?|Jul[y|\\.]?|Aug(?:ust|\\.)?|Sep(?:tember|\\.)?|Oct(?:ober|\\.)?|Nov(?:ember|\\.)?|Dec(?:ember|\\.)?)\\s*))|(?:\\s*(?:(?:1[0-2]|0?[1-9])\\s*?[Mond\\-/\\.,]?|(?:Jan(?:uary|\\.)?|Feb(?:ruary|\\.)?|Mar(?:ch|\\.)?|Apr(?:il|\\.)?|May\\.?|Jun[e|\\.]?|Jul[y|\\.]?|Aug(?:ust|\\.)?|Sep(?:tember|\\.)?|Oct(?:ober|\\.)?|Nov(?:ember|\\.)?|Dec(?:ember|\\.)?)\\s*)\\s*(?:[12][0-9]|3[01]|0?[1-9])\\s*?(?:th\\s*)?[Tag\\-/\\.,]?|\\s*(?:[12][0-9]|3[01]|0?[1-9])\\s*?(?:th\\s*)?[Tag\\-/\\.,]?\\s*(?:(?:1[0-2]|0?[1-9])\\s*?[Mond\\-/\\.,]?|(?:Jan(?:uary|\\.)?|Feb(?:ruary|\\.)?|Mar(?:ch|\\.)?|Apr(?:il|\\.)?|May\\.?|Jun[e|\\.]?|Jul[y|\\.]?|Aug(?:ust|\\.)?|Sep(?:tember|\\.)?|Oct(?:ober|\\.)?|Nov(?:ember|\\.)?|Dec(?:ember|\\.)?)\\s*))\\s*(?:\\d{4}|[']?\\d{2})\\s*[Jahr\\-/\\.,]?))(?:\\s+|[T:])(?:\\s*(?:[AaPp]\\.?[Mm]\\.?|Mittag[Vorherundnachher])?\\s*(?:1[0-9]|2[0-4]||0?[0-9])\\s*?[\\.:Zeit]?\\s*(?:[1-5][0-9]|0?[0-9])\\s*?[\\.:Protokoll]?\\s*(?:[1-5][0-9]|0?[0-9])\\s*?(?:Sekunden|[Ss]ec(?:onds)?)??\\s*(?:[,\\.]?\\d+)?(?:\\s*(?:[+\\-]\\d{4})\\s*\\(?(?:[ABCDEFGHIJKLMNOPRSTUVWY][ABCDEFGHIJKLMNOPRSTUVWXYZ][ABCDGHKLMNORSTUVWZ][1DST][T])\\)?|\\s*(?:[+\\-]\\d{4})|\\s*\\(?(?:[ABCDEFGHIJKLMNOPRSTUVWY][ABCDEFGHIJKLMNOPRSTUVWXYZ][ABCDGHKLMNORSTUVWZ][1DST][T])\\)?)?\\s*(?:[AaPp]\\.?[Mm]\\.?|Mittag[Vorherundnachher])?)"

OK-Muster testen

#japanischer Stil
"2001/08/24"
"24. August 2001"
"2001/08/24 20:10"
"Freitag, 24. August 2001 20:10"
"24. August 2001(Geld) 20:10"
"24. August, 1. Jahr von Reiwa PM 08:10"
"24. August, 1. Jahr von Reiwa PM08:10:"
"24. August, 1. Jahr von Reiwa 20 Uhr:10"
"Reiwa 2. Jahr 08/24 Uhr 08:10"

#Amerikanischer Stil mm-dd-yy
"08-24-2001"
"Friday, August 24th, 2001"
"Fri Aug. 24, 2001 8:10 p.m."
"Fri Aug. 24, 2001 20:10"

NG-Muster testen

#japanischer Stil
"24. August, 1. Jahr von Reiwa 8:10" ->Die Beurteilung ist seltsam, wenn Zeichen von Stunde, Minute und Sekunde eingegeben werden

#Amerikanischer Stil mm-dd-yy
"08-24-01" -> 01(hour)Es wurde beurteilt (Wie man 2001 mit einem zweistelligen Jahr schreibt ...)

Recommended Posts

Regulärer Ausdruck der Datumsnotation
Regulärer Ausdruck Gierig
Regulärer Ausdruck re
Regulärer Ausdruck in regex.h
Regulärer Ausdruck vorausschauend, nach Yomi
Python-Memo für reguläre Ausdrücke
Matching-Methode für reguläre Ausdrücke
Regulärer Ausdruck in Python
Bestätigungsquiz für reguläre Ausdrücke!
0 Konvertieren Sie nicht ausgefülltes Datum in Datums- / Uhrzeittyp mit regulärem Ausdruck
Python-Theorie regulärer Ausdruck Anmerkungen
Julia Quick Note [04] Regulärer Ausdruck
Manipulation regulärer Ausdrücke durch Python
Tool-Tool zur Überprüfung regulärer Ausdrücke
Ich habe versucht, mit Python einen regulären Ausdruck von "Datum" zu erstellen
Zerlegen Sie den Hostnamen mit co.jp mit regulärem Ausdruck
String-Ersetzung durch regulären Python-Ausdruck
100 Sprachverarbeitung klopfen 2020: Kapitel 3 (regulärer Ausdruck)
Start / End-Match im regulären Python-Ausdruck
(Python) Hinweise zum Lesen von HTML und zur Verwendung regulärer Ausdrücke
Suchen Sie den Pythonondict-Wörterbuchschlüssel nach regulären Ausdrücken