2008.09.23 by sfufoet

RegeX – 单纯的正则表达式替换工具[.net]

47

SkyD 又一次向小众投递他自己的作品,他上次投递的是 MailMail。欢迎大家把自己的作品发到小众。:)

先来简单介绍啥是正则表达式,别被它的名字吓倒了。听它名字非常高科技的样子,其实也是很“高科技”的。

正则表达式能做什么?比如,提取一篇文章中的全部网址、邮件地址之类复杂的东西。比如过滤网页广告(maxthon,firefox)。维基百科的解释

正则表达式(英文:Regular Expression),在计算机科学中,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。

晕了吧。简单地说,它可以实现复杂的,看起来“不可能”的文字替换。还是推荐几个链接,有爱的童鞋自己去看吧:

  1. 正则表达式30分钟入门教程(入门)
  2. 正则表达式之道(入门)
  3. 竹笋炒肉: 正则表达式学习笔记
  4. 关于正则表达式学习 来自 Awflasher,介绍了一些相关正则表达式测试工具。
  5. REGex TESTER 一个英文版的正则表达式测试工具。附有一些常见例子。

回到正题上,RegeX 就是一个单纯的正则表达式替换工具。SkyD 原来开发的目的是为了查找不文明用语的。例如在某些网游中,脏话是发不出去的,必须变成这样“不#文%明×用@语”,才能发出去。普通的查找是没办法搜索这么奇怪复杂多变的脏话的,而正则表达式就可以做到。

RegeX 的特色在于用了两种颜色交替标记匹配到字符串,SkyD 发了两个版本给我,1.16 的版本是适用于 .net 2.0 的。另外一个需要 .net 3.5

RegeX   单纯的正则表达式替换工具[.net][图] | 小众软件
RegeX   单纯的正则表达式替换工具[.net][图] | 小众软件

很多编辑器都是支持正则表达式的,比如 vim、EmEditor。

下载(193KB):boxstr.com|SkyD 博客介绍页面|来自小众软件|box.net|drop.io

