my @matches = ($result =~ m/INFO\n(.*?)\n/);
所以在 Perl 中我想存储该正则表达式的所有匹配项。我希望每次发生时都将值存储在 INFO\n 和 \n 之间。
但我只存储了最后一次出现的情况。我的正则表达式错误吗?
Use the /g
全局匹配的修饰符。
my @matches = ($result =~ m/INFO\n(.*?)\n/g);
在这种情况下,惰性量化是不必要的,因为.
与换行符不匹配。以下将提供更好的性能:
my @matches = ($result =~ m/INFO\n(.*)\n/g);
/s
如果您确实希望句点与换行符匹配,可以使用。有关这些修饰符的更多信息,请参阅perlre http://perldoc.perl.org/perlre.html.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)