Slightly late in responding to this. I think understood something different to Thad from this question, so posting my answer just in case:
My understanding was that if the original value is:
MONDAY Tuesday WEDNESDAY Thursday Friday
You want to get
MONDAY WEDNESDAY
If this is the case I think you need to split the original data into an array of words (each element in the array is a word from your original data), then filter that array for words containing non-uppercase characters. You can do this with something like:
filter(value.split(/[^\w]/),v,isNonBlank(v.match(/([^a-z]*)/)[0]))
This splits the original data on non-word characters (using 'split') to get the array of words, then filters out any members of the array that contain a lowercase character. You are left with an array only containing the uppercase words. If you want to get this back to a string you can use 'join' on the array.
Owen