Wie man Regex benutzt, um Code in Notepad einzurücken ++
zum Beispiel habe ich den folgenden Code
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
Die Zeilen beginnen mit!
Zeichen, das Kommentarzeilen in fortran ist.Ich möchte, dass diese Kommentarzeilen den gleichen Einzug wie die vorherige Zeile haben.
Das ist, ich möchte dieses Format
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
Ich möchte dies in Notepad ++ mit Regex tun. Aber wenn es eine bessere Wahl gibt, antworten Sie bitte.
Hier ist, was ich versucht habe: @ ersetz^(\s*)(.*?\r\n)\s*\!
wie$1$2$1!
. Es produziert jedoch
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
Es sind noch zwei Zeilen nicht richtig. Es scheint, dass obwohl das Muster^(\s*)(.*?\r\n)\s*\!
stimmt mit dieser Zeile überein, überspringt sie jedoch nur für die Regex-Engine, die bereits mit den vorherigen Zeilen übereinstimmt.
Meine Frage ist, wie man dieses Einrückungsproblem mit Regex löst?