posts - 181,  comments - 4228,  trackbacks - 33
公告

RXICON128image

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

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

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

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

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

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

 

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

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

image

SNAGHTML74fecf3

 

使用入门

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

image

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

image

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

image

单击执行替换按钮:

image

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

image

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

image

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

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

image

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

image

image

 

特别提示

image

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

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

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

image

 

小技巧

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

image

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

image

 

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

image

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

posted on 2012-01-02 04:28 斯克迪亚 阅读(...) 评论(...) 编辑 收藏