正则表达式 1. 分组提取/非捕获组
Posted 下一个路口
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式 1. 分组提取/非捕获组相关的知识,希望对你有一定的参考价值。
https://www.zybuluo.com/Zjmainstay/note/709093
1. 分组提取/非捕获组
分组,是正则里一个非常重要的概念,我们需要针对某个区域提取数据,往往需要依赖分组。而分组,其实就是正则里()
括住的部分。
(1.1)分组提取
需求:在分组1中匹配meta中author属性的值
源串:
<meta author="Zjmainstay" />
another author="Zjmainstay too"
预期:分组1得到Zjmainstay
正则:meta.*?author="(.*?)"
测试地址:http://regex.zjmainstay.cn/r/5aTwRg/1
(1.2)非捕获组
针对上面的分组,有时候,我们并不需要捕获某个分组的内容,我们可以使用非捕获组(?:表达式)
,从而不捕获表达式部分内容到分组中。
需求:每行字符串必须是长度为2以上的偶数个字母,不能存在分组1
源串:
a
ab
abc
abcd
预期:
匹配得到 ab 和 abcd,不包含分组1
正则:^((?:[a-zA-Z]{2})+)$
测试地址:http://regex.zjmainstay.cn/r/vebS15/1
以上是关于正则表达式 1. 分组提取/非捕获组的主要内容,如果未能解决你的问题,请参考以下文章