Участник:X0stark69/Annex.js

// здесь ваши замены, шаблон — r(/ /g, '');

// излишняя викификация
r(/\[\[(болото|озеро|водохранилище|дождь|снег|берег|дно|водо[ёе]м|ручей|водосбор|русло|речное русло|русло реки)\|([а-яё ]+)\]\]/gi, '$2');
r(/\[\[(болото|озеро|водохранилище|дождь|снег|берег|дно|водо[ёе]м|ручей|водосбор|русло|речное русло)\]\]/gi, '$1');
r(/\[\[(растени[ея]|водоросли|ареал|рыба|холм|флора|фауна|вода|уровень моря|населённый пункт)\|([а-яё ]+)\]\]/gi, '$2');
r(/\[\[(растени[ея]|водоросли|ареал|рыба|холм|флора|фауна|вода|уровень моря|населённый пункт)\]\]/gi, '$1');
r(/\[\[(мост|город|протока|водоток|ущелье|село|деревня|дорога|лес|дерево|кустарник|мыс|юг|север|запад|восток)\|([а-яё ]+)\]\]/gi, '$2');
r(/\[\[(мост|город|протока|водоток|ущелье|село|деревня|дорога|лес|дерево|кустарник|мыс)\]\]/gi, '$1');
r(/\[\[((?:кило)?метр|гектар|луг|площадь|объ[ёе]м|ширина|длина|побережье|гор[аы]|дамба|плотина|порт|долина|равнина)\|([а-яё ]+)\]\]/gi, '$2');
r(/\[\[((?:кило)?метр|гектар|луг|площадь|объ[ёе]м|ширина|длина|побережье|гор[аы]|дамба|плотина|порт|долина|равнина)\]\]/gi, '$1');
r(/\[\[(трава|процент|пляж|отдых|туризм|человек|птицы|насекомые|млекопитающие|животные)\|([а-яё ]+)\]\]/gi, '$2');
r(/\[\[(трава|процент|пляж|отдых|туризм|человек|птицы|насекомые|млекопитающие|животные)\]\]/gi, '$1');
r(/\[\[(л[её]д|зима|весна|осень|лето|море|полуостров|пролив|баржа|пруд|исток|устье)\|([а-яё ]+)\]\]/gi, '$2');
r(/\[\[(л[её]д|зима|весна|осень|лето|море|полуостров|пролив|баржа|пруд|исток|устье)\]\]/gi, '$1');
r(/\[\[(высота над уровнем моря|биологический вид)\|([а-яё ]+)\]\]/gi, '$2');
r(/\[\[(ноябрь|декабрь|январь|февраль|март|апрель|май|июнь|июль|август|сентябрь|октябрь)\|([а-яё ]+)\]\]/gi, '$2');
r(/\[\[(ноябрь|декабрь|январь|февраль|март|апрель|май|июнь|июль|август|сентябрь|октябрь)\]\]/gi, '$1');
r(/\[\[[Уу]стье( реки)?\|([А-яё ]+)\]\]/g, '$2');
r(/\[\[[Уу]стье( реки)?(\|(У|у)сть(е|я|ю)( реки)?)?\]\]/g, '$3сть$4$5');

r(/\[\[Аркуль\]\]/g, '[[Аркуль (посёлок городского типа)|Аркуль]]');

//притоки
		if (txt.indexOf('{{Река') > -1) {
			r(/\* [Вв]\s(\d+)\sкм от устья,? по (пр|л)[ае]вому берегу(?: реки)? впадает река (.+?)\.?\n/g, '* $1 км: $3 ($2)\n');
			r(/(км от устья),? по (лев|прав)ому берегу(?: реки)? впадает река /g, '$1 впадает $2ый приток ');
		}
		
//Топонимы Татарстана
		if (txt.indexOf('toponym') > -1) {
			r(/'''([А-Я][А-яЁё0-9а́-и́ -]+)'''([^]*)>[^<]*toponym\.antat\.ru\/ru\/node.+?</g, '\'\'\'$1\'\'\'$2>{{КТРТ||$1|2022-08-07||}}<');
		}

//Кадастр
		if (txt.indexOf('Portal') > -1) {
			r(/\]\]<[^<]*maps\.rosreestr\.ru\/Portal[^>]*?>/g, ']]');
		}
