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.

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?



or, equivalently on latest master


probably a good candidate for a mapping