There are too many things that could go wrong with the given regex. You may want to make it a bit more robust.
Just as a starting point you should change how your "Or" logic works with a non-capturing group and there's a rogue period that was probably meant to be escaped:
e.g. (?:.*Promo.*Streaming\s-\s[1-4]mo.*|MobileOAC:Promo - Premier Streaming - 6mo - 30\.00 - 1moFO|.*Trial.*Streaming\s-\s[1-4]mo.*)
but there are is probably a better solution if you know everything that could possible appear in this product string:
e.g. ^(?:MobileOAC:)?(?:Promo|Trial)(?:\s-\sEssential)?\sStreaming\s-\s[0-9]mo\s-\s[0-9]?[0-9]\.[0-9][0-9]\s ...<any other optional fields>... (?:AMZ DOT-G3|<some other finishing text>)$ where you have clearly defined the beginning and end of the string as well as the optional fields.