Начисление баллов в spamassassin

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Agronom
сержант
Сообщения: 294
Зарегистрирован: 2006-12-11 10:30:13

Начисление баллов в spamassassin

Непрочитанное сообщение Agronom » 2007-05-16 8:53:40

Предлагаю обсудить оптимальные правила для начисления баллов в Spamassassin. Решил перевести доку по правилам (что смогу), на днях выложу для оценки и коррекции, а пока выкладываю свои настройки:

Код: Выделить всё

score MIME_QP_LONG_LINE         1
score FH_MSGID_01C70XXX         2       2       2       2
score FROM_STARTS_WITH_NUMS     2.3     0.7     1.4     1.2
score HIDE_WIN_STATUS           3       3       3       3
score MISSING_HEADERS           2
score GAPPY_SUBJECT             3       3       3       3
score SUBJ_ALL_CAP              3       3       3       3
score HTML_MESSAGE              1       1       1       1
score HTML_FONT_SIZE_LARGE      1       1       1       1
score RCVD_NUMERIC_HELO         2       2       2       2
score MIME_HTML_ONLY            1       1       1       1
score FRT_GUARANTEE1            2       2       2       2
score SUBJ_ILLEGAL_CHARS        3       3       3       3
score BAYES_60                  0       0       2       2
score BAYES_80                  0       0       3       3
score BAYES_95                  0       0       4       4
score BAYES_99                  0       0       4.5     4.5
score MSGID_SPAM_CAPS           3       3       3       3
score SUBJ_ALL_CAPS             3       3       3       3
score MIME_BOUND_DD_DIGITS      4       4       4       4
score MPART_ALT_DIFF            2       2       2       2
score HTML_IMAGE_ONLY_04        3       3       3       3
score FB_GVR                    2       2       2       2
score FROM_ILLEGAL_CHARS        2       2       2       2
score SUBJ_ILLEGAL_CHARS        2       2       2       2

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2520 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Agronom
сержант
Сообщения: 294
Зарегистрирован: 2006-12-11 10:30:13

Непрочитанное сообщение Agronom » 2007-05-21 15:07:41

Вот ещё прикруткаправил для русских писем. Потестил - вроде ничего так работает

Добавил немного своих правил, переименовал правила понятными именами и периодически (раз в неделю) проверяю количество срабатываний для каждого правила, чтобы неэффективные удалять. Если кого заинтересует - могу выслать

Аватара пользователя
Zedik
сержант
Сообщения: 283
Зарегистрирован: 2007-01-20 22:30:57
Откуда: 127.0.0.1

Re:

Непрочитанное сообщение Zedik » 2007-09-13 11:35:16

Agronom писал(а): Добавил немного своих правил, переименовал правила понятными именами и периодически (раз в неделю) проверяю количество срабатываний для каждого правила, чтобы неэффективные удалять. Если кого заинтересует - могу выслать
поставил себе assassina, и не помешал бы перевод доки если уже готов и твои правила бы глянул.
спс :P


Аватара пользователя
Agronom
сержант
Сообщения: 294
Зарегистрирован: 2006-12-11 10:30:13

Re: Начисление баллов в spamassassin

Непрочитанное сообщение Agronom » 2007-09-14 14:15:37

Всё это надо сохранить в файл с расширением *.cf и закинуть в папку где лежит local.cf

Код: Выделить всё

# -------------------
# KOI8-R: "ЛЧБМЙЖЙГЙТПЧБО" 
# Win1251: "квалифицирован" 
# UTF8: "квалифицирован" 
body BODY_KOI8_KVALIF
/(\xCB|\xEB|k|K)[[:blank:][:punct:]]?(\xD7|\xF7|B)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?(\xCC|\xEC)[[:blank:][:punct:]]?(\xC9|\xE9|u|U)[[:blank:][:punct:]]?(\xC6|\xE6)[[:blank:][:punct:]]?(\xC9|\xE9|u|U)[[:blank:][:punct:]]?(\xC3|\xE3)[[:blank:][:punct:]]?(\xC9|\xE9|u|U)[[:blank:][:punct:]]?(\xD2|\xF2|p|P)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xD7|\xF7|B)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?(\xCE|\xEE|H)[[:blank:][:punct:]]?/
score BODY_KOI8_KVALIF 0.2
body BODY_WIN1251_KVALIF
/(\xEA|\xCA|k|K)[[:blank:][:punct:]]?(\xE2|\xC2|B)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?(\xEB|\xCB)[[:blank:][:punct:]]?(\xE8|\xC8|u|U)[[:blank:][:punct:]]?(\xF4|\xD4)[[:blank:][:punct:]]?(\xE8|\xC8|u|U)[[:blank:][:punct:]]?(\xF6|\xD6)[[:blank:][:punct:]]?(\xE8|\xC8|u|U)[[:blank:][:punct:]]?(\xF0|\xD0|p|P)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xE2|\xC2|B)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?(\xED|\xCD|H)[[:blank:][:punct:]]?/
score BODY_WIN1251_KVALIF 0.2

# -------------------
# KOI8-R: "ВЕУРМБФО" 
# Win1251: "бесплатн" 
# UTF8: "бесплатн" 
body BODY_KOI8_FREECOST
/(\xC2|\xE2)[[:blank:][:punct:]]?(\xC5|\xE5|e|E)[[:blank:][:punct:]]?(\xD3|\xF3|c|C)[[:blank:][:punct:]]?(\xD0|\xF0|n)[[:blank:][:punct:]]?(\xCC|\xEC)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?(\xD4|\xF4|T)[[:blank:][:punct:]]?(\xCE|\xEE|H)[[:blank:][:punct:]]?/
score BODY_KOI8_FREECOST 1.4
body BODY_WIN1251_FREECOST
/(\xE1|\xC1)[[:blank:][:punct:]]?(\xE5|\xC5|e|E)[[:blank:][:punct:]]?(\xF1|\xD1|c|C)[[:blank:][:punct:]]?(\xEF|\xCF|n)[[:blank:][:punct:]]?(\xEB|\xCB)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?(\xF2|\xD2|T)[[:blank:][:punct:]]?(\xED|\xCD|H)[[:blank:][:punct:]]?/
score BODY_WIN1251_FREECOST 1.4

# -------------------
# KOI8-R: "РТПЖЕУУЙПОБМ" 
# Win1251: "профессионал" 
# UTF8: "профессионал" 
body BODY_KOI8_PROF
/(\xD0|\xF0|n)[[:blank:][:punct:]]?(\xD2|\xF2|p|P)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xC6|\xE6)[[:blank:][:punct:]]?(\xC5|\xE5|e|E)[[:blank:][:punct:]]?(\xD3|\xF3|c|C)[[:blank:][:punct:]]?(\xD3|\xF3|c|C)[[:blank:][:punct:]]?(\xC9|\xE9|u|U)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xCE|\xEE|H)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?(\xCC|\xEC)[[:blank:][:punct:]]?/
score BODY_KOI8_PROF 0.2
body BODY_WIN1251_PROF
/(\xEF|\xCF|n)[[:blank:][:punct:]]?(\xF0|\xD0|p|P)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xF4|\xD4)[[:blank:][:punct:]]?(\xE5|\xC5|e|E)[[:blank:][:punct:]]?(\xF1|\xD1|c|C)[[:blank:][:punct:]]?(\xF1|\xD1|c|C)[[:blank:][:punct:]]?(\xE8|\xC8|u|U)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xED|\xCD|H)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?(\xEB|\xCB)[[:blank:][:punct:]]?/
score BODY_WIN1251_PROF 0.2

# -------------------
# KOI8-R: "РПЪЧПОЙ" 
# Win1251: "позвони" 
# UTF8: "РїРѕР·РІРѕРЅРё" 
body BODY_KOI8_CALLME
/(\xD0|\xF0|n)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xDA|\xFA|3)[[:blank:][:punct:]]?(\xD7|\xF7|B)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xCE|\xEE|H)[[:blank:][:punct:]]?(\xC9|\xE9|u|U)[[:blank:][:punct:]]?/
score BODY_KOI8_CALLME 0.2
body BODY_WIN1251_CALLME
/(\xEF|\xCF|n)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xE7|\xC7|3)[[:blank:][:punct:]]?(\xE2|\xC2|B)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xED|\xCD|H)[[:blank:][:punct:]]?(\xE8|\xC8|u|U)[[:blank:][:punct:]]?/
score BODY_WIN1251_CALLME 0.2

# -------------------
# KOI8-R: "ЫПУУЕ" 
# Win1251: "шоссе" 
# UTF8: "С?РѕСЃСЃРµ" 
body BODY_KOI8_SHOSSE
/(\xDB|\xFB|\xDD|\xFD|w|W)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xD3|\xF3|c|C)[[:blank:][:punct:]]?(\xD3|\xF3|c|C)[[:blank:][:punct:]]?(\xC5|\xE5|e|E)[[:blank:][:punct:]]?/
score BODY_KOI8_SHOSSE 0.2
body BODY_WIN1251_SHOSSE
/(\xF8|\xD8|\xF9|\xD9|w|W)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xF1|\xD1|c|C)[[:blank:][:punct:]]?(\xF1|\xD1|c|C)[[:blank:][:punct:]]?(\xE5|\xC5|e|E)[[:blank:][:punct:]]?/
score BODY_WIN1251_SHOSSE 0.2

# -------------------
# KOI8-R: "ДЙРМПН" 
# Win1251: "диплом" 
# UTF8: "диплом" 
body BODY_KOI8_DIPLOM
/(\xC4|\xE4)[[:blank:][:punct:]]?(\xC9|\xE9|u|U)[[:blank:][:punct:]]?(\xD0|\xF0|n)[[:blank:][:punct:]]?(\xCC|\xEC)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xCD|\xED|M)[[:blank:][:punct:]]?/
score BODY_KOI8_DIPLOM 1.2
body BODY_WIN1251_DIPLOM
/(\xE4|\xC4)[[:blank:][:punct:]]?(\xE8|\xC8|u|U)[[:blank:][:punct:]]?(\xEF|\xCF|n)[[:blank:][:punct:]]?(\xEB|\xCB)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xEC|\xCC|M)[[:blank:][:punct:]]?/
score BODY_WIN1251_DIPLOM 1.2

# -------------------
# KOI8-R: "ОЕДПТПЗ" 
# Win1251: "недорог" 
# UTF8: "недорог" 
body BODY_KOI8_NEDOROGO
/(\xCE|\xEE|H)[[:blank:][:punct:]]?(\xC5|\xE5|e|E)[[:blank:][:punct:]]?(\xC4|\xE4)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xD2|\xF2|p|P)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xC7|\xE7)[[:blank:][:punct:]]?/
score BODY_KOI8_NEDOROGO 1.2
body BODY_WIN1251_NEDOROGO
/(\xED|\xCD|H)[[:blank:][:punct:]]?(\xE5|\xC5|e|E)[[:blank:][:punct:]]?(\xE4|\xC4)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xF0|\xD0|p|P)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xE3|\xC3)[[:blank:][:punct:]]?/
score BODY_WIN1251_NEDOROGO 1.2

# -------------------
# KOI8-R: "УПФТХДОЙЛ" 
# Win1251: "сотрудник" 
# UTF8: "сотрудник" 
body BODY_KOI8_SOTR
/(\xD3|\xF3|c|C)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xD4|\xF4|T)[[:blank:][:punct:]]?(\xD2|\xF2|p|P)[[:blank:][:punct:]]?(\xD5|\xF5|y|Y)[[:blank:][:punct:]]?(\xC4|\xE4)[[:blank:][:punct:]]?(\xCE|\xEE|H)[[:blank:][:punct:]]?(\xC9|\xE9|u|U)[[:blank:][:punct:]]?(\xCB|\xEB|k|K)[[:blank:][:punct:]]?/
score BODY_KOI8_SOTR 0.2
body BODY_WIN1251_SOTR
/(\xF1|\xD1|c|C)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xF2|\xD2|T)[[:blank:][:punct:]]?(\xF0|\xD0|p|P)[[:blank:][:punct:]]?(\xF3|\xD3|y|Y)[[:blank:][:punct:]]?(\xE4|\xC4)[[:blank:][:punct:]]?(\xED|\xCD|H)[[:blank:][:punct:]]?(\xE8|\xC8|u|U)[[:blank:][:punct:]]?(\xEA|\xCA|k|K)[[:blank:][:punct:]]?/
score BODY_WIN1251_SOTR 0.2

# -------------------
# KOI8-R: "РПНПЦЕ(Н|Ф)" 
# Win1251: "поможе(м|т)" 
# UTF8: "поможе(м|т)" 
body BODY_KOI8_HELP
/(\xD0|\xF0|n)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xCD|\xED|M)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xD6|\xF6)[[:blank:][:punct:]]?(\xC5|\xE5|e|E)[[:blank:][:punct:]]?((\xCD|\xED|M)[[:blank:][:punct:]]?|(\xD4|\xF4|T)[[:blank:][:punct:]]?)/
score BODY_KOI8_HELP 0.2
body BODY_WIN1251_HELP
/(\xEF|\xCF|n)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xEC|\xCC|M)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xE6|\xC6)[[:blank:][:punct:]]?(\xE5|\xC5|e|E)[[:blank:][:punct:]]?((\xEC|\xCC|M)[[:blank:][:punct:]]?|(\xF2|\xD2|T)[[:blank:][:punct:]]?)/
score BODY_WIN1251_HELP 0.2

# -------------------
# KOI8-R: "УЛЙДЛ(Б|Й)" 
# Win1251: "скидк(а|и)" 
# UTF8: "СЃРєРёРґРє(Р°|Рё)" 
body BODY_KOI8_SKIDKI
/(\xD3|\xF3|c|C)[[:blank:][:punct:]]?(\xCB|\xEB|k|K)[[:blank:][:punct:]]?(\xC9|\xE9|u|U)[[:blank:][:punct:]]?(\xC4|\xE4)[[:blank:][:punct:]]?(\xCB|\xEB|k|K)[[:blank:][:punct:]]?((\xC1|\xE1|a|A)[[:blank:][:punct:]]?|(\xC9|\xE9|u|U)[[:blank:][:punct:]]?)/
score BODY_KOI8_SKIDKI 1.2
body BODY_WIN1251_SKIDKI
/(\xF1|\xD1|c|C)[[:blank:][:punct:]]?(\xEA|\xCA|k|K)[[:blank:][:punct:]]?(\xE8|\xC8|u|U)[[:blank:][:punct:]]?(\xE4|\xC4)[[:blank:][:punct:]]?(\xEA|\xCA|k|K)[[:blank:][:punct:]]?((\xE0|\xC0|a|A)[[:blank:][:punct:]]?|(\xE8|\xC8|u|U)[[:blank:][:punct:]]?)/
score BODY_WIN1251_SKIDKI 1.2

