Как создать регулярное выражение?

Ранее я работал программистом, но тогда у меня были сложности с регулярными выражениями. Из-за некоторых ошибок в жизни и попадания в аварию я утратил некоторые навыки. Сейчас я пытаюсь вновь освоить регулярные выражения, но у меня не получается. Я также имел опыт работы с browser automation studio, но не могу создать рабочий скрипт. Очень прошу помочь мне составить регулярное выражение для парсинга ссылок на файлы с Дзена, так как скачивать их можно только через специальное программное обеспечение. Я уже обращался с просьбой получить архив видео с Дзена, потому что у меня неожиданно образовалось много дубликатов. Вот ссылка на мой канал в Дзене: <a href="https://dzen.ru/b/ZxviAdS6x3QUo7Ul" rel="nofollow">https://dzen.ru/b/ZxviAdS6x3QUo7Ul</a> <br/> Мне нужно, чтобы регулярное выражение парсило ссылки из текста. Я уже написал скрипт на B.A.S, который должен использовать регулярное выражение для извлечения ссылок для скачивания видео с канала.
  • 22 декабря 2024 г. 17:43
Ответы на вопрос 1
Создание регулярного выражения для извлечения ссылок – это довольно распространенная задача. Давайте разработаем регулярное выражение, которое сможет находить ссылки на файлы из текста. Поскольку вы упомянули, что ссылки находятся на сайте Дзена, и они имеют специфическую структуру, мы можем учитывать это.

Вот пример регулярного выражения, которое будет находить ссылки формата `https://dzen.ru/...`:

```regex
https?://(?:www\.)?dzen\.ru/[^\s]+
```

### Объяснение:

1. `https?`: Это часть ищет протокол. `http` и `https`, где `s?` обозначает, что `s` может присутствовать или отсутствовать.

2. `://`: Это просто фиксированная часть URL.

3. `(?:www\.)?`: Это не захватывающая группа, которая ищет `www.` перед `dzen.ru`, но делает его необязательным (поскольку мы используем `?`).

4. `dzen\.ru`: Это фиксированная часть, которая предписывает домен. Обратите внимание, что `.` экранирован (используется обратная косая черта), так как в регулярных выражениях `.` означает "любой символ".

5. `/[^\s]+`: Эта часть указывает, что после домена должен быть слеш `/`, за которым следует любая последовательность символов, не являющихся пробелами (это и есть путь к ресурсу).

### Как использовать регулярное выражение в B.A.S.

Если вы используете B.A.S., и у вас есть строка текста, из которой вы хотите извлечь ссылки, вы можете использовать следующее:

```plaintext
var regex = "https?://(?:www\\.)?dzen\\.ru/[^\s]+";
var inputText = "Ваш текст с ссылками...";
var matches = regex_matches(inputText, regex);
```

Эта конструкция создаст массив с найденными ссылками. Не забудьте проверять, что найденные URL действительно файловые ссылки, если вам это важно.

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