> For the complete documentation index, see [llms.txt](https://docs.teleraptor.ru/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.teleraptor.ru/misc/rabota-s-bazami.md).

# Работа с базами

Когда софт обрабатывает различные списки (например список пользователей или чатов), то он оставляет напротив строчек специальные [метки](/misc/spiski-i-metki.md). В этой статье мы рассмотрим различные манипуляции с базами, которые вы можете проделать самостоятельно: например, выделить всех пользователей, которых мы не смогли заинвайтить или которых не удалось найти в телеграме.

## Регулярные выражения

В этой статье мы будем использовать регулярные выражения (regex). Это специальные команды, позволяющие фильтровать текст по заданному шаблону. Это очень мощный инструмент, механизмы которого в этой статье рассматриваться не будут. Вместо этого я  дам вам ряд готовых решений для популярных задач 😌

## Программы для работы

#### regex101.com

Самый простой вариант - это зайти на сайт [regex101.com](https://regex101.com) и вставить туда базу, с которой собираетесь работать:

<figure><img src="/files/D7QV6F7i8lkDV24N6NnQ" alt="" width="563"><figcaption></figcaption></figure>

Команду для поиска нужно будет вписывать в окошко сверху.

#### Другие программы

Для более удобной и продвинутой работы я рекомендую установить текстовый редактор с поддержкой **regex** себе на компьютер. Тогда вы сможете открывать файлы напрямую со своего компьютера и сразу сохранять нужный результат в другой файл. Например, подойдут редакторы [Sublime Text](https://www.sublimetext.com) или [Notepad++](https://notepad-plus-plus.org/downloads/).

## Пробуем!

Загрузите любую обработанную базу в ваш редактор и напишите такую команду для поиска:&#x20;

{% code fullWidth="false" %}

```
^\s*(\S+) Ok
```

{% endcode %}

Если у вас нет базы под рукой, а посмотреть хочется, то откройте [этот пример](https://regex101.com/r/fA7RKr/1).

Вы увидите, что редактор выделил все строчки с меткой **Ok:**

<figure><img src="/files/JTeLzUMZ2ihtVtPm1sSc" alt="" width="563"><figcaption><p>Скриншот с сайта regex101.com</p></figcaption></figure>

Таким же способом можно выделять строчки по любым правилам! Ниже мы рассмотрим несколько примеров, но ваши возможности безграничны.

## Выгружаем выделенные строчки

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

Если вы используете сайт regex101.com, то после выделения нужны строчек вам нужно нажать сюда:

<figure><img src="/files/SdBTrjfPBt3D9opxgBNq" alt="" width="563"><figcaption></figcaption></figure>

Затем выбрать формат "Простой текст" и нажать кнопку для копирования результата:

<figure><img src="/files/6iOPGzhoYqhtC843IZn7" alt="" width="563"><figcaption></figcaption></figure>

{% hint style="info" %}
Чтобы выгружать строчки без меток, при экспорте результатов снимите галочку внизу окна:

<img src="/files/Eh0KwxkP0KCcinNZxzMN" alt="" data-size="original">
{% endhint %}

## Пользователи, которых не удалось заинвайтить

Если кого-то из вашей базы не удалось заинвайтить, то можно отправить им оффер в ЛС через модуль [спамера](/modules/private-messages-spam/regular-mode.md). Чтобы выделить всех пользователей, которых не получилось заинвайтить, воспользуйтесь такой командой:

```
^\s*(\S+) CannotInvite
```

## Необработанные строчки

Для выгрузки всех строчек, которые софт пока не обработал, можно воспользоваться следующей командой:

```
^\s*\S+\s*$
```

## Не найденные пользователи

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

```
^\s*(\S+) NotFound
```

## Строчки с различными метками

Если вас интересуют какие-то другие метки, то вы можете составить команду для поиска самостоятельно.&#x20;

Вот шаблон для выделения всех строчек с определённой меткой:

```
^\s*(\S+) МЕТКА
```

Если меток несколько, то можно перечислить их через символ `|`

```
^\s*(\S+) МЕТКА1|МЕТКА2|МЕТКА3
```
