好的,所以我正在读取一个看起来像这样的文件:
File: namehere
Category1<br>
Category2<br>
Category3<br>
Info1<br>
Info2<br>
Info3<br>
File: namehere
Category1<br>
Category2<br>
Category3<br>
Info1<br>
Info2<br>
Info3<br>
等等。
总有相同数量的类别并且它们总是具有相同的名称,但是它们后面的信息不同。信息可能比类别少,并且信息将包含不同的东西。
我想捕获只是信息的东西,所以我最初的想法是将它设置为在Category3
and之间捕获File
。但是,这不起作用,可能是出于某些对我来说并不明显的明确原因。
这是我正在使用的
if ( /Category1([\s\S]+?)File/ ) {
push(@files, $1);
print @files;
我什么也没得到@files
,我认为这是因为我提供的代码只搜索包含这两个词的行并捕获它们之间的内容,而不是整个文件。有什么帮助/建议吗?
编辑:
如果我正在阅读这样的内容,我将如何更改它:
File: namehere
Category1<br>
Category2<br>
Category3<br>
Info1<br>
Info2<br>
Info3<br>
Info1<br>
Info2<br>
Info3<br>
Info1<br>
Info2<br>