vim lookbehind \@<= 에서 이해하기 어려운 코드가 있어요

hemosu의 이미지

빔의 정규식에서 \@<=는 펄의 (?<=)과 거의 같습니다.
아래는 \@<=의 용법을 보여주는 테스트코드 가운데 하나인데요.
call search('\(<\_[xy]\+\)\@3<=start') 의 \@3<=start에서 3이 왜 들어간 건지 모르겠습니다.

fun! s:test_lookbehind()
  new
  call append(0, ['Behind:', 'asdfasd<yyy', 'xxstart6', 'asdfasd<yy',
        \ 'xxxstart8', 'asdfasd<yy', 'xxstart9'])
  call cursor(1, 1)
  call search('\(<\_[xy]\+\)\@3<=start')
endfun
call s:test_lookbehind()

:h /\@<=
해서 도움말을 봐도 3이 들어가 쓸만한 설명이 안 보입니다.
코드를 실행하면 커서는 xxstart9의 s에 놓입니다.
그래서 3번째 찾은 것이니 3인가 해서
\@3< 부분을 \@2< 로 바꿔보았지만 엉뚱하기 첫줄 Behind로 갑니다.

도움을 바랍니다.

Prentice의 이미지

JFYI :help /\@<= 후 Vim 9.0 기준 30줄 정도 아래를 보시면 \@123<= 설명이 있습니다.

hemosu의 이미지

고마워요
도움말을 찾았습니다.
도움말을 읽고 테스트해봐도 여전히 어렵네요. -.-;