Expand and merge selections from first to last

I often have a use case where I want to select everything between my first selection and last selection.
Example:


pattern at the start
some intervening text
something before the pattern
more text here
the end with pattern

Selecting the buffer and doing a search would yield me three selections. How would I then select everything from the first to the last?

Maybe

"aZ,Z"az),<a-z>ix

or, equivalently on latest master

,Z<c-h>),<a-z>ix

probably a good candidate for a mapping