Изменения

дополнение
Строка 59: Строка 59:     
local pattern = { -- для распознавания дат, переданных одним строчным параметром
 
local pattern = { -- для распознавания дат, переданных одним строчным параметром
{"(-?%d%d%d%d)[-%.%s/\\](%d%d)[-%.%s/\\](%d%d)",  ["order"] = {3,2,1} },  -- yyyy mm dd
+
{"(-?%d%d%d%d?)[-%.%s/\\](%d%d)[-%.%s/\\](%d%d)",  ["order"] = {3,2,1} },  -- yyyy mm dd
{"(%d+)[-%.%s/\\](%d+)[-%.%s/\\](%d%d%d%d)", ["order"] = {1,2,3} }, -- dd mm yyyy
+
{"(%d+)[-%.%s/\\](%d+)[-%.%s/\\](%d%d%d%d?)", ["order"] = {1,2,3} }, -- dd mm yyyy
{"(%d%d)[-%.%s/\\](%d%d%d%d)", ["order"] = {2,3} }, -- mm yyyy
+
{"(%d%d)[-%.%s/\\](%d%d%d%d?)", ["order"] = {2,3} }, -- mm yyyy
{"(%d%d%d%d)[-%.%s/\\](%d%d)", ["order"] = {3,2} }, -- yyyy mm
+
{"(%d%d%d%d?)[-%.%s/\\](%d%d)", ["order"] = {3,2} }, -- yyyy mm
{"(%d+)%s(%l+)%s(%d%d%d%d)", ["order"] = {1,2,3} }, -- d mmm y
+
{"(%d+)%s(%l+)%s(%d%d%d%d?)", ["order"] = {1,2,3} }, -- d mmm y
{"(%l+)%s(%d%d%d%d)", ["order"] = {2,3} }, -- mmm y
+
{"(%l+)%s(%d+),?%s(%d%d%d%d?)", ["order"] = {2,1,3} }, -- mmm d, y
 +
{"(%l+)%s(%d%d%d%d?)", ["order"] = {2,3} }, -- mmm y
 
}
 
}
   Строка 307: Строка 308:  
local error_data = {}
 
local error_data = {}
 
for i=1, #pattern do
 
for i=1, #pattern do
local result_1, result_2, result_3 = mw.ustring.match(date_string,pattern[i][1])
+
local result_1, result_2, result_3 = mw.ustring.match(mw.ustring.lower(date_string),pattern[i][1])
 
if (result_1 or "") > "" then
 
if (result_1 or "") > "" then
 
out_date_str[pattern[i].order[1]] = result_1
 
out_date_str[pattern[i].order[1]] = result_1
Анонимный участник