Try this.
sed -r 's/[^%]*%([^%]*)%\S*(\s)*/\1\2/g'
Its easy to extract for single occurence using sed. For multiple occurences, I had found something like this before for similar problem. I couldn't find that thread.
Okay, this detects first occurence correctly but not second occurence. Won't work.
Karthik's answer works perfect!