To make the .+ in your grep -Po command non-greedy (i.e., match as little as possible), you need to add a ? after the + quantifier.
Change your pattern to:
bashgrep -Po '.+?(?=\t+zip$)' file
.+? means: match one or more of any character, as few times as possible (non-greedy)..+ is greedy by default, so it will match as much as possible..+? is non-greedy, so it will match as little as possible before the lookahead (?=\t+zip$) is satisfied.This ensures that the match stops at the first occurrence of \t+zip$ rather than the last.
Vibe can make mistakes. Check answers. Learn more