# -------------------
# KOI8-R: "ХУРЕЫО" 
# Win1251: "успешн" 
# UTF8: "СѓСЃРїРµС?РЅ" 
body BODY_KOI8_USPESH
/(\xD5|\xF5|y|Y)[[:blank:][:punct:]]?(\xD3|\xF3|c|C)[[:blank:][:punct:]]?(\xD0|\xF0|n)[[:blank:][:punct:]]?(\xC5|\xE5|e|E)[[:blank:][:punct:]]?(\xDB|\xFB|\xDD|\xFD|w|W)[[:blank:][:punct:]]?(\xCE|\xEE|H)[[:blank:][:punct:]]?/
score BODY_KOI8_USPESH 0.2
body BODY_WIN1251_USPESH
/(\xF3|\xD3|y|Y)[[:blank:][:punct:]]?(\xF1|\xD1|c|C)[[:blank:][:punct:]]?(\xEF|\xCF|n)[[:blank:][:punct:]]?(\xE5|\xC5|e|E)[[:blank:][:punct:]]?(\xF8|\xD8|\xF9|\xD9|w|W)[[:blank:][:punct:]]?(\xED|\xCD|H)[[:blank:][:punct:]]?/
score BODY_WIN1251_USPESH 0.2

# -------------------
# KOI8-R: "ЛПОЛХТЕО" 
# Win1251: "конкурен" 
# UTF8: "конкурен" 
body BODY_KOI8_KONKUR
/(\xCB|\xEB|k|K)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xCE|\xEE|H)[[:blank:][:punct:]]?(\xCB|\xEB|k|K)[[:blank:][:punct:]]?(\xD5|\xF5|y|Y)[[:blank:][:punct:]]?(\xD2|\xF2|p|P)[[:blank:][:punct:]]?(\xC5|\xE5|e|E)[[:blank:][:punct:]]?(\xCE|\xEE|H)[[:blank:][:punct:]]?/
score BODY_KOI8_KONKUR 0.2
body BODY_WIN1251_KONKUR
/(\xEA|\xCA|k|K)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xED|\xCD|H)[[:blank:][:punct:]]?(\xEA|\xCA|k|K)[[:blank:][:punct:]]?(\xF3|\xD3|y|Y)[[:blank:][:punct:]]?(\xF0|\xD0|p|P)[[:blank:][:punct:]]?(\xE5|\xC5|e|E)[[:blank:][:punct:]]?(\xED|\xCD|H)[[:blank:][:punct:]]?/
score BODY_WIN1251_KONKUR 0.2

# -------------------
# KOI8-R: "ЬЖЖЕЛФЙЧО" 
# Win1251: "эффективн" 
# UTF8: "эффективн" 
body BODY_KOI8_EFF
/(\xDC|\xFC)[[:blank:][:punct:]]?(\xC6|\xE6)[[:blank:][:punct:]]?(\xC6|\xE6)[[:blank:][:punct:]]?(\xC5|\xE5|e|E)[[:blank:][:punct:]]?(\xCB|\xEB|k|K)[[:blank:][:punct:]]?(\xD4|\xF4|T)[[:blank:][:punct:]]?(\xC9|\xE9|u|U)[[:blank:][:punct:]]?(\xD7|\xF7|B)[[:blank:][:punct:]]?(\xCE|\xEE|H)[[:blank:][:punct:]]?/
score BODY_KOI8_EFF 1.2
body BODY_WIN1251_EFF
/(\xFD|\xDD)[[:blank:][:punct:]]?(\xF4|\xD4)[[:blank:][:punct:]]?(\xF4|\xD4)[[:blank:][:punct:]]?(\xE5|\xC5|e|E)[[:blank:][:punct:]]?(\xEA|\xCA|k|K)[[:blank:][:punct:]]?(\xF2|\xD2|T)[[:blank:][:punct:]]?(\xE8|\xC8|u|U)[[:blank:][:punct:]]?(\xE2|\xC2|B)[[:blank:][:punct:]]?(\xED|\xCD|H)[[:blank:][:punct:]]?/
score BODY_WIN1251_EFF 1.2

# -------------------
# KOI8-R: "ЙОЧЕУФЙ" 
# Win1251: "инвести" 
# UTF8: "инвести" 
body BODY_KOI8_INVEST
/(\xC9|\xE9|u|U)[[:blank:][:punct:]]?(\xCE|\xEE|H)[[:blank:][:punct:]]?(\xD7|\xF7|B)[[:blank:][:punct:]]?(\xC5|\xE5|e|E)[[:blank:][:punct:]]?(\xD3|\xF3|c|C)[[:blank:][:punct:]]?(\xD4|\xF4|T)[[:blank:][:punct:]]?(\xC9|\xE9|u|U)[[:blank:][:punct:]]?/
score BODY_KOI8_INVEST 0.2
body BODY_WIN1251_INVEST
/(\xE8|\xC8|u|U)[[:blank:][:punct:]]?(\xED|\xCD|H)[[:blank:][:punct:]]?(\xE2|\xC2|B)[[:blank:][:punct:]]?(\xE5|\xC5|e|E)[[:blank:][:punct:]]?(\xF1|\xD1|c|C)[[:blank:][:punct:]]?(\xF2|\xD2|T)[[:blank:][:punct:]]?(\xE8|\xC8|u|U)[[:blank:][:punct:]]?/
score BODY_WIN1251_INVEST 0.2

# -------------------
# KOI8-R: "ПРЕТБГЙ" 
# Win1251: "операци" 
# UTF8: "операци" 
body BODY_KOI8_OPERAC
/(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xD0|\xF0|n)[[:blank:][:punct:]]?(\xC5|\xE5|e|E)[[:blank:][:punct:]]?(\xD2|\xF2|p|P)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?(\xC3|\xE3)[[:blank:][:punct:]]?(\xC9|\xE9|u|U)[[:blank:][:punct:]]?/
score BODY_KOI8_OPERAC 0.2
body BODY_WIN1251_OPERAC
/(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xEF|\xCF|n)[[:blank:][:punct:]]?(\xE5|\xC5|e|E)[[:blank:][:punct:]]?(\xF0|\xD0|p|P)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?(\xF6|\xD6)[[:blank:][:punct:]]?(\xE8|\xC8|u|U)[[:blank:][:punct:]]?/
score BODY_WIN1251_OPERAC 0.2

# -------------------
# KOI8-R: "(ЪБФТБ(Ф|Ю)|ЧМПЦЕО)" 
# Win1251: "(затра(т|ч)|вложен)" 
# UTF8: "(затра(т|ч)|вложен)" 
body BODY_KOI8_ZATRAT
/((\xDA|\xFA|3)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?(\xD4|\xF4|T)[[:blank:][:punct:]]?(\xD2|\xF2|p|P)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?((\xD4|\xF4|T)[[:blank:][:punct:]]?|(\xDE|\xFE|4)[[:blank:][:punct:]]?)|(\xD7|\xF7|B)[[:blank:][:punct:]]?(\xCC|\xEC)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xD6|\xF6)[[:blank:][:punct:]]?(\xC5|\xE5|e|E)[[:blank:][:punct:]]?(\xCE|\xEE|H)[[:blank:][:punct:]]?)/
score BODY_KOI8_ZATRAT 0.2
body BODY_WIN1251_ZATRAT
/((\xE7|\xC7|3)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?(\xF2|\xD2|T)[[:blank:][:punct:]]?(\xF0|\xD0|p|P)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?((\xF2|\xD2|T)[[:blank:][:punct:]]?|(\xF7|\xD7|4)[[:blank:][:punct:]]?)|(\xE2|\xC2|B)[[:blank:][:punct:]]?(\xEB|\xCB)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xE6|\xC6)[[:blank:][:punct:]]?(\xE5|\xC5|e|E)[[:blank:][:punct:]]?(\xED|\xCD|H)[[:blank:][:punct:]]?)/
score BODY_WIN1251_ZATRAT 0.2

# -------------------
# KOI8-R: "ТЕЪХМШФ" 
# Win1251: "результ" 
# UTF8: "результ" 
body BODY_KOI8_RESULT
/(\xD2|\xF2|p|P)[[:blank:][:punct:]]?(\xC5|\xE5|e|E)[[:blank:][:punct:]]?(\xDA|\xFA|3)[[:blank:][:punct:]]?(\xD5|\xF5|y|Y)[[:blank:][:punct:]]?(\xCC|\xEC)[[:blank:][:punct:]]?(\xD8|\xF8|b)[[:blank:][:punct:]]?(\xD4|\xF4|T)[[:blank:][:punct:]]?/
score BODY_KOI8_RESULT 0.2
body BODY_WIN1251_RESULT
/(\xF0|\xD0|p|P)[[:blank:][:punct:]]?(\xE5|\xC5|e|E)[[:blank:][:punct:]]?(\xE7|\xC7|3)[[:blank:][:punct:]]?(\xF3|\xD3|y|Y)[[:blank:][:punct:]]?(\xEB|\xCB)[[:blank:][:punct:]]?(\xFC|\xDC|b)[[:blank:][:punct:]]?(\xF2|\xD2|T)[[:blank:][:punct:]]?/
score BODY_WIN1251_RESULT 0.2

# -------------------
# KOI8-R: "ЛХТШЕТ" 
# Win1251: "курьер" 
# UTF8: "курьер" 
body BODY_KOI8_KURJER
/(\xCB|\xEB|k|K)[[:blank:][:punct:]]?(\xD5|\xF5|y|Y)[[:blank:][:punct:]]?(\xD2|\xF2|p|P)[[:blank:][:punct:]]?(\xD8|\xF8|b)[[:blank:][:punct:]]?(\xC5|\xE5|e|E)[[:blank:][:punct:]]?(\xD2|\xF2|p|P)[[:blank:][:punct:]]?/
score BODY_KOI8_KURJER 0.2
body BODY_WIN1251_KURJER
/(\xEA|\xCA|k|K)[[:blank:][:punct:]]?(\xF3|\xD3|y|Y)[[:blank:][:punct:]]?(\xF0|\xD0|p|P)[[:blank:][:punct:]]?(\xFC|\xDC|b)[[:blank:][:punct:]]?(\xE5|\xC5|e|E)[[:blank:][:punct:]]?(\xF0|\xD0|p|P)[[:blank:][:punct:]]?/
score BODY_WIN1251_KURJER 0.2

# -------------------
# KOI8-R: "ЧЩЕ((Ъ(Д|Ц))|И)" 
# Win1251: "вые((з(д|ж))|х)" 
# UTF8: "вые((з(д|ж))|х)" 
body BODY_KOI8_VJEZD
/(\xD7|\xF7|B)[[:blank:][:punct:]]?(\xD9|\xF9)[[:blank:][:punct:]]?(\xC5|\xE5|e|E)[[:blank:][:punct:]]?(((\xDA|\xFA|3)[[:blank:][:punct:]]?((\xC4|\xE4)[[:blank:][:punct:]]?|(\xD6|\xF6)[[:blank:][:punct:]]?))|(\xC8|\xE8|x|X)[[:blank:][:punct:]]?)/
score BODY_KOI8_VJEZD 0.2
body BODY_WIN1251_VJEZD
/(\xE2|\xC2|B)[[:blank:][:punct:]]?(\xFB|\xDB)[[:blank:][:punct:]]?(\xE5|\xC5|e|E)[[:blank:][:punct:]]?(((\xE7|\xC7|3)[[:blank:][:punct:]]?((\xE4|\xC4)[[:blank:][:punct:]]?|(\xE6|\xC6)[[:blank:][:punct:]]?))|(\xF5|\xD5|x|X)[[:blank:][:punct:]]?)/
score BODY_WIN1251_VJEZD 0.2

# -------------------
# KOI8-R: "ДПУФБЧ(Й|Л)" 
# Win1251: "достав(и|к)" 
# UTF8: "достав(и|к)" 
body BODY_KOI8_DOSTAV
/(\xC4|\xE4)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xD3|\xF3|c|C)[[:blank:][:punct:]]?(\xD4|\xF4|T)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?(\xD7|\xF7|B)[[:blank:][:punct:]]?((\xC9|\xE9|u|U)[[:blank:][:punct:]]?|(\xCB|\xEB|k|K)[[:blank:][:punct:]]?)/
score BODY_KOI8_DOSTAV 0.2
body BODY_WIN1251_DOSTAV
/(\xE4|\xC4)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xF1|\xD1|c|C)[[:blank:][:punct:]]?(\xF2|\xD2|T)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?(\xE2|\xC2|B)[[:blank:][:punct:]]?((\xE8|\xC8|u|U)[[:blank:][:punct:]]?|(\xEA|\xCA|k|K)[[:blank:][:punct:]]?)/
score BODY_WIN1251_DOSTAV 0.2

# -------------------
# KOI8-R: "ЧБЫ.{0,3}\s?ВЙЪОЕУ" 
# Win1251: "ваш.{0,3}\s?бизнес" 
# UTF8: "РІР°С?.{0,3}\s?бизнес" 
body BODY_KOI8_YUBIZ
/(\xD7|\xF7|B)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?(\xDB|\xFB|\xDD|\xFD|w|W)[[:blank:][:punct:]]?.{0,3}\s?(\xC2|\xE2)[[:blank:][:punct:]]?(\xC9|\xE9|u|U)[[:blank:][:punct:]]?(\xDA|\xFA|3)[[:blank:][:punct:]]?(\xCE|\xEE|H)[[:blank:][:punct:]]?(\xC5|\xE5|e|E)[[:blank:][:punct:]]?(\xD3|\xF3|c|C)[[:blank:][:punct:]]?/
score BODY_KOI8_YUBIZ 0.2
body BODY_WIN1251_YUBIZ
/(\xE2|\xC2|B)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?(\xF8|\xD8|\xF9|\xD9|w|W)[[:blank:][:punct:]]?.{0,3}\s?(\xE1|\xC1)[[:blank:][:punct:]]?(\xE8|\xC8|u|U)[[:blank:][:punct:]]?(\xE7|\xC7|3)[[:blank:][:punct:]]?(\xED|\xCD|H)[[:blank:][:punct:]]?(\xE5|\xC5|e|E)[[:blank:][:punct:]]?(\xF1|\xD1|c|C)[[:blank:][:punct:]]?/
score BODY_WIN1251_YUBIZ 0.2

