Шаблон:Подготовить аннотацию/date
Шаблон для переработки переданного мусора в аннотацию Semantic MediaWiki, в предположении, что передана дата.
Параметры:
- Викитекст, содержащий дату,
- второе и последующие слова из названия свойства SMW, в родительном падеже, например, «рождения»,
- (или категория дня) начало названия автоматически добавляемой категории, связанной с днём, (не обязательно),
- (или постфикс дня) окончание названия автоматически добавляемой категории, связанной с днём, (не обязательно),
- (или категория года) начало названия автоматически добавляемой категории, связанной с годом, (не обязательно),
- (или постфикс года) окончание названия автоматически добавляемой категории, связанной с годом, (не обязательно).
Примеры:
Викитекст | Результат | |
---|---|---|
{{Подготовить аннотацию/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}} |