首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

正则表达式学习札记(2) 多选结构-匹配任意子表达式

2012-12-25 
正则表达式学习笔记(2) 多选结构--匹配任意子表达式原帖地址http://www.blogjava.net/ycyk168/archive/200

正则表达式学习笔记(2) 多选结构--匹配任意子表达式
原帖地址
http://www.blogjava.net/ycyk168/archive/2008/11/21/241845.html
引用
   "|":意思是"或",他可以把多个子表达式组合成一个总的表达式,而这个总表达式拥有子表达式的全部能力
    例如: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开头的行

热点排行