2015-02-04 4 views
-1

는 지금은 이것을 가지고 뒤에 (왼쪽에) -> 공간이나 다른 문자가 있더라도 상관 없습니까?문자 뒤에 단어를 일치 (빔)

예 :

matchedWord = -> 

matchedWord = (x) -> 
+0

'matchedWord = (x) -''행으로'x' 또는'matchedWord' 또는 둘 모두와 일치 시키시겠습니까? –

+0

@ RenéNyffenegger 만 'matchedWord' – alexchenco

+0

'matchedWord'는 줄의 첫 번째 단어입니까? 그것은 문자 하나에서 시작합니까? –

답변

2

은 뒤에 에 의해 이해에 따라 달라집니다 ->

을이 어떤 다음에 문자 ->에 대한 표현 첫번째 검색

->\s*\zs\w\+ 

을 시도하려는 다음 후 의미하는 경우 숫자 (*) 개 (\s) 다음은 \zs 다음에 실제로 일치를 시작하도록 vim에 지시합니다. \w\+은 단어와 일치합니다. 당신의 편집에서

, 나는 당신이 뒤에이 앞에 을 의미하는 말은 가정, 그래서 당신은 위의

\w\+\ze\s*-> 

에게 거의 같은 논리를 시도하려는, 그러나 나는 \ze (끝나는 일치를 사용) 대신 \zs.

을 편집하면 줄의 첫 번째 단어를 일치 시키려고한다는 것을 분명히했습니다. 이 경우, 당신은 원한다면

\w\+\ze.*-> 
+0

와우, 나는 그걸 몰랐다. 무엇보다 뒤에서 ('\ @ =')를 보는 것의 이점은 무엇입니까? – alexchenco

+0

'\ zs'가 어떻게'\ @ ='와 관련이 있는지 잘 모르겠지만'\ zs'가 더 깨끗하게 발견됩니다. –

+0

이상한, 패턴을 찾을 수 없습니다. Vim이 전체 파일을 검색하도록 알려주려면 뭔가를 추가해야합니까? – alexchenco

1

당신은 \s*이되는 0 개 이상의 공백 문자와 일치합니다 사용할 수 있습니다.

1
.*?\(->\)\@= 

간단하게 사용할 수 있습니다. .*?은 (는) ->까지의 모든 내용과 일치합니다.

+0

일치하는 패턴이 없습니다. – alexchenco