Как использовать регулярные выражения для отступа кода в блокноте ++
например у меня есть следующий код
Module MPI
Use MPI
!
! MPI info
If (true) Then
Print *, ''
! empty line 1
! empty line 2
End If
Integer ithread, nthread, ierr
End Module MPI
Строки начинаются с!
знак, который является строкой комментариев в Фортран.Я хочу, чтобы эти строки комментариев имели тот же отступ, что и их предыдущий отступ.
То есть я хочу этот формат
Module MPI
Use MPI
!
! MPI info
If (true) Then
Print *, ''
! empty line 1
! empty line 2
End If
Integer ithread, nthread, ierr
End Module MPI
Я хочу сделать это в блокноте ++ с помощью регулярных выражений. Но если есть лучший выбор, не стесняйтесь ответить.
Вот что я пробовал: заменить^(\s*)(.*?\r\n)\s*\!
какСтроки начинаются с2$1!
, Однако это производит
Module MPI
Use MPI
!
! MPI info
If (true) Then
Print *, ''
! empty line 1
! empty line 2
End If
Integer ithread, nthread, ierr
End Module MPI
Есть еще две строки не правильно. Кажется, что хотя картина^(\s*)(.*?\r\n)\s*\!
соответствует этой строке, однако, он просто пропускает ее, поскольку движок регулярных выражений уже соответствует предыдущим строкам.
Мой вопрос, как решить эту проблему с помощью регулярных выражений?