이 글을 보고 나는 과거에 겪었던 문제를 해결해보고 싶었다.
다음과 같은 파일이 있다고 가정합니다.
self.theta = theta
self.alpha = alpha
self.beta = beta
등호의 양쪽에있는 텍스트를 다음과 같이 바꿀 수 있기를 원합니다.
theta = self.theta
alpha = self.alpha
beta = self.beta
이렇게 Vim 을 사용하여이 문제를 해결할 수 있었지만 메모장에서 직접 수행하는 방법을 알고 싶습니다. 등호 주위의 텍스트를 바꾸는 방법을 묻는 것이 아니라 메모장 ++의 기본 제공 찾기 / 바꾸기 기능을 사용하여 올바른 방법을 찾고 있습니다.
에서 내 질문의 시작 부분에 참조 대답 , 나는 대체 / 다음 찾기를 사용하려고 :
(.*?)=(.*?)
\2 = \1
.
개행과 일치 : 지워짐그러나 이것은 출력을 생성합니다.
= self.theta theta
= self.alpha alpha
= self.beta beta
이 문제를 해결하기 위해 Notepad ++에서 정규식 및 패턴 일치를 사용하는 올바른 방법은 무엇입니까?
현재 정규식 패턴의 문제는 ^
및 $
앵커 가 없기 때문에 일치하는 동작이 예상과 다르다는 것 입니다. 이 데모를 참조하십시오 . DOT ALL 모드가 꺼져 있기 때문에 첫 번째 (.*?)
는 모든 것을 일치 =
시키고 두 번째 (.*)
는 아무것도 일치하지 않습니다. 이렇게하면 교체하는 동안 RHS 용어가 그대로 유지되어 지금 보이는 출력으로 이어집니다. 정규식 모드에서 다음 찾기 및 바꾸기를 제안합니다.
Find: ^(.*)\s*=\s*(.*)$
Replace: $2 = $1
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다