Мне нужно заменить ;\s*\<do\>
на \rdo
в Vim. Однако мне также нужно убедиться, что ;\s*\<do\>
не заменяется, если перед ним стоит символ комментария Фортрана !
, то есть в шаблоне поиска !.*;\s*\<do\>
. Например, ; do
в строке без комментариев
j=2; do i=1, 10
следует заменить как
j=2
do i=1,10
Но ; do
в следующей комментируемой части заменять не следует,
k=3 ! j=2; do i=1, 10
Как я могу сделать это в vim? Пробовал \(!.*\)\@!;\s*\<do\>
, не работает.
/
- это команда поиска, а не часть фактического регулярного выражения. 04.09.2017!.*;\s*\<do\>
я подразумеваю шаблон поиска. Смотрите обновленный вопрос. 04.09.2017\c\(!.*\)\@<!;\s*\<do\>
04.09.2017