# -------------------
# KOI8-R: "Н((БЛУ)|(ЙО))ЙНБМШО" 
# Win1251: "м((акс)|(ин))имальн" 
# UTF8: "м((акс)|(ин))имальн" 
body BODY_KOI8_MAX
/(\xCD|\xED|M)[[:blank:][:punct:]]?(((\xC1|\xE1|a|A)[[:blank:][:punct:]]?(\xCB|\xEB|k|K)[[:blank:][:punct:]]?(\xD3|\xF3|c|C)[[:blank:][:punct:]]?)|((\xC9|\xE9|u|U)[[:blank:][:punct:]]?(\xCE|\xEE|H)[[:blank:][:punct:]]?))(\xC9|\xE9|u|U)[[:blank:][:punct:]]?(\xCD|\xED|M)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?(\xCC|\xEC)[[:blank:][:punct:]]?(\xD8|\xF8|b)[[:blank:][:punct:]]?(\xCE|\xEE|H)[[:blank:][:punct:]]?/
score BODY_KOI8_MAX 0.2
body BODY_WIN1251_MAX
/(\xEC|\xCC|M)[[:blank:][:punct:]]?(((\xE0|\xC0|a|A)[[:blank:][:punct:]]?(\xEA|\xCA|k|K)[[:blank:][:punct:]]?(\xF1|\xD1|c|C)[[:blank:][:punct:]]?)|((\xE8|\xC8|u|U)[[:blank:][:punct:]]?(\xED|\xCD|H)[[:blank:][:punct:]]?))(\xE8|\xC8|u|U)[[:blank:][:punct:]]?(\xEC|\xCC|M)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?(\xEB|\xCB)[[:blank:][:punct:]]?(\xFC|\xDC|b)[[:blank:][:punct:]]?(\xED|\xCD|H)[[:blank:][:punct:]]?/
score BODY_WIN1251_MAX 0.2

# -------------------
# KOI8-R: "ЛПТРПТБФЙЧО" 
# Win1251: "корпоративн" 
# UTF8: "корпоративн" 
body BODY_KOI8_CORP
/(\xCB|\xEB|k|K)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xD2|\xF2|p|P)[[:blank:][:punct:]]?(\xD0|\xF0|n)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xD2|\xF2|p|P)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?(\xD4|\xF4|T)[[:blank:][:punct:]]?(\xC9|\xE9|u|U)[[:blank:][:punct:]]?(\xD7|\xF7|B)[[:blank:][:punct:]]?(\xCE|\xEE|H)[[:blank:][:punct:]]?/
score BODY_KOI8_CORP 0.2
body BODY_WIN1251_CORP
/(\xEA|\xCA|k|K)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xF0|\xD0|p|P)[[:blank:][:punct:]]?(\xEF|\xCF|n)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xF0|\xD0|p|P)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?(\xF2|\xD2|T)[[:blank:][:punct:]]?(\xE8|\xC8|u|U)[[:blank:][:punct:]]?(\xE2|\xC2|B)[[:blank:][:punct:]]?(\xED|\xCD|H)[[:blank:][:punct:]]?/
score BODY_WIN1251_CORP 0.2

# -------------------
# KOI8-R: "РТЙЗМБ(Ы|c)" 
# Win1251: "пригла(ш|c)" 
# UTF8: "пригла(С?|c)" 
body BODY_KOI8_PRIGL
/(\xD0|\xF0|n)[[:blank:][:punct:]]?(\xD2|\xF2|p|P)[[:blank:][:punct:]]?(\xC9|\xE9|u|U)[[:blank:][:punct:]]?(\xC7|\xE7)[[:blank:][:punct:]]?(\xCC|\xEC)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?((\xDB|\xFB|\xDD|\xFD|w|W)[[:blank:][:punct:]]?|c)/
score BODY_KOI8_PRIGL 0.2
body BODY_WIN1251_PRIGL
/(\xEF|\xCF|n)[[:blank:][:punct:]]?(\xF0|\xD0|p|P)[[:blank:][:punct:]]?(\xE8|\xC8|u|U)[[:blank:][:punct:]]?(\xE3|\xC3)[[:blank:][:punct:]]?(\xEB|\xCB)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?((\xF8|\xD8|\xF9|\xD9|w|W)[[:blank:][:punct:]]?|c)/
score BODY_WIN1251_PRIGL 0.2

# -------------------
# KOI8-R: "((ПЖЙУО)|(ЛЧБТФЙТО)|(ДБЮО)).{2,4}\s?РЕТЕЕЪД" 
# Win1251: "((офисн)|(квартирн)|(дачн)).{2,4}\s?переезд" 
# UTF8: "((офисн)|(квартирн)|(дачн)).{2,4}\s?переезд" 
body BODY_KOI8_PEREEZD
/(((\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xC6|\xE6)[[:blank:][:punct:]]?(\xC9|\xE9|u|U)[[:blank:][:punct:]]?(\xD3|\xF3|c|C)[[:blank:][:punct:]]?(\xCE|\xEE|H)[[:blank:][:punct:]]?)|((\xCB|\xEB|k|K)[[:blank:][:punct:]]?(\xD7|\xF7|B)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?(\xD2|\xF2|p|P)[[:blank:][:punct:]]?(\xD4|\xF4|T)[[:blank:][:punct:]]?(\xC9|\xE9|u|U)[[:blank:][:punct:]]?(\xD2|\xF2|p|P)[[:blank:][:punct:]]?(\xCE|\xEE|H)[[:blank:][:punct:]]?)|((\xC4|\xE4)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?(\xDE|\xFE|4)[[:blank:][:punct:]]?(\xCE|\xEE|H)[[:blank:][:punct:]]?)).{2,4}\s?(\xD0|\xF0|n)[[:blank:][:punct:]]?(\xC5|\xE5|e|E)[[:blank:][:punct:]]?(\xD2|\xF2|p|P)[[:blank:][:punct:]]?(\xC5|\xE5|e|E)[[:blank:][:punct:]]?(\xC5|\xE5|e|E)[[:blank:][:punct:]]?(\xDA|\xFA|3)[[:blank:][:punct:]]?(\xC4|\xE4)[[:blank:][:punct:]]?/
score BODY_KOI8_PEREEZD 2.4
body BODY_WIN1251_PEREEZD
/(((\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xF4|\xD4)[[:blank:][:punct:]]?(\xE8|\xC8|u|U)[[:blank:][:punct:]]?(\xF1|\xD1|c|C)[[:blank:][:punct:]]?(\xED|\xCD|H)[[:blank:][:punct:]]?)|((\xEA|\xCA|k|K)[[:blank:][:punct:]]?(\xE2|\xC2|B)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?(\xF0|\xD0|p|P)[[:blank:][:punct:]]?(\xF2|\xD2|T)[[:blank:][:punct:]]?(\xE8|\xC8|u|U)[[:blank:][:punct:]]?(\xF0|\xD0|p|P)[[:blank:][:punct:]]?(\xED|\xCD|H)[[:blank:][:punct:]]?)|((\xE4|\xC4)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?(\xF7|\xD7|4)[[:blank:][:punct:]]?(\xED|\xCD|H)[[:blank:][:punct:]]?)).{2,4}\s?(\xEF|\xCF|n)[[:blank:][:punct:]]?(\xE5|\xC5|e|E)[[:blank:][:punct:]]?(\xF0|\xD0|p|P)[[:blank:][:punct:]]?(\xE5|\xC5|e|E)[[:blank:][:punct:]]?(\xE5|\xC5|e|E)[[:blank:][:punct:]]?(\xE7|\xC7|3)[[:blank:][:punct:]]?(\xE4|\xC4)[[:blank:][:punct:]]?/
score BODY_WIN1251_PEREEZD 2.4

# -------------------
# KOI8-R: "НЕВЕМ" 
# Win1251: "мебел" 
# UTF8: "мебел" 
body BODY_KOI8_MEB
/(\xCD|\xED|M)[[:blank:][:punct:]]?(\xC5|\xE5|e|E)[[:blank:][:punct:]]?(\xC2|\xE2)[[:blank:][:punct:]]?(\xC5|\xE5|e|E)[[:blank:][:punct:]]?(\xCC|\xEC)[[:blank:][:punct:]]?/
score BODY_KOI8_MEB 0.4
body BODY_WIN1251_MEB
/(\xEC|\xCC|M)[[:blank:][:punct:]]?(\xE5|\xC5|e|E)[[:blank:][:punct:]]?(\xE1|\xC1)[[:blank:][:punct:]]?(\xE5|\xC5|e|E)[[:blank:][:punct:]]?(\xEB|\xCB)[[:blank:][:punct:]]?/
score BODY_WIN1251_MEB 0.4

# -------------------
# KOI8-R: "(Х|ЪБ)РБЛ(ПЧ|Х)" 
# Win1251: "(у|за)пак(ов|у)" 
# UTF8: "(у|за)пак(ов|у)" 
body BODY_KOI8_UPAK
/((\xD5|\xF5|y|Y)[[:blank:][:punct:]]?|(\xDA|\xFA|3)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?)(\xD0|\xF0|n)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?(\xCB|\xEB|k|K)[[:blank:][:punct:]]?((\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xD7|\xF7|B)[[:blank:][:punct:]]?|(\xD5|\xF5|y|Y)[[:blank:][:punct:]]?)/
score BODY_KOI8_UPAK 0.2
body BODY_WIN1251_UPAK
/((\xF3|\xD3|y|Y)[[:blank:][:punct:]]?|(\xE7|\xC7|3)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?)(\xEF|\xCF|n)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?(\xEA|\xCA|k|K)[[:blank:][:punct:]]?((\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xE2|\xC2|B)[[:blank:][:punct:]]?|(\xF3|\xD3|y|Y)[[:blank:][:punct:]]?)/
score BODY_WIN1251_UPAK 0.2

# -------------------
# KOI8-R: "УЕНЙОБТ" 
# Win1251: "семинар" 
# UTF8: "семинар" 
body BODY_KOI8_SEMINAR
/(\xD3|\xF3|c|C)[[:blank:][:punct:]]?(\xC5|\xE5|e|E)[[:blank:][:punct:]]?(\xCD|\xED|M)[[:blank:][:punct:]]?(\xC9|\xE9|u|U)[[:blank:][:punct:]]?(\xCE|\xEE|H)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?(\xD2|\xF2|p|P)[[:blank:][:punct:]]?/
score BODY_KOI8_SEMINAR 1.4
body BODY_WIN1251_SEMINAR
/(\xF1|\xD1|c|C)[[:blank:][:punct:]]?(\xE5|\xC5|e|E)[[:blank:][:punct:]]?(\xEC|\xCC|M)[[:blank:][:punct:]]?(\xE8|\xC8|u|U)[[:blank:][:punct:]]?(\xED|\xCD|H)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?(\xF0|\xD0|p|P)[[:blank:][:punct:]]?/
score BODY_WIN1251_SEMINAR 1.4

# -------------------
# KOI8-R: "РТБЛФЙЛХН" 
# Win1251: "практикум" 
# UTF8: "практикум" 
body BODY_KOI8_PRAKTIKUM
/(\xD0|\xF0|n)[[:blank:][:punct:]]?(\xD2|\xF2|p|P)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?(\xCB|\xEB|k|K)[[:blank:][:punct:]]?(\xD4|\xF4|T)[[:blank:][:punct:]]?(\xC9|\xE9|u|U)[[:blank:][:punct:]]?(\xCB|\xEB|k|K)[[:blank:][:punct:]]?(\xD5|\xF5|y|Y)[[:blank:][:punct:]]?(\xCD|\xED|M)[[:blank:][:punct:]]?/
score BODY_KOI8_PRAKTIKUM 0.4
body BODY_WIN1251_PRAKTIKUM
/(\xEF|\xCF|n)[[:blank:][:punct:]]?(\xF0|\xD0|p|P)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?(\xEA|\xCA|k|K)[[:blank:][:punct:]]?(\xF2|\xD2|T)[[:blank:][:punct:]]?(\xE8|\xC8|u|U)[[:blank:][:punct:]]?(\xEA|\xCA|k|K)[[:blank:][:punct:]]?(\xF3|\xD3|y|Y)[[:blank:][:punct:]]?(\xEC|\xCC|M)[[:blank:][:punct:]]?/
score BODY_WIN1251_PRAKTIKUM 0.4

# -------------------
# KOI8-R: "ФТЕОЙОЗ" 
# Win1251: "тренинг" 
# UTF8: "тренинг" 
body BODY_KOI8_TRENING
/(\xD4|\xF4|T)[[:blank:][:punct:]]?(\xD2|\xF2|p|P)[[:blank:][:punct:]]?(\xC5|\xE5|e|E)[[:blank:][:punct:]]?(\xCE|\xEE|H)[[:blank:][:punct:]]?(\xC9|\xE9|u|U)[[:blank:][:punct:]]?(\xCE|\xEE|H)[[:blank:][:punct:]]?(\xC7|\xE7)[[:blank:][:punct:]]?/
score BODY_KOI8_TRENING 0.4
body BODY_WIN1251_TRENING
/(\xF2|\xD2|T)[[:blank:][:punct:]]?(\xF0|\xD0|p|P)[[:blank:][:punct:]]?(\xE5|\xC5|e|E)[[:blank:][:punct:]]?(\xED|\xCD|H)[[:blank:][:punct:]]?(\xE8|\xC8|u|U)[[:blank:][:punct:]]?(\xED|\xCD|H)[[:blank:][:punct:]]?(\xE3|\xC3)[[:blank:][:punct:]]?/
score BODY_WIN1251_TRENING 0.4

# -------------------
# KOI8-R: "НЕФПДЙ(Ю|У|Л)" 
# Win1251: "методи(ч|с|к)" 
# UTF8: "методи(ч|с|к)" 
body BODY_KOI8_METODI
/(\xCD|\xED|M)[[:blank:][:punct:]]?(\xC5|\xE5|e|E)[[:blank:][:punct:]]?(\xD4|\xF4|T)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xC4|\xE4)[[:blank:][:punct:]]?(\xC9|\xE9|u|U)[[:blank:][:punct:]]?((\xDE|\xFE|4)[[:blank:][:punct:]]?|(\xD3|\xF3|c|C)[[:blank:][:punct:]]?|(\xCB|\xEB|k|K)[[:blank:][:punct:]]?)/
score BODY_KOI8_METODI 0.4
body BODY_WIN1251_METODI
/(\xEC|\xCC|M)[[:blank:][:punct:]]?(\xE5|\xC5|e|E)[[:blank:][:punct:]]?(\xF2|\xD2|T)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xE4|\xC4)[[:blank:][:punct:]]?(\xE8|\xC8|u|U)[[:blank:][:punct:]]?((\xF7|\xD7|4)[[:blank:][:punct:]]?|(\xF1|\xD1|c|C)[[:blank:][:punct:]]?|(\xEA|\xCA|k|K)[[:blank:][:punct:]]?)/
score BODY_WIN1251_METODI 0.4

