0

我有一个程序,它逐行读取文件并在匹配模式时获取数据。
目前它提取模式,
function abc (int a, int b)
但我有一些功能 ,由于文件被逐行读取,它不匹配。
function xyz (int a, \n
int b)

是否可以以更好的方式读取文件,或者我应该使用获取多行的明显技术。

4

1 回答 1

2

您需要一次读取多行。如果文件不是太大,您可以将整个文件放入(例如http://www.perl.com/pub/2003/11/21/slurp.html),然后使用单行正则表达式(使用s 选项,例如 /stuff.next line/s)。

编辑多个匹配的示例* g 选项允许您获取所有匹配。一个示例用法是在 while 循环中,每次评估正则表达式时,都会得到下一个匹配项。有关详细信息和示例,请参阅Perl 遍历每个匹配项。

while($string=~/(regex)/g){
    DoSomething($1);
}

编辑固定错误

于 2013-05-21T05:24:04.183 回答