2014-03-02 2 views
2

대체 목록과 문자열을 일치 시키려고합니다. 내가 할 때Vim Regex 대안 검색

echo "vimNotFunc" =~ "\vnot" 

나는 예상대로 1을 얻습니다. 그러나, 나는 경우 같은 정규식하지만, 대안을 추가, 나는 0를 얻을 :

도움말 파일에서
echo "vimNotFunc" =~ "\vnot|string" 

, 내가 |을 탈출 할 필요가 없습니다. 그 일치가 1 (true)을 반환해야합니까? 그러나

:echo "vimNotFunc" =~ '\vnot|string' 

:

:echo "vimNotFunc" =~ "\\vnot|string" 

처럼, 작은 따옴표를 사용하고,이 문제를 피하기 위해 간단합니다 : 당신이 같은 백 슬래시를 두 번해야한다, 그래서 당신은 큰 따옴표 사이의 문자열을 사용하는

답변

3

, 당신의 첫 번째 정규식이 어떻게 작동하는지 모르겠습니다. 내 vim에서 작동하지 않습니다. 나에게 기대되는 결과는 아니다.

+0

고마워요! 첫 번째 것은'\ v'없이''not ''이어야합니다. –

+1

일치 여부는''ignorecase'' 옵션의 값에 따라 다릅니다. ': help 'ic와': help = ~'를보십시오. (@Birei가 말했듯이, 이중 백 슬래시 또는 작은 따옴표를 사용한다고 가정합니다.) – benjifisher