[PYTHON] Expression régulière de la notation de date

J'ai pensé aux expressions régulières qui tiennent compte de la notation japonaise de la date et de l'heure et de la notation américaine de la date et de l'heure. Il peut y avoir un bug, mais un mémorandum. C'est un peu déraisonnable pour le format jour-mois-année à l'anglaise, mais je ne l'ai pas vu. Au cours de la dernière année, mois, jour, heure, minute et seconde, j'ai pu utiliser l'expression régulière python pour le moment. Pourquoi est-ce si gênant? ..

Expression régulière qui frappe le jour

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

Expression régulière qui frappe le mois

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

Expression régulière qui frappe l'année

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

Expression régulière qui atteint la première année du calendrier japonais (gengo)

De Daika à Reiwa

'\\s*(?:[ABDEHIKM-PR-UWYZ]\\.?|[Manku Inui Ryojin Reihomoto Waka Daiten Anho Hiroshi Heiyasu Nobuhiro Kenhiro Tokuo Keisho Bunsai Masaaki Akira Akira Zhu Masanori Eiji Shirakami Suiko Kansada Chorei][Mandchou Kame Toru Koujin Hogenka Yoshido Kazuyoshi Kuniyasu Trésor Hirotoshi Hira Nobu Hironori Keisei Keisei Bunsei Bunmei Masatake Eiji Yasushi Shoroku Roku Fukuro Hiraku Sadako][Katsuho Kagegami]?[Nuage de trésor de personnage]?)\\s*?(?:\\d{1,2}|Ancien)[An\\-/\\.,]?'

Expression régulière qui frappe l'heure

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

Expression régulière qui frappe une minute

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

Expression régulière qui atteint les secondes

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

Expression régulière qui frappe le jour de la semaine

'\\s*(?:\\(?[dimanche Lundi Mardi Mercredi Jeudi Vendredi Samedi](?:journée)?\\)?|(?:Sun|Mon|Tues?|Wed(?:nes)?|Thu(?:rs)?|Fri|Sat(?:ur))(?:day)?[\\.,]?)'

Expression régulière qui frappe le temps

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

Expression régulière qui atteint la date

"(?:(?:\\s*(?:\\d{4}|[']?\\d{2})\\s*[An\\-/\\.,]?|\\s*(?:[ABDEHIKM-PR-UWYZ]\\.?|[Manku Inui Ryojin Reihomoto Waka Daiten Anho Hiroshi Heiyasu Nobuhiro Kenhiro Tokuo Keisho Bunsai Masaaki Akira Akira Zhu Masanori Eiji Shirakami Suiko Kansada Chorei][Mandchou Kame Toru Koujin Hogenka Yoshido Kazuyoshi Kuniyasu Trésor Hirotoshi Hira Nobu Hironori Keisei Keisei Bunsei Bunmei Masatake Eiji Yasushi Shoroku Roku Fukuro Hiraku Sadako][Katsuho Kagegami]?[Nuage de trésor de personnage]?)\\s*?(?:\\d{1,2}|Ancien)[An\\-/\\.,]?)\\s*(?:(?:1[0-2]|0?[1-9])\\s*?[Lune\\-/\\.,]?|(?: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*)?[journée\\-/\\.,]?\\s*(?:\\(?[journéeLune火水木金土](?:曜journée)?\\)?|(?:Sun|Mon|Tues?|Wed(?:nes)?|Thu(?:rs)?|Fri|Sat(?:ur))(?:day)?[\\.,]?)?|\\s*(?:\\(?[journéeLune火水木金土](?:曜journée)?\\)?|(?:Sun|Mon|Tues?|Wed(?:nes)?|Thu(?:rs)?|Fri|Sat(?:ur))(?:day)?[\\.,]?)?(?:\\s*(?:\\d{4}|[']?\\d{2})\\s*[An\\-/\\.,]??(?:\\s*(?:(?:1[0-2]|0?[1-9])\\s*?[Lune\\-/\\.,]?|(?: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*)?[journée\\-/\\.,]?|\\s*(?:[12][0-9]|3[01]|0?[1-9])\\s*?(?:th\\s*)?[journée\\-/\\.,]?\\s*(?:(?:1[0-2]|0?[1-9])\\s*?[Lune\\-/\\.,]?|(?: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*?[Lune\\-/\\.,]?|(?: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*)?[journée\\-/\\.,]?|\\s*(?:[12][0-9]|3[01]|0?[1-9])\\s*?(?:th\\s*)?[journée\\-/\\.,]?\\s*(?:(?:1[0-2]|0?[1-9])\\s*?[Lune\\-/\\.,]?|(?: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*[An\\-/\\.,]?))"

Expression régulière qui affiche l'année, le mois, le jour, l'heure, la minute et la seconde

