易友编程,网站全新改版!欢迎大家光临!

正则表达式的初步认识


这段时间想做一个博客资源的提取工具,也就是把易友编程里所有文章的标题、地址等相关信息都提取出来方便大家使用。这里就必定要用到“正则表达式”,说真的,我真是新手,也是从0开始学习,现在就百度了下,什么样去理解正则表达式。百度后发现,还真的和我理解的差不多,我们用正则表达式最多的功能,就是“过滤文本”或“过滤文字。


正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
 
给定一个正则表达式和另一个字符串,我们可以达到如下的目的:
 
1. 给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”);
 
2. 可以通过正则表达式,从字符串中获取我们想要的特定部分。
 
正则表达式的特点是:
 
1. 灵活性、逻辑性和功能性非常的强;
 
2. 可以迅速地用极简单的方式达到字符串的复杂控制。
 
3. 对于刚接触的人来说,比较晦涩难懂。
 
由于正则表达式主要应用对象是文本,因此它在各种文本编辑器场合都有应用,小到著名编辑器EditPlus,大到Microsoft Word、Visual Studio等大型编辑器,都可以使用正则表达式来处理文本内容。


我在http://www.eyouz.com/archives/199.html这里,也转了别人对正则表达式的一些口决和算式,相信会有用的。


正则表达式-字符表

点号

匹配任何单个字符(注:点号在字符组内不算元字符)

*

星号

表示之前的元素出现任意次数或0次

?

问号

前面元素出现0次或1次

+

加号

前面元素出现1次以上

-

连字符

注意:只有连字符在字符组内部时,并且出现在两个字符之间时,才能表示字符的范围;

如果出现在字符组的开头,则只能表示连字符本身

^

脱字符

表示开头。注意:^在字符组的头部,将转换成排除型字符

$

美元符

表示结尾。

\

转义符

 

[ ]

字符组

范围描述符。[a-z]表示从a到z之间的任意一个。

\w

 

英文字母和数字。即[0-9 A-Z a-z]。

\W

 

非英文字母和数字

\s

 

空字符,即[\t\n\r\f]。

\S

 

非空字符。

\d

 

数字,即[0-9]。

\D

 

非数字。

\b

 

词边界字符(在范围描述符外部时),表示为单词的分界符

\B

 

非词边界字符

\t

制表符

 

{n}

 

前面的元素字符出现n次

{m,n}

 

前面的元素最少出现m次,最多出现n次

|

 

选择符

( )

 

群组,子表达式

 

 

 

 

最后编辑于:2013/12/9作者: 张 波