<created>
pat@c.com
</created>
Я хочу заменить указанное выше на, но имя пользователя может отличаться, например, pat @ c.com, harry @ c.com ...
<created>
tom@c.com
</created>
Какая команда заменяет это в vim
%s/<created>\r*\r</created>/new string
У меня это сработало так:
%s/<created>\n\s*\w*@\w*\n<\/created>/newstring/
Если вы хотите повторно вставить адрес электронной почты, вы можете использовать:
%s/<created>\n\s*\(\w*@\w*\)\n<\/created>/newstring: \1/
Немного пояснения:
\n
: новая линия\s
: пробелы и табуляции\w
: любой символ слова\(
и \)
: захватить то, что внутри\1
: использовать первое захваченное выражение