Vim has a branch operator \& that allows an even terser regex when searching for a line containing any number of words, in any order.
For example,
/.*test\&.*long
will match a line containing test and long, in any order.
See this answer for more information on usage.  I am not aware of any other regex flavor that implements branching; the operator is not even documented on the Regular Expression wikipedia entry.