//строчки
		r(/\}\}[\s\n]*(''')/g, '}}\n$1');
		r(/\}\}[\s\n]*(\{\{другие значения)/g, '}}$1');
		r(/{{Примечания}}/g, '{{примечания}}');
		r(/({{примечания}})\n?{{/g, '$1\n\n{{');
		r(/ }}\n?\s*(\[\[Категория:)/g, '}}\n\n$1');
		r(/}}\n?\s*(\[\[Категория:)/g, '}}\n\n$1');

//БРЭ
		r(/>[^'>]*''([^'>]+)''[^'<>]*bigenc\.ru\/[a-z_]+\/text\/([\d]+) ([^\[]+)?\][^<]*</g, '>{{БРЭ |статья= $3|id=$2 |автор= $1|год= }}<');
		r(/>[^>]*bigenc\.ru\/[a-z_]+\/text\/([\d]+) ([^\[]+)?\][^<]*</g, '>{{БРЭ |статья= $2|id=$1 |автор= |год= }}<');
		r(/>[^>]*?(?:\|author *= *([^\|]+)).*?bigenc\.ru\/[a-z_]+\/text\/([\d]+)[^<]*?\|title *= *([^\|\\\/•]+)[^<]*?\|[^<]*</g, '>{{БРЭ |статья= $3|id= $2 |автор= $1|год= }}<');
		r(/>[^>]*?bigenc\.ru\/[a-z_]+\/text\/([\d]+)[^<]*?\|title *= *([^\|•]+)[^<]*?\|[^<]*</g, '>{{БРЭ |статья= $2|id= $1 |автор= |год= }}<');
		r(/\n.*\[.*bigenc\.ru\/[a-z_]+\/text\/([\d]+) ([^\[]+)?\].*\n/g, '\n* {{БРЭ |статья= $2|id=$1 |автор= |год= }}\n');
		r(/\n.*?(?:\|author *= *([^\|]+)).*?bigenc\.ru\/[a-z_]+\/text\/([\d]+).*?\|title *= *([^\|\\\/•]+).*?\|.*\n/g, '\n* {{БРЭ |статья= $3|id=$2 |автор= $1|год= }}\n');
		r(/>[^>]*?bigenc\.ru\/[a-z_]+\/text\/([\d]+)[^<]*?\|заглавие *= *([^}\|•]+).*?[}\|][^<]*</g, '>{{БРЭ |статья= $2|id= $1 |автор= |год= }}<');

//Британника r(/ /g, ''); url потом title иначе ломает
		r(/>[^>]*?https?:\/\/(?:www\.)?britannica\.com\/[^ \|\d]+\/([\d]+)[^<]+?title *= *([^}\|]+)[^<]*</g, '>{{Британника онлайн|$1|$2|2022-09-21}}<');
		r(/>[^>]*\|url *= *(https?:\/\/(?:www\.)?britannica\.com[^ \|]+)[^<]+?title *= *([^}\|]+)[^<]*</g, '>{{Британника онлайн|$1|$2|2022-09-21}}<');
		r(/>[^>]*?https?:\/\/(?:www\.)?britannica\.com\/[^ \|\d]+\/([\d]+)[^}\|\]]+? (.*?)\][^<]*</g, '>{{Британника онлайн|$1|$2|2022-09-21}}<');
		r(/>[^>]*\[(https?:\/\/(?:www\.)?britannica\.com[^ ]+) (.*?)\][^<]*</g, '>{{Британника онлайн|$1|$2|2022-09-21}}<');
		r(/\n.*?https?:\/\/(?:www\.)?britannica\.com\/[^ \|\d]+\/([\d]+).+?title *= *([^}\|]+).*\n/g, '\n* {{Британника онлайн|$1|$2|2022-09-21}}\n');
		r(/\n.*?\|url *= *(https?:\/\/(?:www\.)?britannica\.com[^ \|]+).+?title *= *([^}\|]+).*\n/g, '\n* {{Британника онлайн|$1|$2|2022-09-21}}\n');
		r(/\n.*?https?:\/\/(?:www\.)?britannica\.com\/[^ \|\d]+\/([\d]+)[^}\|\]]+? (.*?)\].*\n/g, '\n* {{Британника онлайн|$1|$2|2022-09-21}}\n');
		r(/\n.*?\[(https?:\/\/(?:www\.)?britannica\.com[^ ]+) (.*?)\].*\n/g, '\n* {{Британника онлайн|$1|$2|2022-09-21}}\n');
	
	
//Canadaian encyclopedia
		r(/>[^>]*?url *= *https?:\/\/(?:www\.)?thecanadianencyclopedia\.[^<]+?title *= *([^}\|]+)[^<]*</g, '>{{The Canadian Encyclopedia|$1|2022-09-21}}<');
		r(/\n.*?url *= *https?:\/\/(?:www\.)?thecanadianencyclopedia\.[^<]+?title *= *([^}\|]+).*\n/g, '\n* {{The Canadian Encyclopedia|$1|2022-09-21}}\n');
		
//wldb
		r(/>[^>]*?url *= *https?:\/\/wldb\.ilec\.or\.jp[^<]+?title *= *([^}\|]+)[^<]*</g, '>{{WLDB||$1|2022-09-21}}<');
		r(/\n.*?url *= *https?:\/\/wldb\.ilec\.or\.jp[^<]+?title *= *([^}\|]+).*\n/g, '\n* {{WLDB||$1|2022-09-21}}\n');
	
		
//ускорение для себя
//форматирование шаблона Книга
/*r(/{{[Кк]нига[^\:][^\}]+?({{|}})/g, function ( line ) {

			line = line.replace(/\|[\s]+/g, '|');//для упрощения регулярок ниже
			
			//вставить недостающие параметры
			if (line.match(/\|язык *=/) === null) {
				line = line.replace(/\|заглавие/g, '|язык = |заглавие');
			}
			line = line.replace(/\|язык *= *(mis|und|[А-яЁё])?/g, '|язык = ');//вычистка кода отсутствия языка и ложного заполнения

			var label = line.match(/\|заглавие *= *([^\|\n\}]+)/);

			if (label !== null && label[1].trim() !== '') {

				if (line.replace(/\|язык *= *[\|\}\n]/g, '') != line) {

					label = label[1].trim();
					var label_r = label.replace(/[,\:\;\!\?\"\'«»\&…%\s\-\–\—\.\(\)\{\}\[\]\|0-9IVX]/g, '');//убрать пунктуацию и цифры

					 if (label_r.replace(/[А-яЁё№]/g, '') === '') {
							line = line.replace(/(\|язык *= *)/g, '$1ru ');
					}
				}
			}
			return line;
		});*/
			

//форматирование шаблона Cite web
/*r(/{{[Cc]ite web[^\}]+?}}/g, function ( line ) {
			line = line.replace(/\|[\s]+/g, '|');//для упрощения регулярок ниже
			
			//вставить недостающие параметры
			if ( line.indexOf( '|author' ) === -1 ) {
				line = line.replace(/({{[Cc]ite web *)/g, '$1|author = ');
			}

			if ( line.indexOf( '|lang' ) === -1 ) {
				line = line.replace(/(\|author *=[^\n\|\}]*)([\n\|\}])/g, '$1|lang = $2');
			}

			var label = line.match(/\|title *= *([^\|\n\}]+)/);

			if (label !== null && label[1].trim() !== '') {

				if (line.replace(/\|lang *= *[\|\}\n]/g, '') != line) {

					label = label[1].trim();
					var label_r = label.replace(/[,\:\;\!\?\"\'«»\&…%\s\-\–\—\.\(\)\{\}\[\]\|0-9IVX]/g, '');//убрать пунктуацию и цифры

					 if (label_r.replace(/[А-яЁё№]/g, '') === '') {
							line = line.replace(/(\|lang *= *)/g, '$1ru ');
					}
				}
			}
			return line;
		});*/

//мелочи типографики
		r(/(\d)\s*<sup>[oо0˚°º]<\/sup>\s*[CС]/g, '$1 °C');
		r(/(\d)\s*<sup>[oо0˚°º]<\/sup>\s*?[CС]?/g, '$1 °C');
		r(/[˚º]\s*[CС]/g, '°C');
		r(/([^−][\d,]+)\s*(?:°)?(?:C)?\s*(?:<math>\\div<\/math>|[÷-])\s*([\d,]+)\s*°[CС]/g, '$1—$2 °C');
		r(/мин\.\s*—\s*(\d\d)С/g, 'мин. −$1 °C');
		r(/\+\s+([\d,]+)\s+°C/g, '+$1 °C');
		r(/(?<=[а-я])\+\s*([\d,]+)\s*°C/g, ' +$1 °C');
		r(/\(-([\d,]+\s+°C)/g, '(−$1');
		r(/(?<=[й:]\s+)[—-] ([\d,]+\s+°C)/g, '−$1');
		r(/(?<=[й:]\s+)[—-] ([\d,]+)\s+[÷-]+([\d,]+)\s+°C/g, '−$1…−$2 °C');
		r(/(?<=[а-я])[−-]\s(\d[\d,]*\s+°C)/g, ' −$1');
		r(/(?<=[а-я])([—-])(?=\s+[\dА-я])/g, ' $1');
		r(/(?<=\s+)([—-])(?=[А-я])/g, '$1 ');
		r(/(\d+)°С/g, '$1 °C');
		r(/−([\d,]+)\s*(?:°)?(?:C)?\s*(?:<math>\\div<\/math>−?|[−—÷-]+)\s*([\d,]+)\s*°[CС]/g, '−$1…−$2 °C');
		r(/минус ([\d,]+) градусов/g, '−$1 °C');
		r(/плюс ([\d,]+) градусов/g, '+$1 °C');

		r(/;\s*Климат[\n\s]+умеренно/g, ';Климат\nКлимат умеренно');
        r(/ Среднегодовая температура[-\s][\d,]+\s*[CС]?\s*[—÷][\d,]+\s+°C\./g, '');
		r(/тепл(ая|ое|ые|ый|ым|ого|ому|ом)/g, 'тёпл$1');
		r(/(П|п)оселк(а|е|у|ом)/g, '$1осёлк$2');
		r(/ причем/g, ' причём');
		r(/умеренно\s*[—-]\s*континентальн/g, 'умеренно континентальн');
		r(/умеренно-(?=[а-я])/g, 'умеренно ');
		r(/весенне\s+[—-]\s+лет/g, 'весенне-лет');
		r(/(север|юг|запад|восток)-(северо|юго)-(восто[кч]|запад)/g, '$1о-$2-$3');
		r(/(север|юг|запад|восток) (от районного центра) (пос|села|города|деревн)/g, '$1 $2 — $3');

		r(/(\d\d\d\d)(г{1,2}) /g, '$1 $2. ');
		r(/''' ([А-Я][А-яЁё0-9 -]+) '''/g, '\'\'\'$1\'\'\'');
		r(/'''([А-Я][А-яЁё0-9 -]+) '''\s/g, '\'\'\'$1\'\'\' ');
		r(/''' ([А-Я][А-яЁё0-9 -]+)'''\s/g, '\'\'\'$1\'\'\' ');
		r(/\' ?— ?([а-я])/g, '\' — $1');
		r(/=  ([А-я0-9])/g, '= $1');
		r(/  =([А-я0-9])/g, '  = $1');
//		r(/(1[6-9]\d\d|2002)—(\d{2,3}[^\d])/g, '$1 — $2');
		r(/(1[6-9]\d\d)—(\d\d\d\d[,<])/g, '$1 — $2');
		r(/(1[6-9]\d\d) (\d\d+) и (\d+)/g, '$1 — $2 и $3');
		r(/в (1[6-9]\d\d)\s(\d+) жител/g, 'в $1 — $2 жител');
		r(/(\d{2,4}) в (2[01]\d\d[\.,<])/g, '$1 — в $2');
		r(/(в 2002)\s−\s(\d+)/g, '$1 — $2');
		
		r(/ (\d)&nbsp;(\d\d\d)/g, ' $1$2');
		r(/({{ref-[a-z][a-z]}})\]/g, ']$1');
		r(/\n *\| *CoordScale *= *<!--[^\n\|]+/g, '');
		r(/(?<=\n) *\| *цифровой идентификатор 2 *= *\n/g, '');

//века
		r(/ (Х|X){2}(І|I)/g, ' XXI'); //21
		r(/(Х|X)(Х|X)(І|I)\]\]/g, 'XXI]]'); //21
		r(/ (Х|X)(Х|X)/g, ' XX'); //20
		r(/(Х|X)(Х|X)\]\]/g, 'XX]]'); //20
		r(/([\|–—-])ХХ/g, '$1XX'); //20,21
		r(/XXХ/g, 'XXX'); // три Х
		r(/ (Х|X)(І|I)(Х|X)/g, ' XIX'); //19
		r(/Х(І|I)Х\]\]/g, 'XIX]]'); //19
		r(/ (Х|X)V(І|I){3}/g, ' XVIII'); //18
		r(/(Х|X)V(III|ІІІ)\]\]/g, 'XVIII]]'); //18
		r(/ (Х|X)V(І|I){2}/g, ' XVII'); //17
		r(/(Х|X)V(II|ІІ)\]\]/g, 'XVII]]'); //17
		r(/ (Х|X)V(І|I)/g, ' XVI'); //16
		r(/(Х|X)V(І|I)\]\]/g, 'XVI]]'); //16
		r(/ ХV/g, ' XV'); //15
		r(/ХV\]\]/g, 'XV]]'); //15
		r(/ (Х|X)(I|І)V/g, ' XIV'); //14
		r(/ХIV\]\]/g, 'XIV]]'); //14
		r(/ (Х|X)(І|I){3}/g, ' XIII'); //13
		r(/(Х|X)(III|ІІІ)\]\]/g, 'XIII]]'); //13
		r(/ (Х|X)(І|I){2}/g, ' XII'); //12
		r(/(Х|X)(II|ІІ)\]\]/g, 'XII]]'); //12
		r(/ (Х|X)(І|I)/g, ' XI'); //11
		r(/(Х|X)(I|І)\]\]/g, 'XI]]'); //11
		r(/ (І|I)(Х|X)/g, ' IX'); //9
		r(/(I|І)(Х|X)\]\]/g, 'IX]]'); //9
		r(/ Х( [а-фц-я]|[–—-][^А-ФЦ-Я]|, [^У-ФЦ-Ях])/g, ' X$1'); //10
		r(/век\|Х( *[а-я]*)\]\]/g, 'век|X$1]]'); //10
		r(/([XVI][–—-])Х /g, '$1X'); //10
		r(/([\|–—-])Х([XVI]+)/g, '$1X$2'); //11-18
		r(/([\|–—-])ХIХ/g, '$1XIX'); //19

//рыбы
		r(/\[\[([Пп])лотва\]/g, '[[Обыкновенная плотва|$1лотва]');
		r(/\[\[([Кк])арп\]\]/g, '[[Сазан|$1арп]]');
		
//вставка карта для истока и устья
		if (txt.indexOf('{{нет АИ 2|Высота') > -1) {
				if (confirm('заменить запрос АИ2 на шаблон карты?')) {
						r(/{{нет АИ 2\|Высота (истока|устья) — ([\d,]+) м над уровнем моря.\|(?:\d){1,2}\|(?:\d){1,2}\|\d\d\d\d}}/g, 'Высота $1 — $2 м над уровнем моря<ref>{{карта|}}</ref>.');
						r(/{{нет АИ 2\|Высота над уровнем моря — ([\d,]+) м.\|(?:\d){1,2}\|(?:\d){1,2}\|\d\d\d\d}}/g, 'Высота над уровнем моря — $1<ref>{{карта|}}</ref>.');
				}
		}

//латкир
		r(/(([^ກ])a([а-яёўґєіїј][а-яёўґєіїј])|([А-яЁёІЎіўҐЄІЇґєії])a([а-яёўґєіїј])|([А-яЁёІЎіўҐЄІЇґєії][а-яёўґєіїј])a([^ກ]))/g, '$2$4$6а$3$5$7');
		r(/(([^ກ])c([а-яёўґєіїј][а-яёўґєіїј])|([А-яЁёІЎіўҐЄІЇґєії])c([а-яёўґєіїј])|([А-яЁёІЎіўҐЄІЇґєії][а-яёўґєіїј])c([^ກ]))/g, '$2$4$6с$3$5$7');
		r(/(([^ກ])e([а-яёўґєіїј][а-яёўґєіїј])|([А-яЁёІЎіўҐЄІЇґєії])e([а-яёўґєіїј])|([А-яЁёІЎіўҐЄІЇґєії][а-яёўґєіїј])e([^ກ]))/g, '$2$4$6е$3$5$7');
		r(/(([^ກ])o([а-яёўґєіїј][а-яёўґєіїј])|([А-яЁёІЎіўҐЄІЇґєії])o([а-яёўґєіїј])|([А-яЁёІЎіўҐЄІЇґєії][а-яёўґєіїј])o([^ກ]))/g, '$2$4$6о$3$5$7');
		r(/(([^ກ])p([а-яёўґєіїј][а-яёўґєіїј])|([А-яЁёІЎіўҐЄІЇґєії])p([а-яёўґєіїј])|([А-яЁёІЎіўҐЄІЇґєії][а-яёўґєіїј])p([^ກ]))/g, '$2$4$6р$3$5$7');
		r(/(([^ກ])y([а-яёўґєіїј][а-яёўґєіїј])|([А-яЁёІЎіўҐЄІЇґєії])y([а-яёўґєіїј])|([А-яЁёІЎіўҐЄІЇґєії][а-яёўґєіїј])y([^ກ]))/g, '$2$4$6у$3$5$7');
		r(/(([^ກ])x([а-яёўґєіїј][а-яёўґєіїј])|([А-яЁёІЎіўҐЄІЇґєії])x([а-яёўґєіїј])|([А-яЁёІЎіўҐЄІЇґєії][а-яёўґєіїј])x([^ກ]))/g, '$2$4$6х$3$5$7');

//Ханты
		r(/([а-я])\)<ref name *= *"ГВР" *\/>\s+—/g, '$1<ref name="ГВР"/>) —');
		r(/(протекает по \[\[Ханты-Мансийский автономный округ — Югра\|Ханты-Мансийскому АО\]\]) У/g, '$1. У');

//устья
		r(/находится в ([\d,]+)\sкм по ((?:пра|ле)вому берегу) реки ([^,.<]+)/g, 'находится в $1 км от устья реки $3 по $2');
		r(/км от устья реки \[\[([А-яЁё]+?)ая ([^\|\]]+?[бвдзлмнпрстфц])а(?:( \([А-яЁё ]+\))(?:\|[А-яЁё ]+а))?\]\]/g, 'км от устья [[$1ая $2а$3|$1ой $2ы]]');
		r(/км от устья реки \[\[([А-яЁё]+?)ая ([^\|\]]+?[гжйкхчшщ])а(?:( \([А-яЁё ]+\))(?:\|[А-яЁё ]+а))?\]\]/g, 'км от устья [[$1ая $2а$3|$1ой $2и]]');
		r(/км от устья реки \[\[([А-яЁё]+?)ая ([^\|\]]+?[б-ш])([ья])(?:( \([А-яЁё ]+\))(?:\|[А-яЁё ]+[ья]))?\]\]/g, 'км от устья [[$1ая $2$3$4|$1ой $2и]]');
		r(/км от устья реки \[\[([А-яЁё]+?)яя ([^\|\]]+?[бвдзлмнпрстфц])а(?:( \([А-яЁё ]+\))(?:\|[А-яЁё ]+а))?\]\]/g, 'км от устья [[$1яя $2а$3|$1ей $2ы]]');
		r(/км от устья реки \[\[([А-яЁё]+?)яя ([^\|\]]+?[гжйкхчшщ])а(?:( \([А-яЁё ]+\))(?:\|[А-яЁё ]+а))?\]\]/g, 'км от устья [[$1яя $2а$3|$1ей $2и]]');
		r(/км от устья реки \[\[([А-яЁё]+?)яя ([^\|\]]+?[б-ш])([ья])(?:( \([А-яЁё ]+\))(?:\|[А-яЁё ]+[ья]))?\]\]/g, 'км от устья [[$1яя $2$3$4|$1ей $2и]]');
		r(/км от устья реки \[\[([^\|\]]+?[бвдзлмнпрстфц])а(?:( \([А-яЁё ]+\))(?:\|[А-яЁё ]+а))?\]\]/g, 'км от устья [[$1а$2|$1ы]]');
		r(/км от устья реки \[\[([^\|\]]+?[гжйкхчшщ])а(?:( \([А-яЁё ]+\))(?:\|[А-яЁё ]+а))?\]\]/g, 'км от устья [[$1а$2|$1и]]');
		r(/км от устья реки \[\[([^\|\]]+?[б-ш])([ья])(?:( \([А-яЁё ]+\))(?:\|[А-яЁё ]+[ья]))?\]\]/g, 'км от устья [[$1$2$3|$1и]]');

//девикификация дат
		if ((txt.indexOf(' января]]') > -1) || (txt.indexOf(' февраля]]') > -1) || (txt.indexOf(' марта]]') > -1) || (txt.indexOf(' апреля]]') > -1) || (txt.indexOf(' мая]]') > -1) || (txt.indexOf(' июня]]') > -1) || (txt.indexOf(' июля]]') > -1) || (txt.indexOf(' августа]]') > -1) || (txt.indexOf(' сентября]]') > -1) || (txt.indexOf(' октября]]') > -1) || (txt.indexOf(' ноября]]') > -1) || (txt.indexOf(' декабря]]') > -1) || (txt.indexOf(' января|') > -1) || (txt.indexOf(' февраля|') > -1) || (txt.indexOf(' марта|') > -1) || (txt.indexOf(' апреля|') > -1) || (txt.indexOf(' мая|') > -1) || (txt.indexOf(' июня|') > -1) || (txt.indexOf(' июля|') > -1) || (txt.indexOf(' августа|') > -1) || (txt.indexOf(' сентября|') > -1) || (txt.indexOf(' октября|') > -1) || (txt.indexOf(' ноября|') > -1) || (txt.indexOf(' декабря|') > -1)) {
				if (confirm('девикифицировать даты?')) {
						r(/\[\[(\d+ )(января|февраля|марта|апреля|мая|июня|июля|августа|сентября|октября|ноября|декабря)\|([А-яё ]+)\]\]/g, '$3');
						r(/\[\[(\d+ )(января|февраля|марта|апреля|мая|июня|июля|августа|сентября|октября|ноября|декабря)\]\]/g, '$1$2');
				}
		}

//ГВР сокращение
		if (txt.indexOf('title=Государственный водный реестр') == -1) {
			r(/\{\{cite web.+card=([0-9]+) *\| *title *= *(?:Государственный водный реестр РФ:|Государственный водный реестр:)? *(Река |Озеро )?(.*?)(\s*\||\|).+?\}\}/g, '{{ГВР|$1|$3}}');
		}
		r(/\{\{ГВР([^ }]+?) \}\}/g, '{{ГВР$1}}');

// Код ГВР
		r(/\n\* Код водного объекта (\d+)/g, ' Код водного объекта — $1.<ref name="ГВР"/>');
		r(/Код водного объекта\s(\d+)(\.)?/g, 'Код водного объекта — $1<ref name="ГВР"/>.');

//ООПТ
		if (txt.indexOf('oopt') > -1) {
			r(/>[^<]*oopt\.aari\.ru\/oopt\/([А-я-]+(?:\/map)?)[^<]*?accessdate = (\d\d\d\d-\d\d-\d\d)[^<]*?archiveurl = (.*?) [^<]*?archivedate = (\d\d\d\d-\d\d-\d\d)[^]*?</g, '>{{ООПТ|$1|$1|$2||$4|$3}}<');
			r(/>[^<]*oopt\.aari\.ru\/oopt\/([А-я-]+(?:\/map)?)[^<]*?accessdate = (\d\d\d\d-\d\d-\d\d)[^]*?</g, '>{{ООПТ|$1|$1|$2}}<');
			r(/>[^<]*oopt\.aari\.ru\/oopt\/([А-я-]+(?:\/map)?)[^]*?</g, '>{{ООПТ|$1|$1}}<');
			r(/.*oopt\.aari\.ru\/oopt\/([А-я-]+(?:\/map)?).*?accessdate = (\d\d\d\d-\d\d-\d\d).+/g, '* {{ООПТ|$1|$1|$2}}');
			r(/.*oopt\.aari\.ru\/oopt\/([А-я-]+(?:\/map)?).*/g, '* {{ООПТ|$1|$1}}');
			r(/{{ООПТ\|(.+?)\|(?:([А-яЁё ]+?)-)/g, '{{ООПТ|$1|$2 ');
			r(/{{ООПТ\|(.+?)\|(?:([А-яЁё ]+?)-)/g, '{{ООПТ|$1|$2 ');
			r(/{{ООПТ\|(.+?)\|(?:([А-яЁё ]+?)-)/g, '{{ООПТ|$1|$2 ');
			r(/{{ООПТ\|(.+?)\|(?:([А-яЁё ]+?)-)/g, '{{ООПТ|$1|$2 ');
			r(/{{ООПТ\|(.+?)\|(?:([А-яЁё ]+?)-)/g, '{{ООПТ|$1|$2 ');
			r(/{{ООПТ\|(.+?)\|(?:([А-яЁё ]+?)-)/g, '{{ООПТ|$1|$2 ');
		}
		
//nakarte
		if (txt.indexOf('АИ 2|Высота ') > -1) {
			r(/(Координаты устья *= *([\d.]+)\/([\d.]+))/g, '$1\nhttps://nakarte.me/#m=12/$2/$3&l=T/C/Ng');
			r(/(Координаты истока *= *([\d.]+)\/([\d.]+))/g, '$1\nhttps://nakarte.me/#m=12/$2/$3&l=T/C/Ng');
		}
		
//выравнивание всех карточек с параметрами на Большую букву
		if (txt.indexOf('{{Река') == -1 && txt.indexOf('{{Озеро') == -1 && txt.indexOf('{{НП') == -1 && txt.indexOf('{{неодно') == -1 && txt.indexOf('авигационная') == -1 && txt.indexOf('{{Климат') == -1 && txt.indexOf('{{Температура') == -1) {
			if (txt.indexOf('|Название                =') > -1) {
					r(/(?:(  ) )? ?\|(?:\s*)([А-ЯI][А-Яа-яЁё_ 0-9+D-]+?)(?:\s*)= *([^\n]*)(?=\n)/g, '$1 |$2                       = $3');
					r(/( \|)(.{23} )\s*=( [^\n]*)(?=\n)/g, '$1$2=$3');
					r(/(  \|)(.{22} )\s*=( [^\n]*)(?=\n)/g, '$1$2=$3');
					r(/(   \|)(.{21} )\s*=( [^\n]*)(?=\n)/g, '$1$2=$3');
			}		
			else if (confirm('выровнить карточку?')) {
					r(/(?:(  ) )? ?\|(?:\s*)([А-ЯI][А-Яа-яЁё_ 0-9+D-]+?)(?:\s*)= *([^\n]*)(?=\n)/g, '$1 |$2                       = $3');
					r(/( \|)(.{23} )\s*=( [^\n]*)(?=\n)/g, '$1$2=$3');
					r(/(  \|)(.{22} )\s*=( [^\n]*)(?=\n)/g, '$1$2=$3');
					r(/(   \|)(.{21} )\s*=( [^\n]*)(?=\n)/g, '$1$2=$3');
			}
		}
		r(/ \|Протяжённость с севера на юг *=/g, ' |Протяжённость с севера на юг     =');
		r(/ \|Протяжённость с запада на восток *=/g, ' |Протяжённость с запада на восток =');
		r(/ \|Среднегодовая температура *=/g, ' |Среднегодовая температура =');

//выравнивание карточек НП с параметрами на маленькую букву
		if (txt.indexOf('{{НП') > -1) {
//			if (confirm('выровнить карточку НП?')) {
				r(/(?<=\n *)(?:(  ) )? ?\|(?:\s*)((?:[а-яD]|lat|lon|add)[А-Яа-яЁё_ 0-9+A-z-]+?)(?:\s*)= *([^\n]*)(?=\n)/g, '$1 |$2                        = $3');
				r(/( \|)(.{24} )\s*=( [^\n]*)(?=\n)/g, '$1$2=$3');
				r(/(  \|)(.{23} )\s*=( [^\n]*)(?=\n)/g, '$1$2=$3');
				r(/(   \|)(.{22} )\s*=( [^\n]*)(?=\n)/g, '$1$2=$3');
//			}
		}
		
//нац.название
		if ((txt.indexOf('Национальное название  = be/') > -1) && (txt.indexOf('\'\'\' ({{lang-be|') == -1) && (txt.indexOf(', {{lang-be|') == -1)) {
				r(/('''[А-Я][^—]+)/g, '$1({{lang-be|}}) ');
		}

