Приведите пример кода, как преобразовать строку вида [email protected] в строку domain.ru\name с помощью регулярных выражений python?

Дано:

 [email protected]

Надо:

domain.ru\name

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


Ответы (1 шт):

Автор решения: Eugene X
import re
s = "[email protected]"
result = re.sub(r'^([^@]+)@(.*)', r'\2/\1', s)
print(result)

Что обозначает следующее:

  • Найти всё что от начала строки - первый ^
  • Не является знаком @ [^@] и выбирать от 1 до N знаков +
  • пропустить знак @
  • и в всё что за ним (.*)
  • Вывести в позиции \2 потом \1 разделив знаком /
→ Ссылка