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

   "|":意思是"或",他可以把多个子表达式组合成一个总的表达式,而这个总表达式拥有子表达式的全部能力
    例如:Yang 可以匹配 My name is YangKai,that is my first name is Yang and my second name is Kai中的Yang,Kai
可以用来匹配其中的Kai,但是这两个子表达式要么只能取Yang要么只能取Kai,如果我们要求一次性把所有的Yang和Kai都取出来,
我们就可以这样做:Yang|Kai 
    这个时候应该区别一下多选结构与字符组[],字符组[]的单位为单个字符,意思是字符组[]总是以字符为单位去匹配,本例中如果我们这样:[YangKai],那么该表示的作用是匹配字符串中所有的Y,所有的a,所有的n.....,他不会去把Yang作为一个单位,也不会把Kai作为一个单位,而每个多选结构可以是一个单独的正则表达式,可以去匹配任意长度的文本。
   同样应该注意的一点是:如果把"|"放在字符组[]的内部,他只是一个普通的字符,不是元字符。
   多个多选结构可以用()组合,如:a(ng|dd|ni)k的意思是匹配a后是ng或者是dd或者是ni然后是k的字符串,又如:^(Form|To|Mail) : 以From或者To或者Mail开头的行

posted on 2008-11-21 13:44 零全零美 阅读(3639) 评论(2)  编辑  收藏 所属分类: 正则表达式

FeedBack:
# re: 正则表达式学习笔记(2) 多选结构--匹配任意子表达式
2008-11-24 10:06 | 刘凯毅
很好
确实学到原来没注意到几个地方
1. []中'|' 是普通的,不需要转换
2. ^(Form|To|Mail) 是可行的,原来笨笨的 ^((Form)|(To)|(Mail))

并且我补充点
在java中使用 | 要转义为 \\|使用
javascript | 要转义为 \| 使用

我在使用java 正则中做到一些尝试 希望对大家有帮助
java regex 正则部分高级特性使用l

@昨夜流星
看好你哦 :) 期待 3 --

  回复  更多评论
  
# re: 正则表达式学习笔记(2) 多选结构--匹配任意子表达式
2009-10-05 18:28 | ThundeR
@刘凯毅
哈哈~~~又从你的回复中收获良多~~
多谢博主和一楼的两位!  回复  更多评论
  

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


网站导航: