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

  • 15 августа 2023 г. 14:26
Ответы на вопрос 2
Для данной задачи можно использовать следующее регулярное выражение:

```regex
<a[^>]*href=[\'"](http:\/\/site\.ru\/[^\'"]*)[\'"][^>]*>[^<]*<\/a>
```

Пояснение:
- `<a[^>]*href=[\'"](http:\/\/site\.ru\/[^\'"]*)[\'"][^>]*>`: Находит открывающий тег `<a>` с атрибутом `href` и ссылкой на site.ru, сохраняет ссылку в группу
- `[^<]*`: Находит все символы, не являющиеся символом `<`
- `<\/a>`: Находит закрывающий тег `</a>`

Пример использования в коде на Python:

```python
import re

text = "<a class=\'fancybox\' href=\'http://site.ru/upload/manuals/3V/image_2022_01_28T12_03_17_757Z.jpg\' rel=\'group\'><img src=\'http://site.ru/upload/manuals/3V/image_2022_01_28T12_03_17_757Z.jpg\' width=\'400px\'></img></a>"

pattern = r'<a[^>]*href=[\'"](http:\/\/site\.ru\/[^\'"]*)[\'"][^>]*>[^<]*<\/a>'
result = re.sub(pattern, '', text)

print(result)  # Выводит: ''
```

В данном примере `re.sub` используется для замены найденных совпадений на пустую строку, что приведет к удалению ссылок между тегами `<a>` и `</a>`.
]*?href\s*=\s*\\'https?://site\.ru/[^>]+>\s*

Удаляйте, если нужно. Никто не запрещает вам это делать.
P.S. Это не вопрос. Можете привести пример кода, как вы пробовали сделать эту задачу?
Похожие вопросы