• Regtop(正则巅峰)使用方法简介


    正则巅峰一个超强字符串处理工具,之所以取名叫“正则巅峰”,是因为它主要就是靠正则,将正则真正融入,无须依赖什么开发工具或者某个语言即可直接使用正则处理你手头文本数据相关的事务,真正将正则应用达到了一个巅峰。

    它最擅长的就是字符串处理,文本处理,可以直接在命令提示符下调用,同样在你的程序的中也可以调用。使用非常方便。

    如果你比较熟悉正则,那么你会发现正则巅峰(Regtop)会给你在日常工作中带来极大的便利,使得你离不开它。因为只需极少的命令即可处理一个比较复杂的问题,而且绿色环保无公害:)

    此工具的另一个特色就是可以直接从网页上采集数据,并可以使用正则对数据做基础的处理然后保存到本地,可以广泛的应用于网页采集。

    下面介绍下其主要使用方法:


    语法:
    Regtop 参数1 参数2 参数3 参数4 参数5

    参数1 对数据源的操作的方式。共有-g和-r两种形式,下面分别介绍:
    -g 表示获取,仅仅获取源数据中需要的内容,-g紧接着的后面还有两个缺省元素,第一个一般是t,表示结果以表格形式形式保存,t后面是表格各列之间的分隔符,默认是“,”,一般在要将结果保存为csv文件时会这样设置
    -r 表示替换,将数据源中的指定内容替换成其它内容

    参数2 数据源。可以是个网址也可以是个本地文件(文本格式)的路径
    如果是网址的话需要加个“-w:”然后才可以写网址,表示数据来自与网络,工作时regtop会自动获取该网页的页面源代码,获取方式有两种,utf8模式和普通模式,这个可以通过regtop –d命令设置全局开关。
    如果是本地文件的话可以直接写,也可以加个字符-f:然后写路径。这里支持相对路径和绝对路径,直接写个文件名的话就是表示regtop所在的目录。

    参数3 处理结果保存位置。可以是个直接的文件路径,同样支持相对路径和绝对路径。
    如果和参数2是相同的那么可以写作“%0”
    如果对该文件是追加方式那么可用“-a:”前缀表示,默认是覆盖。

    参数4 需要匹配的正则表达式

    参数5 需要获取的匹配内容或需要替换成的字符,跟参数1相关,下面分别介绍:
    (1).当参数1为-g时表示获取匹配到的结果中的哪些内容。可缺省。匹配成功后得到的结果可以分为两类:一类是整个表达式的匹配结果,这里称为父匹配;还有一类是括号捕获的结果,这里称为子匹配。
    这时的参数5是可缺省,表示仅仅获取父匹配。
    如果非缺省的话就是表示只需要指定的结果,形式需要按Regtop指定的规则:Regtop对匹配结果进行了编号,从0开始,0表示父匹配结果,1表示子匹配的第1组,2表示子匹配的第2组…。
    假设有个表达式为“a(.*?)b(.*?)c(.*?)d”,那么子匹配有3组,如果我们仅仅需要获取子匹配的第1组和第3组,这时参数5就可以写作“0,1,3”,这里有3个数字,第一个数字的意义和后面的两个是有很大区别的。第一个数字0表示不需要父匹配结果,如果需要的话就写作1,完整的表达式为“1,1,3”,也就是说第一个数字永远只能是0或1,意义就是是否需要父匹配结果。 后面的理解起来就简单多了,1显然就是表示获取子匹配的第1组,3就表示第三组,这里是有顺序的,后面的两个3和1调换下的话,那么输出结果组3的将会排在1的前面,当然也可以重复,比如我要子匹配的3输出两次,那么就写作“0,1,3,3”。如果使用了不存在的子匹配,例如这里用了4那么程序会忽略然后继续处理下一个数字,具体的用户可以用具体的数据去试试。
    在这里有个典型的应用就是对csv文件的处理,比如要将文件的第1列和第3列调换下,那么用regtop就可以轻而易举解决了,这里的参数5就是“0,3,2,1”。具体应用实例请参照:http://topic.csdn.net/u/20091218/23/f6abdfed-eb76-4311-9d94-fb0d495372dc.html
    (2). 当参数1为-r时表示需要替换成的内容。可缺省,缺省表示替换为空。这里一般是个固定的字符串,还可以包含正则本身的特性,例如捕获的结果含有子匹配,那么这里就可以用$1表示子匹配的第1组,$2表示子匹配的第2组,这个属于正则知识本身的范畴了,这里不做讨论,主要说下Regtop中自身的特性,如果替换后的内容包含特殊的字符怎么办?regtop中采用了和大多数语言一样使用了转义的方法处理,例如回车用\r\n表示,制表符用\t表示,具体有时间会整理出一个列表,大多都和标准一样。


    regtop下载地址一:http://www.symental.com/sfw/regtop.rar
    regtop下载地址二:http://download.csdn.net/source/1917925 (版本较旧,建议下载上面一个)

    其他使用范例:

    http://topic.csdn.net/u/20100421/11/9558fc42-418d-44e5-9818-790e499e0bee.html?seed=718282325&r=64846111#r_64846111

  • 相关阅读:
    ql语句中left join和inner join中的on与where的区别分析
    C#如何通过属性名称反射出属性本身
    mvc中查询字符串请求过长
    SQL Server 中 EXEC 与 SP_EXECUTESQL 的区别
    后台二进制文件 在前台下载方法总结
    C#中try catch finally的执行顺序
    python生成随机密码
    Bridged(桥接模式)
    NAT(地址转换模式)
    TCP协议详解
  • 原文地址:https://www.cnblogs.com/sysdzw/p/1939338.html
Copyright © 2020-2023  润新知