Although you have specifically asked for regex, it may be interesting to consider understanding the list as well. They are sometimes a little readable (although in this case, probably at the cost of efficiency). Here is one way to achieve this:
import string S = "T'was brillig, and the slithy Toves were gyring and gimbling in the " + \ "Wabe. All mimsy were the Borogoves, and the Mome Raths outgrabe." LS = S.split(' ') words = [x for (pre,x) in zip(['.']+LS, LS+[' ']) if (x[0] in string.uppercase) and (pre[-1] != '.')]
source share