Шаблон:Подготовить аннотацию/date

Материал из ТХАБ.РФ
Перейти к: навигация, поиск

Шаблон для переработки переданного мусора в аннотацию Semantic MediaWiki, в предположении, что передана дата.

Параметры:

  1. Викитекст, содержащий дату,
  2. второе и последующие слова из названия свойства SMW, в родительном падеже, например, «рождения»,
  3. (или категория дня) начало названия автоматически добавляемой категории, связанной с днём, (не обязательно),
  4. (или постфикс дня) окончание названия автоматически добавляемой категории, связанной с днём, (не обязательно),
  5. (или категория года) начало названия автоматически добавляемой категории, связанной с годом, (не обязательно),
  6. (или постфикс года) окончание названия автоматически добавляемой категории, связанной с годом, (не обязательно).

Примеры:

Викитекст Результат
{{Подготовить аннотацию/date|9 января 1976 года|рождения}}

%((?<=\A|\s)\s*(?:[012]?\d|30|31)\s+(?:января|февраля|марта|апреля|мая|июня|июля|августа|сентября|октября|ноября|декабря)\s*(?=\Z|\s))%| $1 }}| %\[\[\s*((?:[012]?\d|30|31)\s+(?:января|февраля|марта|апреля|мая|июня|июля|августа|сентября|октября|ноября|декабря)(?:[^\]]*))]]%| День рождения::$1}}| %(?<=\A|\s)((\d+)(?:\s*(?:год|года|г\.))?\s*(\sдо\s+н\.\s*э\.)?)(?=\Z|\s)%| $1}}| %\[\[(\d+)(?:\s*(?:год?|года|г\.))?\s*(\sдо\s*н\.\s*э\.\s*)?(\|[^\]]*)?]](а)?%| Год рождения::$1$2$3}}

30|31)\s+(?:января|февраля|марта|апреля|мая|июня|июля|августа|сентября|октября|ноября|декабря))(?:[^\]]*)]].*?\[\[Год\sрождения::(\d+\s*(до\s+н\.\s*э\.)?)(?:\|[^\]]*)?]])%|

{{#set:Дата рождения=$2 {{BC|$3}}}}$1}}| %(\[\[День\s.*?::([^\]\|]*)(?:\|[^]]*)?]])%| $1 }}| %(\[\[Год\s.*?::(\d+)\s*(\sдо\s+н\.\s*э\.)?(?:\|[^]]*)?]])%|

$1}}
{{Подготовить аннотацию/date|1976 год|рождения}}

%((?<=\A|\s)\s*(?:[012]?\d|30|31)\s+(?:января|февраля|марта|апреля|мая|июня|июля|августа|сентября|октября|ноября|декабря)\s*(?=\Z|\s))%| $1 }}| %\[\[\s*((?:[012]?\d|30|31)\s+(?:января|февраля|марта|апреля|мая|июня|июля|августа|сентября|октября|ноября|декабря)(?:[^\]]*))]]%| День рождения::$1}}| %(?<=\A|\s)((\d+)(?:\s*(?:год|года|г\.))?\s*(\sдо\s+н\.\s*э\.)?)(?=\Z|\s)%| $1}}| %\[\[(\d+)(?:\s*(?:год?|года|г\.))?\s*(\sдо\s*н\.\s*э\.\s*)?(\|[^\]]*)?]](а)?%| Год рождения::$1$2$3}}

30|31)\s+(?:января|февраля|марта|апреля|мая|июня|июля|августа|сентября|октября|ноября|декабря))(?:[^\]]*)]].*?\[\[Год\sрождения::(\d+\s*(до\s+н\.\s*э\.)?)(?:\|[^\]]*)?]])%|

{{#set:Дата рождения=$2 {{BC|$3}}}}$1}}| %(\[\[День\s.*?::([^\]\|]*)(?:\|[^]]*)?]])%| $1 }}| %(\[\[Год\s.*?::(\d+)\s*(\sдо\s+н\.\s*э\.)?(?:\|[^]]*)?]])%|

$1}}
{{Подготовить аннотацию/date|9 января 1976|рождения}}