// немцы
		if (txt.indexOf('Страна                  = Германия') > -1) {
			r(/Общая длина реки/g, 'Длина реки —');
			r(/, речной индекс [0-9]+/g, '');
			r(/\nСистема водного объекта.*?\./g, '');
		}

// значения для НП
		if ((txt.indexOf('начения|') == -1) && (txt.indexOf('начения}') == -1) && (txt.indexOf('{{НП') > -1) && (txt.indexOf(' состав') > -1) && (document.title.indexOf('(') > -1)) {
			if (confirm('Нужен шаблон {{значения}}?')) {
					r(/}}\n'''([А-ЯЁ][А-яЁё0-9 -]+[а-яё0-9])'''/g, '}}{{другие значения|$1|тип=топоним}}\n\'\'\'$1\'\'\'');
			}
		}

// тип=топоним для шаблона:Значения
		if ((txt.indexOf('тип=топоним') == -1) && (txt.indexOf('тип=река') == -1) && ((txt.indexOf('начения|') > -1) || (txt.indexOf('начения}') > -1))) {
		if (txt.indexOf('{{Река') > -1) {
					r(/\{([Дд]ругие значения|[Зз]начения)([^!\n]*?)({{!}})?([^!\n]*?)\}/g, '{другие значения$2$3$4|тип=топоним}');
		}
		else if (confirm('тип=топоним нужен?')) {
					r(/\{([Дд]ругие значения|[Зз]начения)([^!\n]*?)({{!}})?([^!\n]*?)\}/g, '{другие значения$2$3$4|тип=топоним}');
			}
		}

