Я создал начальную попытку для вашего запрошенного регулярного выражения:
(?<=\[.+\])\(.+\)
Первая часть (?<=...)
- это взгляд назад, что означает, что он ищет его, но не соответствует ему.Вы можете использовать это регулярное выражение вместе с re метод sub .Вы также можете увидеть значения всех символов регулярного выражения здесь .
Вы можете расширить вышеприведенное регулярное выражение, чтобы искать только те элементы, которые имеют ссылки в скобках, например:
(?<=\[.+\])\(https?:\/\/.+\)
Проблема в том, что если ссылка, которую они предоставляют, не запускается с http или https, она не будет работать.
После этого вам нужно будет снять квадратные скобки, возможно, просто убрав все квадратные скобки.скобки работают нормально для вас.
Редактировать 1: Валентино отметил, что замена принимает группы захвата, что позволяет захватывать текст и подставлять текст обратнопри использовании следующего регулярного выражения:
\[(.+)\]\(.+\)
Затем вы можете заменить первую захваченную группу (в квадратных скобках) обратно на использование:
re.sub(r"\[(.+)\]\(.+\)", r"\1", original_text)
Если вы хотите взглянуть на регулярное выражениеболее подробно (если вы новичок в regex или хотите узнать, что они значат), я бы порекомендовал онлайн-интерпретатор регулярных выражений , они объясняют, что делает каждый символ, и это значительно упрощаетчитать (особенно когда есть много экранированных символов, как здесь).