2
*.Tex
파일에 많은 테이블이 포함되어 있고 테이블 내부에 키워드가 있고 키워드가있는 테이블을 가져와야하는 파일이 있습니다. \\tobesplit
Perl에서 사전 및 사후 점검을 사용하는 방법은 무엇입니까?
입력 파일 : 키워드 예를 들어
\begin{table1} ....\body1 .... \tbody1 .... \end{table1}
some text ...
\begin{table2} .... \body2 .... \\tobesplit ... \tbody2... \end{table2}
some text ...
\begin{table3} ....\body3... \tbody3... \end{table3}
some text ...
코드 : 여기
my ($tpre,$tmatchs,$tposts) = "";
while($incnt=~m/\\tobesplit/gs)
{
$tpre = $tpre.$`; $tmatchs = $&; $tposts = $';
print "hi...\n";
my ($headers,$footers) = "";
우리가
를 시작 테이블 2의 사전 콘텐츠를 필요
if($tpre=~m/(?<!.*\\begin\{table)\\body\d+/g) { $headers = $&; }
는 여기에서 우리는
if($tposts=~m/\\tbody(.*?)\\end\{table\d+\}/i) { $footers = $&; }
print "-$headers-\n";
print "-$footers-\n";
}
참고 종료에 표 2의 후 콘텐츠를해야합니다 ... 단지 식별 목적으로 번호 table123을
나는 펄을 사용하여 lookbehind와 lookafter 함수를 사용하여 pre와 post를 사용하는 방법을 사용하지 않는다. 이걸 좀 도와주게.
미리 감사드립니다.
LaTeX 파서를 사용하는 것이 좋습니다. 예를 들어 [LaTeX :: TOM] (https://metacpan.org/pod/LaTeX::TOM)을 참조하십시오. 또 다른 옵션은 [Perl 6 문법] (https://docs.perl6.org/language/grammar_tutorial)을 사용하는 것입니다. –
@ HåkonHægland : 펄 6을 설치해야합니까? – ssr1012
@ ssr1012 아니요, 그가 말했듯이, Latex :: TOM을 사용하여 모듈에 대한 링크에 대한 주석을 예제와 함께 볼 수 있습니다. –