Como usar regex para recuar código no bloco de notas ++
por exemplo, eu tenho o seguinte código
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
As linhas começam com!
assine as linhas de comentário no fortran.Quero que essas linhas de comentário tenham o mesmo recuo que o recuo da linha anterior.
Ou seja, eu quero esse formato
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
Eu quero fazer isso no bloco de notas ++ usando regex. Mas se houver uma escolha melhor, sinta-se à vontade para responder.
Aqui está o que eu tentei: substituir^(\s*)(.*?\r\n)\s*\!
ComoAs linhas começam com2$1!
. No entanto, produz
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
Ainda há duas linhas incorretas. Parece que, embora o padrão^(\s*)(.*?\r\n)\s*\!
corresponde a esta linha, no entanto, apenas a ignora, pois o mecanismo de expressão regular já corresponde às linhas anteriores.
Minha pergunta é como resolver esse problema de travessão com regex?