## The challenge#

You are be given a string that has lowercase letters and numbers. Your task is to compare the number groupings and return the largest number. Numbers will not have leading zeros.

For example, `solve("gh12cdy695m1") = 695`, because this is the largest of all number groupings.

## The solution in Python code#

Option 1:

``````import re
def solve(s):
return max(map(int,re.findall(r"(\d+)", s)))
``````

Option 2:

``````def solve(s):
return max(map(int,"".join(" " if x.isalpha() else x for x in s).split()))
``````

Option 3:

``````def solve(s):
i, maxn, L = 0, 0, len(s)
numStart = False
while i < L:
if s[i].isdigit():
j = i+1
while j<L and s[j].isdigit():
j += 1
if int(s[i:j]) > maxn:
maxn = int(s[i:j])
i = j+1
else:
i += 1
return maxn
``````

## Test cases to validate our solution#

``````test.it("Basic tests")
test.assert_equals(solve('gh12cdy695m1'),695)
test.assert_equals(solve('2ti9iei7qhr5'),9)
test.assert_equals(solve('vih61w8oohj5'),61)
test.assert_equals(solve('f7g42g16hcu5'),42)
test.assert_equals(solve('lu1j8qbbb85'),85)
``````