Parse the first number in the string we encounter.
    
    s - The string to parse.
    
        parse_first_number('123')
        >>> 123
        parse_first_number('   12 meters')
        >>> 12
        parse_first_number('area: 156 meters')
        >>> 156
        parse_first_number(' 1 2 3')
        >> 1
        parse_first_number('    ')
        >> None

    Returns an integer or None if no number could be found.

def parse_first_number(s):
    """Parse the first number in the string we encounter.
    
    s - The string to parse.
    
        parse_first_number('123')
        >>> 123
        parse_first_number('   12 meters')
        >>> 12
        parse_first_number('area: 156 meters')
        >>> 156
        parse_first_number(' 1 2 3')
        >> 1
        parse_first_number('    ')
        >> None

    Returns an integer or None if no number could be found.
    """
    m = re.match('\s*.*?(\d+)', s)
    if m is None: return None
    return int(m.groups(1)[0])