且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

正则表达式替换器 RegeX 3 发布 (Silverlight版)

更新时间:2022-09-14 19:02:16


正则表达式替换器 RegeX 3 发布 (Silverlight版)正则表达式替换器 RegeX 3 发布 (Silverlight版)

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

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

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

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

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

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

 

立即开始使用RegeX3:http://www.cnblogs.com/SkyD/articles/regex3.html

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

正则表达式替换器 RegeX 3 发布 (Silverlight版)

正则表达式替换器 RegeX 3 发布 (Silverlight版)

 

使用入门

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

正则表达式替换器 RegeX 3 发布 (Silverlight版)

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

正则表达式替换器 RegeX 3 发布 (Silverlight版)

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

正则表达式替换器 RegeX 3 发布 (Silverlight版)

单击执行替换按钮:

正则表达式替换器 RegeX 3 发布 (Silverlight版)

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

正则表达式替换器 RegeX 3 发布 (Silverlight版)

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

正则表达式替换器 RegeX 3 发布 (Silverlight版)

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

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

正则表达式替换器 RegeX 3 发布 (Silverlight版)

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

正则表达式替换器 RegeX 3 发布 (Silverlight版)

正则表达式替换器 RegeX 3 发布 (Silverlight版)

 

特别提示

正则表达式替换器 RegeX 3 发布 (Silverlight版)

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

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

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

正则表达式替换器 RegeX 3 发布 (Silverlight版)

 

小技巧

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

正则表达式替换器 RegeX 3 发布 (Silverlight版)

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

正则表达式替换器 RegeX 3 发布 (Silverlight版)

 

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

正则表达式替换器 RegeX 3 发布 (Silverlight版)

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


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