// водосборный бассейн
		r(/([Пп])лощадь(?: её)? (?:\[\[[А-яЁё ]+\|(?:водосборного )?бассейна\]\]|(?:водосборного )?бассейна)(?:\s—)?( около)? (\d)/g, '$1лощадь водосборного бассейна —$2 $3');
		if (txt.indexOf('|Страна                  = Россия') > -1) {
			r(/площадь водосборного бассейна.*?([тысяч,\.\d]+)\sкм²\.(\s)/g, 'площадь водосборного бассейна — $1 км²<ref name="ГВР"/>.$2');
		}
// длина
		r(/Протяж[её]нность(\sреки)?(\s—)?(\sоколо)?\s([,\d]+)/g, 'Длина реки — $4');

// викификикация областей и России
		r(/ река в ([А-Я][а-я]+)ской области (\[\[Россия\|России\]\]|России)/g, ' река в [[$1ская область|$1ской области]] [[Россия|России]]');

// Этимология
		r(/== Этимология (названия|гидронима)/g, '== Этимология');

// == Карты ==
		r(/(===|==) Карты (===|==)/g, '$1 Топографические карты $2');

// притоки (км от устья)
		r(/(===|==) Притоки \(км от устья\) (===|==)/g, '$1 Притоки $2\n\'\'(указано расстояние от устья)\'\'');

