首页 > 代码库 > 正则表达式 1. 分组提取/非捕获组
正则表达式 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. 分组提取/非捕获组
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。