[?]]emacs에서 정규표현식

philos66의 이미지

emacs에서 빈줄을 정규표현식으로 찾아 제거하고 싶은데 잘 안됩니다. 제가 시도한 방법은 다음과 같은데 어디가 잘못된 것인지 모르겠습니다. 무엇이 잘못된 것일까요?

(replace-regexp "^$\n" "")

M.W.Park의 이미지

mini buffer에 입력시 C-q, C-j 조합을 사용하시면 newline을 의미합니다.
좀 무식하긴 해도, 연속된 newline 2개를 1개로 변경하는 것을 적당한 n번 실행하시면 될것같습니다만... ^^;

-----
오늘 의 취미는 끝없는, 끝없는 인내다. 1973 法頂

philos66의 이미지

emacs에서 빈줄을 제거하는 정규표현식은 다음과 같이 해야 하네요.

(replace-regexp "^\n" "")

only2sea의 이미지

아마도 \n 바로 전에 나오는 것을 마지막 것으로 생각하기 때문일겁니다.

only2sea의 이미지

좀 더 자세히 설명하자면 MULTILINE flag가 켜진 상태에서 $는 \n 이전에 나오는 것을 매치시키니까 \n은 포함 안 된 것과 매치하는 것이죠. 따라서 ^$\n이라고 하면... 매치가 될수가 없죠.
ABCD\n에서 $로 찾을때 CD로 찾지 CD\n로 찾는게 아닌 것을 생각하시면 되겠습니다.

only2sea wrote:
아마도 \n 바로 전에 나오는 것을 마지막 것으로 생각하기 때문일겁니다.