// название без скобок в карточке
		r(/(\|Название *=.*?) *(<br>)? *\(.*?\)/g, '$1');

// gpska
		r(/(?:\[|{{)[^\[{]*gpska.+?map=([^\s]+).+?(?:\]|}})/g, '{{карта|$1|ГГЦ}}');

// g151
		r(/(?:\[|{{)[^\[{]*g151.+?\/([K-R])(\d\d)-([\d,]+)%.+?(?:\]|}})/g, '{{карта|$1-$2-$3}}');

// шаблон карта
		r(/>[^<]*?Топографическая карта ([A-T]-[0-9][0-9]-[0-9IVX][^. \]]*).+?</g, '>{{карта|$1}}<');
		r(/.*Топографическая карта ([A-T]-[0-9][0-9]-[0-9IVX][^. \]]*).+/g, '* {{карта|$1}}');

		r(/(\{\{карта\|[^\}]*?\-)0{1,2}([^\}]*?\}\})/g, '$1$2');
		r(/(\{\{карта\|[^\}]*?),0{1,2}([^\}]*?\}\})/g, '$1,$2');
		r(/(\|[K-S]-[0-9]+-[XVI]+)-/g, '$1,');

// БКБ
		r(/>[^<]*Блак[iі]тная.+?(\|\s*страницы\s*=\s*|С\.\s*)([\d—]+).*?</g, '>{{Книга:БКБ|$2}}<');
		r(/>[^<]*Блак[iі]тная.+?</g, '>{{Книга:БКБ}}<');
		r(/.*Блак[iі]тная.*/g, '* {{Книга:БКБ}}');
