加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式 – 哪个更有效的正则表达式?

发布时间:2020-12-14 06:06:35 所属栏目:百科 来源:网络整理
导读:我正在解析一些大的日志文件,并且有一些非常简单的字符串匹配 if(m/Some String Pattern/o){ #Do something} 这看起来很简单,但事实上我所拥有的大部分比赛都可以对阵线的起点,但比赛将会“更长”,例如 if(m/^Initial static string that matches Some Strin
我正在解析一些大的日志文件,并且有一些非常简单的字符串匹配

if(m/Some String Pattern/o){
    #Do something
}

这看起来很简单,但事实上我所拥有的大部分比赛都可以对阵线的起点,但比赛将会“更长”,例如

if(m/^Initial static string that matches Some String Pattern/o){
    #Do something
}

显然这是一个更长的正则表达式,因此需要更多工作来匹配.但是我可以使用行锚的开头,这将允许表达式作为失败的匹配更快地被丢弃.

我的预感是后者会更有效率.任何人都可以支持我/击落我:-)

解决方法

我想你会发现用^开始你的正则表达式肯定会更快,因为正则表达式引擎不需要查看字符串左边缘的任何进一步匹配.

当然,这是你可以轻松测试和测量的东西.做一个正则表达式匹配1000万次左右,衡量它需要多长时间,然后再尝试使用不同的正则表达式.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读