Регулярные выражения (примитивы)
Справочник переменных, применяемых в шаблонах для разбора текстовых полей платежных документов.
- Наименование - имя переменной, которое применяется в выражениях шаблонов. Задается пользователем.
- Приемник - обозначение показателя (БК, л/с и т.п.), которому будет присвоено значение при разборе шаблоном. Это фиксированный системный перечень. Разделители не имеют приемника.
-
Выражение - правило, которым должно удовлетворять значение показателя. Задается в виде формул регулярных выражений ОС Windows, в которых могут использоваться другие примитивы (их наименования, не приемники). Например примитив LS0302 ссылается на примитив KODBP (выражение \d{5}KODBP\d - результирующая формула \d{5}[А-ЯA-Z0-9]\d{4}\d ).
Под один и тот же показатель может быть несколько примитивов, с разными правилами - общим у них будет "Приемник". Например, см примитывы для КОСГУ: их несколько с разными правилами заполнения (для расходов KOSGUR, доходов KOSGUD, источников KOSGUI, и общий EKLASS), но приемник у них единый EKLASS.
Если в выражении примитива применяется другой примитив и он необязательный, то все [ ] воспринимаются как "необязательность", что приводит к ошибкам распознавания. В этом случае следует все выражения в [ ] вынести в отдельный примитив.
Например требуется примитив ADDMY7 с исходным выражением \d{3}[0-9А-Я]{3}[00\D] , где [0-9А-Я]{3} - последовательность из любых цифр и русских букв длиной 3 символа, [00\D] - необязательный элемент из двух нулей и буквы. Следует создать два новых примитива: MYPR1 = [0-9А-Я]{3} , MYPR2 = 00\D . И результирующее выражение для ADDMY7 будет \d{3}MYPR1[MYPR2] .
Перечень примитивов, КБК выделена цветом. Список отсортирован по именам переменных (третья графа).
Примечание | Приемник | Наименование переменной | Выражение |
---|---|---|---|
Дополнительная классификация. Размерность до 20 символов, буквы и цифры. | ADDKLASS | ADDKLASS | 2\d-[FА-Я0-9]{5}-[А-Я0-9]{5}-[А-Я0-9]{5}|\d{2}-[А-Я0-9]{3}-[А-Я0-9]{5}|\d{2}-[А-Я0-9]{3}|[А-Я0-9\.]{1,20} |
Код дополнительной классификации получателя платежа | ADDKLASSRCP | ADDKLASSRCP | \d{2}-[А-Я0-9]{3}-[А-Я0-9]{5}|\d{2}-[А-Я0-9]{3}|[А-Я0-9\.]{1,20} |
Номер банковской карты. Размерность 16 цифр, возможно разбитых на группы по 4 цифры через пробел. | CARDNUM | CARDNUM | \b\d{4}\s*\d{4}\s*\d{4}\s*\d{4}\b |
Дата, в формате ЧЧ.ММ.ГГГГ или ЧЧ.ММ.ГГ | DATE | DATE | (?:0[1-9]|[1-2][0-9]|3[01])\.(?:0[1-9]|1[0-2])\.(?:\d{4}|\d{2}) |
КОСГУ | EKLASS | EKLASS | \d{2}[0-9АВКТZABKT] |
Код Объекта АИП | FAIP | FAIP | \d{14} |
Шаблон номера л/с При электронном приеме документов (платежки, заявки, выписки) номера лицевых счетов проверяются на соответствие данному шаблону (при наличии примитива). | FINDLS | FINDLS | \b(?:л[\/\\\.]?[сc][\.]?)?\s*(\d{5}[0-9a-zа-яА-Я]{6})(?:[^0-9]|$) |
ФИО, в формате "Иванов Иван Иванович" либо "Иванов И.И." . | FIO | FIO | [А-Я]+\s+[А-Я]+\s+[А-Я]+|[А-Я]+\s+[А-Я]\.?\s*[А-Я]\.? |
БК: Ведомство | GLAVA | GLAVA | \d{3} |
ИНН, 10 либо 12 цифр | INN | INN | \d{10}|\d{12} |
БК: Код БК доходов или БК источников | KDOH | KDOH | \d{20} |
Код УБП | KODBP | KODBP | KODBP8|KODBP5 |
Код УБП 5 значный, в первом символе разрешены и буквы. | KODBP | KODBP5 | [А-ЯЁA-Z0-9]\d{4} |
Код УБП 8 значный, в первом символе разрешены и буквы. | KODBP | KODBP8 | [А-ЯЁA-Z0-9]{4}\d{4} |
Не применяется (устар.) | KODFP | KODFP | \d{1,3} |
БК: КОСГУ БК доходов | EKLASS | KOSGUD | (?!171)[1]\d[0-9АВКТZABKT]|4[1234][0-9АВКТZABKT] |
БК: КОСГУ БК источников | EKLASS | KOSGUI | [6-8]\d[0-9АВКТZABKT]|[5](?!30)\d[0-9АВКТZABKT]|410|310|171 |
БК: КОСГУ БК расходов | EKLASS | KOSGUR | [23]\d[0-9АВКТZABKT]|530 |
02 л/с бюджета, 11 символов | LS02 | LS02 | 02\d{3}[А-ЯA-Z0-9]\d{5} |
л/с учреждения, 11 символов | LS0302 | LS0302 | \d{5}KODBP5\d |
л/с учреждения получателя платежа, 11 символов | LS0302RCP | LS0302RCP | \d{5}[А-ЯA-Z0-9]\d{4}\d |
Раздел л/с НУБП/ЮЛ | LSRAZD | LSRAZD | [А-ЯA-Z0-9]{1,20} |
Не применяется (устар.) | MBO | MBO | \d{1,2} |
Учетный номер БО, до 19 знаков | NBO | NBO | [А-ЯЁA-Z0-9-]{1,19} |
Учетный номер ДО, 23 знака. | NDO | NDO | KODBP8\d{2}[А-ЯA-Z0-9]{9}\d{3} |
Реестровый номер контракта, 19 либо 13 знаков. | NGK | NGK | \d{19}|\d{13} |
Номер документа, до 20 знаков. Применяется для создания "пустого" шаблона. | NUMBER | NUMBER | (?!\.|\-|\\|\/)[А-Я0-9\.\-\\\/]{1,20} |
БК: Программы и непрограммная деятельность | PRG | PRG | [А-Я0-9\.]{1,20} |
БК: Стратегические цели и задачи | PRP | PRP | [А-Я0-9\.]{1,20} |
Комплексное регулярное выражение из нескольких примитивов | RASH1 | RASH1 | RASHKLASS [ \1 ADDKLASS] SEPSUM SUMMA [ \1 NBO [ \1 MBO]] |
Комплексное регулярное выражение из нескольких примитивов | RASH1 | RASH1K | RASHKLASSK [ \1 ADDKLASS] SEPSUM SUMMA [ \1 NBO [ \1 MBO]] |
Комплексное регулярное выражение из нескольких примитивов | RASH1M | RASH1M | (?:; RASHKLASSM [ \1 ADDKLASS] SEPSUM SUMMA [ \1 NBO [ \1 MBO]])+ |
Комплексное регулярное выражение из нескольких примитивов | RASH1M | RASH1MK | (?:; RASHKLASSMK [ \1 ADDKLASS] SEPSUM SUMMA [ \1 NBO [ \1 MBO]])+ |
Комплексное регулярное выражение из нескольких примитивов | RASH2 | RASH2 | RASHKLASS SEPSUM SUMMA [ \1 NBO \1 MBO][\1 KODFP] |
Комплексное регулярное выражение из нескольких примитивов | RASH2 | RASH2K | RASHKLASSK SEPSUM SUMMA [ \1 NBO \1 MBO][\1 KODFP] |
Комплексное регулярное выражение из нескольких примитивов | RASH2M | RASH2M | (?:; RASHKLASSM SEPSUM SUMMA [ \1 NBO \1 MBO][ \1 KODFP])+ |
Комплексное регулярное выражение из нескольких примитивов | RASH2M | RASH2MK | (?:, RASHKLASSMK [ \1 ADDKLASS] SEPSUM SUMMA )+ |
Комплексное регулярное выражение из нескольких примитивов | RASH3 | RASH3 | RASHKLASS [ \1 ADDKLASS] SEPSUM SUMMA |
Комплексное регулярное выражение из нескольких примитивов | RASH3 | RASH3K | RASHKLASSK [ \1 ADDKLASS] SEPSUM SUMMA |
Комплексное регулярное выражение из нескольких примитивов | RASH3M | RASH3M | (?:, RASHKLASSM [ \1 ADDKLASS] SEPSUM SUMMA )+ |
Комплексное регулярное выражение из нескольких примитивов | RASH3M | RASH3MK | (?:; RASHKLASSMK SEPSUM SUMMA [ \1 NBO \1 MBO][ \1 KODFP])+ |
Комплексное регулярное выражение из нескольких примитивов | RASHKLASS | RASHKLASS | GLAVA (SEPKL) RAZDEL \1 STATIA \1 VID |
Комплексное регулярное выражение из нескольких примитивов | RASHKLASS | RASHKLASSK | GLAVA (SEPKL) RAZDEL \1 STATIA \1 VID \1 KOSGUR |
Комплексное регулярное выражение из нескольких примитивов | RASHKLASSM | RASHKLASSM | (?:(?:GLAVA \1 RAZDEL \1 STATIA \1 VID)|(?:RAZDEL \1 STATIA \1 VID)|(?:STATIA \1 VID)|(?:VID)) |
Комплексное регулярное выражение из нескольких примитивов | RASHKLASSM | RASHKLASSMK | (?:(?:GLAVA \1 RAZDEL \1 STATIA \1 VID \1 KOSGUR)|(?:RAZDEL \1 STATIA \1 VID \1 KOSGUR)|(?:STATIA \1 VID \1 KOSGUR)|(?:VID \1 KOSGUR)|(?:KOSGUR)) |
БК: Подраздел | RAZDEL | RAZDEL | \d{4} |
БК: Региональная классификация | LOCAL | REGKLASS | [А-Я0-9\.]{1,20} |
Разделитель кодов БК расходов: тире или запятая или точка . | SEPKL | [-,.] | |
Префикс номера л/с | SEPLS | [Л][/\\]?[СC] | |
Префикс суммы, допустимы знаки "=" либо "-". | SEPSUM | SEPSUM | [=-] |
БК: Целевая статья | STATIA | STATIA | [0-9БВГДЖИКЛМНПСУФЦЧШЩЭЮЯADЕFGIJLNРQRSТUVWYZBKMHCАEPT]{10} |
Сумма, в формате Ц.Д , где Ц - целая часть, до 12 символов; Д - десятичная часть, 2 знака; разделителем дробной части может быть: точка, запятая, тире. | SUMMA | SUMMA | \d{1,12}(?:[\.,-]\d{2})? |
БК: Работы, услуги | SVC | SVC | [А-Я0-9\.]{1,20} |
БК: Направления расходования ЦС | TFD | TFD | \d{7} |
БК: Источники поступлений ЦС | TFS | TFS | \d{4} |
УИН, размерность либо 20 либо 25 знаков. | UIN | UIN | [А-ЯA-Z0-9]{20}|[А-ЯA-Z0-9]{25} |
БК: Вид расхода | VID | VID | \d{3} |