// РБАОР
		r(/>[^<]*Атлас охотника и рыболова:\s([А-яё]+).+?(страницы\s*=\s*|С\.\s*)([\d—, ]+).+?</g, '>{{РБАОР|$1|$3}}<');
		r(/>[^<]*Атлас охотника и рыболова:\s([А-яё]+).+?</g, '>{{РБАОР|$1}}<');
		r(/.*Атлас охотника и рыболова:\s([А-яё]+).+?(страницы\s*=\s*|С\.\s*)([\d—, ]+).+/g, '* {{РБАОР|$1|$3}}');
		r(/.*Атлас охотника и рыболова:\s([А-яё]+).+/g, '* {{РБАОР|$1}}');

// ЭПБ
		r(/>[^<]*Энцыклапедыя прыроды Беларус.+?(том\s*=\s*|Т\.\s*)(\d).+?(страницы\s*=\s*|С\.\s*)([\d—, ]+).+?</g, '>{{Книга:ЭПБ|$2|$4}}<');
		r(/>[^<]*Энцыклапедыя прыроды Беларус.+?(том\s*=\s*|Т\.\s*)(\d).+?</g, '>{{Книга:ЭПБ|$2}}<');
		r(/.*Энцыклапедыя прыроды Беларус.+?(том\s*=\s*|Т\.\s*)(\d).+?(страницы\s*=\s*|С\.\s*)([\d—, ]+).+/g, '* {{Книга:ЭПБ|$2|$4}}');
		r(/.*Энцыклапедыя прыроды Беларус.+?(том\s*=\s*|Т\.\s*)(\d).+/g, '* {{Книга:ЭПБ|$2}}');

//Карточка парка
		if (txt.indexOf('{{Парк') > -1 && txt.indexOf('{{Заповед') == -1) {
			r(/([ ]+)?\|([ ]+)?([Кк]арта|region|Ширина|[Рр]азмер|на карте google|Районы|Проезд).+\n/g, '');//всегда удалять
			r(/<!\-\- координаты \-\->.*\n/g, '');
			r(/\n *\| *Регион *= (.*?)\n/g, '\n  |Регион                 = $1\n   |Район                 = \n |Город                   = \n  |Район города           = \n');
			r(/\n *\| *(Тип|Тип объекта) *= */g, '\n |Тип парка               = ');
			if (txt.indexOf('|Тип ') == -1) {
				r(/  \|Район города           = \n/g, '  |Район города           = \n |Тип парка               = \n');
			}
			if (txt.indexOf('Позиционная карта') == -1) {
				r(/  \|Район города           = \n/g, '  |Район города           = \n |Позиционная карта       = \n');
			}
			if (txt.indexOf('Национальное название') == -1) {
				r(/ \|Название                = \n/g, ' |Название                = \n  |Национальное название  = \n');
			}
			r(/\n *\| *Район *= *\[\[([А-яё\(\)\- ]+)(\|([А-яё\(\)\- ]+))?\]\]/g, '\n   |Район                 = $1');
			r(/\n *\| *Исторический район *= */g, '\n |Исторический район      = ');
			r(/\n *\| *Основан *= */g, '\n |Основан                 = ');
			r(/\n *\| *Архитектор *= */g, '\n |Архитектор              = ');
			r(/\n *\| *Площадь *= */g, '\n |Площадь                 = ');
			r(/\n *\| *Метро *= */g, '\n |Метро                   = ');
			r(/\n *\| *Посетители *= */g, '\n |Посетители              = ');
			r(/\n *\| *Статус *= */g, '\n |Статус                  = ');
			r(/\n *\| *Сайт *= */g, '\n |Сайт                    = ');
		}

