I'm new to bash, and still uncertain when/how to use sed vs awk.

I'm trying to assign all pattern matches in a string to a variable, and then filter them from a string.

Here's the pattern:

[space]*[space][space]* # 2 spaces and any character afterward until the next space.

Or if at the start of string:
*[space]

Example:
raw_string='test1 this is test2 string'

I want: test1, test2 assigned to variables. And then filter the string to match, 'this is a string'.

What is the right way to do this in bash?

Thanks