What's the difference between groups and group in the re module?

前端 未结 3 734
情歌与酒
情歌与酒 2021-02-06 01:11

Here it is:

import re
>>>s = \'abc -j k -l m\'
>>>m = re.search(\'-\\w+ \\w+\', s)
>>>m.groups()
()
>>> m.group(0)
\'-j k\'
<         


        
3条回答
  •  北海茫月
    2021-02-06 01:53

    groups() only returns any explicitly-captured groups in your regex (denoted by ( round brackets ) in your regex), whereas group(0) returns the entire substring that's matched by your regex regardless of whether your expression has any capture groups.

    The first explicit capture in your regex is indicated by group(1) instead.

    Re follow-up edit:

    Why can't search give me all the substrings?

    search() will only return the first match against the pattern in your input string.

提交回复
热议问题