chyleto1~
You appear to have a solution to problem (1), although I have not thoroughly checked it myself. For problem 2 I would advise breaking it down into smaller chunks.
Let us say hypothetically that I had a regular expression R that matched all strings with an even number of as. How would I modify it to match an odd number of as? How would I modify it to match an even number of bs? How would I glue these results together?
The trick I usualy find most helpful for deriving new regular expressions is to start at the ends (or just the left) and work toward the middle. It is also useful to have a set of stock expression that one knows will match certain things (like even numbers of a particular character). That way I can glue these basic blocks together via alternation (|).
Hope that helps,
Boots
---
Computer science is merely the post-Turing decline of formal systems theory.
--???