我正在解析一些巨大的日志文件,并且有一些非常简单的字符串匹配,例如:
if(m/Some String Pattern/o){
#Do something
}
看起来很简单,但实际上我大部分的匹配可能是针对行首的,但实际匹配会更“长”,例如:
if(m/^Initial static string that matches Some String Pattern/o){
#Do something
}
显然,这是一个较长的正则表达式,因此匹配需要更多的工作。不过,我可以使用行首锚点,以便更早地将表达式丢弃为匹配失败。
我猜后者会更有效率。有人能支持或反驳我的想法吗?:-)