You can create a file with the pattern you are looking for:
echo "*SNAPSHOT*.jar" > target
If you have multiple patterns, you can add multiple lines to your target file
echo "*.md" >> target
Then you can use the --files-from switch:
tar -xf samplejars.tar.gz --files-from=filename
I tested with
data/
data/a/
data/a/ANOTHER_SNAPSHOT.jar
data/b/
data/c/
data/c/SNAPSHOT.jar
data/d/
data/e/
data/f/
data/f/SNAPSHOT.jar.with.extension
data/g/
data/g/SNAPSHOT-2.jar
data/g/SNAPSHOT.jar
data/h/
Result
data/a/ANOTHER_SNAPSHOT.jar
data/c/SNAPSHOT.jar
data/g/SNAPSHOT-2.jar
data/g/SNAPSHOT.jar
If all the files have unique filenames, as the OP said, you can use --strip-components to remove the file structure
tar -xf samplejars.tar.gz --files-from=filename --strip-components 2
With my data, the result was:
ANOTHER_SNAPSHOT.jar
SNAPSHOT.jar
SNAPSHOT-2.jar
Because I did not have unique names, one of the SNAPSHOT.jar files was overwritten in the --strip-components step.