文章来源:http://www.lifeba.org/arch/regexbuddy.html
一、RegexBuddy下载及安装
本站下载地址:JGsoft-RegexBuddy-v3.1.0.rar,也可以在http://www.regexbuddy.com/(RegexBuddy的官网)进行最新版本的下载和正版的购买。下载后直接安装,打开界面如下:
二、工具界面
1、首先切换到 Side By Side Layout,这个布局,更方便操作。
2、界面主要包括:正则表达式、测试文本、输出结果、历史记录、Create相关面板。
三、使用介绍
打开RegexBuddy后默认载入的是上一次你所测试的正则信息,选项配置信息都会自动载入上次你所设置的内容。历史记录中显示的是你所测试过得正则信息。
1、测试正则表达式。
a、在正则表达式输入需要测试的正则,如:。可以通过上面的面板选择语言,默认是JGosft,可以指定JAVA,Python等。
b、测试文本面板(Test标签)输入需要测试的文本内容,如:。可以选择Line By Line、Whole File、Page By Page,来指定是每行抽取,还是对整个文档抓取等(如果你的正则匹配信息有包含多行内容,务必要选中Whole File或者Page By Page)。测试文本面板会根据正则表达式和测试内容,实时显示匹配到的高亮预览信息。如:上图中的,全部高亮,如果你选中了HighLight下得HighLight Group1选项,还会实时显示抽取出来的内容:www.lifeba.org。上面2个部分用不同的颜色模块显示区分。当然你也可以不选择预览。
c、输出结果面板,显示的显示了正则表达式的匹配结果。你可以通过List All切换显示的效果。
比如,可以选中List ALL Group Matches in columns显示的效果,就是上面图中的输出结果面板效果。如果,你选中了Update Automatically,则修改正则或文本内容时候,输出结果面板会实时跟着变化。
d、点击 Debug按钮,会自动跳到Debug面板,显示出正则表达式匹配的规则。通过该结果,你可以很直观的分析出正则匹配的过程。
2、使用Libray库文件。
测试好了正则表达式后,你可以把他添加到自定义库里,并保存本地硬盘。这样下次你可以直接调用出来修改。通过Libray按钮,你可以切换到该面板。你首先要把选中Read Only去掉,才编辑该库文件。
a、点击 Add 按钮,可以选择Add Regex Only 或者 Add Regex With Test Subject,指定只保存正则,还是同时保存正则和测试文本。这里选择Add Regex With Test Subject后,可以看到已经成功将规则加入到库中,然后你可以点击保存按钮,来保存该库到硬盘上面。
b、点击 Use 按钮,可以选择使用该正则,同样有3个选项,让你指定是否使用测试文本等信息。
c、点击 Update 按钮,可以把修改后的正则更新到该库中。
上面的操作,可以直接选择该正则,然后点击右键操作。
3、Use面板,可以很方便导出正则为不同的编程语言格式。首先现在Language,指定输出语言为Python;然后use后面选择使用的编程方法;最后指定下变量名,就可以看到生成了Python的代码了。
4、GREP面板。在文件中使用上面的正则来搜索内容。点击GREP按钮可以切换到该面板。指定Folders,File masks类型信息后,再右上角点击GREP按钮,可以看到搜索的结果。
5、Create面板。对这个正则表达式的解释的一个树状展示,其中的每一个节点对照着表达式中的一个元素块,在RegexBuddy中被称为一个“token”,我们点击其中的一个节点,就会在我们所输入的表达式的相应部分进行着重显示。在分析他人所写的复杂的表达式的时候在这里查看会十分方便。
a、点击 Explain Token按钮,指向的正是你所选择的节点的正则表达式的语法规则的解释。
b、点击 Insert Token按钮会弹出一个下拉菜单,其中包含了正则表达式里涉及的所有语法符号,可以进行选择,当然对于语法十分熟悉后,就可以不用这个菜单,直接在上面的文本输入区键入表达式了。
c、Export按钮,可以将当前的表达式导出到文本文件、HTML文件或放入到剪贴板中。打印按钮,可以将当前的表达示打印出来。
上面的这些按钮,也可以直接点击右键来操作。
6、历史记录面板。显示你所编辑过得正则信息,你可以随时点击来切换。
四、其他功能介绍
1、上面的界面是再Match模式下的介绍;如果点击上面的Replace按钮,显示的面板会由稍微的不同。下面的界面显示了,对匹配到的正则内容,替换为HELLO的效果。
2、Split模式下,指定用匹配的正则做分割,可以指定要去的split次数。
3、特殊功能
a、Dot matches newline:是否允许 . 匹配任何字符包括分隔符。Case insensitive:是否不区分大小写。
选中后,测试效果如下:输入的是大写的TITLE,以及多行显示都可以匹配出来。
b、^$ match at line breaks:对^$只会对开始的字符串或者结束的字符串做匹配,如果选中该选项,则可以对前后换行也支持。选中后,效果如下:www.lifeba.org前后都有行,可以匹配出来。
上面的特殊功能只是工具自带的功能,如果你需要这个功能必须在持续中实现,因为这不是正则表达式本身的一部分。