<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def size_in_bytes(insize):
 """ Returns the size in bytes from strings such as '5 mb' into 5242880. 1048576 1572864 2147483648 Traceback (most recent call last):
 raise ValueError('no string specified') ValueError: no string specified Traceback (most recent call last):
 raise ValueError('no string specified') ValueError: no string specified """

    if insize is None or insize.strip() == '':
        raise ValueError('no string specified')

    units = {
        'k': 1024,
        'm': 1024 ** 2,
        'g': 1024 ** 3,
        't': 1024 ** 4,
        'p': 1024 ** 5,
    }
    match = re.search('^\s*([0-9\.]+)\s*([kmgtp])?', insize, re.I)

    if match is None:
        raise ValueError('match not found')

    size, unit = match.groups()

    if size:
        size = float(size)

    if unit:
        size = size * units[unit.lower().strip()]

    return int(size)