标签:匹配 正则表达式 环视 邮编 exp 解析 data 表达式
很多文章,把环视(又叫零宽断言,或者预搜索,随你怎么叫啦),解释的云里雾里的,看他们的图示,
这里,他们其实是默认你已经知道了用法(这种教程,是他们自己知道,也认为你也知道了),这种解析都是搅合浆糊的, 大多数人,应该是,看了一遍后,该不会!还是不会的!除非,你看了一遍又一遍,才明白过来,要不是他们这些,你可能早就会了,错误引导了你的思维,好多人明白后,会气得xxx,这时要(注意修为),原因:它(教程这),这里少写了一个东西,藏着呢!
我来解析吧,
数据_表达式 环视子表达式 或者 | 环视子表达式 数据_表达式
data_exp (?=sub_exp) | (?<=sub_exp) data_exp
(这里的data_exp ,非常重要,!!!
是你能,很快明白环视的关键,而大多数环视解释文章,把它当空气,释放了,这个一定得带上,看完,你就明白我说的了,环视其实很简单,是那些,文章把你弄迷糊了)
这里的2行
数据_表达式 和 环视子表达式 ,之间的 空格是 不存在的, 之所以,这两样写 ,为了清晰而已,
明白他们之间的位置关系,
而是非之分,就是 在?或者< ,后面+ 个 !,
举例:
(?<=m)
data_exp 匹配前面是m的数据,若data_exp 是mABC就匹配,若是aABC不匹配,是 ABC也都不能匹配,就是这一 data_exp 前面必须有个m,这个(?<=m)就是预订的位置,但并不占位(零宽度的由来),而数据_表达式,
data_exp(这里是ABC),才是最终的正则要得到的数据!好了,我好像已经把该讲的都讲完了。
剩下的,就是实例了,邮编例子:
邮编6位(china的)
邮编的前面不能有数字,否则那就不是6位了,那先给个邮编的data_exp, \d{5},可以吧,不行,0 不能打头,只能是1-9,好办,那就 [1-9]{5}
再给它+个前缀(前面不能有数字),(?
同理后面也不能有数字,(?!\d),注意,后面,就不能用<了,合起来,就是
(?
写正则的环视总结:
1 先写 数据表达式
2 确定 环视子表达式 是在前面 还是在后面,前面 加 < ,非 加 !
3 注意环视子表达式 ,不占宽度!不匹配文本内容
4 环视和分组都有 ( )
标签:匹配,正则表达式,环视,邮编,exp,解析,data,表达式 来源: https://blog.csdn.net/liuyuan790/article/details/118245937
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。