RegexBuddy工具的使用教程

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

RegexBuddy工具的使用教程(图文)1

2009-10-14 12:14

一、什么是RegexBuddy

使用了几天,个人感觉RegexBuddy 是学习正则表达式时的比较好的帮手。它可以容易地建立你想要的正确的正则表达式。清晰地推断他人所写的复杂的正则表达式。它还可以用给出的实例字符串或文件快速地进行测试匹配,从而防止了在实际应用中出现错误。RegexBuddy会在你的源代码中根据你所应用的特殊编程语言,自动生成带有正则表达式的代码段。同时你也可以收集正则表达式到库中,以在未来重新使用。

二、获得RegexBuddy

目前最新的版本是3.2.1(图2-1),于2008年12月9日发布的。可以在/(RegexBuddy的官网)进行最新版本的下载和正版的购买。

图2-1 RegexBuddy的3.2.1版

三、初步认识RegexBuddy

安装比较简单(略过)

首先,我们先对RegexBuddyg 产生一个整体的初步的认识,而不是设法解释所有的东西。RegexBuddyg是相当易懂的容易的,所以我想经过简单大家应该能够基本正确地使用它。

默认情况下,RegexBuddy会在顶部显示正则表达式和上一次使用的历史,如图

2-1。

图3-1 RegexBuddy的顶部

底部会显示7个选项卡,分别是“Create”、“Test”、“Debug”、“Use”、“Library”、“GREP”、“Forum”(需要注册才能使用此功能),如图2-2。

图3-2 RegexBuddy的底部

如果你的显示器较大,也可以分成两块平铺,你可以单击窗口最右上方工具栏上的“View”按键,在菜单中选择“Side by Side Layout”,这样你可以最大限度的同时查看两个窗口(图3-4)。

图3-3 Side by Side 样式

四、开始建立第一个正则表达式

接下来我们来用RegexBuddy来建立一个简单的正则表达式,以进一步加深对它的了解。

我们在文本域中直接输入:“^[0-9]*$”,也就是只允许有数字的正则表达式,然后在Test中输入下列测试文本: 90909、uiuiu、56464、787b、001、a65b (每输入一个换一行,文本内容任意更换)并选择“Line by line”,在此时界面如图4-1:

图4-1 Example

会发现匹配的字符串会被高亮显示,十分方便查找与正则表达式匹配的部分!

RegexBuddy中“Create”与“Test”选项卡是你新建正则表达式时最有用的,一般我会按照之前选择的“Side by Side Layout”样式,这样就可以同时看见这两个面板。

在“Create”选项卡中,可以看到对这个正则表达式的解释的一个树状展示,其中的每一个节点对照着表达式中的一个元素块,在RegexBuddy中被称为一个“token”,我们点击其中的一个节点,就会在我们所输入的表达式的相应部分进行着重显示。在分析他人所写的复杂的表达式的时候在这里查看会十分方便。

此选项卡中包含四个按键:

1.“Explain Token”按键,打开RegexBuddy所自带的正则表达式指南,而且指向的正是你所选择的节点的正则表达式的语法规则的解释,十分方便!!

2.“Insert Token”按键,会弹出一个下拉菜单(这个菜单会在以后介绍),其中包含了正则表达式里涉及的所有语法符号,可以进行选择,当然对于语法十分

熟悉后,就可以不用这个菜单,直接在上面的文本输入区键入表达式了。

3.“Export”按键,可以将当前的表达式导出到文本文件、HTML文件或放入到剪贴板中。

4.“打印”按键,可以将当前的表达示打印出来。

俗话说,工欲善其事,必先利其器。关于windows下的正则表达式工具,这里推荐的是:RegexBuddy和PowerGREP。在linux下,也有好用的正则表达式工具,例如grep的兄弟们,只不过是都是基于命令行的。而这两款windows下的小工具,其突出特点是可视化,允许尝试和预览,极大地方便了使用者。RegexBuddy:网址是。在编写正则式时,它提供可视化的支持、提示、调试方面的便利;在使用正则表达式时,它无私地将正则式转换为多种语言的字串,还提供了代码输出功能。正则式助手,该称号名副其实。

基本界面

正则式的基本功能无外乎搜索和替换。在本文中,我们使用匹配Email的正则式,代码如下:

view plaincopy to clipboardprint

1.\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b

\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b

此时,RegexBuddy的界面如图:

在点击“Explain Token”时,能对当前的正则式片断的作用作出详细解释,例如当你把光标移动到\b上再点击Explain Token,就会激活帮助文档,自动定位到Word Boundaries这一段。

如果想对刚才编写的这条正则式进行测试和验证,可以点击“Test”进行测试。这时,在下边的文本框输入所需要匹配测试的文字,例如dog@,匹配结果就以黄色背景色标出。在本例中,你或许没有得到正确的匹配,呵呵,那是正常的。为什么?答案见文章结尾。

拷贝粘贴

RegexBuddy能把正则式以多种字符串格式拷贝出来。还是刚才那条正则式,根据需要,它可以被拷贝为:

view plaincopy to clipboardprint

1.'\\b[A-Z0-9._%-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}\\b'

2."\\b[A-Z0-9._%-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}\\b"

3.'/\\b[A-Z0-9._%-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}\\b/i'

'\\b[A-Z0-9._%-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}\\b' --editorbr--

"\\b[A-Z0-9._%-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}\\b" --editorbr--

'/\\b[A-Z0-9._%-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}\\b/i'

具体的选项在copy菜单里,如下图所示。你不必为单双引号、正反斜线操心了。

相关文档
最新文档