2013-04-06 1 views
0

나는이 있습니다역 참조를 사용하여 모든 일치를 강조 표시하는 방법은 무엇입니까?

/\(\d\{4}_\d\{2}_\d\{2}\).*\1

같은 줄에 두 번 날짜를 찾을 수 있습니다.

위의 정규식에서와 같이 처음으로 발견 된 모든 일치 항목을 (일반 검색에서와 마찬가지로) 강조하고 싶습니다.

어떻게하면됩니까?

+0

이 무엇을 hightlight하는 원인은? 포획 숭배? '\ 1'을 (를) 괄호에 넣으려고 했습니까? (나는 전체 경기가 강조 될 것이라고 생각했을 것이다.) –

+0

@KennethK. 성냥과 모두를 하이라이트합니다. 날짜 만 강조하고 싶습니다. – Reman

+1

날짜 만 강조 표시하면 모든 행에서 첫 번째 일치를 무시하도록 지시하는 Vim 옵션이 필요합니다. (단 간단한 날짜 패턴 만 검색하면 하나의 일치 항목이 하나의 날짜와 일치합니다.)하지만 AFAIK 옵션은 존재하지 않습니다. –

답변

3

Vim을 사용하고 있는데, 질문 태그에서 수집합니다. 빔에서 hlsearch을 활성화 :

:set hlsearch 

는 다음과 같이 검색 :

/\d\{4}_\d\{2}_\d\{2}[^0-9]*\d\{4}_\d\{2}_\d\{2} 

이 전체 파일의 라인에있는 모든 이중 날짜를 강조한다. 정규식은 날짜 사이의 공백이 숫자가 아닌 문자로 채워져 있다고 가정합니다. 정규식의

그림 : Illustration of the regex

+1

어디에서이 이미지를 가져 왔습니까? 나는 작은 로봇을 좋아한다 ;-) – romainl

+2

@romainl [regexper] (http://www.regexper.com/) –

+0

@ 토마스, 나는 오직 경기를 강조하고 싶다. 귀하의 솔루션은 성냥과 모두를 강조합니다. – Reman

관련 문제