零全零美(www.zzgwt.com)
生活中的很多事情,并不像If...Else那么简单!
posts - 96,comments - 52,trackbacks - 0

行的开始和结束 开始符号:^ 结束符号:$  如:^cat 应该理解为以c作为一行的第一个字符,紧接着是a,然后是t
例如:String str = "catabdcatdetfcat"
^cat : 验证该行以c开头紧接着是a,然后是t
cat$ : 验证该行以t结尾倒数第二个字符为a倒数第三个字符为c
^cat$: 以c开头接着是a->t然后是行结束:只有cat三个字母的数据行
^$   : 开头之后马上结束:空白行,不包括任何字符
^    : 行的开头,可以匹配任何行,因为每个行都有行开头
--------------------------------------------------------------------------------------------------------------
字符组:[]表示:"或" 如:[abc]:a或者b或者c
例如:String str = "My Name is YangKai";
a[mn] : 查找a后面是m或者n的单词
[Nn][ag] : 查找N或者n后面是a或者g的单词
--------------------------------------------------------------------------------------------------------------
字符组内的连字符:- 表示:范围从开始到结束,
连字符'-'只有出现在字符组内部的时候才是连字符,其他情况只表示字符:"-"没有特殊意义
如果字符'-'出现在字符组内的第一个位置或者出现在字符组内的脱字符"^"之后,则该字符不是连字符只是一个字符而已
例如:String num = "012C34A5B!#@$-%$^%&&*&(-)*)&6FR7GD89";
[2-6] : 查找2到6之间的数字
[A-R] : 查找从A到R之间的字符
[2-6A-R] : 查找从2到6从A到R之间的字符
[2-6A-R!@^&*] : 查找从2到6从A到R之间的字符和!@^&*等特殊字符
[-2-6A-R]   :查找从2到6从A到R之间的字符和-
---------------------------------------------------------------------------------------------------------------
脱字符:^ :当^出现在字符组内的第一个位置时表示:排除,即:除了....之外的,
如果脱字符没有在[]字符组的第一个位置,那么该^仅表示一个字符,没有特殊意义
[^0-9] : 查找字符串中除数字外的字符
[^2-6A-R] : 查找字符串中除了2到6之间的数字和A-R之间的字符外的所有字符
[^-2-6A-R] : 查找字符串中除了2到6之间的数字和A-R之间的字符和"-"外的所有字符(此处"-"只是一个字符,没有连字符的含义)
注意一下这种情况:
String str = "abcdabcd";
如果我们用表达式:d[^0-9] 只能匹配到字符串中的da,而不能匹配结尾处的d,因为结尾处的d没有任何东西让脱字符^去排除
如果我们在结尾加上一个空格的话,就可以匹配到了
-----------------------------------------------------------------------------------------------------------------
用"."去匹配任意字符
例如:03/19/76 03-19-76 03.19.76 可以用03[-/.]19[-/.]76去匹配,同样可以用03.19.76去匹配,但是03.19.76也可能匹配到
03-19A76,因为"."可以匹配任何字符
注意:如果"."放在字符组外面的话表示元字符,但是如果放在字符组里面,则表示一个普通的"."

 

posted on 2008-11-19 19:36 零全零美 阅读(17727) 评论(7)  编辑  收藏 所属分类: 正则表达式

FeedBack:
# re: 正则表达式学习笔记(1) 行的开始和结束、字符组、连字符、脱字符、用"."去匹配任意字符
2008-11-19 20:14 | 网站优化
学习了.  回复  更多评论
  
# re: 正则表达式学习笔记(1) 行的开始和结束、字符组、连字符、脱字符、用"."去匹配任意字符
2008-11-20 07:37 | lostjuly
thx, it would be a great help  回复  更多评论
  
# re: 正则表达式学习笔记(1) 行的开始和结束、字符组、连字符、脱字符、用"."去匹配任意字符
2008-11-20 09:15 | 隔叶黄莺
理解正则表达式的第二步  回复  更多评论
  
# re: 正则表达式学习笔记(1) 行的开始和结束、字符组、连字符、脱字符、用"."去匹配任意字符
2008-11-20 09:32 | yz
看得清晰明了,比其它的人的介绍强多了!期待第二篇  回复  更多评论
  
# re: 正则表达式学习笔记(1) 行的开始和结束、字符组、连字符、脱字符、用"."去匹配任意字符
2008-11-20 15:37 | object
正则表达这个东西,说难不难说简单不简单  回复  更多评论
  
# re: 正则表达式学习笔记(1) 行的开始和结束、字符组、连字符、脱字符、用"."去匹配任意字符
2009-10-05 18:23 | ThundeR
写的很详细,收藏拿去做备查~~~多谢提供!  回复  更多评论
  
# re: 正则表达式学习笔记(1) 行的开始和结束、字符组、连字符、脱字符、用"."去匹配任意字符
2014-03-28 22:25 | 性感电子
赞  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: