3
문자열의 시작과 끝을 나타내는 문자 인에 줄 바꿈이 무엇입니까? 나는 트림 기능을 쓰고 있어요 : Emacs regexps의 문자열의 시작과 끝
(defun trim (str)
(if (string-match "^[[:space:]]*\\(.+?\\)[[:space:]]*$" str)
(match-string 1 str)
str))
그러나 그것은 단지 "첫 번째"반환 (shell-command-to-string
에서 가져온) "첫번째/nnext"와 같은 문자열
버퍼 대신 문자열을 일치 시키면 '^'은 문자열의 시작 부분 또는 개행 문자 뒤에 일치합니다.
\\'
왼쪽은 버퍼의 시작/끝 부분이므로 문자열에서 아무것도 반환하지 않습니다. 따라서 가능한 경우 문자열의 '절대'시작을 나타내는 방법은 무엇입니까?
고마워. 그러나 \\ '[[: space :]] * \\ (. +? \\) [[: space :]] * \\''(시작 부분에 \\' ") 시작과 끝에서'\ n'을 자르지 않습니다. –
문제는 앵커가 아닙니다, 그것은 당신의 정규 표현식입니다. [: space :]는 개행과 일치하지 않습니다. 내 대답을 수정하겠습니다. –
" '[: space :]'이것은 공백 구문을 가진 모든 문자와 일치합니다 (구문 클래스 테이블 참조). (http://www.gnu.org/software/emacs/elisp/html_node/Char-Classes.html). "구문 클래스 : 공백 문자 ... 공백, 탭, 개행 및 formfeed는 거의 모든 주요 모드에서 공백으로 분류됩니다." (http://www.gnu.org/software/emacs/manual/html_mono/elisp.html#Syntax-Class-Table). 당신의 대답이이 상황에서 도움이되기를 바랍니다. –