我们有一个*.Tex
文件包含很多表,并且在表中有一个关键字,我们必须获取具有关键字的表。
对于关键字例如:\\tobesplit
输入文件:
\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 = $&; }
在这里,我们需要将表2的后内容添加到结束
if($tposts=~m/\\tbody(.*?)\\end\{table\d+\}/i) { $footers = $&; }
print "-$headers-\n";
print "-$footers-\n";
}
注意:table123的数字仅用于识别目的......
我不知道如何在perl中使用lookbehind和lookafter函数的pre和post。能不能请有人帮我这个。
提前致谢。