1.) I don't think you need a regular expression for this kind of match. You can probably achieve this with string commands just as easily. This wouldn't stop the solution from working, just add un-needed overhead.
2.) The reason you don't need an "and' statement is because you're using a pair of nested "if" statements. The second if statement only gets evaluated if the first if statement returns true. As such, there is an implied "and" between the two, since the second only happens if the first is true.
Does that help? Is this working now, or are you still having issues?
Colin