У меня есть куча текста, который мне нужно отформатировать через HTML, моя главная проблема в том, что в начале некоторых слов есть куча цифр, которые мне нужно обернуть в теги HTML. Я пытаюсь придумать регулярное выражение vim, которое поможет мне добиться этого, но самое большее, чего я добился, это:
:s:\(\d\):<sup>\1<\/sup>
Однако это меняет только первую цифру в строке и ничего после нее. Есть идеи?
решение1
Тебе стоит попробовать:
:s/\(\d\+\)/<sup>\1<\/sup>/g
Две проблемы, с которыми вы столкнулись в своей команде, были:
\d
соответствует только одной цифре. Добавьте+
do match more- В конце концов
/g
замена продолжается после первого матча.
решение2
Это можно сделать с помощью плагина Surround для VIM: https://github.com/tpope/vim-surround