博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
正则表达式替换器 RegeX 3 发布 (Silverlight版)
阅读量:7220 次
发布时间:2019-06-29

本文共 1172 字,大约阅读时间需要 3 分钟。

继发布以来已有三年多了,此次发布全新设计的RegeX 3供广大开发者使用。

新版基于Silverlight开发,支持安装到本地运行,采用类似WindowsPhone7的Metro风格设计。

新版本的主打功能有两点:

  • 支持无限层级的复杂多重匹配与替换
  • 支持在替换时以$@符号引用经过处理后的组内容

这两个功能主要为了解决如下问题:

  1. 冗长的表达式结构。
    在匹配复杂的格式时,使用的表达式不仅冗长,且晦涩如天书,一旦修改时不小心改变了某个符号后患无穷。
    无限级多重替换功能将极大改善这一情况,你可以将替换工作拆分成若干个步骤,分别处理,使得思路清晰,表达式易于维护。
  2. 不可能的任务。
    正则表达式是万能的,但万这个数字并不大,有很多格式是不可能或很难用一个表达式来完成的,很多时候我们需要自己来写一个新程序予以解决,而当有了$@引用功能,很多问题迎刃而解。
    $@符号允许引用目标组的处理结果,比如以前我们在替换时以$1形式引用组1的内容,现在我们可以对$1组再进行正则替换,然后以$@1形式引用其替换结果,这在处理复杂格式时极为有用。

 

立即开始使用RegeX3:

提示:程序中单击右键可以安装到桌面,并脱离浏览器运行:

 

使用入门

首先在源文本框中输入要处理的字符,通常通过剪切板粘贴入:

然后输入表达式及匹配选项:

再输入替代内容及替代选项:

单击执行替换按钮:

此时匹配项和结果都将出现在左栏,展开以查看:

此时在右侧你可以通过集合记录导航功能查看具有多个结果的节点:

此时你可以继续对任意节点进行正则替换操作,以达成需求。

全部处理完毕后,点击复制最终输出结果按钮可以复制最下面的OutPutText节点文本到剪切板:

通过导入导出功能可以读取和保存所有数据:

 

特别提示

这里形如$0或${FuncName}或$@{Parameters}的名称即是在替换时的引用标记,上述三个形式分别代表组、命名组和经过处理的命名组,替换时可以以$形式引用子级节点内容,或以$@形式引用孙级节点内容。

当前所选节点能够引用的后代节点都使用浅黄色表示。

后面的[105]表示该组有105个项,可以通过滑动导航条查看每一项:

 

小技巧

点选任意一个$开头的节点后,按Ctrl+C可以直接复制其替换时的引用字符到剪切板:

除此之外,还有个更方便的办法,就是直接在$开头的节点上点鼠标,即可直接将其引用字符复制到剪切板:

 

如果引用孙级节点的处理结果还不能满足你的话,你还可以继续对其进行处理,每多一层处理,引用时就多些一个@:

这样你的表达式可以像树杈一样不断延展,但始终都不脱离主干。

本文转自斯克迪亚博客园博客,原文链接:http://www.cnblogs.com/SkyD/archive/2012/01/02/2309769.html,如需转载请自行联系原作者

你可能感兴趣的文章
免费素材: Retina Glyph图标集 (包含100个AI & PNG格式的图标)
查看>>
Chronon 3.5 发布,支持 Java 7
查看>>
firefox与chrome中对select下拉框中的option支持问题
查看>>
操作系统同步原语
查看>>
[LeetCode] Different Ways to Add Parentheses 添加括号的不同方式
查看>>
WinForm界面开发之“OutLookBar”工具条
查看>>
MySQL案例-初步恢复: alter引起的从库无限Crash
查看>>
JS编程建议——45:警惕嵌套量词和回溯失控
查看>>
SAP WM LQ02 事务代码界面里不能为指定仓库号选择移动类型的问题对策
查看>>
HTAP数据库 PostgreSQL 场景与性能测试之 12 - (OLTP) 字符串搜索 - 前后模糊查询
查看>>
android JNI的.so库调用
查看>>
MVVM(Knockout.js)的新尝试:多个Page,一个ViewModel
查看>>
Kotlin从入门到放弃(03day)
查看>>
2019年的Android开发,我的求变之路
查看>>
深度理解递归+递归经典问题实战
查看>>
linux命令 vim
查看>>
http://natesbox.com/blog/vmware-esx-monitoring-with-cacti/
查看>>
hhh
查看>>
awastas 日志分析工具搭建文档
查看>>
PL/SQL Developer 远程连接Oracle数据库
查看>>