RegexBuddy正则表达式工具
RegexBuddy非常的好用,而且还能生成.net的代码。
我们在使用正则匹配时,毕竟.net提供的方法中,对于多行匹配就不能用单纯的正则去实现,而我们需要把它转换成相应的类库方法进行实现。
那么RegexBuddy这个工具就很好的提供了这些生成的代码。而且,可以针对主流语言进行生成,非常的方便。
效果如下:
下面是我收集的一些使用教程:
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:对^$只会对开始的字符串或者结束的字符串做匹配,如果选中该选项,则可以对前后换行也支持。选中后,效果如下:http://www.lifeba.org/前后都有行,可以匹配出来。
上面的特殊功能只是工具自带的功能,如果你需要这个功能必须在持续中实现,因为这不是正则表达式本身的一部分。
RegexBuddy正则表达式工具的更多相关文章
- (转)介绍几个C#正则表达式工具
推荐三个C#正则表达式工具,理由如下 第一个C#正则表达式工具,REGEX 这个C#正则表达式工具优点是中文的,提供了一些示例 第二个C#正则表达式工具,REGEXBUDDY 这是一个真正专业的REG ...
- 介绍几个C#正则表达式工具
这里将为大家推荐介绍几个C#正则表达式工具,这些小工具能帮助大家在.NET开发过程中起到事半功倍的效果,希望大家喜欢. 推荐三个C#正则表达式工具,理由如下 第一个C#正则表达式工具,REGEX 这个 ...
- 一款免费好用的正则表达式工具:Regex Match Tracer
推荐分享:一款免费好用的正则表达式工具:Regex Match Tracer v2.1.5 free version 下载地址:Regex Match Tracer
- JAVA自动生成正则表达式工具类
经过很久的努力,终于完成了JAVA自动生成正则表达式工具类.还记得之前需要正则,老是从网上找吗?找了想修改也不会修改.现在不用再为此烦恼了,使用此生成类轻松搞定所有正则表达式.赶快在同事面前炫一下吧. ...
- 正则表达式工具类,正则表达式封装,Java正则表达式
正则表达式工具类 正则表达式封装 Java正则表达式 >>>>>>>>>>>>>>>>>>& ...
- [Swift]正则表达式工具类
正则表达式工具类 import Foundation //基于NSRegularExpression api 的正则处理工具类 public struct Regex { private let re ...
- 正则表达式工具RegexBuddy使用教程(原创自Zjmainstay)
从<我眼里的正则表达式(入门)>这个文章,到<深入正则表达式应用>,再到后来专门创建的正则QQ群"专精正则表达式",到现在已经过去2年时间了.在文章和群里一 ...
- 正则表达式工具RegexBuddy
1 下载 RegexBuddy 并安装 安装后的界面如下: 2 切换布局 点击右上角的彩色格子图标,选择 Side by Side Layout: 这种布局的好处是,Create 面板 ...
- Mac下使用Wine安装正则表达式工具RegexBuddy 4
下载: (链接: https://pan.baidu.com/s/1bzRae6 密码: b5d3) 安装: 1.安装Wine 参考:http://www.cnblogs.com/EasonJim/p ...
随机推荐
- Jedis下的ShardedJedis(分布式)使用方法(二)
上一篇中介绍了ShardedJedis的基本使用方法以及演示了一个简单的例子,在这一篇中我们来介绍了ShardedJedis的原理. 1.ShardedJedis内部实现 首先我们来看一下Sharde ...
- 较多java书籍的网站 tools138.com
http://www.tools138.com/front/resource/java_book.jsp
- PHP安装memcache扩展接口步骤
1.将php_memcache.dll文件保存到php的应用程序扩展ext目录中 2.在php.ini配置文件添加扩展的位置,加入一行extension=php_memcache.dll 3.重新启动 ...
- 解决: osx内置vpn连接后无法ping自己的vpn ip地址
The route table looks like this after connected to the VPN: 10.20.1/24 10.20.11.147 UGSc 0 0 utun0 1 ...
- 30Springd的包扫描——<context:component-scan base-package=” ”/>
在context中配置 如:在base-package指明一个包: <context:component-scan base-package="cn.edu.dao"/> ...
- jquery.validate运用和扩展
一.运用 默认校验规则 ().required:true 必输字段 ().remote:"remote-valid.jsp" 使用ajax方法调用remote-valid.jsp验 ...
- android studio使用说明
一.学习的基本配置文档,搞好各种参数的基本配置,熟练使用. C:\Program Files\Java\jdk1.7.0_09\bin 二.problems meet in weather and ...
- JS 之DOM range对象
DOM范围 DOM中的range对象是DOM2中新定义的接口.通过这个对象可以选择文档中的某个区域,而不必考虑节点的界限. 创建范围 document.createRange()创建一个范围,这个范围 ...
- CSS 实现加载动画之八-圆点旋转
这篇文件介绍的动画是QQ邮箱APP里的加载动画,效果类似,但是不完全一样.实现过程不复杂,这里不详细解释了,直接上源码.另外还有一种实现方式,利用元素的3D转换加平移. 1. 先看截图 2. 源代码 ...
- python数字图像处理(4):图像数据类型及颜色空间转换
一.图像数据类型及转换 在skimage中,一张图片就是一个简单的numpy数组,数组的数据类型有很多种,相互之间也可以转换.这些数据类型及取值范围如下表所示: Data type Range uin ...