为了账号安全,请及时绑定邮箱和手机立即绑定

python 正则表达式 groups和group有什么区别?

python 正则表达式 groups和group有什么区别?

慕容3067478 2018-07-03 09:09:26
python 正则表达式 groups和group有什么区别?
查看完整描述

1 回答

?
慕雪6442864

TA贡献1812条经验 获得超5个赞

group和groups是两个不同的函数。一般,m.group(N) 返回第N组括号匹配的字符。而m.group() == m.group(0) == 所有匹配的字符,与括号无关,这个是API规定的。m.groups() 返回所有括号匹配的字符,以tuple格式。m.groups() == (m.group(0), m.group(1), ...)

正则表达式中,group()用来提取分组截获的字符串,()用来分组。

组是通过 "(" 和 ")" 元字符来标识的。 "(" 和 ")" 有很多在数学表达式中相同的意思;它们一起把在它们里面的表达式组成一组。举个例子,你可以用重复限制符,象 *, +, ?, 和 {m,n},来重复组里的内容,比如说(ab)* 将匹配零或更多个重复的 "ab"。

如果不引入括号,整个个表达式作为一个组,是group(0)

对于题目中的例子:m = re.match("([abc])+", "abc")+号在括号外面。括号最多匹配到一个字符,要么是a, 要么是c,这个python引擎匹配的是末尾的c。而m.group() == m.group(0) 这个返回的是整个匹配的字符串"abc".


查看完整回答
反对 回复 2018-08-18
  • 1 回答
  • 0 关注
  • 1718 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信