问答详情
源自:2-2 python正则表达式之re模块使用(二)

为啥ma.groups()返回的值不是 ('imooc') 而 是 ('imooc',)

pa=re.compile(r'(imooc)',re.I)

str1='imooc python'

ma=pa.match(str1)

ma.groups()

以上的代码执行后返回的结果是   ('imooc',)

我想请教一下大神为啥返回的 不是    ('imooc')    而是  ('imooc',)  ?   为啥后面有一个逗号?匹配的不是  (imooc)  吗?

提问者:流浪在海洋 2016-07-23 11:50

个回答

  • 孤独的小猪
    2016-11-10 14:42:29

    这句代码,其实主要是让以元组方式返回,而元组是以逗号分隔的。当元组中只包含一个元素时,需要在元素后面添加逗号。

    pa=re.compile(r'(imooc)',re.I)


  • seU
    2016-09-01 01:07:12

    ('imooc')相当于字符串imooc,如果要创建只包含一个字符串的元组('imooc',)表示,

  • 请叫我百度
    2016-07-27 10:31:44

    python 返回单元素的tuple时,会自动添加‘,’ 

  • 流浪在海洋
    2016-07-23 16:34:06

    感谢回答!

    但是视频里的语句  pa=re.compile(r'(imooc)',re.I)   中逗号  ,  在单引号外面,匹配的内容不应该是   (imooc)  吗?

  • 彼岸石头记
    2016-07-23 15:28:18

    ‘imooc'代表一个字符串

    而('imooc',)加了,代表一组