my @matches = ($result =~ m/INFO\n(.*?)\n/);
Run Code Online (Sandbox Code Playgroud)
所以在Perl中我想将所有匹配存储到该正则表达式中.我希望每次发生时将值存储在INFO \n和\n之间.
但我只是存储了最后一次.我的正则表达式错了吗?
Tim*_*Tim 11
使用/g修饰符进行全局匹配.
my @matches = ($result =~ m/INFO\n(.*?)\n/g);
Run Code Online (Sandbox Code Playgroud)
在这种情况下,懒惰量化是不必要的,因为.不符合换行符.以下将提供更好的性能:
my @matches = ($result =~ m/INFO\n(.*)\n/g);
Run Code Online (Sandbox Code Playgroud)
/s如果您确实希望句点匹配换行符,则可以使用它们.有关这些修饰符的更多信息,请参阅perlre.