Python program for converting scientific notation to fixed point
from re import compile


exp_regex = compile(r"(\d+(\.\d+)?)[Ee](\+|-)(\d+)")


Python style guide recommends that global constants be in ALL_CAPS. And what about numbers like "1e99"? They won't match this regex.

def to_fixed_point(match):
    """Return the fixed point form of the matched number.

    Parameters:
        match is a MatchObject that matches exp_regex or similar.

    If you wish to make match using your own regex, keep the following in mind:
        group 1 should be the coefficient
        group 3 should be the sign
        group 4 should be the exponent

    """


I'd suggest breaking the groups out of the match into local variables

coefficient, decimals, sign, exponent = match.groups()


And then use those names instead of match.group(1). That way your code will be easier to follow.

    sign = -1 if match.group(3) == "-" else 1
    coefficient = float(match.group(1))
    exponent = sign * float(match.group(4))
    return "%.16f" % (coefficient * 10**exponent)


Here's the thing. Python already support scientific notation, so you should just ask python to do conversion for you:

 value = float(match.group(0))


Less bugs, more efficient, better all around.

def main():
    """Read lines from stdin and print them with scientific notation removed.

    """
    try:
        while True:
            line = raw_input('')
            print exp_regex.sub(to_fixed_point, line)
    except EOFError:
        pass


I'd suggest using for line in sys.stdin:. It'll automatically get you the lines, stop when the file ends. That'll make this piece of code simpler.

if __name__ == "__main__":
    main()