%((?<=\A|\s)\s*(?:[012]?\d|30|31)\s+(?:января|февраля|марта|апреля|мая|июня|июля|августа|сентября|октября|ноября|декабря)\s*(?=\Z|\s))%| $1 }}| %\[\[\s*((?:[012]?\d|30|31)\s+(?:января|февраля|марта|апреля|мая|июня|июля|августа|сентября|октября|ноября|декабря)(?:[^\]]*))]]%| День рождения::$1}}| %(?<=\A|\s)((\d+)(?:\s*(?:год|года|г\.))?\s*(\sдо\s+н\.\s*э\.)?)(?=\Z|\s)%| $1}}| %\[\[(\d+)(?:\s*(?:год?|года|г\.))?\s*(\sдо\s*н\.\s*э\.\s*)?(\|[^\]]*)?]](а)?%| Год рождения::$1$2$3}}

30|31)\s+(?:января|февраля|марта|апреля|мая|июня|июля|августа|сентября|октября|ноября|декабря))(?:[^\]]*)]].*?\[\[Год\sрождения::(\d+\s*(до\s+н\.\s*э\.)?)(?:\|[^\]]*)?]])%|

{{#set:Дата рождения=$2 {{BC|$3}}}}$1}}| %(\[\[День\s.*?::([^\]\|]*)(?:\|[^]]*)?]])%| $1 }}| %(\[\[Год\s.*?::(\d+)\s*(\sдо\s+н\.\s*э\.)?(?:\|[^]]*)?]])%|

$1}}
{{Подготовить аннотацию/date|[[9 января]] [[1976]]|рождения}} {{#regex:{{#regex:{{#regex:{{#regex:{{#regex:{{#regex:{{#regex:9 января 1976|

%((?<=\A|\s)\s*(?:[012]?\d|30|31)\s+(?:января|февраля|марта|апреля|мая|июня|июля|августа|сентября|октября|ноября|декабря)\s*(?=\Z|\s))%| $1 }}| %\[\[\s*((?:[012]?\d|30|31)\s+(?:января|февраля|марта|апреля|мая|июня|июля|августа|сентября|октября|ноября|декабря)(?:[^\]]*))]]%| День рождения::$1}}| %(?<=\A|\s)((\d+)(?:\s*(?:год|года|г\.))?\s*(\sдо\s+н\.\s*э\.)?)(?=\Z|\s)%| $1}}| %\[\[(\d+)(?:\s*(?:год?|года|г\.))?\s*(\sдо\s*н\.\s*э\.\s*)?(\|[^\]]*)?]](а)?%| Год рождения::$1$2$3}}

30|31)\s+(?:января|февраля|марта|апреля|мая|июня|июля|августа|сентября|октября|ноября|декабря))(?:[^\]]*)]].*?\[\[Год\sрождения::(\d+\s*(до\s+н\.\s*э\.)?)(?:\|[^\]]*)?]])%|

{{#set:Дата рождения=$2 {{BC|$3}}}}$1}}| %(\[\[День\s.*?::([^\]\|]*)(?:\|[^]]*)?]])%| $1 }}| %(\[\[Год\s.*?::(\d+)\s*(\sдо\s+н\.\s*э\.)?(?:\|[^]]*)?]])%|

$1}}
{{Подготовить аннотацию/date|[[9 января]] [[1976]]а|рождения}} {{#regex:{{#regex:{{#regex:{{#regex:{{#regex:{{#regex:{{#regex:9 января 1976а|

%((?<=\A|\s)\s*(?:[012]?\d|30|31)\s+(?:января|февраля|марта|апреля|мая|июня|июля|августа|сентября|октября|ноября|декабря)\s*(?=\Z|\s))%| $1 }}| %\[\[\s*((?:[012]?\d|30|31)\s+(?:января|февраля|марта|апреля|мая|июня|июля|августа|сентября|октября|ноября|декабря)(?:[^\]]*))]]%| День рождения::$1}}| %(?<=\A|\s)((\d+)(?:\s*(?:год|года|г\.))?\s*(\sдо\s+н\.\s*э\.)?)(?=\Z|\s)%| $1}}| %\[\[(\d+)(?:\s*(?:год?|года|г\.))?\s*(\sдо\s*н\.\s*э\.\s*)?(\|[^\]]*)?]](а)?%| Год рождения::$1$2$3}}

