"|":意思是"或",他可以把多个子表达式组合成一个总的表达式,而这个总表达式拥有子表达式的全部能力
例如: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
零全零美 阅读(3638)
评论(2) 编辑 收藏 所属分类:
正则表达式