载入进度:

点击Ajax载入图片
Subscribe to ShowSing’s IT BlogNews FeedSubscribe to ShowSing’s IT BlogComments

正则表达式

十二月 19, 2007 by 树杰  
Filed under 互联网

正则表达式不是一个软件,但是它是从软件中独立出来的一种概念,同时也是一种工具。相信使用 unix 的朋友是不用再介绍的,但是对于长期使用 windows 的朋友,对这个工具也许是很陌生的。

为什么有些人喜欢用 Gvim/vim,认为 vim 是王道?

因为 vim 是支持正则表达式最好的编辑工具之一。真是因为正则表达式本身就很强大,只要一个软件加入了这个正则表达式,那这个软件也就随之强大起来。因为正则表达式可以让你变成字符魔术师,文档字符任你玩弄。

正则表达式是什么呢?

简单的讲,就是模糊表述你要找的字符。如果你了解 DOS 命令中的通配符 ‘?’ 和 ‘*’ 就很好理解了,它就是一个增强型的字符通配符。

它的历史可以追溯到 50 年代之前,第一次应用大概是 1966 年在 unix 开发的 QED 编辑器上。

虽然在电脑技术发展历史上,正则表达式显得非常的古老,但是如今一些新的应用 (如 Google 代码搜索,广告过滤等),使得它展示出来新的活力。

它虽然需要一些时间学习,但是上手不难,可以说如果你愿意花上一天时间去学习,相信一生都十分受用(只要电脑还存在着)。

我是在学习 perl 的时候遇到正则表达式的问题,开始学习也是比较反感,但后来做作业,用来处理字符的时候,才发现它是如此的强大,并喜欢上了这个工具,但一直以为只是 perl 的一个部分,后来逐渐发现,现代的高级编程语言基本都包含了正则表达式工具。这时我才开始注意这个超强的字符处理工具。

如今的应用可以说数不胜数了,我大概研究了一下,正则表达式有以下主要应用:

1. 字符/数据 匹配

2. 字符/数据 搜索

3. 字符/数据 替换

4. 字符/数据 提取

5. 字符/数据 过滤

(其实 4,5 就是 3 的一种特定的应用)

常见用到正则表达式的软件:(主要是我用到过的)

1. 编辑器 (搜索/替换,另外加排版功能)

Gvim, JCreator (java 编辑器)

2. 浏览器(主要功能是过滤广告)

maxthon,firefox

3. 搜索引擎 (主要是搜索资料)

google code搜索

至于编程语言,正则表达式基本上已经是现代高级编程语言的一个必带的工具,像 java,javascript,perl,php 等等,都有正则表达式的字符处理应用。

所以只要你学会了正则表达式的规则,那是受用无穷,到处可以使用,很实用的电脑应用能力。

对于普通喜欢上网的朋友,不编程,不排版文档,那么正则表达式则可能对于你最主要的功能就是广告过滤了。

相信各位饱受网络广告之苦。正是由于所有网页其实都是由字符组成的,所以正则表达式绝对可以派上用处。

如果你下载的万能广告过滤不起作用的时候,就可以自己利用正则表达式来制作一条过滤规则,将广告通通清除。

所以说如今正则表达式的应用是越来越广了,已经从 unix 走向了 windows 了,相信不久将成为一种电脑技术的通用标准。

就是不要学习,最好也要知道一下。至于教程,网上无数,我这里也只是介绍这个工具。

下图是我用 maxthon 的正则表达式过滤器处理的一个网页,大家看看有什么玄机在里面哈哈

Comments

评论暂缺

(Required)
(Required, will not be published)