30|31)\s+(?:января|февраля|марта|апреля|мая|июня|июля|августа|сентября|октября|ноября|декабря))(?:[^\]]*)]].*?\[\[Год\sрождения::(\d+\s*(до\s+н\.\s*э\.)?)(?:\|[^\]]*)?]])%|

{{#set:Дата рождения=$2 {{BC|$3}}}}$1}}| %(\[\[День\s.*?::([^\]\|]*)(?:\|[^]]*)?]])%| $1 }}| %(\[\[Год\s.*?::(\d+)\s*(\sдо\s+н\.\s*э\.)?(?:\|[^]]*)?]])%|

$1}}
{{Подготовить аннотацию/date|[[22 апреля|10 (22) апреля]] [[1870|1870 года]]|рождения}} {{#regex:{{#regex:{{#regex:{{#regex:{{#regex:{{#regex:{{#regex:10 (22) апреля 1870 года|

%((?<=\A|\s)\s*(?:[012]?\d|30|31)\s+(?:января|февраля|марта|апреля|мая|июня|июля|августа|сентября|октября|ноября|декабря)\s*(?=\Z|\s))%| $1 }}| %\[\[\s*((?:[012]?\d|30|31)\s+(?:января|февраля|марта|апреля|мая|июня|июля|августа|сентября|октября|ноября|декабря)(?:[^\]]*))]]%| День рождения::$1}}| %(?<=\A|\s)((\d+)(?:\s*(?:год|года|г\.))?\s*(\sдо\s+н\.\s*э\.)?)(?=\Z|\s)%| $1}}| %\[\[(\d+)(?:\s*(?:год?|года|г\.))?\s*(\sдо\s*н\.\s*э\.\s*)?(\|[^\]]*)?]](а)?%| Год рождения::$1$2$3}}

30|31)\s+(?:января|февраля|марта|апреля|мая|июня|июля|августа|сентября|октября|ноября|декабря))(?:[^\]]*)]].*?\[\[Год\sрождения::(\d+\s*(до\s+н\.\s*э\.)?)(?:\|[^\]]*)?]])%|

{{#set:Дата рождения=$2 {{BC|$3}}}}$1}}| %(\[\[День\s.*?::([^\]\|]*)(?:\|[^]]*)?]])%| $1 }}| %(\[\[Год\s.*?::(\d+)\s*(\sдо\s+н\.\s*э\.)?(?:\|[^]]*)?]])%|

$1}}
{{Подготовить аннотацию/date|19 августа 12 года|смерти}}

%((?<=\A|\s)\s*(?:[012]?\d|30|31)\s+(?:января|февраля|марта|апреля|мая|июня|июля|августа|сентября|октября|ноября|декабря)\s*(?=\Z|\s))%| $1 }}| %\[\[\s*((?:[012]?\d|30|31)\s+(?:января|февраля|марта|апреля|мая|июня|июля|августа|сентября|октября|ноября|декабря)(?:[^\]]*))]]%| День смерти::$1}}| %(?<=\A|\s)((\d+)(?:\s*(?:год|года|г\.))?\s*(\sдо\s+н\.\s*э\.)?)(?=\Z|\s)%| $1}}| %\[\[(\d+)(?:\s*(?:год?|года|г\.))?\s*(\sдо\s*н\.\s*э\.\s*)?(\|[^\]]*)?]](а)?%| Год смерти::$1$2$3}}

30|31)\s+(?:января|февраля|марта|апреля|мая|июня|июля|августа|сентября|октября|ноября|декабря))(?:[^\]]*)]].*?\[\[Год\sсмерти::(\d+\s*(до\s+н\.\s*э\.)?)(?:\|[^\]]*)?]])%|

{{#set:Дата смерти=$2 {{BC|$3}}}}$1}}| %(\[\[День\s.*?::([^\]\|]*)(?:\|[^]]*)?]])%| $1 }}| %(\[\[Год\s.*?::(\d+)\s*(\sдо\s+н\.\s*э\.)?(?:\|[^]]*)?]])%|

$1}}
{{Подготовить аннотацию/date|13 марта 40 до н. э.|смерти}}

%((?<=\A|\s)\s*(?:[012]?\d|30|31)\s+(?:января|февраля|марта|апреля|мая|июня|июля|августа|сентября|октября|ноября|декабря)\s*(?=\Z|\s))%| $1 }}| %\[\[\s*((?:[012]?\d|30|31)\s+(?:января|февраля|марта|апреля|мая|июня|июля|августа|сентября|октября|ноября|декабря)(?:[^\]]*))]]%| День смерти::$1}}| %(?<=\A|\s)((\d+)(?:\s*(?:год|года|г\.))?\s*(\sдо\s+н\.\s*э\.)?)(?=\Z|\s)%| $1}}| %\[\[(\d+)(?:\s*(?:год?|года|г\.))?\s*(\sдо\s*н\.\s*э\.\s*)?(\|[^\]]*)?]](а)?%| Год смерти::$1$2$3}}

30|31)\s+(?:января|февраля|марта|апреля|мая|июня|июля|августа|сентября|октября|ноября|декабря))(?:[^\]]*)]].*?\[\[Год\sсмерти::(\d+\s*(до\s+н\.\s*э\.)?)(?:\|[^\]]*)?]])%|

{{#set:Дата смерти=$2 {{BC|$3}}}}$1}}| %(\[\[День\s.*?::([^\]\|]*)(?:\|[^]]*)?]])%| $1 }}| %(\[\[Год\s.*?::(\d+)\s*(\sдо\s+н\.\s*э\.)?(?:\|[^]]*)?]])%|

$1}}
{{Подготовить аннотацию/date|[[13 марта|Мартовские иды]] 40 до н. э.|смерти}} {{#regex:{{#regex:{{#regex:{{#regex:{{#regex:{{#regex:{{#regex:Мартовские иды 40 до н. э.|

%((?<=\A|\s)\s*(?:[012]?\d|30|31)\s+(?:января|февраля|марта|апреля|мая|июня|июля|августа|сентября|октября|ноября|декабря)\s*(?=\Z|\s))%| $1 }}| %\[\[\s*((?:[012]?\d|30|31)\s+(?:января|февраля|марта|апреля|мая|июня|июля|августа|сентября|октября|ноября|декабря)(?:[^\]]*))]]%| День смерти::$1}}| %(?<=\A|\s)((\d+)(?:\s*(?:год|года|г\.))?\s*(\sдо\s+н\.\s*э\.)?)(?=\Z|\s)%| $1}}| %\[\[(\d+)(?:\s*(?:год?|года|г\.))?\s*(\sдо\s*н\.\s*э\.\s*)?(\|[^\]]*)?]](а)?%| Год смерти::$1$2$3}}

30|31)\s+(?:января|февраля|марта|апреля|мая|июня|июля|августа|сентября|октября|ноября|декабря))(?:[^\]]*)]].*?\[\[Год\sсмерти::(\d+\s*(до\s+н\.\s*э\.)?)(?:\|[^\]]*)?]])%|

{{#set:Дата смерти=$2 {{BC|$3}}}}$1}}| %(\[\[День\s.*?::([^\]\|]*)(?:\|[^]]*)?]])%| $1 }}| %(\[\[Год\s.*?::(\d+)\s*(\sдо\s+н\.\s*э\.)?(?:\|[^]]*)?]])%|

$1}}
{{Подготовить аннотацию/date|[[13 марта]] 40 до н. э.|смерти}} {{#regex:{{#regex:{{#regex:{{#regex:{{#regex:{{#regex:{{#regex:13 марта 40 до н. э.|

%((?<=\A|\s)\s*(?:[012]?\d|30|31)\s+(?:января|февраля|марта|апреля|мая|июня|июля|августа|сентября|октября|ноября|декабря)\s*(?=\Z|\s))%| $1 }}| %\[\[\s*((?:[012]?\d|30|31)\s+(?:января|февраля|марта|апреля|мая|июня|июля|августа|сентября|октября|ноября|декабря)(?:[^\]]*))]]%| День смерти::$1}}| %(?<=\A|\s)((\d+)(?:\s*(?:год|года|г\.))?\s*(\sдо\s+н\.\s*э\.)?)(?=\Z|\s)%| $1}}| %\[\[(\d+)(?:\s*(?:год?|года|г\.))?\s*(\sдо\s*н\.\s*э\.\s*)?(\|[^\]]*)?]](а)?%| Год смерти::$1$2$3}}

