개행 문자와 일치하는 정규식은 무엇입니까?

Emacs 정규식에서 \n는 줄 바꿈 문자와 일치하지 않습니다. \n.

  1. $가 줄 바꿈 문자와 줄 바꿈 문자 바로 앞의 문자 사이의 위치와 일치한다고 수정 했습니까? 문자열 abc\n의 경우 $c와 ?
  2. \n와 일치하는 정규식은 무엇입니까?

댓글

  • 최소한의 작업 예를 제공 하시겠습니까? ' 누락 된 것이 있지만 (re-search-forward "\n") 나를 위해 잘 작동합니다.
  • 파일이 새 줄에 \ r \ n을 사용할 수 있으며 정규 표현식에 \ r을 포함해야 할 수도 있으므로 abc\r\n 대신 abc\n.
  • @Dan : CM과 Mx가 모두 일치 \n n로. 내 버퍼가 기본 모드에 있습니다. 이것은 모든 텍스트에 발생하므로 새 줄 또는 문자 n가있는 모든 텍스트가 작동하는 예입니다.
  • @Jordon : CM과 Mx가 모두 일치 \r\nrn
  • @Tim, 예, 대화식으로 입력하는 경우 ' d는 각각 인용 된 삽입, Cq Cm 및 Cq Cj를 수행해야합니다. lisp 문자열에 입력하는 경우 \ r \ n을 입력 할 수 있습니다.

Answer

  1. 예. $는 줄 끝 뒤에 오는 줄 바꿈 문자 가 아니라 줄 끝 과 일치합니다.
  2. C-M-s C-q C-j를 실행합니다. C-qquoted-insert의 기본 바인딩이며 미니 버퍼에서도 작동합니다. 이 표현식은 말 그대로 개행 문자를 검색합니다 : C-j.

댓글

  • 2. 개행 문자를 Emacs 정규식에서 이스케이프 시퀀스로 표현할 수 없다는 말입니까?
  • 대화식으로 또는 elisp를 통해 개행을 검색하는지 여부 (예 : (looking-at "^J") 여기서 ^ J C-q C-j에 의해 삽입 됨), C-q C-j 접근 방식은 항상 작동합니다. 그러나 동일한 looking-at \n와 같은 elisp 함수를 사용할 때도 작동합니다. M-: (looking-at "\n") RET는 커서가 줄의 끝에 있고 그 뒤에 줄 바꿈이 있으면 ' 참으로 평가됩니다.
  • 참고로, regexp-builder을 사용하는 경우 ' .
  • @Nsukami_ : CM과 Mx는 모두 [\n]n와 일치합니다.

Answer

Dan이 언급했듯이, 개행과 일치하는 정규식은 개행 입니다 .

elisp에서 따옴표로 묶인 문자열의 개행을 "\n"로 나타낼 수 있습니다. 여기에는 특별한 추가 정규 식별 구문이 없습니다. 다른 리터럴 문자와 똑같이 개행 문자 만 사용하면됩니다.

정규식을 대화식으로 입력하는 경우 그런 다음 kaushalmodi의 답변이 지적한대로 Cq Cj 로 줄 바꿈을 삽입 할 수 있습니다.

댓글

  • 감사합니다! emacs (elisp가 아님)에서 Cq Cj는 줄 바꿈 문자를 일치시키는 유일한 방법입니까? \n ' 개행 문자와 일치하지 않습니다.
  • 예. 더 구체적으로 말하면 개행 문자를 입력 하는 유일한 방법은 regexp는 대화식으로 (개행에 대한 regexp 이스케이프 시퀀스가 없기 때문에) C-q C-j는 프롬프트에서 개행을 입력하는 가장 안정적인 방법입니다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다