//удаление кадастра из Ссылок
		r(/\n== Ссылки ==\n\* {{ГИС.+?}}/g, '');
		
//упаковка РПВ ГИ в шаблон
		r(/\* Ресурсы поверхностных вод СССР\. Гидрологическая изученность\..*?Стр\.\s*(\d\d).+/g, '* {{книга:РПВ ГИ|5|страницы = $1}}');
		r(/\* Ресурсы поверхностных вод СССР\. Гидрологическая изученность\..+/g, '* {{книга:РПВ ГИ|5|страницы = }}');
		
//біятлолн
		if (txt.indexOf('{{Биатлонист') > -1) {
			r(/\[\[[Гг]онка преследования\|/g, '[[Гонка преследования (биатлон)|');
			r(/\[\[([Гг]онка преследования\])/g, '[[Гонка преследования (биатлон)|$1');
		}

		r(/\n( *)\|( *)Рост_Вес( *)= *(\d+) *\(?(?:\[\[см\]\]|см)?\)? *[\/,] *(\d+) *\(?(?:\[\[кг\]\]|кг)?\)?/g, '\n$1|$2Рост$3    = $4 см\n$1|$2Вес$3     = $5 кг');

//ш:книга, тест (загл / автор'' загл — место: изд, год, с. С. isbn)
/*		if (txt.indexOf('книга') > -1) {
			if (confirm('заменить на шаблон книга то, что получится?')) {
				
					r(/([^/]...>) *?\[(http[^ ]+?) (?:([\(\)А-яЁё  .,:«»-]+)\/)? *(?:'')?([А-яЁё  .,-]+)(?:'')? *([\(\)А-яЁё  .,:«»-]+?)?— *([^:\d]+?) *: *(?:([^,\d]+),)? *(?:(\d\d\d\d)[.,  —-]*)?(?:(\d+) *с[.,  —]+)?(?:[Сс][.  ]+(\d+)[.,  ] *)?[  —]*?(?:ISBN ([\dX-]+))?(.*?)\](?=<)/g,
					'$1{{книга |автор = $4 |заглавие = $3$5 |язык = ru |ответственный = |ссылка = $2 |место = $6 |издательство = $7 |год = $8 |том = |страниц = $9 |страницы = $10 |isbn =  $11}}$12');
					r(/([^/]...>) *?(?:([\(\)А-яЁё  .,:«»-]+)\/)? *(?:'')?([А-яЁё  .,-]+)(?:'')? *([\(\)А-яЁё  .,:«»-]+?)?— *([^:\d]+?) *: *(?:([^,\d]+),)? *(?:(\d\d\d\d)[.,  —-]*)?(?:(\d+) *с[.,  —]+)?(?:[Сс][.  ]+(\d+)[.,  ] *)?[  —]*?(?:ISBN ([\dX-]+))?(.*?)(?=<)/g,
					'$1{{книга |автор = $3 |заглавие = $2$4 |язык = ru |ответственный = |ссылка = |место = $5 |издательство = $6 |год = $7 |том = |страниц = $8 |страницы = $9 |isbn =  $10}}$11');
					r(/\* \[(http[^ ]+?) (?:([\(\)А-яЁё  .,:«»-]+)\/)? *(?:'')?([А-яЁё  .,-]+)(?:'')? *([\(\)А-яЁё  .,:«»-]+?)?— *([^:\d]+?) *: *(?:([^,\d]+),)? *(?:(\d\d\d\d)[.,  —-]*)?(?:(\d+) *с[.,  —]+)?(?:[Сс][.  ]+(\d+)[.,  ] *)?[  —]*?(?:ISBN ([\dX-]+))?(.*?)\]/g,
					'* {{книга |автор = $3 |заглавие = $2$4 |язык = ru |ответственный = |ссылка = $1 |место = $5 |издательство = $6 |год = $7 |том = |страниц = $8 |страницы = $9 |isbn =  $10}}$11');
					r(/\* (?:([\(\)А-яЁё  .,:«»-]+)\/)? *(?:'')?([А-яЁё  .,-]+)(?:'')? *([\(\)А-яЁё  .,:«»-]+?)?— *([^:\d]+?) *: *(?:([^,\d]+),)? *(?:(\d\d\d\d)[.,  —-]*)?(?:(\d+) *с[.,  —]+)?(?:[Сс][.  ]+(\d+)[.,  ] *)?[  —]*?(?:ISBN ([\dX-]+))?(.*?)\n/g,
					'* {{книга |автор = $2 |заглавие = $1$3 |язык = ru |ответственный = |ссылка = |место = $4 |издательство = $5 |год = $6 |том = |страниц = $7 |страницы = $8 |isbn =  $9}}$10\n');
			}
		}
*/
Prefix: a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9

Portal di Ensiklopedia Dunia

Kembali kehalaman sebelumnya