2013-05-07 4 views
2

vim과 tagbar를 사용하여 라텍스 파일을 작성하고 있습니다. 라텍스 소스에서 , 이런 그래픽보기를위한 입력 :이 경우, "plate_hole_fem_elas_cd_map"에, tagbar 만 파일 이름을 좀하고 싶습니다regex vim을 태그 막대와 함께 사용하여 라텍스의 그래픽 파일 이름을 얻으십시오.

\includegraphics[width=0.70\textwidth]{../../figures/mechanical_diffusion/plate_hole/plate_hole_fem_elas_cd_map} 

. 내가 (tagbar 문서에있는 원래의 줄에서 수정) 다음 줄이 내 집에 .ctags을 만들어 :

--regex-latex=/^[\t]*\\includegraphics[[:space:]]*(\[[^]]*\])?[[:space:]]*(\[[^]]*\])?[[:space:]]*\{[\.{2}\/]*[[a-zA-Z0-9_]+\/]*([^}]+)\}/\3/g,graphic+listing/ 

을하지만 난 단지 파일 이름을 얻을 수 없습니다. 나는 다른 것들을 시도했지만 때로는 "../"만 제거하고 때로는 "plate_hole"만 얻습니다. 내가 뭘 잘못 했습니까?

감사합니다.

답변

1

정규식이 잘못되었으므로 이와 같은 문자 클래스를 사용할 수 없습니다. 이 하나는 나를 위해 일했다 :

--regex-latex=/^[\t]*\\includegraphics[[:space:]]*(\[[^]]*\])?[[:space:]]*(\[[^]]*\])?[[:space:]]*\{([^}]+\/)?([^}\/]+)\}/\4/g,graphic+listing/ 
+0

그것은 나에게도 감사한다.이 부분을 설명해 주시겠습니까? \ {([^}] + \ /)? ([^} \ /] +) \}/\ 4 – Napseis

+0

첫 번째 그룹은 닫는 중괄호가 아닌 문자를 최대한 많이 찾은 다음 '/ '로 끝나고 두 번째 그룹은 가능한 한 닫는 중괄호 나 슬래시가 아닌 많은 문자를 찾습니다. 이렇게하면 모든 슬래시 (즉, 디렉토리)가 첫 번째 그룹으로 끝나게되며, 그 그룹은 선택 사항이므로 현재 디렉토리에있는 파일에도 사용할 수 있습니다. –

+0

대단히 감사합니다! – Napseis