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 ...
随机推荐
- AC日记——手写堆ac合并果子(傻子)
今天整理最近的考试题 发现一个东西叫做优先队列 priority_queue(说白了就是大根堆) 但是 我对堆的了解还是很少的 所以 我决定手写一个堆 于是我写了一个简单的堆 手写的堆说白了就是个二叉 ...
- [ORACLE错误]ORA-00054:resource busy and acquire with nowait specified解决方法
当某个数据库用户在数据库中插入.更新.删除一个表的数据,或者增加一个表的主键时或者表的索引时,常常会出现ora-00054:resource busy and acquire with nowait ...
- 【mybatis】1、入门CURD基本操作(环境搭建)
#1.基本环境 环境 版本 jdk 1.7.0_10 ide eclipse-jee-luna-SR2-win32-x86_64 maven 3.3.3 mybatis 3.2.7 mysql 5.1 ...
- R语言-merge和rbind
rbind 使用方式 合并两个数据集,要求两个数据集的列数相等: rbind(parameter1,parameter2) 1 1 合并多个数据集,各个数据集的列数相等: rbind(paramete ...
- javascript从url中获取请求参数
function getUrlParam(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)( ...
- spring这么流行的原因是什么
spring这么流行的原因是什么?对象与对象之间的依赖关系不再通过对象去创建对象了,而是通过配置文件来管理他们的依赖关系.这就是spring的依赖注入机制,这个注入关系在一个叫IOC的容器中管理.在这 ...
- redmine Windows装配
原文:http://www.myexception.cn/windows/1219064.html redmine Windows安装 官方地址:http://www.redmine.org/ 所需环 ...
- LINUX SSH显示中文乱码
ssh登陆后,执行: export LANG=zh_CN.gb2312就可以显示中文了.编辑/etc/sysconfig/i18n 将LANG="zh_CN.UTF-8" 改为 L ...
- STM32的USB速度,终于确定了传输极限,为以后的产品设计提供了数据。
是自定协议,用到一个bulk in ep1, 一个bulk out ep2 端点 用虚拟串口的优点显而易见,上位机的编写非常方便,就按照常规的串口功能编写就可以了,而速度确还是usb的速度 USB ...
- Promise 学习笔记 - 时间支配者
本文同步自我的个人博客:http://www.52cik.com/2015/11/08/promise.html JavaScript 的 promises 事实标准称为 Promises/A+.ES ...