You could just make the previous .+
lazy:
(?i)^(?:[^ ]* ){8}(?P<FIELDNAME>.+?)((?=\d{8}_\d{8}_\d{10}\.)|(?=\d{8}\.))
^
Being greedy, it will stop as far as possible from the initial match. I removed the ?
at the end since it would make it stop as soon as there're 8 digits ahead. Also, you can actually combine these lookaheads:
(?i)^(?:[^ ]* ){8}(?P<FIELDNAME>.+?)(?=\d{8}(?:_\d{8}_\d{10})?\.)