import re
def normalize_intervals_to_2_digits(match):
input_text_substring = match.group()
input_text_substring = re.sub(r"(\b\d)(?!\d)", r"0\1", input_text_substring, 2)
return input_text_substring
#Examples:
input_text = "hay 4 objetos los 3 primeros dias del mes de enero del 2020" #example 1
input_text = "hay que ir alli los 10 ultimos dias del mes de julio del 2022" #example 2
input_text = "suelen ser algo frios los primeros dias del mes de noviembre" #example 3
input_text = "hay que plantar 5 calabazas los ultimos dias del mes de octubre del 2021" #example 4
#month data dictionaries
es_month_dict = {"enero": "01", "febrero": "02", "marzo": "03", "abril": "04", "mayo": "05", "junio": "06", "julio": "07", "agosto": "08", "septiembre": "09", "octubre": "10", "noviembre": "11", "diciembre": "12"}
quantity_days_associated_to_month_num = { "01":"01_to_31", "02":"01_to_28", "03":"01_to_31", "04":"01_to_30", "05":"01_to_31", "06":"01_to_30", "07":"1_to_31", "08":"01_to_31", "09":"01_to_30", "10":"01_to_31", "11":"01_to_30", "12":"01_to_31" }
last_day_of_this_month = .replace("01_to_","") #for example, "01_to_31" --> "31"
#here do the day's replacements...
input_text_substring = re.sub( , , input_text)
input_text_substring = re.sub(r"\(\d{1,2} -- \d{1,2}\)", normalize_intervals_to_2_digits, input_text)
print(repr(input_text)) #output
Day's string conversion rules according to the month they belong to:个
其中n
是一个通用数字\d{1,2}
:
"los primeros n dias" ---> (01 -- 0n)
个
"los ultimos n dias" ---> (last_day_of_this_month - n -- last_day_of_this_month)
个
或者以5为标准,如果没有明确指出一个数字,那么我们将假设n = 5
天:
"los primeros dias" ---> (01 -- 05)
个
"los ultimos dias" ---> (last_day_of_this_month - 5 -- last_day_of_this_month)
个
前correct outputs名应该是:
"hay 4 objetos los (01 -- 03) del mes de enero del 2020" #for the example 1
"hay que ir alli los (20 -- 30) del mes de julio del 2022" #for the example 2, 30 - 10 = 20
"suelen ser algo frios los (01 -- 05) del mes de noviembre" #for the example 3
"hay que plantar 5 calabazas (26 -- 31) del mes de octubre del 2021" #for the example 4, 31 - 5 = 26
我如何才能将词典es_month_dict
中的数据与词典quantity_days_associated_to_month_num
中的数据链接起来,以建立输入字符串中替换的逻辑?