import re
rx = r"\d+\s+-\s+.*?(?=\s*(?:,\s*)?\d+\s+-\s|\Z)"
texts = ["123 - Footwear, 5678 - Apparel, Accessories & Luxury Goods, 9876 - Leisure Products", "321 - Apparel & Accessories, 4321 - Apparel & Accessories > Handbags, Wallets & Cases, 187 - Apparel & Accessories > Shoes"]
for s in texts:
print("--- {} ---".format(s))
print(re.findall(rx, s, re.S))
aW1wb3J0IHJlCgpyeCA9IHIiXGQrXHMrLVxzKy4qPyg/PVxzKig/OixccyopP1xkK1xzKy1cc3xcWikiCnRleHRzID0gWyIxMjMgLSBGb290d2VhciwgNTY3OCAtIEFwcGFyZWwsIEFjY2Vzc29yaWVzICYgTHV4dXJ5IEdvb2RzLCA5ODc2IC0gTGVpc3VyZSBQcm9kdWN0cyIsICIzMjEgLSBBcHBhcmVsICYgQWNjZXNzb3JpZXMsIDQzMjEgLSBBcHBhcmVsICYgQWNjZXNzb3JpZXMgPiBIYW5kYmFncywgV2FsbGV0cyAmIENhc2VzLCAxODcgLSBBcHBhcmVsICYgQWNjZXNzb3JpZXMgPiBTaG9lcyJdCmZvciBzIGluIHRleHRzOgoJcHJpbnQoIi0tLSB7fSAtLS0iLmZvcm1hdChzKSkKCXByaW50KHJlLmZpbmRhbGwocngsIHMsIHJlLlMpKQo=
--- 123 - Footwear, 5678 - Apparel, Accessories & Luxury Goods, 9876 - Leisure Products ---
['123 - Footwear', '5678 - Apparel, Accessories & Luxury Goods', '9876 - Leisure Products']
--- 321 - Apparel & Accessories, 4321 - Apparel & Accessories > Handbags, Wallets & Cases, 187 - Apparel & Accessories > Shoes ---
['321 - Apparel & Accessories', '4321 - Apparel & Accessories > Handbags, Wallets & Cases', '187 - Apparel & Accessories > Shoes']