return string with first match Regex

I want to get the first match of a regex.

In this case, I got a list:

    text = 'aa33bbb44'

['33', '44']

I could extract the first element of the list:

    text = 'aa33bbb44'


But that only works if there is at least one match, otherwise I'll get an error:

    text = 'aazzzbbb'

IndexError: list index out of range

In which case I could define a function:

    def return_first_match(text):
            result = re.findall('\d+',text)[0]
        except Exception, IndexError:
            result = ''
        return result

Is there a way of obtaining that result without defining a new function?

You could embed the '' default in your regex by adding |$:

    >>> re.findall('\d+|$', 'aa33bbb44')[0]
    >>> re.findall('\d+|$', 'aazzzbbb')[0]
    >>> re.findall('\d+|$', '')[0]

Also works with pointed out by others:

    >>>'\d+|$', 'aa33bbb44').group()
    >>>'\d+|$', 'aazzzbbb').group()
    >>>'\d+|$', '').group()