regexbuddy正则表达式测试工具使用方法(图文)

  发布时间:2020-02-01 19:05:25   作者:佚名   我要评论
前不久,我们推荐了个正则表达式入门学习工具。正则表达式工具推荐(学习工具、测试工具) ,今天我们看下,正则表达式的性能测试工具。这里我们先说下,为什么需要这样的工具,这个工具有什么作用呢

为什么需要性能测试工具
我们都知道,正则表达式使用进行搜索查找,没有字符串直接查找快!而且性能是几何倍数下降。那么,为什么正则表达式速度会比字符串搜索慢呢。我们来看看,正则表达式查找字符串的匹配过程吧。正则表达式由一些元字符,普通字符,量词字符组合成。默认情况下,这些量词元字符(*,+,?)都是贪婪模式,会最大长度匹配字符串。我们知道,正则表达式往往搜索路径会有多个,我们看看,下面匹配过程。就知道,主要影响正则表达式执行性能有哪些了。

正则表达式匹配过程如:\d+abc,元字符是:”12345bdc”,查找会从左向右进行,\d+,贪婪模式,一下子匹配到12345,然后bdc与\d+不能匹配,”abc”中,”a”字符,开始匹配”bdc”,发现匹配失败。正则表达式开始回溯匹配(贪婪模式量词开始逐一减少匹配字符长度),\d+只匹配”1234”,”5bdc”与”abc”匹配,任然失败。\d+继续减少匹配长度为:”123”,”45bdc”与”abc”匹配,任然失败。继续回退,直到\d+匹配”1”,用”2345bdc”与”bdc”匹配,任然失败。整个匹配就失败了。

从上面过程中,我们发现,每次回溯,要重新操作匹配因此匹配搜索次数,直接影响正则表达式的性能。做正则表达式性能优化,一般就是优化查询的次数。这个是我们分析过程,如果有个工具能够实实在在看到每一步匹配过程,对于我们优化正则表达式将带来太多方便了。这里介绍工具是:regexbuddy软件,它就是一个实实在在看到匹配过程工具。

软件名称:
JGsoft RegexBuddy 正则表达式工具 v4.9.0 零售版(Retail)
软件大小:
18.9MB
更新时间:
2018-12-12立即下载

egexbuddy工具怎么样使用,使用介绍

1、安装完regexbuddy


 

该工具支持多种程序语言正则表达式,如:perl,pcre,javascript,python,ruby,c#,java等等,还能自动生成程序代码,并且内部带有大量的常用正则表达式。

2、一般切换到side by side:


 

3、匹配过程


 

从上面一个匹配看,这个简单一个匹配,搜索了8次,进行了不断查找。如果我们已经准确知道自己要匹配什么样字符,我们可以对源正则表达式修改下,减少匹配次数。就达到优化正则表达式目的,提高匹配效率!

后记:这个工具是不是很强大呢,你知道在baidu搜索,该关键字:regexbuddy,就可以方便下载到。通过该工具,对我们写出好的高性能正则表达式确实能带来很大帮助。有时候可能一个小小修改,自己程序正则表达式匹配速度可能几个数量级的提升。好了,欢迎大家交流,你有好的工具、方法,欢迎留言,可以给更多朋友分享! 

相关文章

  • 1分钟将vscode撸成小霸王的方法

    今天给大家分享一下自己最近撸的一款vscode游戏插件,基于vscode的休闲放松利器,感兴趣的来了解一下吧
    2020-10-14
  • 怎样将Sublime Text 设置成中文版(完整教程)

    这篇文章主要介绍了怎样将Sublime Text 设置成中文版,没有中文,非常的不舒服,下面就一起来了解一下如何设置成中文
    2020-10-13
  • 盘一盘那些提效/创意的vscode插件(小结)

    这篇文章主要介绍了盘一盘那些提效/创意的vscode插件(小结),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来
    2020-10-13
  • arcgis中怎么将面要素转为线要素?

    有时候为了作业需求,我们需要将面要素转为线要素,今天我就给大家讲讲在arcgis中如何实现这一操作,一起看看吧
    2020-10-12
  • VS2017编译运行失败该怎么解决?

    VS 2017编译运行失败该怎么解决?首先我们先来分析VS 2017编译运行失败的原因,主要是因为没有添加程序到项目中,下面我们就来看看详细的解决办法,需要的朋友可以参考下
    2020-10-10
  • IntelliJ IDEA如何重新导入所有maven项目依赖?

    IntelliJ IDEA如何重新导入所有maven项目依赖?IntelliJ IDEA汇总想要导入maven项目文件,该怎么导入呢?下面我们就来看看详细的教程,需要的朋友可以参考下
    2020-10-09
  • 有关idea2019版的jsp配置小教程

    这篇文章主要介绍了有关idea2019版的jsp配置小教程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学
    2020-09-30
  • IDM UltraEdit十六进制编辑器激活补丁安装教程

    今天脚本之家小编给大家分享的是IDM UltraEdit 十六进制编辑器的激活补丁安装教程,文章非常详细的介绍IDM UltraEdit的每一步的安装步骤,并且附有图文解说,需要的朋友一
    2020-09-30
  • Scratch怎么制作酒吧跳舞的动画? Scratch让小人跳舞的技巧

    Scratch怎么制作酒吧跳舞的动画?Scratch中想要制作一个酒吧的背景,并且让人物舞动,该怎么制作这个动画效果呢?下面我们就来看看Scratch让小人跳舞的技巧,,需要的朋友可
    2020-09-29
  • vs怎么做C窗体应用程序启动界面? vs2010窗体应用教程

    vs怎么做C#窗体应用程序启动界面?vs中想要创建一个程序启动界面,该怎么创建呢?下面我们就来看看c#的vs2010窗体应用教程,需要的朋友可以参考下
    2020-09-27

最新评论