(* List of Russian names from mycoweb.narod.ru *) maintainRussianMycoweb := ( url = "http://mycoweb.narod.ru/fungi/Russian_list.html"; file = "mushrooms-russian-mycoweb.htm"; match0 = "\:041f\:043e\:0438\:0441\:043a \ \:0438\:0437\:043e\:0431\:0440\:0430\:0436\:0435\:043d\:0438\:0439 \ \:043d\:0430 \:0441\:0430\:0439\:0442\:0435" ~~ __ ~~ "\:0418\:0441\:043f\:043e\:043b\:044c\:0437\:0443\:044e\:0442\:0441\ \:044f \:0442\:0435\:0445\:043d\:043e\:043b\:043e\:0433\:0438\:0438"; match = RegularExpression[ "(?i)(?s)
  • \\s*(.*?)\\s*(())"]; matcha = RegularExpression[ "(?i)(?s)
  • \\s*(.{3,50}?)\\s*"]; urlsave[url, file, textcondit]; text = Import[file, "TEXT"]; text = StringCases[text, match0]; If[text === {}, Print["Error: no match: ", match0]]; text = text[[1]]; data = StringCases[text, match -> {"$1", "$2"}]; dataa = StringCases[text, matcha -> {"$2", "$1"}]; data = Join[data, dataa]; data = Table[ {name, trans} = dat; name = StringReplace[name, "_" .. -> " "]; If[Length[StringSplit[name]] == 2(*&&Length[StringSplit[ trans]]\[Equal]2*), {name, trans}, ""], {dat, data}]; data = Select[data, # =!= "" &]; data = Table[ {name, syns} = dat; syns = StringReplace[syns, RegularExpression["<.*?>"] -> ""]; {name, syns}, {dat, data}]; Print["Found ", Length[data], " names in file ", file, " -> rusnames4"]; printnames[data // TableForm]; rusnames4 = updatenames[data]; );