I can't go into it too much because it's for my assignment. I'd past the code but I'd rather now have sections strewn across the internet. However I have also just realised that although some of the rules I cannot create a regular expression that checks for a valid string, I can create one that finds an invalid string which is just as useful. When it's complete (and if the other guys in my group agree) I will be uploading it as a showcase. So far I'm pulling my hair out over this. It's such a mess and yet only 1,600 lines. This post is from -- http://socoder.net/index.php?topic=812