Kimmi, very good, you had the same idea I had — except for two small nitpicks that chrisl overlooked :)
1. I copied chrisl’s question to use as test text, and it starts with the word “I”. Since it doesn’t appear in the list of ignored words, it should be marked — but this GREP always needs at least *two* characters.
2. It is ignoring *any* first character, when followed by the 2nd to last characters of the To Ignore list. So “?rom” is to check for “from”, but it will also ignore “prom”; “?hat” will ignore “that” but also “chat”, and so on.
The following uses the same idea, but with these points corrected (I also prefer for word break, for no special reason at all):
(?!(for|of|the|and))[\u]
and if capitalized words need skipping as well, add the Case Insensitive switch at the front:
(?i)(?!(for|of|the|and))[\u]
Oh, and to check *any* first letter, all it takes is this:
[\u]