A-A+

正则表达式那点事(一)

2011年08月02日 电脑技术, 编程开发 评论 13 条 阅读 3,896 views 次

引言:
正则表达式就是用一个“字符串”来描述一个特征,然后去验证另一个“字符串”是否符合这个特征。比如表达式“ab+”描述的特征就是“一个‘a’和任意个‘b’”,那么‘ab’,‘abb’,‘abbbbbbbbb’都符合这个特征。
正则表达式可以用来:(1)验证字符串是否符合指定特征,比如验证是否是合法的邮件地址。
(2)用来查找字符串,从一个长的文本中查找符合指定特征的字符串,比查找固定字符串更加灵活方便。
(3)用来替换,比普通的替换更强大。
1.正则表达式
1.1普通字符
字母、数字、汉字、下划线、以及没有特殊定义的标点符号,都是“普通字符”。
1.2简单的转义字符
一些不便书写的字符,采用在前面加“\”的方法。
\r代表回车  \n代表换行  \t代表制表符  \\代表“\”本身
1.3能够与‘多种字符’匹配的表达式
\d可匹配任意一个数字,0~9中的任意一个
\w可匹配任意一个字母或数字或下划线,也就是A~Z,a~z,0~9,_中任意一个
\s可匹配包括空格、制表符换页符等空白符的其中任意一个
.可匹配除了换行符(\n)以外的任意一个字符
1.4自定义能够匹配‘多重字符’的表达式
使用方括号[]包含一系列字符,能够匹配其中任意一个字符。用[^]包含一系列字符,则能够匹配其中字符之外的任意一个字符。同样的道理,虽然可以匹配其中任意一个,但是只能是一个,不是多个。
1.5修饰匹配次数的特殊符号
“修饰次数”放在“被修饰的表达式”后边。比如:“[bca][bca]”可以写成“[bca]{2}”
{n}表达式重复n次
{m,n}表达式至少重复m次,最多重复n次
{m,}表达式至少重复m次
?匹配表达式0次或者1次,相当于{0,1}
+表达式至少出现1次,相当于{1,}
*表达式不出现或出现任意次,相当于{0,}
1.6其他一些代表抽象意义的特殊符号
^作用:与字符串开始的地方匹配,不匹配任何字符
$作用:与字符串结束的地方匹配,不匹配任何字符
\b作用:匹配一个单词边界,也就是单词和空格之间的位置,不匹配任何字符

|作用:左右两边表达式之间“或”关系,匹配左边或者右边
()作用:(1).在被修饰匹配次数的时候,括号中的表达式可以作为整体被修饰
(2).取匹配结果的时候,括号中的表达式匹配到的内容可以被单独得到

注:这是在一篇文章中做笔记记录的。

Copyright © 风恋尘香 保留所有权利.   Theme  Ality

用户登录