P17304 [HackerRank] Re group groups
普及-
题目描述

group()

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

Code

import re
m = re.match(r'$(\w+)$@$(\w+)$.$(\w+)$','[email protected]')
m.group(0) # The entire match
'[email protected]'
m.group(1) # The first parenthesized subgroup.
'username'
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.
('username', 'hackerrank', 'com')

groups()

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

Code

import re
m = re.match(r'$(\w+)$@$(\w+)$.$(\w+)$','[email protected]')
m.groups()
('username', 'hackerrank', 'com')

groupdict()

A 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+)$','[email protected]')
m.groupdict()

Task

You are given a string $\mbox{S}$.

Your task is to find the first occurrence of an alphanumeric character in $\mbox{S}$ (read from left to right) that has consecutive repetitions.

Input Format

A single line of input containing the string $\mbox{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.

输入格式

见题面

输出格式

见题面

样例输入
..12345678910111213141516171820212223
样例输出
1