关于正则表达式学习

80酷酷网    80kuku.com

  >

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

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的好资源:)

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

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

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

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

分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: