Well, you would start with
.* bits would match anything. So instead restrict those parts to only match letters:
[[:alpha:]] thing is a POSIX character class that is roughly the same as
[A-Za-z], i.e. any alphabetic character.
That's you pattern. Then ask
grep nicely to only return complete words. You do that with the
-w option. That would restrict the matches to substrings on each line that are delimited by non-word characters such as spaces, or at the start or end of the line.
-i if you want to do case-insensitive matching.
If you want only the bits of each line that actually matches the pattern and not the whole line, additionally use
You'll end up with
grep -i -o -w 'j[[:alpha:]]*t[[:alpha:]]*x'
$ grep -i -o -w 'j[[:alpha:]]*t[[:alpha:]]*x' /usr/share/dict/words