# -------------------
# KOI8-R: "РТПЧ(ЕДЕО|ПДЙ|ЕУФ)" 
# Win1251: "пров(еден|оди|ест)" 
# UTF8: "пров(еден|оди|ест)" 
body BODY_KOI8_PROVODIT
/(\xD0|\xF0|n)[[:blank:][:punct:]]?(\xD2|\xF2|p|P)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xD7|\xF7|B)[[:blank:][:punct:]]?((\xC5|\xE5|e|E)[[:blank:][:punct:]]?(\xC4|\xE4)[[:blank:][:punct:]]?(\xC5|\xE5|e|E)[[:blank:][:punct:]]?(\xCE|\xEE|H)[[:blank:][:punct:]]?|(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xC4|\xE4)[[:blank:][:punct:]]?(\xC9|\xE9|u|U)[[:blank:][:punct:]]?|(\xC5|\xE5|e|E)[[:blank:][:punct:]]?(\xD3|\xF3|c|C)[[:blank:][:punct:]]?(\xD4|\xF4|T)[[:blank:][:punct:]]?)/
score BODY_KOI8_PROVODIT 0.4
body BODY_WIN1251_PROVODIT
/(\xEF|\xCF|n)[[:blank:][:punct:]]?(\xF0|\xD0|p|P)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xE2|\xC2|B)[[:blank:][:punct:]]?((\xE5|\xC5|e|E)[[:blank:][:punct:]]?(\xE4|\xC4)[[:blank:][:punct:]]?(\xE5|\xC5|e|E)[[:blank:][:punct:]]?(\xED|\xCD|H)[[:blank:][:punct:]]?|(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xE4|\xC4)[[:blank:][:punct:]]?(\xE8|\xC8|u|U)[[:blank:][:punct:]]?|(\xE5|\xC5|e|E)[[:blank:][:punct:]]?(\xF1|\xD1|c|C)[[:blank:][:punct:]]?(\xF2|\xD2|T)[[:blank:][:punct:]]?)/
score BODY_WIN1251_PROVODIT 0.4

# -------------------
# KOI8-R: "ЪБЛПОПДБФЕМШУФЧ" 
# Win1251: "законодательств" 
# UTF8: "законодательств" 
body BODY_KOI8_ZAKONOD
/(\xDA|\xFA|3)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?(\xCB|\xEB|k|K)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xCE|\xEE|H)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xC4|\xE4)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?(\xD4|\xF4|T)[[:blank:][:punct:]]?(\xC5|\xE5|e|E)[[:blank:][:punct:]]?(\xCC|\xEC)[[:blank:][:punct:]]?(\xD8|\xF8|b)[[:blank:][:punct:]]?(\xD3|\xF3|c|C)[[:blank:][:punct:]]?(\xD4|\xF4|T)[[:blank:][:punct:]]?(\xD7|\xF7|B)[[:blank:][:punct:]]?/
score BODY_KOI8_ZAKONOD 0.4
body BODY_WIN1251_ZAKONOD
/(\xE7|\xC7|3)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?(\xEA|\xCA|k|K)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xED|\xCD|H)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xE4|\xC4)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?(\xF2|\xD2|T)[[:blank:][:punct:]]?(\xE5|\xC5|e|E)[[:blank:][:punct:]]?(\xEB|\xCB)[[:blank:][:punct:]]?(\xFC|\xDC|b)[[:blank:][:punct:]]?(\xF1|\xD1|c|C)[[:blank:][:punct:]]?(\xF2|\xD2|T)[[:blank:][:punct:]]?(\xE2|\xC2|B)[[:blank:][:punct:]]?/
score BODY_WIN1251_ZAKONOD 0.4

# -------------------
# KOI8-R: "РЕТЕЗПЧПТ" 
# Win1251: "переговор" 
# UTF8: "переговор" 
body BODY_KOI8_PEREG
/(\xD0|\xF0|n)[[:blank:][:punct:]]?(\xC5|\xE5|e|E)[[:blank:][:punct:]]?(\xD2|\xF2|p|P)[[:blank:][:punct:]]?(\xC5|\xE5|e|E)[[:blank:][:punct:]]?(\xC7|\xE7)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xD7|\xF7|B)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xD2|\xF2|p|P)[[:blank:][:punct:]]?/
score BODY_KOI8_PEREG 0.2
body BODY_WIN1251_PEREG
/(\xEF|\xCF|n)[[:blank:][:punct:]]?(\xE5|\xC5|e|E)[[:blank:][:punct:]]?(\xF0|\xD0|p|P)[[:blank:][:punct:]]?(\xE5|\xC5|e|E)[[:blank:][:punct:]]?(\xE3|\xC3)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xE2|\xC2|B)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xF0|\xD0|p|P)[[:blank:][:punct:]]?/
score BODY_WIN1251_PEREG 0.2

# -------------------
# KOI8-R: "РТПДБЦ" 
# Win1251: "продаж" 
# UTF8: "продаж" 
body BODY_KOI8_PRODAJ
/(\xD0|\xF0|n)[[:blank:][:punct:]]?(\xD2|\xF2|p|P)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xC4|\xE4)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?(\xD6|\xF6)[[:blank:][:punct:]]?/
score BODY_KOI8_PRODAJ 0.4
body BODY_WIN1251_PRODAJ
/(\xEF|\xCF|n)[[:blank:][:punct:]]?(\xF0|\xD0|p|P)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xE4|\xC4)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?(\xE6|\xC6)[[:blank:][:punct:]]?/
score BODY_WIN1251_PRODAJ 0.4

# -------------------
# KOI8-R: "НБТЛЕФ(ЙО|ПМП)З" 
# Win1251: "маркет(ин|оло)г" 
# UTF8: "маркет(ин|оло)г" 
body BODY_KOI8_MARKET
/(\xCD|\xED|M)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?(\xD2|\xF2|p|P)[[:blank:][:punct:]]?(\xCB|\xEB|k|K)[[:blank:][:punct:]]?(\xC5|\xE5|e|E)[[:blank:][:punct:]]?(\xD4|\xF4|T)[[:blank:][:punct:]]?((\xC9|\xE9|u|U)[[:blank:][:punct:]]?(\xCE|\xEE|H)[[:blank:][:punct:]]?|(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xCC|\xEC)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?)(\xC7|\xE7)[[:blank:][:punct:]]?/
score BODY_KOI8_MARKET 0.4
body BODY_WIN1251_MARKET
/(\xEC|\xCC|M)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?(\xF0|\xD0|p|P)[[:blank:][:punct:]]?(\xEA|\xCA|k|K)[[:blank:][:punct:]]?(\xE5|\xC5|e|E)[[:blank:][:punct:]]?(\xF2|\xD2|T)[[:blank:][:punct:]]?((\xE8|\xC8|u|U)[[:blank:][:punct:]]?(\xED|\xCD|H)[[:blank:][:punct:]]?|(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xEB|\xCB)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?)(\xE3|\xC3)[[:blank:][:punct:]]?/
score BODY_WIN1251_MARKET 0.4

# -------------------
# KOI8-R: "ВХИЗБМФ" 
# Win1251: "бухгалт" 
# UTF8: "бухгалт" 
body BODY_KOI8_BUH
/(\xC2|\xE2)[[:blank:][:punct:]]?(\xD5|\xF5|y|Y)[[:blank:][:punct:]]?(\xC8|\xE8|x|X)[[:blank:][:punct:]]?(\xC7|\xE7)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?(\xCC|\xEC)[[:blank:][:punct:]]?(\xD4|\xF4|T)[[:blank:][:punct:]]?/
score BODY_KOI8_BUH 0.4
body BODY_WIN1251_BUH
/(\xE1|\xC1)[[:blank:][:punct:]]?(\xF3|\xD3|y|Y)[[:blank:][:punct:]]?(\xF5|\xD5|x|X)[[:blank:][:punct:]]?(\xE3|\xC3)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?(\xEB|\xCB)[[:blank:][:punct:]]?(\xF2|\xD2|T)[[:blank:][:punct:]]?/
score BODY_WIN1251_BUH 0.4

# -------------------
# KOI8-R: "ОБМПЗ" 
# Win1251: "налог" 
# UTF8: "налог" 
body BODY_KOI8_NALOG
/(\xCE|\xEE|H)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?(\xCC|\xEC)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xC7|\xE7)[[:blank:][:punct:]]?/
score BODY_KOI8_NALOG 0.4
body BODY_WIN1251_NALOG
/(\xED|\xCD|H)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?(\xEB|\xCB)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xE3|\xC3)[[:blank:][:punct:]]?/
score BODY_WIN1251_NALOG 0.4

# -------------------
# KOI8-R: "(ОДУ)|(ДПВБЧМЕООХА\s?УФПЙНПУФШ)" 
# Win1251: "(ндс)|(добавленную\s?стоимость)" 
# UTF8: "(ндс)|(добавленную\s?стоимость)" 
body BODY_KOI8_NDS
/((\xCE|\xEE|H)[[:blank:][:punct:]]?(\xC4|\xE4)[[:blank:][:punct:]]?(\xD3|\xF3|c|C)[[:blank:][:punct:]]?)|((\xC4|\xE4)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xC2|\xE2)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?(\xD7|\xF7|B)[[:blank:][:punct:]]?(\xCC|\xEC)[[:blank:][:punct:]]?(\xC5|\xE5|e|E)[[:blank:][:punct:]]?(\xCE|\xEE|H)[[:blank:][:punct:]]?(\xCE|\xEE|H)[[:blank:][:punct:]]?(\xD5|\xF5|y|Y)[[:blank:][:punct:]]?(\xC0|\xE0)[[:blank:][:punct:]]?\s?(\xD3|\xF3|c|C)[[:blank:][:punct:]]?(\xD4|\xF4|T)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xC9|\xE9|u|U)[[:blank:][:punct:]]?(\xCD|\xED|M)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xD3|\xF3|c|C)[[:blank:][:punct:]]?(\xD4|\xF4|T)[[:blank:][:punct:]]?(\xD8|\xF8|b)[[:blank:][:punct:]]?)/
score BODY_KOI8_NDS 0.6
body BODY_WIN1251_NDS
/((\xED|\xCD|H)[[:blank:][:punct:]]?(\xE4|\xC4)[[:blank:][:punct:]]?(\xF1|\xD1|c|C)[[:blank:][:punct:]]?)|((\xE4|\xC4)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xE1|\xC1)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?(\xE2|\xC2|B)[[:blank:][:punct:]]?(\xEB|\xCB)[[:blank:][:punct:]]?(\xE5|\xC5|e|E)[[:blank:][:punct:]]?(\xED|\xCD|H)[[:blank:][:punct:]]?(\xED|\xCD|H)[[:blank:][:punct:]]?(\xF3|\xD3|y|Y)[[:blank:][:punct:]]?(\xFE|\xDE)[[:blank:][:punct:]]?\s?(\xF1|\xD1|c|C)[[:blank:][:punct:]]?(\xF2|\xD2|T)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xE8|\xC8|u|U)[[:blank:][:punct:]]?(\xEC|\xCC|M)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xF1|\xD1|c|C)[[:blank:][:punct:]]?(\xF2|\xD2|T)[[:blank:][:punct:]]?(\xFC|\xDC|b)[[:blank:][:punct:]]?)/
score BODY_WIN1251_NDS 0.6

# -------------------
# KOI8-R: "(ОДЖМ)|(ОБМПЗ.{0,3}\s?(ОБ)?\s?ДПИПДЩ\s?ЖЙЪ.{0,9}МЙГ)" 
# Win1251: "(ндфл)|(налог.{0,3}\s?(на)?\s?доходы\s?физ.{0,9}лиц)" 
# UTF8: "(ндфл)|(налог.{0,3}\s?(на)?\s?доходы\s?физ.{0,9}лиц)" 
body BODY_KOI8_NDFL
/((\xCE|\xEE|H)[[:blank:][:punct:]]?(\xC4|\xE4)[[:blank:][:punct:]]?(\xC6|\xE6)[[:blank:][:punct:]]?(\xCC|\xEC)[[:blank:][:punct:]]?)|((\xCE|\xEE|H)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?(\xCC|\xEC)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xC7|\xE7)[[:blank:][:punct:]]?.{0,3}\s?((\xCE|\xEE|H)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?)?\s?(\xC4|\xE4)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xC8|\xE8|x|X)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xC4|\xE4)[[:blank:][:punct:]]?(\xD9|\xF9)[[:blank:][:punct:]]?\s?(\xC6|\xE6)[[:blank:][:punct:]]?(\xC9|\xE9|u|U)[[:blank:][:punct:]]?(\xDA|\xFA|3)[[:blank:][:punct:]]?.{0,9}(\xCC|\xEC)[[:blank:][:punct:]]?(\xC9|\xE9|u|U)[[:blank:][:punct:]]?(\xC3|\xE3)[[:blank:][:punct:]]?)/
score BODY_KOI8_NDFL 0.6
body BODY_WIN1251_NDFL
/((\xED|\xCD|H)[[:blank:][:punct:]]?(\xE4|\xC4)[[:blank:][:punct:]]?(\xF4|\xD4)[[:blank:][:punct:]]?(\xEB|\xCB)[[:blank:][:punct:]]?)|((\xED|\xCD|H)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?(\xEB|\xCB)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xE3|\xC3)[[:blank:][:punct:]]?.{0,3}\s?((\xED|\xCD|H)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?)?\s?(\xE4|\xC4)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xF5|\xD5|x|X)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xE4|\xC4)[[:blank:][:punct:]]?(\xFB|\xDB)[[:blank:][:punct:]]?\s?(\xF4|\xD4)[[:blank:][:punct:]]?(\xE8|\xC8|u|U)[[:blank:][:punct:]]?(\xE7|\xC7|3)[[:blank:][:punct:]]?.{0,9}(\xEB|\xCB)[[:blank:][:punct:]]?(\xE8|\xC8|u|U)[[:blank:][:punct:]]?(\xF6|\xD6)[[:blank:][:punct:]]?)/
score BODY_WIN1251_NDFL 0.6

# -------------------
# KOI8-R: "(ЕУО)|(ЕДЙО.{2,4}\s?УПГЙБМШО.{2,3}\s?ОБМПЗ)" 
# Win1251: "(есн)|(един.{2,4}\s?социальн.{2,3}\s?налог)" 
# UTF8: "(есн)|(един.{2,4}\s?социальн.{2,3}\s?налог)" 
body BODY_KOI8_ESN
/((\xC5|\xE5|e|E)[[:blank:][:punct:]]?(\xD3|\xF3|c|C)[[:blank:][:punct:]]?(\xCE|\xEE|H)[[:blank:][:punct:]]?)|((\xC5|\xE5|e|E)[[:blank:][:punct:]]?(\xC4|\xE4)[[:blank:][:punct:]]?(\xC9|\xE9|u|U)[[:blank:][:punct:]]?(\xCE|\xEE|H)[[:blank:][:punct:]]?.{2,4}\s?(\xD3|\xF3|c|C)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xC3|\xE3)[[:blank:][:punct:]]?(\xC9|\xE9|u|U)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?(\xCC|\xEC)[[:blank:][:punct:]]?(\xD8|\xF8|b)[[:blank:][:punct:]]?(\xCE|\xEE|H)[[:blank:][:punct:]]?.{2,3}\s?(\xCE|\xEE|H)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?(\xCC|\xEC)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xC7|\xE7)[[:blank:][:punct:]]?)/
score BODY_KOI8_ESN 0.6
body BODY_WIN1251_ESN
/((\xE5|\xC5|e|E)[[:blank:][:punct:]]?(\xF1|\xD1|c|C)[[:blank:][:punct:]]?(\xED|\xCD|H)[[:blank:][:punct:]]?)|((\xE5|\xC5|e|E)[[:blank:][:punct:]]?(\xE4|\xC4)[[:blank:][:punct:]]?(\xE8|\xC8|u|U)[[:blank:][:punct:]]?(\xED|\xCD|H)[[:blank:][:punct:]]?.{2,4}\s?(\xF1|\xD1|c|C)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xF6|\xD6)[[:blank:][:punct:]]?(\xE8|\xC8|u|U)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?(\xEB|\xCB)[[:blank:][:punct:]]?(\xFC|\xDC|b)[[:blank:][:punct:]]?(\xED|\xCD|H)[[:blank:][:punct:]]?.{2,3}\s?(\xED|\xCD|H)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?(\xEB|\xCB)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xE3|\xC3)[[:blank:][:punct:]]?)/
score BODY_WIN1251_ESN 0.6

