The reason I had to do that, be greedy, is because the only consistent feature of the string I'm picking up is that it has ;FTP followed by some characters depending on the trade followed by a : and then a few more words.
So my goal was to match ;FTP<anything else>:<anything else>.
I think I know what changes to make to my code now.
Thank you all.