This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
Regular expressions are a bad tool for parsing like this. You need a proper parser, and that involves writing a grammar that specifies what is and what isn't allowed. JavaCC or ANTLR can be used for creating this parser.