# -------------------
# KOI8-R: "РТБЛФЙЮ" 
# Win1251: "практич" 
# UTF8: "практич" 
body BODY_KOI8_PRACTI4
/(\xD0|\xF0|n)[[:blank:][:punct:]]?(\xD2|\xF2|p|P)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?(\xCB|\xEB|k|K)[[:blank:][:punct:]]?(\xD4|\xF4|T)[[:blank:][:punct:]]?(\xC9|\xE9|u|U)[[:blank:][:punct:]]?(\xDE|\xFE|4)[[:blank:][:punct:]]?/
score BODY_KOI8_PRACTI4 0.2
body BODY_WIN1251_PRACTI4
/(\xEF|\xCF|n)[[:blank:][:punct:]]?(\xF0|\xD0|p|P)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?(\xEA|\xCA|k|K)[[:blank:][:punct:]]?(\xF2|\xD2|T)[[:blank:][:punct:]]?(\xE8|\xC8|u|U)[[:blank:][:punct:]]?(\xF7|\xD7|4)[[:blank:][:punct:]]?/
score BODY_WIN1251_PRACTI4 0.2

# -------------------
# KOI8-R: "АТЙДЙЮЕУЛ" 
# Win1251: "юридическ" 
# UTF8: "юридическ" 
body BODY_KOI8_JUR
/(\xC0|\xE0)[[:blank:][:punct:]]?(\xD2|\xF2|p|P)[[:blank:][:punct:]]?(\xC9|\xE9|u|U)[[:blank:][:punct:]]?(\xC4|\xE4)[[:blank:][:punct:]]?(\xC9|\xE9|u|U)[[:blank:][:punct:]]?(\xDE|\xFE|4)[[:blank:][:punct:]]?(\xC5|\xE5|e|E)[[:blank:][:punct:]]?(\xD3|\xF3|c|C)[[:blank:][:punct:]]?(\xCB|\xEB|k|K)[[:blank:][:punct:]]?/
score BODY_KOI8_JUR 0.4
body BODY_WIN1251_JUR
/(\xFE|\xDE)[[:blank:][:punct:]]?(\xF0|\xD0|p|P)[[:blank:][:punct:]]?(\xE8|\xC8|u|U)[[:blank:][:punct:]]?(\xE4|\xC4)[[:blank:][:punct:]]?(\xE8|\xC8|u|U)[[:blank:][:punct:]]?(\xF7|\xD7|4)[[:blank:][:punct:]]?(\xE5|\xC5|e|E)[[:blank:][:punct:]]?(\xF1|\xD1|c|C)[[:blank:][:punct:]]?(\xEA|\xCA|k|K)[[:blank:][:punct:]]?/
score BODY_WIN1251_JUR 0.4

# -------------------
# KOI8-R: "БУРЕЛФ" 
# Win1251: "аспект" 
# UTF8: "аспект" 
body BODY_KOI8_ASPECT
/(\xC1|\xE1|a|A)[[:blank:][:punct:]]?(\xD3|\xF3|c|C)[[:blank:][:punct:]]?(\xD0|\xF0|n)[[:blank:][:punct:]]?(\xC5|\xE5|e|E)[[:blank:][:punct:]]?(\xCB|\xEB|k|K)[[:blank:][:punct:]]?(\xD4|\xF4|T)[[:blank:][:punct:]]?/
score BODY_KOI8_ASPECT 0.2
body BODY_WIN1251_ASPECT
/(\xE0|\xC0|a|A)[[:blank:][:punct:]]?(\xF1|\xD1|c|C)[[:blank:][:punct:]]?(\xEF|\xCF|n)[[:blank:][:punct:]]?(\xE5|\xC5|e|E)[[:blank:][:punct:]]?(\xEA|\xCA|k|K)[[:blank:][:punct:]]?(\xF2|\xD2|T)[[:blank:][:punct:]]?/
score BODY_WIN1251_ASPECT 0.2

# -------------------
# KOI8-R: "РУЙИПМПЗЙ" 
# Win1251: "психологи" 
# UTF8: "психологи" 
body BODY_KOI8_PSIH
/(\xD0|\xF0|n)[[:blank:][:punct:]]?(\xD3|\xF3|c|C)[[:blank:][:punct:]]?(\xC9|\xE9|u|U)[[:blank:][:punct:]]?(\xC8|\xE8|x|X)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xCC|\xEC)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xC7|\xE7)[[:blank:][:punct:]]?(\xC9|\xE9|u|U)[[:blank:][:punct:]]?/
score BODY_KOI8_PSIH 0.4
body BODY_WIN1251_PSIH
/(\xEF|\xCF|n)[[:blank:][:punct:]]?(\xF1|\xD1|c|C)[[:blank:][:punct:]]?(\xE8|\xC8|u|U)[[:blank:][:punct:]]?(\xF5|\xD5|x|X)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xEB|\xCB)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xE3|\xC3)[[:blank:][:punct:]]?(\xE8|\xC8|u|U)[[:blank:][:punct:]]?/
score BODY_WIN1251_PSIH 0.4

# -------------------
# KOI8-R: "РЕТУПОБМ" 
# Win1251: "персонал" 
# UTF8: "персонал" 
body BODY_KOI8_PERS
/(\xD0|\xF0|n)[[:blank:][:punct:]]?(\xC5|\xE5|e|E)[[:blank:][:punct:]]?(\xD2|\xF2|p|P)[[:blank:][:punct:]]?(\xD3|\xF3|c|C)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xCE|\xEE|H)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?(\xCC|\xEC)[[:blank:][:punct:]]?/
score BODY_KOI8_PERS 0.4
body BODY_WIN1251_PERS
/(\xEF|\xCF|n)[[:blank:][:punct:]]?(\xE5|\xC5|e|E)[[:blank:][:punct:]]?(\xF0|\xD0|p|P)[[:blank:][:punct:]]?(\xF1|\xD1|c|C)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xED|\xCD|H)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?(\xEB|\xCB)[[:blank:][:punct:]]?/
score BODY_WIN1251_PERS 0.4

# -------------------
# KOI8-R: "НПФЙЧБГЙ" 
# Win1251: "мотиваци" 
# UTF8: "мотиваци" 
body BODY_KOI8_MOTIV
/(\xCD|\xED|M)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xD4|\xF4|T)[[:blank:][:punct:]]?(\xC9|\xE9|u|U)[[:blank:][:punct:]]?(\xD7|\xF7|B)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?(\xC3|\xE3)[[:blank:][:punct:]]?(\xC9|\xE9|u|U)[[:blank:][:punct:]]?/
score BODY_KOI8_MOTIV 0.4
body BODY_WIN1251_MOTIV
/(\xEC|\xCC|M)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xF2|\xD2|T)[[:blank:][:punct:]]?(\xE8|\xC8|u|U)[[:blank:][:punct:]]?(\xE2|\xC2|B)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?(\xF6|\xD6)[[:blank:][:punct:]]?(\xE8|\xC8|u|U)[[:blank:][:punct:]]?/
score BODY_WIN1251_MOTIV 0.4

# -------------------
# KOI8-R: "МПЗЙУФЙ" 
# Win1251: "логисти" 
# UTF8: "логисти" 
body BODY_KOI8_LOGIST
/(\xCC|\xEC)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xC7|\xE7)[[:blank:][:punct:]]?(\xC9|\xE9|u|U)[[:blank:][:punct:]]?(\xD3|\xF3|c|C)[[:blank:][:punct:]]?(\xD4|\xF4|T)[[:blank:][:punct:]]?(\xC9|\xE9|u|U)[[:blank:][:punct:]]?/
score BODY_KOI8_LOGIST 2.4
body BODY_WIN1251_LOGIST
/(\xEB|\xCB)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xE3|\xC3)[[:blank:][:punct:]]?(\xE8|\xC8|u|U)[[:blank:][:punct:]]?(\xF1|\xD1|c|C)[[:blank:][:punct:]]?(\xF2|\xD2|T)[[:blank:][:punct:]]?(\xE8|\xC8|u|U)[[:blank:][:punct:]]?/
score BODY_WIN1251_LOGIST 2.4

# -------------------
# KOI8-R: "ТБВПФПДБФЕМ" 
# Win1251: "работодател" 
# UTF8: "работодател" 
body BODY_KOI8_RABOTOD
/(\xD2|\xF2|p|P)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?(\xC2|\xE2)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xD4|\xF4|T)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xC4|\xE4)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?(\xD4|\xF4|T)[[:blank:][:punct:]]?(\xC5|\xE5|e|E)[[:blank:][:punct:]]?(\xCC|\xEC)[[:blank:][:punct:]]?/
score BODY_KOI8_RABOTOD 1.4
body BODY_WIN1251_RABOTOD
/(\xF0|\xD0|p|P)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?(\xE1|\xC1)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xF2|\xD2|T)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xE4|\xC4)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?(\xF2|\xD2|T)[[:blank:][:punct:]]?(\xE5|\xC5|e|E)[[:blank:][:punct:]]?(\xEB|\xCB)[[:blank:][:punct:]]?/
score BODY_WIN1251_RABOTOD 1.4

# -------------------
# KOI8-R: "ТХЛПЧПДЙФЕМ" 
# Win1251: "руководител" 
# UTF8: "руководител" 
body BODY_KOI8_RUKOVOD
/(\xD2|\xF2|p|P)[[:blank:][:punct:]]?(\xD5|\xF5|y|Y)[[:blank:][:punct:]]?(\xCB|\xEB|k|K)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xD7|\xF7|B)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xC4|\xE4)[[:blank:][:punct:]]?(\xC9|\xE9|u|U)[[:blank:][:punct:]]?(\xD4|\xF4|T)[[:blank:][:punct:]]?(\xC5|\xE5|e|E)[[:blank:][:punct:]]?(\xCC|\xEC)[[:blank:][:punct:]]?/
score BODY_KOI8_RUKOVOD 0.2
body BODY_WIN1251_RUKOVOD
/(\xF0|\xD0|p|P)[[:blank:][:punct:]]?(\xF3|\xD3|y|Y)[[:blank:][:punct:]]?(\xEA|\xCA|k|K)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xE2|\xC2|B)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xE4|\xC4)[[:blank:][:punct:]]?(\xE8|\xC8|u|U)[[:blank:][:punct:]]?(\xF2|\xD2|T)[[:blank:][:punct:]]?(\xE5|\xC5|e|E)[[:blank:][:punct:]]?(\xEB|\xCB)[[:blank:][:punct:]]?/
score BODY_WIN1251_RUKOVOD 0.2

# -------------------
# KOI8-R: "РПМЙЗТБЖЙ" 
# Win1251: "полиграфи" 
# UTF8: "полиграфи" 
body BODY_KOI8_POLIG
/(\xD0|\xF0|n)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xCC|\xEC)[[:blank:][:punct:]]?(\xC9|\xE9|u|U)[[:blank:][:punct:]]?(\xC7|\xE7)[[:blank:][:punct:]]?(\xD2|\xF2|p|P)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?(\xC6|\xE6)[[:blank:][:punct:]]?(\xC9|\xE9|u|U)[[:blank:][:punct:]]?/
score BODY_KOI8_POLIG 1.4
body BODY_WIN1251_POLIG
/(\xEF|\xCF|n)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xEB|\xCB)[[:blank:][:punct:]]?(\xE8|\xC8|u|U)[[:blank:][:punct:]]?(\xE3|\xC3)[[:blank:][:punct:]]?(\xF0|\xD0|p|P)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?(\xF4|\xD4)[[:blank:][:punct:]]?(\xE8|\xC8|u|U)[[:blank:][:punct:]]?/
score BODY_WIN1251_POLIG 1.4

# -------------------
# KOI8-R: "ТБУИПДОЩ" 
# Win1251: "расходны" 
# UTF8: "расходны" 
body BODY_KOI8_RASHODN
/(\xD2|\xF2|p|P)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?(\xD3|\xF3|c|C)[[:blank:][:punct:]]?(\xC8|\xE8|x|X)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xC4|\xE4)[[:blank:][:punct:]]?(\xCE|\xEE|H)[[:blank:][:punct:]]?(\xD9|\xF9)[[:blank:][:punct:]]?/
score BODY_KOI8_RASHODN 0.4
body BODY_WIN1251_RASHODN
/(\xF0|\xD0|p|P)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?(\xF1|\xD1|c|C)[[:blank:][:punct:]]?(\xF5|\xD5|x|X)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xE4|\xC4)[[:blank:][:punct:]]?(\xED|\xCD|H)[[:blank:][:punct:]]?(\xFB|\xDB)[[:blank:][:punct:]]?/
score BODY_WIN1251_RASHODN 0.4

# -------------------
# KOI8-R: "ПТЗФЕИОЙЛ" 
# Win1251: "оргтехник" 
# UTF8: "оргтехник" 
body BODY_KOI8_ORGTECH
/(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xD2|\xF2|p|P)[[:blank:][:punct:]]?(\xC7|\xE7)[[:blank:][:punct:]]?(\xD4|\xF4|T)[[:blank:][:punct:]]?(\xC5|\xE5|e|E)[[:blank:][:punct:]]?(\xC8|\xE8|x|X)[[:blank:][:punct:]]?(\xCE|\xEE|H)[[:blank:][:punct:]]?(\xC9|\xE9|u|U)[[:blank:][:punct:]]?(\xCB|\xEB|k|K)[[:blank:][:punct:]]?/
score BODY_KOI8_ORGTECH 0.4
body BODY_WIN1251_ORGTECH
/(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xF0|\xD0|p|P)[[:blank:][:punct:]]?(\xE3|\xC3)[[:blank:][:punct:]]?(\xF2|\xD2|T)[[:blank:][:punct:]]?(\xE5|\xC5|e|E)[[:blank:][:punct:]]?(\xF5|\xD5|x|X)[[:blank:][:punct:]]?(\xED|\xCD|H)[[:blank:][:punct:]]?(\xE8|\xC8|u|U)[[:blank:][:punct:]]?(\xEA|\xCA|k|K)[[:blank:][:punct:]]?/
score BODY_WIN1251_ORGTECH 0.4

