# Group(), Groups() & Groupdict() hackerrank

### group()

group() expression returns one or more subgroups of the match.
Code

```>>> import re
>>> m.group(0)       # The entire match
>>> m.group(1)       # The first parenthesized subgroup.
>>> m.group(2)       # The second parenthesized subgroup.
'hackerrank'
>>> m.group(3)       # The third parenthesized subgroup.
'com'
>>> m.group(1,2,3)   # Multiple arguments give us a tuple.
```

### groups()

groups() expression returns a tuple containing all the subgroups of the match.
Code

```>>> import re
>>> m.groups()
```

### groupdict()

groupdict() expression returns a dictionary containing all the named subgroups of the match, keyed by the subgroup name.
Code

```>>> m = re.match(r'(?P<user>\w+)@(?P<website>\w+)\.(?P<extension>\w+)','myname@hackerrank.com')
>>> m.groupdict()
{'website': 'hackerrank', 'user': 'myname', 'extension': 'com'}
```

You are given a string S.
Your task is to find the first occurrence of an alphanumeric character in S (read from left to right) that has consecutive repetitions.

Input Format

A single line of input containing the string S.

Constraints

0<len(S)<100

Output Format

Print the first occurrence of the repeating character. If there are no repeating characters, print `-1`.

Sample Input

```..12345678910111213141516171820212223
```

Sample Output

```1
```

Explanation

`..` is the first repeating character, but it is not alphanumeric.
`1` is the first (from left to right) alphanumeric repeating character of the string in the substring `111`.

Code:

```#Group(), Groups() &amp; Groupdict() hackerrank Solution

import re
m=input()

al=r'([a-z0-9A-Z])\1+'
a=re.search(al,m)
if a:
print(a.group(1))
else:
print(-1)

#Group(), Groups() &amp; Groupdict() hackerrank Solution```

Disclaimer: This problem is originally created and published by HackerRank, we only provide solutions to this problem. Hence, doesn’t guarantee the truthfulness of the problem. This is only for information purposes.