Assignment Report
([^a]*a[^a]*){2} matches exactly two occurrences of 'a' surrounded by zero or more characters that arenot 'a'.
b) ^ab?$
c) [a-z]+-[a-z]+
d) \b\w*y\w*\b
e) \b\d{1,5}\b