This week's book giveaway is in the Mac OS forum. We're giving away four copies of a choice of "Take Control of Upgrading to Yosemite" or "Take Control of Automating Your Mac" and have Joe Kissell on-line! See this thread for details.
1) you'll need to escape the * with \ (and again with \ because it's a Java string): \\*. That's because * is a regex meta character.
2) check out negative lookahead and/or negative lookbehind in the Javadocs of java.util.regex.Pattern. Basically you want to split on * except when it follows (and/or precedes?) #. That's exactly what those two techniques are for.