How to get the intersection of two regular languages?
One approach is to convert each regexp to a NFA, then use the product construction to compute the intersection of those two NFA, then convert back to a regexp if necessary.  Whether this is better or not, I can't say, as that depends what you mean by "better".  One advantage of this approach is that it uses only standard techniques that hopefully you've already learned in your automata theory course and doesn't require memorization of specialized algorithms.