码迷,mamicode.com
首页 > 其他好文 > 详细

regex的环视和方括号用法基础讲解

时间:2016-07-09 15:02:03      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:

先介绍下基本的概念,可能看起来这些概念性的东西不是太懂,但是这个还是要记一下的,为以后复杂的regex打下基础.
(?<=EXP)
逆序肯定环视,表示所在位置左侧能够匹配EXP
(?<!EXP)
逆序否定环视,表示所在位置左侧不能够匹配EXP
(?=EXP)
顺序肯定环视,表示所在位置右侧能够匹配EXP
(?!EXP)
顺序肯定环视,表示所在位置右侧不能够匹配EXP
实例:String: a1b2c3d
l         要匹配字母后面是数字2的字母
Regex:[a-z](?=2)
结果:b
l         要匹配字母前面是数字2的字母
Regex: (?<=2)[a-z]
结果:c
l         要匹配后面不是数字2的字母
Regex: [a-z](?!2)
结果:a c d
l         要匹配前面不是数字2的字母
Regex: (?<!2)[a-z]
结果:a b d
最后说下[]这个问题
[]支持用连字符”-”连接两个字符,来表示一个字符的范围,例如[a-z]表示所有的大小英文字母[0-9]表示0到9所有的数字
因为[]本身表示的就是字符之间的“或”的关系,因此在[]中使用”|”来表示“或”的关系是错误。
如果使用字符串间的或关系,那么就需要用到”()”了
因此在括号的使用上引入了非捕获组与捕获组的概念
关于记忆:
带有<符号的都是判断左侧的,<箭头不是向左嘛。
不带<箭头的都是判断右边的,正则匹配的顺序都是从左至右。

regex的环视和方括号用法基础讲解

标签:

原文地址:http://www.cnblogs.com/mcshell/p/5655834.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!