# -------------------
# KOI8-R: "ЙУФПТЙ" 
# Win1251: "истори" 
# UTF8: "истори" 
body BODY_KOI8_HISTOR
/(\xC9|\xE9|u|U)[[:blank:][:punct:]]?(\xD3|\xF3|c|C)[[:blank:][:punct:]]?(\xD4|\xF4|T)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xD2|\xF2|p|P)[[:blank:][:punct:]]?(\xC9|\xE9|u|U)[[:blank:][:punct:]]?/
score BODY_KOI8_HISTOR 0.4
body BODY_WIN1251_HISTOR
/(\xE8|\xC8|u|U)[[:blank:][:punct:]]?(\xF1|\xD1|c|C)[[:blank:][:punct:]]?(\xF2|\xD2|T)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xF0|\xD0|p|P)[[:blank:][:punct:]]?(\xE8|\xC8|u|U)[[:blank:][:punct:]]?/
score BODY_WIN1251_HISTOR 0.4

# -------------------
# KOI8-R: "ОЕДЧЙЦЙНПУФ" 
# Win1251: "недвижимост" 
# UTF8: "недвижимост" 
body BODY_KOI8_NEDVIJ
/(\xCE|\xEE|H)[[:blank:][:punct:]]?(\xC5|\xE5|e|E)[[:blank:][:punct:]]?(\xC4|\xE4)[[:blank:][:punct:]]?(\xD7|\xF7|B)[[:blank:][:punct:]]?(\xC9|\xE9|u|U)[[:blank:][:punct:]]?(\xD6|\xF6)[[:blank:][:punct:]]?(\xC9|\xE9|u|U)[[:blank:][:punct:]]?(\xCD|\xED|M)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xD3|\xF3|c|C)[[:blank:][:punct:]]?(\xD4|\xF4|T)[[:blank:][:punct:]]?/
score BODY_KOI8_NEDVIJ 2.4
body BODY_WIN1251_NEDVIJ
/(\xED|\xCD|H)[[:blank:][:punct:]]?(\xE5|\xC5|e|E)[[:blank:][:punct:]]?(\xE4|\xC4)[[:blank:][:punct:]]?(\xE2|\xC2|B)[[:blank:][:punct:]]?(\xE8|\xC8|u|U)[[:blank:][:punct:]]?(\xE6|\xC6)[[:blank:][:punct:]]?(\xE8|\xC8|u|U)[[:blank:][:punct:]]?(\xEC|\xCC|M)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xF1|\xD1|c|C)[[:blank:][:punct:]]?(\xF2|\xD2|T)[[:blank:][:punct:]]?/
score BODY_WIN1251_NEDVIJ 2.4

# -------------------
# KOI8-R: "НЛБД" 
# Win1251: "мкад" 
# UTF8: "мкад" 
body BODY_KOI8_MKAD
/(\xCD|\xED|M)[[:blank:][:punct:]]?(\xCB|\xEB|k|K)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?(\xC4|\xE4)[[:blank:][:punct:]]?/
score BODY_KOI8_MKAD 0.4
body BODY_WIN1251_MKAD
/(\xEC|\xCC|M)[[:blank:][:punct:]]?(\xEA|\xCA|k|K)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?(\xE4|\xC4)[[:blank:][:punct:]]?/
score BODY_WIN1251_MKAD 0.4

# -------------------
# KOI8-R: "БТЕОД" 
# Win1251: "аренд" 
# UTF8: "аренд" 
body BODY_KOI8_AREND
/(\xC1|\xE1|a|A)[[:blank:][:punct:]]?(\xD2|\xF2|p|P)[[:blank:][:punct:]]?(\xC5|\xE5|e|E)[[:blank:][:punct:]]?(\xCE|\xEE|H)[[:blank:][:punct:]]?(\xC4|\xE4)[[:blank:][:punct:]]?/
score BODY_KOI8_AREND 1.4
body BODY_WIN1251_AREND
/(\xE0|\xC0|a|A)[[:blank:][:punct:]]?(\xF0|\xD0|p|P)[[:blank:][:punct:]]?(\xE5|\xC5|e|E)[[:blank:][:punct:]]?(\xED|\xCD|H)[[:blank:][:punct:]]?(\xE4|\xC4)[[:blank:][:punct:]]?/
score BODY_WIN1251_AREND 1.4

# -------------------
# KOI8-R: "РПНЕЭЕОЙ" 
# Win1251: "помещени" 
# UTF8: "помещени" 
body BODY_KOI8_POMESH
/(\xD0|\xF0|n)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xCD|\xED|M)[[:blank:][:punct:]]?(\xC5|\xE5|e|E)[[:blank:][:punct:]]?(\xDB|\xFB|\xDD|\xFD|w|W)[[:blank:][:punct:]]?(\xC5|\xE5|e|E)[[:blank:][:punct:]]?(\xCE|\xEE|H)[[:blank:][:punct:]]?(\xC9|\xE9|u|U)[[:blank:][:punct:]]?/
score BODY_KOI8_POMESH 0.4
body BODY_WIN1251_POMESH
/(\xEF|\xCF|n)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xEC|\xCC|M)[[:blank:][:punct:]]?(\xE5|\xC5|e|E)[[:blank:][:punct:]]?(\xF8|\xD8|\xF9|\xD9|w|W)[[:blank:][:punct:]]?(\xE5|\xC5|e|E)[[:blank:][:punct:]]?(\xED|\xCD|H)[[:blank:][:punct:]]?(\xE8|\xC8|u|U)[[:blank:][:punct:]]?/
score BODY_WIN1251_POMESH 0.4

# -------------------
# KOI8-R: "ЛПНОБФ" 
# Win1251: "комнат" 
# UTF8: "комнат" 
body BODY_KOI8_KOMNAT
/(\xCB|\xEB|k|K)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xCD|\xED|M)[[:blank:][:punct:]]?(\xCE|\xEE|H)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?(\xD4|\xF4|T)[[:blank:][:punct:]]?/
score BODY_KOI8_KOMNAT 0.4
body BODY_WIN1251_KOMNAT
/(\xEA|\xCA|k|K)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xEC|\xCC|M)[[:blank:][:punct:]]?(\xED|\xCD|H)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?(\xF2|\xD2|T)[[:blank:][:punct:]]?/
score BODY_WIN1251_KOMNAT 0.4

# -------------------
# KOI8-R: "ЪЕНЕМШО.{2,4}ХЮБУФ" 
# Win1251: "земельн.{2,4}участ" 
# UTF8: "земельн.{2,4}участ" 
body BODY_KOI8_ZEMEL
/(\xDA|\xFA|3)[[:blank:][:punct:]]?(\xC5|\xE5|e|E)[[:blank:][:punct:]]?(\xCD|\xED|M)[[:blank:][:punct:]]?(\xC5|\xE5|e|E)[[:blank:][:punct:]]?(\xCC|\xEC)[[:blank:][:punct:]]?(\xD8|\xF8|b)[[:blank:][:punct:]]?(\xCE|\xEE|H)[[:blank:][:punct:]]?.{2,4}(\xD5|\xF5|y|Y)[[:blank:][:punct:]]?(\xDE|\xFE|4)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?(\xD3|\xF3|c|C)[[:blank:][:punct:]]?(\xD4|\xF4|T)[[:blank:][:punct:]]?/
score BODY_KOI8_ZEMEL 2
body BODY_WIN1251_ZEMEL
/(\xE7|\xC7|3)[[:blank:][:punct:]]?(\xE5|\xC5|e|E)[[:blank:][:punct:]]?(\xEC|\xCC|M)[[:blank:][:punct:]]?(\xE5|\xC5|e|E)[[:blank:][:punct:]]?(\xEB|\xCB)[[:blank:][:punct:]]?(\xFC|\xDC|b)[[:blank:][:punct:]]?(\xED|\xCD|H)[[:blank:][:punct:]]?.{2,4}(\xF3|\xD3|y|Y)[[:blank:][:punct:]]?(\xF7|\xD7|4)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?(\xF1|\xD1|c|C)[[:blank:][:punct:]]?(\xF2|\xD2|T)[[:blank:][:punct:]]?/
score BODY_WIN1251_ZEMEL 2

# -------------------
# KOI8-R: "ПФ\s?УПВУФЧЕООЙЛ" 
# Win1251: "от\s?собственник" 
# UTF8: "от\s?собственник" 
body BODY_KOI8_SOBSTV
/(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xD4|\xF4|T)[[:blank:][:punct:]]?\s?(\xD3|\xF3|c|C)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xC2|\xE2)[[:blank:][:punct:]]?(\xD3|\xF3|c|C)[[:blank:][:punct:]]?(\xD4|\xF4|T)[[:blank:][:punct:]]?(\xD7|\xF7|B)[[:blank:][:punct:]]?(\xC5|\xE5|e|E)[[:blank:][:punct:]]?(\xCE|\xEE|H)[[:blank:][:punct:]]?(\xCE|\xEE|H)[[:blank:][:punct:]]?(\xC9|\xE9|u|U)[[:blank:][:punct:]]?(\xCB|\xEB|k|K)[[:blank:][:punct:]]?/
score BODY_KOI8_SOBSTV 1
body BODY_WIN1251_SOBSTV
/(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xF2|\xD2|T)[[:blank:][:punct:]]?\s?(\xF1|\xD1|c|C)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xE1|\xC1)[[:blank:][:punct:]]?(\xF1|\xD1|c|C)[[:blank:][:punct:]]?(\xF2|\xD2|T)[[:blank:][:punct:]]?(\xE2|\xC2|B)[[:blank:][:punct:]]?(\xE5|\xC5|e|E)[[:blank:][:punct:]]?(\xED|\xCD|H)[[:blank:][:punct:]]?(\xED|\xCD|H)[[:blank:][:punct:]]?(\xE8|\xC8|u|U)[[:blank:][:punct:]]?(\xEA|\xCA|k|K)[[:blank:][:punct:]]?/
score BODY_WIN1251_SOBSTV 1

# -------------------
# KOI8-R: "Е(\-)?Н(Е|Б)КМ(\s|\-)?ТБУУЩМЛ" 
# Win1251: "е(\-)?м(е|а)йл(\s|\-)?рассылк" 
# UTF8: "е(\-)?м(е|а)йл(\s|\-)?рассылк" 
body BODY_KOI8_RASSJL
/(\xC5|\xE5|e|E)[[:blank:][:punct:]]?(\-)?(\xCD|\xED|M)[[:blank:][:punct:]]?((\xC5|\xE5|e|E)[[:blank:][:punct:]]?|(\xC1|\xE1|a|A)[[:blank:][:punct:]]?)(\xCA|\xEA|\xC9|\xE9|u|U)[[:blank:][:punct:]]?(\xCC|\xEC)[[:blank:][:punct:]]?(\s|\-)?(\xD2|\xF2|p|P)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?(\xD3|\xF3|c|C)[[:blank:][:punct:]]?(\xD3|\xF3|c|C)[[:blank:][:punct:]]?(\xD9|\xF9)[[:blank:][:punct:]]?(\xCC|\xEC)[[:blank:][:punct:]]?(\xCB|\xEB|k|K)[[:blank:][:punct:]]?/
score BODY_KOI8_RASSJL 2.0
body BODY_WIN1251_RASSJL
/(\xE5|\xC5|e|E)[[:blank:][:punct:]]?(\-)?(\xEC|\xCC|M)[[:blank:][:punct:]]?((\xE5|\xC5|e|E)[[:blank:][:punct:]]?|(\xE0|\xC0|a|A)[[:blank:][:punct:]]?)(\xE9|\xC9|\xE8|\xC8|u|U)[[:blank:][:punct:]]?(\xEB|\xCB)[[:blank:][:punct:]]?(\s|\-)?(\xF0|\xD0|p|P)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?(\xF1|\xD1|c|C)[[:blank:][:punct:]]?(\xF1|\xD1|c|C)[[:blank:][:punct:]]?(\xFB|\xDB)[[:blank:][:punct:]]?(\xEB|\xCB)[[:blank:][:punct:]]?(\xEA|\xCA|k|K)[[:blank:][:punct:]]?/
score BODY_WIN1251_RASSJL 2.0

# -------------------
# KOI8-R: "НБ(У){1,2}ПЧ(Б|Щ)" 
# Win1251: "ма(с){1,2}ов(а|ы)" 
# UTF8: "РјР°(СЃ){1,2}РѕРІ(Р°|С‹)" 
body BODY_KOI8_MASS
/(\xCD|\xED|M)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?((\xD3|\xF3|c|C)[[:blank:][:punct:]]?){1,2}(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xD7|\xF7|B)[[:blank:][:punct:]]?((\xC1|\xE1|a|A)[[:blank:][:punct:]]?|(\xD9|\xF9)[[:blank:][:punct:]]?)/
score BODY_KOI8_MASS 1.4
body BODY_WIN1251_MASS
/(\xEC|\xCC|M)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?((\xF1|\xD1|c|C)[[:blank:][:punct:]]?){1,2}(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xE2|\xC2|B)[[:blank:][:punct:]]?((\xE0|\xC0|a|A)[[:blank:][:punct:]]?|(\xFB|\xDB)[[:blank:][:punct:]]?)/
score BODY_WIN1251_MASS 1.4

# -------------------
# KOI8-R: "ТБ(У){1,2}ЩМ(ПЮ)?Л" 
# Win1251: "ра(с){1,2}ыл(оч)?к" 
# UTF8: "ра(с){1,2}ыл(оч)?к" 
body BODY_KOI8_RASSJLO4
/(\xD2|\xF2|p|P)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?((\xD3|\xF3|c|C)[[:blank:][:punct:]]?){1,2}(\xD9|\xF9)[[:blank:][:punct:]]?(\xCC|\xEC)[[:blank:][:punct:]]?((\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xDE|\xFE|4)[[:blank:][:punct:]]?)?(\xCB|\xEB|k|K)[[:blank:][:punct:]]?/
score BODY_KOI8_RASSJLO4 2
body BODY_WIN1251_RASSJLO4
/(\xF0|\xD0|p|P)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?((\xF1|\xD1|c|C)[[:blank:][:punct:]]?){1,2}(\xFB|\xDB)[[:blank:][:punct:]]?(\xEB|\xCB)[[:blank:][:punct:]]?((\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xF7|\xD7|4)[[:blank:][:punct:]]?)?(\xEA|\xCA|k|K)[[:blank:][:punct:]]?/
score BODY_WIN1251_RASSJLO4 2

# -------------------
# KOI8-R: "ТЕЛМБН" 
# Win1251: "реклам" 
# UTF8: "реклам" 
body BODY_KOI8_REKLAM
/(\xD2|\xF2|p|P)[[:blank:][:punct:]]?(\xC5|\xE5|e|E)[[:blank:][:punct:]]?(\xCB|\xEB|k|K)[[:blank:][:punct:]]?(\xCC|\xEC)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?(\xCD|\xED|M)[[:blank:][:punct:]]?/
score BODY_KOI8_REKLAM 2.4
body BODY_WIN1251_REKLAM
/(\xF0|\xD0|p|P)[[:blank:][:punct:]]?(\xE5|\xC5|e|E)[[:blank:][:punct:]]?(\xEA|\xCA|k|K)[[:blank:][:punct:]]?(\xEB|\xCB)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?(\xEC|\xCC|M)[[:blank:][:punct:]]?/
score BODY_WIN1251_REKLAM 2.4