"(?:(?:\\s*(?:\\d{4}|[']?\\d{2})\\s*[An\\-/\\.,]?|\\s*(?:[ABDEHIKM-PR-UWYZ]\\.?|[Manku Inui Ryojin Reihomoto Waka Daiten Anho Hiroshi Heiyasu Nobuhiro Kenhiro Tokuo Keisho Bunsai Masaaki Akira Akira Zhu Masanori Eiji Shirakami Suiko Kansada Chorei][Mandchou Kame Toru Koujin Hogenka Yoshido Kazuyoshi Kuniyasu Trésor Hirotoshi Hira Nobu Hironori Keisei Keisei Bunsei Bunmei Masatake Eiji Yasushi Shoroku Roku Fukuro Hiraku Sadako][Katsuho Kagegami]?[Nuage de trésor de personnage]?)\\s*?(?:\\d{1,2}|Ancien)[An\\-/\\.,]?)\\s*(?:(?:1[0-2]|0?[1-9])\\s*?[Lune\\-/\\.,]?|(?: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*)?[journée\\-/\\.,]?\\s*(?:\\(?[journéeLune火水木金土](?:曜journée)?\\)?|(?:Sun|Mon|Tues?|Wed(?:nes)?|Thu(?:rs)?|Fri|Sat(?:ur))(?:day)?[\\.,]?)?|\\s*(?:\\(?[journéeLune火水木金土](?:曜journée)?\\)?|(?:Sun|Mon|Tues?|Wed(?:nes)?|Thu(?:rs)?|Fri|Sat(?:ur))(?:day)?[\\.,]?)?(?:\\s*(?:\\d{4}|[']?\\d{2})\\s*[An\\-/\\.,]??(?:\\s*(?:(?:1[0-2]|0?[1-9])\\s*?[Lune\\-/\\.,]?|(?: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*)?[journée\\-/\\.,]?|\\s*(?:[12][0-9]|3[01]|0?[1-9])\\s*?(?:th\\s*)?[journée\\-/\\.,]?\\s*(?:(?:1[0-2]|0?[1-9])\\s*?[Lune\\-/\\.,]?|(?: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*?[Lune\\-/\\.,]?|(?: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*)?[journée\\-/\\.,]?|\\s*(?:[12][0-9]|3[01]|0?[1-9])\\s*?(?:th\\s*)?[journée\\-/\\.,]?\\s*(?:(?:1[0-2]|0?[1-9])\\s*?[Lune\\-/\\.,]?|(?: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*[An\\-/\\.,]?))(?:\\s+|[T:])(?:\\s*(?:[AaPp]\\.?[Mm]\\.?|Lemidi[Avantetaprès])?\\s*(?:1[0-9]|2[0-4]||0?[0-9])\\s*?[\\.:Temps]?\\s*(?:[1-5][0-9]|0?[0-9])\\s*?[\\.:Minutes]?\\s*(?:[1-5][0-9]|0?[0-9])\\s*?(?:Secondes|[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]\\.?|Lemidi[Avantetaprès])?)"

Tester le motif OK

#Style japonais
"2001/08/24"
"24 août 2001"
"2001/08/24 20:10"
"Vendredi 24 août 2001 20:10"
"24 août 2001(Argent) 20:10"
"24 août, 1ère année de Reiwa PM 08:10"
"24 août, 1ère année de Reiwa PM08:10:"
"24 août, 1ère année de Reiwa 20h:10"
"Reiwa 2e année 08/24 h 08:10"

#Style américain mm-dd-yy
"08-24-2001"
"Friday, August 24th, 2001"
"Fri Aug. 24, 2001 8:10 p.m."
"Fri Aug. 24, 2001 20:10"

Tester le motif NG

#Style japonais
"24 août, 1ère année de Reiwa 8h10" ->Le jugement est étrange lorsque les caractères des heures, des minutes et des secondes sont saisis

#Style américain mm-dd-yy
"08-24-01" -> 01(hour)Il a été jugé être (Comment écrire 2001 avec une année à 2 chiffres ...)

Recommended Posts

Expression régulière de la notation de date
Expression régulière gourmande
Expression régulière re
Expression régulière dans regex.h
Expression régulière look-ahead, after-yomi
mémo d'expression régulière python
Méthode de correspondance d'expression régulière
Expression régulière en Python
Quiz de confirmation d'expression régulière!
0 Convertir une date non remplie en type datetime avec une expression régulière
Notes sur l'expression régulière de la théorie Python
Julia Quick Note [04] Expression régulière
Manipulation d'expressions régulières par Python
Résumé de l'outil de vérification des expressions régulières
J'ai essayé de créer une expression régulière de "date" en utilisant Python
Décomposer le nom d'hôte avec co.jp avec une expression régulière
Remplacement de chaîne par une expression régulière Python
100 Language Processing Knock 2020: Chapitre 3 (expression régulière)
Match de début / fin dans l'expression régulière python
(Python) Remarques sur la lecture de HTML et l'utilisation d'expressions régulières
Rechercher une clé de dictionnaire pythondict par expression régulière