正在加载...

2009年3月更新:又补充了一些学习正则表达式的资源和工具。相信看到这篇日志的朋友总能找到一款适合自己的学习方式:)

“正则表达式”在程序开发中扮演着非常重要的角色。随着ActionScript3开始支持正则表达式,越来越多的(之前没有接触过正则表达式开发的)Flash程序员开始感到棘手。我个人认为,正则表达式的确不是一个简单的概念。要想掌握正则表达式,光看文字教程是不够的。当然,指望有一个“高手”手把手的给你比划,恐怕也很少有人有这样的条件。这里我推荐我在学习正则表达式过程中所用到的两个辅助资源,我认为比许多文字教程要易懂得多:

  1. Visibone的正则表达式图表
    Visibone上有很多以图形表示的技术概念,其中以正则表达式的图形表现最受欢迎(地址)。它让人容易理解的最大优势就是每一个正则表达式都列举了相应的范例,并以浅色背景标注,例如:

    可以看到,右侧的assert中都有对应的范例。注意,浅黄色背景表示assert的内容为true断言;浅灰色为false断言(看看浅色前面都有一个“!”)。例如最后一排的: 

    assert(!/to{1,2}t/.test(“tooot”));

    表示在“t”和“t”之间o的字符重复次数不在1-2之间(3个)
    而倒数第二排的:

    assert(/to{1,2}t/.test(“toot”));

    则表示在“t”和“t”之间o的字符重复次数为1-2个(2个);
    这里,assert表示“断定”,它并不是JavaScript或者ActionScript的指令,只是为了便于理解(assert在英文中为“断言”的意思)
    要特别感谢白云黄鹤的beta同学给我提供这个visibone的好资源:)

  2. Firefox的RegularExpression插件
    使用方法非常简单:
    首先,在这里安装该插件;
    然后,在Toot菜单中可以看到入口:

    然后,按照我这张截图来使用即可(写的很明白了,不用具体解释了吧?):

    (作用是将我原来LBS的链接替换为新的链接格式)
  3. 徐宥老师和他的读者推荐的两种学习方法也非常有效果:
    徐宥老师的讲解
    徐宥老师网站读者贡献的一个学习网站(交互式的图表形式,非常清晰)

其实,正则表达式还是很容易出错的,因此这款Tester插件真的可以帮助我们省去很多调试的麻烦。(我想真正能不用tester写出一些复杂的正则表达式,而不出一个差错的人恐怕也不多)。

补充:网友Dofy也制作了一个基于AIRRegExp Tester,对于没有Firefox的朋友可以拿来一试:)

遗憾的是,我也没有在大学课程中系统学习过正则表达式,文中如有疏漏,请不吝赐教。

8月更新,业界大牛GSkinner作品:http://gskinner.com/RegExr

还没找到您要的东西?Google试试看吧,
Google更注重原创、时效性好的文章:


本文相关评论: 才 15 条评论
  1. 创亿无限 2008-04-14 12:07:53

    呵呵 别的语言早有了

    • aw 2008-04-14 12:54:49

      语言、功能都是围绕着应用的。说的难听点,有市场有利益才有人去做;说的好听点,满足人类的需求:)

  2. venusguo 2008-04-14 01:02:54

    这俩东西不错啊!

  3. colder 2008-04-14 01:42:05

    那些卡片确实蛮漂亮

    对于我这种整日翻看淡蓝MSDN和黑白PDF的人来说
    真的是眼前一亮

  4. Leo 2008-04-14 01:50:06

    貌似我上一条评论被过滤了……
    -_-b

  5. autoxbc 2008-04-14 02:26:02

    第一个卡片,Linux 对应的程序 kregexpeditor,效果更炫。

    第二个扩展,EmEditor 或者 VIM 实现的更完整。

    示例的正则,{0,1}用 ? 更简洁,”.”用 “\.”匹配更精确。

  6. 北极冰仔 2008-04-14 03:06:54

    正则表达式用起来很简单,只是很久不用就得想一想。

  7. troy 2008-04-14 03:30:17

    一直在用,不过都是比较简单的

  8. omiga 2008-04-15 01:38:00

    精通正则非一日之功~···

  9. TZ 2008-04-17 05:32:49

    dofy的那个确实不错.
    还有一个也挺不错的:
    http://gskinner.com/RegExr/

    • aw 2008-08-27 11:08:50

      补充了:)
      寒,其实我今天才注意到这条留言,真抱歉!

  10. RegexTester 2014-04-23 03:36:22

    用插件测试正则表达式太麻烦了 可以在线测试

  11. RegexTester 2014-04-23 03:37:00

    用插件测试正则表达式太麻烦了 可以在线测试 http://ccmpp.com

[支持Ctrl+Enter]为了我们大家和家人的安全,留言请慎重!
声明:
1、本站仅与见过面的个人博客交换链接,见此文
2、留言时的头像是Gravatar提供的服务。如果您有兴趣并且有闲暇时间,可以看看这里的介绍