18 Comments:

  1. 1. tireless # 2008/09/23 12:12

    发现 .net 的软件的皮肤都很光滑。

    回复

    pandaren # 2008/09/23 14:52

    WPF
    在xp
    模拟显示器下有点儿惨不忍睹

    回复

  2. 2. Chris.Ro # 2008/09/23 12:15

    可能楼下有抱怨又要 .NET

    回复

    李二嫂的猪 # 2008/09/23 12:56

    谁怨 .net 我就让他真正飙着血飘过!

    回复

    Enson # 2008/09/23 13:39

    河蟹射彗 严禁暴力…

    回复

  3. 3. regex # 2008/09/23 12:26

    越来越多的人留心正则表达式了。大好。
    可惜该软件是.net的。

    回复

    李二嫂的猪 # 2008/09/23 12:56

    排山倒海!

    回复

    Enson # 2008/09/23 13:32

    无敌风火轮……

    回复

    lxlxdw # 2008/09/24 12:53

    流氓会武术,谁也挡不住.
    我在这回复,应该没人整到俺吧.
    其实俺也不喜欢.net

    回复

    李二嫂的猪 # 2009/02/25 09:33

    @lxlxdw, 葵花点穴手!

    林卯 # 2008/09/26 02:40

    我也不喜欢.net。包括Paint.NET。
    有种依附不能独自完成感。

    回复

    scavin # 2008/12/17 02:16

    @林卯, vista 已经集成了 .net

    林卯 # 2008/12/17 03:13

    @scavin, 我还是xp,等待Windows7中……
    集成了再说……

  4. 4. 波斯波斯 # 2008/09/23 12:35

    我不懂這個.. 凡是有什麽新型的廣告要過濾掉都得在maxthon論壇發問再等回答..
    這個真好.. 也漂亮.. 喜歡! o(∩_∩)o…哈哈
    還好之前有為.net的軟件安裝了.net Framework3.5

    回复

    斯克迪亚 # 2008/09/23 14:45

    3.5可能不够,这次用到了3.5 SP1的一处新功能,有人反映3.5的话会报错,文中给的链接实际上是3.5 SP1的,如果不是的话就下那个更新一下就好。

    回复

  5. 5. 李二嫂的猪 # 2008/09/23 12:58

    小巧、实用啊~赞一个。
    当有大量文本时,用这个处理起来的速度比较快。

    回复

    斯克迪亚 # 2008/09/23 14:43

    感谢赞誉^^

    回复

  6. 6. yangbo.ggarlic@gmail.com # 2008/09/23 13:22

    首先,抱怨一下.net(李二嫂的猪别拍我)
    其次,上一条是开玩笑
    最后,正则是个好东西

    回复

    李二嫂的猪 # 2008/09/23 16:31

    玩笑也不行!葵花点穴手~

    回复

  7. 7. Enson # 2008/09/23 13:33

    呃…用不来正则表达式的飘过…谁教教我…

    回复

  8. 8. 完不了 # 2008/09/23 13:40

    作者这个骗子,看了30分钟,看不下去了,

    回复

    斯克迪亚 # 2008/09/23 14:41

    什么意思?骗到你什么了?你看什么看了30分钟?

    回复

    sfufoet # 2008/09/23 15:13

    @斯克迪亚,他在说文章中介绍的《正则表达式30分钟入门教程(入门)》。我的文章也不仔细看下。。

    @完不了,正则表达式会点基础就够了。不会也没关系。这个东西真的很难很高科技。

    回复

    sfufoet # 2008/09/23 15:14

    @完不了,另你看到哪里看不下去了?我觉得还可以啊。

    回复

    完不了 # 2008/09/23 16:59

    这个。。从一开始。。。=.-
    那个教程还是很明了的,等我用到时再看吧,

    回复

    完不了 # 2008/09/23 17:02

    刚刚去确认了一下,我其实看到6.元字符那,
    我的一次接受能力也就这么高了

    回复

    斯克迪亚 # 2008/09/23 22:49

    啊哈,我还以为他盯着我软件看了30分钟后暴走了呢~~
    那篇文章我之前看过,也就没太在意,我那会看那文章也是在有一定基础之后的了,开始压根就没去研究断言、贪婪、命名组之类的高级语法,就是从最基础的学起,随用随学的。
    这篇也不错,比较精简:http://www.cnblogs.com/KissKnife/archive/2008/03/23/1118423.html

    回复

  9. 9. typeandrun # 2008/09/23 14:16

    问个问题,装了.net3.5后,是不是可以卸载其他版.net了

    回复

    阿饼 # 2008/09/23 14:23

    no

    回复

    斯克迪亚 # 2008/09/23 14:42

    .Net是向下兼容的,实际上也就是包括了低版本的运行时环境了,大多数的核心功能都是依赖于低版本的类库,所以不能也不需卸载旧的。

    回复

    sfufoet # 2008/09/23 15:15

    @斯克迪亚 你的逻辑很有问题,既然是向下兼容,为什么又不能删除旧版本呢?

    @typeandrun 我的意见是,坚决抵制 3.5,有个 2.0 就够了。

    回复

    typeandrun # 2008/09/23 15:26

    我电脑有.NET1.1、2.0、3.0、3.5,1.1版是安装autocad2006时装上的。晕死,微软整这么多.net,吃饱了撑得啊,强烈建议安装高版时自动删除低版的。

    回复

    Enson # 2008/09/23 16:13

    @斯克迪亚:很明显 不向下兼容的 只不过3.5把以前的都打包在一起罢了…

    @sfufoet:坚决抵制.NET 虽然我机器上1.1-3.5都装了 来BS我吧…^_^…

    @typeandrun:删除低版本的 那么需要低版本支持的软件就不能用了 3.5就是把1.1-3.5所有的版本打包了一起装的…

    回复

    李二嫂的猪 # 2008/09/23 16:47

    @Sfufoet 斯克迪亚的逻辑没问题,刚看时也是有点发懵,不过把注意力放到“依赖于”这三个字上,前后就不矛盾了。

    回复

  10. 10. TT # 2008/09/23 16:29

    不#文%明×用@语, 如果是”不讲文化的人明明说了礼貌用语”,这样会不会被过滤掉.

    (.*)是任意字符匹配0到多次.过滤没那么简单吧

    回复

    sfufoet # 2008/09/23 16:31

    @TT,你眼睛很尖。:)

    我只是为了演示下。根本没考虑那么多。谢谢提醒。

    回复

    斯克迪亚 # 2008/09/23 23:05

    我以前的一个演示是这样的:
    不.{0,6}?文.{0,6}?明.{0,6}?用.{0,6}?语
    其中6是可以由管理员控制的模糊值,并且是非贪婪模式,而你所说的情形也是应该被处理掉的,一般这种审查都是以悲观态度进行的,宁枉不纵。

    回复

  11. 11. 黑灵猪王 # 2008/09/23 16:33

    额 又是正则表达式挖 最近正在头痛此物 虽然很强大 但是也很火星文

    回复

  12. 12. Just.Av # 2008/09/23 18:33

    在可能吧看到了小众GG的帅照,果然“很强壮”。

    回复

  13. 13. 啤酒盖子 # 2008/09/23 21:24

    用那个软件写出来,也用不到网站上。。。
    谁也不可能拿软件再把评论内容一个个查找去呀。。。

    回复

    斯克迪亚 # 2008/09/23 23:10

    呃,作为程序员,我们通常用它来创建、调试和修正表达式,然后再将其应用到程序代码中,对程序员来说它是一个小型实验室。
    而对普通用户来说,它的确可以完成一些字符串转换工作。

    回复

  14. 14. JackyLan # 2008/09/24 14:45

    只是对文字操作,感觉不是很实用。很多编辑器都有这个功能了。希望出一个可以对文件批量操作的,这样更有意义一些,o(∩_∩)o…

    回复

  15. 15. JackyLan # 2008/09/24 14:47

    《正则表达式30分钟入门教程》非常棒,我就是看这个学会的,呵呵

    回复

  16. 16. caoglish # 2008/09/25 23:50

    我在小众上发表过一篇关于正则表达式的实际应用,被人骂火星。哈哈
    http://www.appinn.com/regular-expressions/

    回复

    sfufoet # 2008/09/26 08:06

    有些自以为是的读者的留言,可以无视。火星是正常的,太阳底下没新鲜事。

    回复

  17. 17. iiren # 2008/09/29 10:50

    收藏, 便于学习…

    i族人

    回复

  18. 18. olfav # 2008/12/29 22:53

    留着有用

    回复

输入昵称与邮箱就可以评论

称呼*

邮箱*

网址