# -------------------
# KOI8-R: "((ТБЪТБВПФЛ.{1,3})|(РТПДЧЙЦЕОЙ.{1,2})|(ТБУЛТХФЛ.{1,2}))\s?УБКФПЧ" 
# Win1251: "((разработк.{1,3})|(продвижени.{1,2})|(раскрутк.{1,2}))\s?сайтов" 
# UTF8: "((разработк.{1,3})|(продвижени.{1,2})|(раскрутк.{1,2}))\s?сайтов" 
body BODY_KOI8_PASKR_SITE
/(((\xD2|\xF2|p|P)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?(\xDA|\xFA|3)[[:blank:][:punct:]]?(\xD2|\xF2|p|P)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?(\xC2|\xE2)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xD4|\xF4|T)[[:blank:][:punct:]]?(\xCB|\xEB|k|K)[[:blank:][:punct:]]?.{1,3})|((\xD0|\xF0|n)[[:blank:][:punct:]]?(\xD2|\xF2|p|P)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xC4|\xE4)[[:blank:][:punct:]]?(\xD7|\xF7|B)[[:blank:][:punct:]]?(\xC9|\xE9|u|U)[[:blank:][:punct:]]?(\xD6|\xF6)[[:blank:][:punct:]]?(\xC5|\xE5|e|E)[[:blank:][:punct:]]?(\xCE|\xEE|H)[[:blank:][:punct:]]?(\xC9|\xE9|u|U)[[:blank:][:punct:]]?.{1,2})|((\xD2|\xF2|p|P)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?(\xD3|\xF3|c|C)[[:blank:][:punct:]]?(\xCB|\xEB|k|K)[[:blank:][:punct:]]?(\xD2|\xF2|p|P)[[:blank:][:punct:]]?(\xD5|\xF5|y|Y)[[:blank:][:punct:]]?(\xD4|\xF4|T)[[:blank:][:punct:]]?(\xCB|\xEB|k|K)[[:blank:][:punct:]]?.{1,2}))\s?(\xD3|\xF3|c|C)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?(\xCA|\xEA|\xC9|\xE9|u|U)[[:blank:][:punct:]]?(\xD4|\xF4|T)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xD7|\xF7|B)[[:blank:][:punct:]]?/
score BODY_KOI8_PASKR_SITE 3
body BODY_WIN1251_PASKR_SITE
/(((\xF0|\xD0|p|P)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?(\xE7|\xC7|3)[[:blank:][:punct:]]?(\xF0|\xD0|p|P)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?(\xE1|\xC1)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xF2|\xD2|T)[[:blank:][:punct:]]?(\xEA|\xCA|k|K)[[:blank:][:punct:]]?.{1,3})|((\xEF|\xCF|n)[[:blank:][:punct:]]?(\xF0|\xD0|p|P)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xE4|\xC4)[[:blank:][:punct:]]?(\xE2|\xC2|B)[[:blank:][:punct:]]?(\xE8|\xC8|u|U)[[:blank:][:punct:]]?(\xE6|\xC6)[[:blank:][:punct:]]?(\xE5|\xC5|e|E)[[:blank:][:punct:]]?(\xED|\xCD|H)[[:blank:][:punct:]]?(\xE8|\xC8|u|U)[[:blank:][:punct:]]?.{1,2})|((\xF0|\xD0|p|P)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?(\xF1|\xD1|c|C)[[:blank:][:punct:]]?(\xEA|\xCA|k|K)[[:blank:][:punct:]]?(\xF0|\xD0|p|P)[[:blank:][:punct:]]?(\xF3|\xD3|y|Y)[[:blank:][:punct:]]?(\xF2|\xD2|T)[[:blank:][:punct:]]?(\xEA|\xCA|k|K)[[:blank:][:punct:]]?.{1,2}))\s?(\xF1|\xD1|c|C)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?(\xE9|\xC9|\xE8|\xC8|u|U)[[:blank:][:punct:]]?(\xF2|\xD2|T)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xE2|\xC2|B)[[:blank:][:punct:]]?/
score BODY_WIN1251_PASKR_SITE 3

# -------------------
# KOI8-R: "НБЛЕФ" 
# Win1251: "макет" 
# UTF8: "макет" 
body BODY_KOI8_MAKET
/(\xCD|\xED|M)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?(\xCB|\xEB|k|K)[[:blank:][:punct:]]?(\xC5|\xE5|e|E)[[:blank:][:punct:]]?(\xD4|\xF4|T)[[:blank:][:punct:]]?/
score BODY_KOI8_MAKET 0.2
body BODY_WIN1251_MAKET
/(\xEC|\xCC|M)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?(\xEA|\xCA|k|K)[[:blank:][:punct:]]?(\xE5|\xC5|e|E)[[:blank:][:punct:]]?(\xF2|\xD2|T)[[:blank:][:punct:]]?/
score BODY_WIN1251_MAKET 0.2

# -------------------
# KOI8-R: "ЫЕОЗЕО" 
# Win1251: "шенген" 
# UTF8: "С?енген" 
body BODY_KOI8_SHENG
/(\xDB|\xFB|\xDD|\xFD|w|W)[[:blank:][:punct:]]?(\xC5|\xE5|e|E)[[:blank:][:punct:]]?(\xCE|\xEE|H)[[:blank:][:punct:]]?(\xC7|\xE7)[[:blank:][:punct:]]?(\xC5|\xE5|e|E)[[:blank:][:punct:]]?(\xCE|\xEE|H)[[:blank:][:punct:]]?/
score BODY_KOI8_SHENG 3
body BODY_WIN1251_SHENG
/(\xF8|\xD8|\xF9|\xD9|w|W)[[:blank:][:punct:]]?(\xE5|\xC5|e|E)[[:blank:][:punct:]]?(\xED|\xCD|H)[[:blank:][:punct:]]?(\xE3|\xC3)[[:blank:][:punct:]]?(\xE5|\xC5|e|E)[[:blank:][:punct:]]?(\xED|\xCD|H)[[:blank:][:punct:]]?/
score BODY_WIN1251_SHENG 3

# -------------------
# KOI8-R: "ПЖПТН(М|Й)" 
# Win1251: "оформ(л|и)" 
# UTF8: "оформ(л|и)" 
body BODY_KOI8_OFORML
/(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xC6|\xE6)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xD2|\xF2|p|P)[[:blank:][:punct:]]?(\xCD|\xED|M)[[:blank:][:punct:]]?((\xCC|\xEC)[[:blank:][:punct:]]?|(\xC9|\xE9|u|U)[[:blank:][:punct:]]?)/
score BODY_KOI8_OFORML 0.2
body BODY_WIN1251_OFORML
/(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xF4|\xD4)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xF0|\xD0|p|P)[[:blank:][:punct:]]?(\xEC|\xCC|M)[[:blank:][:punct:]]?((\xEB|\xCB)[[:blank:][:punct:]]?|(\xE8|\xC8|u|U)[[:blank:][:punct:]]?)/
score BODY_WIN1251_OFORML 0.2

# -------------------
# KOI8-R: "ЧЙЪ(Щ?)" 
# Win1251: "виз(ы?)" 
# UTF8: "РІРёР·(С‹?)" 
body BODY_KOI8_VIZ
/(\xD7|\xF7|B)[[:blank:][:punct:]]?(\xC9|\xE9|u|U)[[:blank:][:punct:]]?(\xDA|\xFA|3)[[:blank:][:punct:]]?((\xD9|\xF9)[[:blank:][:punct:]]??)/
score BODY_KOI8_VIZ 2
body BODY_WIN1251_VIZ
/(\xE2|\xC2|B)[[:blank:][:punct:]]?(\xE8|\xC8|u|U)[[:blank:][:punct:]]?(\xE7|\xC7|3)[[:blank:][:punct:]]?((\xFB|\xDB)[[:blank:][:punct:]]??)/
score BODY_WIN1251_VIZ 2

# -------------------
# KOI8-R: "ФТЕВХЕФУС" 
# Win1251: "требуется" 
# UTF8: "требуется" 
body BODY_KOI8_TREB
/(\xD4|\xF4|T)[[:blank:][:punct:]]?(\xD2|\xF2|p|P)[[:blank:][:punct:]]?(\xC5|\xE5|e|E)[[:blank:][:punct:]]?(\xC2|\xE2)[[:blank:][:punct:]]?(\xD5|\xF5|y|Y)[[:blank:][:punct:]]?(\xC5|\xE5|e|E)[[:blank:][:punct:]]?(\xD4|\xF4|T)[[:blank:][:punct:]]?(\xD3|\xF3|c|C)[[:blank:][:punct:]]?(\xD1|\xF1)[[:blank:][:punct:]]?/
score BODY_KOI8_TREB 0.4
body BODY_WIN1251_TREB
/(\xF2|\xD2|T)[[:blank:][:punct:]]?(\xF0|\xD0|p|P)[[:blank:][:punct:]]?(\xE5|\xC5|e|E)[[:blank:][:punct:]]?(\xE1|\xC1)[[:blank:][:punct:]]?(\xF3|\xD3|y|Y)[[:blank:][:punct:]]?(\xE5|\xC5|e|E)[[:blank:][:punct:]]?(\xF2|\xD2|T)[[:blank:][:punct:]]?(\xF1|\xD1|c|C)[[:blank:][:punct:]]?(\xFF|\xDF)[[:blank:][:punct:]]?/
score BODY_WIN1251_TREB 0.4

# -------------------
# KOI8-R: "НЕТПРТЙСФ" 
# Win1251: "мероприят" 
# UTF8: "мероприят" 
body BODY_KOI8_MEROP
/(\xCD|\xED|M)[[:blank:][:punct:]]?(\xC5|\xE5|e|E)[[:blank:][:punct:]]?(\xD2|\xF2|p|P)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xD0|\xF0|n)[[:blank:][:punct:]]?(\xD2|\xF2|p|P)[[:blank:][:punct:]]?(\xC9|\xE9|u|U)[[:blank:][:punct:]]?(\xD1|\xF1)[[:blank:][:punct:]]?(\xD4|\xF4|T)[[:blank:][:punct:]]?/
score BODY_KOI8_MEROP 0.4
body BODY_WIN1251_MEROP
/(\xEC|\xCC|M)[[:blank:][:punct:]]?(\xE5|\xC5|e|E)[[:blank:][:punct:]]?(\xF0|\xD0|p|P)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xEF|\xCF|n)[[:blank:][:punct:]]?(\xF0|\xD0|p|P)[[:blank:][:punct:]]?(\xE8|\xC8|u|U)[[:blank:][:punct:]]?(\xFF|\xDF)[[:blank:][:punct:]]?(\xF2|\xD2|T)[[:blank:][:punct:]]?/
score BODY_WIN1251_MEROP 0.4

# -------------------
# KOI8-R: "ПФДЩИ" 
# Win1251: "отдых" 
# UTF8: "отдых" 
body BODY_KOI8_OTDJH
/(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xD4|\xF4|T)[[:blank:][:punct:]]?(\xC4|\xE4)[[:blank:][:punct:]]?(\xD9|\xF9)[[:blank:][:punct:]]?(\xC8|\xE8|x|X)[[:blank:][:punct:]]?/
score BODY_KOI8_OTDJH 0.4
body BODY_WIN1251_OTDJH
/(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xF2|\xD2|T)[[:blank:][:punct:]]?(\xE4|\xC4)[[:blank:][:punct:]]?(\xFB|\xDB)[[:blank:][:punct:]]?(\xF5|\xD5|x|X)[[:blank:][:punct:]]?/
score BODY_WIN1251_OTDJH 0.4

# -------------------
# KOI8-R: "БОЗМЙКУЛ" 
# Win1251: "английск" 
# UTF8: "английск" 
body BODY_KOI8_ENG
/(\xC1|\xE1|a|A)[[:blank:][:punct:]]?(\xCE|\xEE|H)[[:blank:][:punct:]]?(\xC7|\xE7)[[:blank:][:punct:]]?(\xCC|\xEC)[[:blank:][:punct:]]?(\xC9|\xE9|u|U)[[:blank:][:punct:]]?(\xCA|\xEA|\xC9|\xE9|u|U)[[:blank:][:punct:]]?(\xD3|\xF3|c|C)[[:blank:][:punct:]]?(\xCB|\xEB|k|K)[[:blank:][:punct:]]?/
score BODY_KOI8_ENG 0.4
body BODY_WIN1251_ENG
/(\xE0|\xC0|a|A)[[:blank:][:punct:]]?(\xED|\xCD|H)[[:blank:][:punct:]]?(\xE3|\xC3)[[:blank:][:punct:]]?(\xEB|\xCB)[[:blank:][:punct:]]?(\xE8|\xC8|u|U)[[:blank:][:punct:]]?(\xE9|\xC9|\xE8|\xC8|u|U)[[:blank:][:punct:]]?(\xF1|\xD1|c|C)[[:blank:][:punct:]]?(\xEA|\xCA|k|K)[[:blank:][:punct:]]?/
score BODY_WIN1251_ENG 0.4

# -------------------
# KOI8-R: "ДПУФБЧЛБ\s?ЛБТФПЮЕЛ" 
# Win1251: "доставка\s?карточек" 
# UTF8: "доставка\s?карточек" 
body BODY_KOI8_DOST
/(\xC4|\xE4)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xD3|\xF3|c|C)[[:blank:][:punct:]]?(\xD4|\xF4|T)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?(\xD7|\xF7|B)[[:blank:][:punct:]]?(\xCB|\xEB|k|K)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?\s?(\xCB|\xEB|k|K)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?(\xD2|\xF2|p|P)[[:blank:][:punct:]]?(\xD4|\xF4|T)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xDE|\xFE|4)[[:blank:][:punct:]]?(\xC5|\xE5|e|E)[[:blank:][:punct:]]?(\xCB|\xEB|k|K)[[:blank:][:punct:]]?/
score BODY_KOI8_DOST 0.4
body BODY_WIN1251_DOST
/(\xE4|\xC4)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xF1|\xD1|c|C)[[:blank:][:punct:]]?(\xF2|\xD2|T)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?(\xE2|\xC2|B)[[:blank:][:punct:]]?(\xEA|\xCA|k|K)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?\s?(\xEA|\xCA|k|K)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?(\xF0|\xD0|p|P)[[:blank:][:punct:]]?(\xF2|\xD2|T)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xF7|\xD7|4)[[:blank:][:punct:]]?(\xE5|\xC5|e|E)[[:blank:][:punct:]]?(\xEA|\xCA|k|K)[[:blank:][:punct:]]?/
score BODY_WIN1251_DOST 0.4

