Since
Java's regex engine cannot cope with look-behinds that do not have an upper bound, you will need to limit the number of characters you will look behind. So, you really need a regex like "match a star if it does NOT have a backslash before it, or when it has an even number of backslashes in front of it". It's the "even number of back slashes" that is the problem. So, telling the regex engine to only match a star that has zero, two, four, ... or one hundred pairs of back slashes is an option:
You can de- or increase 100 to some value you see fit for your input. Note that you will need to do some extra escaping if you put the suggestion of mine in a string literal.
Good luck!