Oh, I actually read your quoted link before and now it makes sense. Thank you.
I also found the solution to the other issue: just use '%S' instead of '.':
Code:
string.gsub("Echo of a Pandaren Monk", "(%S[\128-191]*)%S+%s", "%1. ")
Is there any way to make this work for the Russian client too?
Edit: It actually works for Russian with the exception that it also matches the single 'a'.
This is a cool page to look up uft8 characters as you can read the corresponding lua excape sequence from it. So for cyrillic 'a' it would be \208\176. I still don't get why this is a match, as I require one or more non-space characters after what's in my capture.