# -------------------
# KOI8-R: "ВБЪ.{0,3}\s?ДБООЩ" 
# Win1251: "баз.{0,3}\s?данны" 
# UTF8: "баз.{0,3}\s?данны" 
body BODY_KOI8_BD
/(\xC2|\xE2)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?(\xDA|\xFA|3)[[:blank:][:punct:]]?.{0,3}\s?(\xC4|\xE4)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?(\xCE|\xEE|H)[[:blank:][:punct:]]?(\xCE|\xEE|H)[[:blank:][:punct:]]?(\xD9|\xF9)[[:blank:][:punct:]]?/
score BODY_KOI8_BD 0.4
body BODY_WIN1251_BD
/(\xE1|\xC1)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?(\xE7|\xC7|3)[[:blank:][:punct:]]?.{0,3}\s?(\xE4|\xC4)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?(\xED|\xCD|H)[[:blank:][:punct:]]?(\xED|\xCD|H)[[:blank:][:punct:]]?(\xFB|\xDB)[[:blank:][:punct:]]?/
score BODY_WIN1251_BD 0.4

# -------------------
# KOI8-R: "УХЧЕОЙТ" 
# Win1251: "сувенир" 
# UTF8: "сувенир" 
body BODY_KOI8_SUVEN
/(\xD3|\xF3|c|C)[[:blank:][:punct:]]?(\xD5|\xF5|y|Y)[[:blank:][:punct:]]?(\xD7|\xF7|B)[[:blank:][:punct:]]?(\xC5|\xE5|e|E)[[:blank:][:punct:]]?(\xCE|\xEE|H)[[:blank:][:punct:]]?(\xC9|\xE9|u|U)[[:blank:][:punct:]]?(\xD2|\xF2|p|P)[[:blank:][:punct:]]?/
score BODY_KOI8_SUVEN 0.4
body BODY_WIN1251_SUVEN
/(\xF1|\xD1|c|C)[[:blank:][:punct:]]?(\xF3|\xD3|y|Y)[[:blank:][:punct:]]?(\xE2|\xC2|B)[[:blank:][:punct:]]?(\xE5|\xC5|e|E)[[:blank:][:punct:]]?(\xED|\xCD|H)[[:blank:][:punct:]]?(\xE8|\xC8|u|U)[[:blank:][:punct:]]?(\xF0|\xD0|p|P)[[:blank:][:punct:]]?/
score BODY_WIN1251_SUVEN 0.4

# -------------------
# KOI8-R: "ЖЙФОЕУ" 
# Win1251: "фитнес" 
# UTF8: "фитнес" 
body BODY_KOI8_FITNESS
/(\xC6|\xE6)[[:blank:][:punct:]]?(\xC9|\xE9|u|U)[[:blank:][:punct:]]?(\xD4|\xF4|T)[[:blank:][:punct:]]?(\xCE|\xEE|H)[[:blank:][:punct:]]?(\xC5|\xE5|e|E)[[:blank:][:punct:]]?(\xD3|\xF3|c|C)[[:blank:][:punct:]]?/
score BODY_KOI8_FITNESS 3
body BODY_WIN1251_FITNESS
/(\xF4|\xD4)[[:blank:][:punct:]]?(\xE8|\xC8|u|U)[[:blank:][:punct:]]?(\xF2|\xD2|T)[[:blank:][:punct:]]?(\xED|\xCD|H)[[:blank:][:punct:]]?(\xE5|\xC5|e|E)[[:blank:][:punct:]]?(\xF1|\xD1|c|C)[[:blank:][:punct:]]?/
score BODY_WIN1251_FITNESS 3.5

# -------------------
# KOI8-R: "ВТПОЙТ" 
# Win1251: "бронир" 
# UTF8: "Р±СЂРѕРЅРёСЂ" 
body BODY_KOI8_BRON
/(\xC2|\xE2)[[:blank:][:punct:]]?(\xD2|\xF2|p|P)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xCE|\xEE|H)[[:blank:][:punct:]]?(\xC9|\xE9|u|U)[[:blank:][:punct:]]?(\xD2|\xF2|p|P)[[:blank:][:punct:]]?/
score BODY_KOI8_BRON 1.4
body BODY_WIN1251_BRON
/(\xE1|\xC1)[[:blank:][:punct:]]?(\xF0|\xD0|p|P)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xED|\xCD|H)[[:blank:][:punct:]]?(\xE8|\xC8|u|U)[[:blank:][:punct:]]?(\xF0|\xD0|p|P)[[:blank:][:punct:]]?/
score BODY_WIN1251_BRON 1.4

# -------------------
# KOI8-R: "ЧПДЙФЕМ" 
# Win1251: "водител" 
# UTF8: "водител" 
body BODY_KOI8_VODIT
/(\xD7|\xF7|B)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xC4|\xE4)[[:blank:][:punct:]]?(\xC9|\xE9|u|U)[[:blank:][:punct:]]?(\xD4|\xF4|T)[[:blank:][:punct:]]?(\xC5|\xE5|e|E)[[:blank:][:punct:]]?(\xCC|\xEC)[[:blank:][:punct:]]?/
score BODY_KOI8_VODIT 0.7
body BODY_WIN1251_VODIT
/(\xE2|\xC2|B)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xE4|\xC4)[[:blank:][:punct:]]?(\xE8|\xC8|u|U)[[:blank:][:punct:]]?(\xF2|\xD2|T)[[:blank:][:punct:]]?(\xE5|\xC5|e|E)[[:blank:][:punct:]]?(\xEB|\xCB)[[:blank:][:punct:]]?/
score BODY_WIN1251_VODIT 0.7

# -------------------
# KOI8-R: "ЧПМПУ" 
# Win1251: "волос" 
# UTF8: "волос" 
body BODY_KOI8_VOLOS
/(\xD7|\xF7|B)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xCC|\xEC)[[:blank:][:punct:]]?(\xCF|\xEF|o|O|0)[[:blank:][:punct:]]?(\xD3|\xF3|c|C)[[:blank:][:punct:]]?/
score BODY_KOI8_VOLOS 1.4
body BODY_WIN1251_VOLOS
/(\xE2|\xC2|B)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xEB|\xCB)[[:blank:][:punct:]]?(\xEE|\xCE|o|O|0)[[:blank:][:punct:]]?(\xF1|\xD1|c|C)[[:blank:][:punct:]]?/
score BODY_WIN1251_VOLOS 1.4

# -------------------
# KOI8-R: "ОБТХЦ" 
# Win1251: "наруж" 
# UTF8: "наруж" 
body BODY_KOI8_NARUJ
/(\xCE|\xEE|H)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?(\xD2|\xF2|p|P)[[:blank:][:punct:]]?(\xD5|\xF5|y|Y)[[:blank:][:punct:]]?(\xD6|\xF6)[[:blank:][:punct:]]?/
score BODY_KOI8_NARUJ 0.7
body BODY_WIN1251_NARUJ
/(\xED|\xCD|H)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?(\xF0|\xD0|p|P)[[:blank:][:punct:]]?(\xF3|\xD3|y|Y)[[:blank:][:punct:]]?(\xE6|\xC6)[[:blank:][:punct:]]?/
score BODY_WIN1251_NARUJ 0.7

# -------------------
# KOI8-R: "ЧЩЧЕУ" 
# Win1251: "вывес" 
# UTF8: "вывес" 
body BODY_KOI8_VJVESK
/(\xD7|\xF7|B)[[:blank:][:punct:]]?(\xD9|\xF9)[[:blank:][:punct:]]?(\xD7|\xF7|B)[[:blank:][:punct:]]?(\xC5|\xE5|e|E)[[:blank:][:punct:]]?(\xD3|\xF3|c|C)[[:blank:][:punct:]]?/
score BODY_KOI8_VJVESK 0.7
body BODY_WIN1251_VJVESK
/(\xE2|\xC2|B)[[:blank:][:punct:]]?(\xFB|\xDB)[[:blank:][:punct:]]?(\xE2|\xC2|B)[[:blank:][:punct:]]?(\xE5|\xC5|e|E)[[:blank:][:punct:]]?(\xF1|\xD1|c|C)[[:blank:][:punct:]]?/
score BODY_WIN1251_VJVESK 0.7

# -------------------
# KOI8-R: "БЖЙЫБ" 
# Win1251: "афиша" 
# UTF8: "афиС?Р°" 
body BODY_KOI8_AFISHA
/(\xC1|\xE1|a|A)[[:blank:][:punct:]]?(\xC6|\xE6)[[:blank:][:punct:]]?(\xC9|\xE9|u|U)[[:blank:][:punct:]]?(\xDB|\xFB|\xDD|\xFD|w|W)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?/
score BODY_KOI8_AFISHA 3.4
body BODY_WIN1251_AFISHA
/(\xE0|\xC0|a|A)[[:blank:][:punct:]]?(\xF4|\xD4)[[:blank:][:punct:]]?(\xE8|\xC8|u|U)[[:blank:][:punct:]]?(\xF8|\xD8|\xF9|\xD9|w|W)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?/
score BODY_WIN1251_AFISHA 3.4

# -------------------
# KOI8-R: "УРБН" 
# Win1251: "спам" 
# UTF8: "спам" 
body BODY_KOI8_SPAM
/(\xD3|\xF3|c|C)[[:blank:][:punct:]]?(\xD0|\xF0|n)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?(\xCD|\xED|M)[[:blank:][:punct:]]?/
score BODY_KOI8_SPAM 3.7
body BODY_WIN1251_SPAM
/(\xF1|\xD1|c|C)[[:blank:][:punct:]]?(\xEF|\xCF|n)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?(\xEC|\xCC|M)[[:blank:][:punct:]]?/
score BODY_WIN1251_SPAM 3.7

# -------------------
# KOI8-R: "НБУУБЦ" 
# Win1251: "массаж" 
# UTF8: "массаж" 
body BODY_KOI8_MASSAJ
/(\xCD|\xED|M)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?(\xD3|\xF3|c|C)[[:blank:][:punct:]]?(\xD3|\xF3|c|C)[[:blank:][:punct:]]?(\xC1|\xE1|a|A)[[:blank:][:punct:]]?(\xD6|\xF6)[[:blank:][:punct:]]?/
score BODY_KOI8_MASSAJ 3.1
body BODY_WIN1251_MASSAJ
/(\xEC|\xCC|M)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?(\xF1|\xD1|c|C)[[:blank:][:punct:]]?(\xF1|\xD1|c|C)[[:blank:][:punct:]]?(\xE0|\xC0|a|A)[[:blank:][:punct:]]?(\xE6|\xC6)[[:blank:][:punct:]]?/
score BODY_WIN1251_MASSAJ 3.1

Аватара пользователя
Agronom
сержант
Сообщения: 294
Зарегистрирован: 2006-12-11 10:30:13

Re: Начисление баллов в spamassassin

Непрочитанное сообщение Agronom » 2007-09-14 14:28:40

а это небольшой скрипт для анализа правил:
весь спам закидываем в папку /home/test/spam

Код: Выделить всё

#!/bin/sh
echo -n > /home/test/test_spam_list # очищаем все необходимые файлы
echo -n > /home/test/itogs
ALL=/home/test/itogs # это итоговый файл
ls -N /home/test/spam > /home/test/test_spam_list # теперь составляем список писем со спамом

#-------start grep rules name--------------#
RULES1=""; # набор слов для поиска, готовится отдельно
SPAM2=""; # список файлов, где нужно искать эти слова
DIR="/home/test/spam";
rules="/home/test/test_rul";
spam="/home/test/test_spam_list";

while [ 1 ]
do
read RULES1 || break
	while [ 2 ]
	do
	read SPAM2 || break
#	cat $DIR/$SPAM2 | awk 'BEGIN{a=0} {if($0~/BODY/) a+=1}\
	cat $DIR/$SPAM2 | awk '{if($0~/'${RULES1}'/) {print 1}}' >> t  
	done < $spam
awk '{ s = s + $1} END {print ("'${RULES1}' = " s/3)}' t >> $ALL # делим результат на 3, так как имя сработавшего правила встречается в теле спам-письма 3 раза
echo -n > /home/test/t
let a=0
done < $rules
mail -s "result analiz spam_rules" your@mail.ru < /home/test/itogs
Создается файл itogs и его содержимое отправляется на адрес your@mail.ru, такого вида:
BODY_KOI8_KLASSIF = 123

Аватара пользователя
Zedik
сержант
Сообщения: 283
Зарегистрирован: 2007-01-20 22:30:57
Откуда: 127.0.0.1

Re: Начисление баллов в spamassassin

Непрочитанное сообщение Zedik » 2007-09-17 8:09:01

Agronom писал(а):Всё это надо сохранить в файл с расширением *.cf и закинуть в папку где лежит local.cf

Код: Выделить всё

# -------------------
[/quote]

Спс. может это в цитату так вставилось неверно или то что версии отличаются (у мня 3.2.1), но копипастом не получилось вставить, спамассассин ругнулся...
пришлось [quote]body BODY_KOI8_FREECOST /(\xC2|\xE2)[[:blank:]....[/quote] в одну строчку прописывать.

Аватара пользователя
Zedik
сержант
Сообщения: 283
Зарегистрирован: 2007-01-20 22:30:57
Откуда: 127.0.0.1

Re: Начисление баллов в spamassassin

Непрочитанное сообщение Zedik » 2007-09-17 9:18:42

есть набор всяческих правил:
@mail /usr/local/share/spamassassin]# ls -la
total 642
drwxr-xr-x 2 root wheel 1536 Sep 16 08:38 .
drwxr-xr-x 35 root wheel 1024 Sep 13 10:56 ..
-rw-r--r-- 1 root wheel 5697 Sep 16 08:38 10_default_prefs.cf
-rw-r--r-- 1 root wheel 7519 Sep 13 10:56 20_advance_fee.cf
-rw-r--r-- 1 root wheel 6789 Sep 13 10:56 20_body_tests.cf
-rw-r--r-- 1 root wheel 1904 Sep 13 10:56 20_compensate.cf
-rw-r--r-- 1 root wheel 14846 Sep 13 10:56 20_dnsbl_tests.cf
-rw-r--r-- 1 root wheel 15008 Sep 13 10:56 20_drugs.cf
-rw-r--r-- 1 root wheel 10918 Sep 13 10:56 20_dynrdns.cf
....
как начислять баллы за них?
score TEST_NAME DEFAULT_SCORES ?

смотрю файл 20_porn.cf
body FREE_PORN /\bfree (?:porn|xxx|adult)/i
describe FREE_PORN Possible porn - Free Porn
прописываю в /.spamassassin/user_prefs
score FREE_PORN 55
перегружаю sa-spamd, отправляю письмо с телом содержащее sex porn adult xxx. в итоге рапорта о срабатывании этого правила не вижу
да и в самом файле дописывал...
:?
а может эти правила вообще не подключены?