30|31)\s+(?:января|февраля|марта|апреля|мая|июня|июля|августа|сентября|октября|ноября|декабря))(?:[^\]]*)]].*?\[\[Год\sсмерти::(\d+\s*(до\s+н\.\s*э\.)?)(?:\|[^\]]*)?]])%|

{{#set:Дата смерти=$2 {{BC|$3}}}}$1}}| %(\[\[День\s.*?::([^\]\|]*)(?:\|[^]]*)?]])%| $1 }}| %(\[\[Год\s.*?::(\d+)\s*(\sдо\s+н\.\s*э\.)?(?:\|[^]]*)?]])%|

$1}}
{{Подготовить аннотацию/date|13 марта 40 года до н. э.|смерти}}

%((?<=\A|\s)\s*(?:[012]?\d|30|31)\s+(?:января|февраля|марта|апреля|мая|июня|июля|августа|сентября|октября|ноября|декабря)\s*(?=\Z|\s))%| $1 }}| %\[\[\s*((?:[012]?\d|30|31)\s+(?:января|февраля|марта|апреля|мая|июня|июля|августа|сентября|октября|ноября|декабря)(?:[^\]]*))]]%| День смерти::$1}}| %(?<=\A|\s)((\d+)(?:\s*(?:год|года|г\.))?\s*(\sдо\s+н\.\s*э\.)?)(?=\Z|\s)%| $1}}| %\[\[(\d+)(?:\s*(?:год?|года|г\.))?\s*(\sдо\s*н\.\s*э\.\s*)?(\|[^\]]*)?]](а)?%| Год смерти::$1$2$3}}

30|31)\s+(?:января|февраля|марта|апреля|мая|июня|июля|августа|сентября|октября|ноября|декабря))(?:[^\]]*)]].*?\[\[Год\sсмерти::(\d+\s*(до\s+н\.\s*э\.)?)(?:\|[^\]]*)?]])%|

{{#set:Дата смерти=$2 {{BC|$3}}}}$1}}| %(\[\[День\s.*?::([^\]\|]*)(?:\|[^]]*)?]])%| $1 }}| %(\[\[Год\s.*?::(\d+)\s*(\sдо\s+н\.\s*э\.)?(?:\|[^]]*)?]])%|

$1}}
{{Подготовить аннотацию/date|13 марта 40 года до н. э.|смерти|категория дня=Лица, умершие|категория года=Лица, умершие в|постфикс года=году}}

%((?<=\A|\s)\s*(?:[012]?\d|30|31)\s+(?:января|февраля|марта|апреля|мая|июня|июля|августа|сентября|октября|ноября|декабря)\s*(?=\Z|\s))%| $1 }}| %\[\[\s*((?:[012]?\d|30|31)\s+(?:января|февраля|марта|апреля|мая|июня|июля|августа|сентября|октября|ноября|декабря)(?:[^\]]*))]]%| День смерти::$1}}| %(?<=\A|\s)((\d+)(?:\s*(?:год|года|г\.))?\s*(\sдо\s+н\.\s*э\.)?)(?=\Z|\s)%| $1}}| %\[\[(\d+)(?:\s*(?:год?|года|г\.))?\s*(\sдо\s*н\.\s*э\.\s*)?(\|[^\]]*)?]](а)?%| Год смерти::$1$2$3}}

30|31)\s+(?:января|февраля|марта|апреля|мая|июня|июля|августа|сентября|октября|ноября|декабря))(?:[^\]]*)]].*?\[\[Год\sсмерти::(\d+\s*(до\s+н\.\s*э\.)?)(?:\|[^\]]*)?]])%|

{{#set:Дата смерти=$2 {{BC|$3}}}}$1}}| %(\[\[День\s.*?::([^\]\|]*)(?:\|[^]]*)?]])%|$1 }}| %(\[\[Год\s.*?::(\d+)\s*(\sдо\s+н\.\s*э\.)?(?:\|[^]]*)?]])%| $1}}