2013-02-27 1 views
3

Emacs 24.2.1에서, 닫는 대괄호가 아닌 첫 번째 문자, 즉 [] 문자를 뒤로 검색하려고합니다. 예를 들어,이 행의 마지막에있는 경우 :Emacs Lisp : "대괄호를 제외한 모든 것"에 대한 정규식?

123]4567 

"7"로 이동해야합니다.

내 첫 번째 시도했다 :

(re-search-backward "[^\]]" nil nil nil) 

는 "3"에 포인트로 이동한다.

가 문서와 충돌하는 것하지만

, 나는 이러한 시도 :

(re-search-backward "[^\\]]" nil nil nil) 
(re-search-backward "[^\\\]]" nil nil nil) 
(re-search-backward "[^\\\\]]" nil nil nil) 

올바른 정규 표현식은 무엇입니까?

+1

'[^]]'시도 만 했습니까? 반 직관적 인 것처럼 보이지만 작동하는 것처럼 보입니다. –

+0

당신의 첫번째 시도는 나를 위해 팽창했습니다 ... –

답변

7
(re-search-backward "[^]]") 

이맥스 22.2.50.1에서 작동합니다.

대괄호 안에 오른쪽 대괄호를 이스케이프 할 필요는 없습니다. 빈 세트가 의미가 없으므로 세트의 첫 번째 문자로 만들어야합니다.

+0

고맙습니다, Barmar. – user100464

관련 문제