MySQL doesn't support \s
so you can use [[:space:]]
instead, you can try this:
SELECT DISTINCT sentence
FROM vocab
WHERE p='adj'
AND sentence RLIKE '^[[:punct:][:alnum:]]+[[:space:]][[:punct:][:alnum:]]+$'
It'll look for rows where sentence is 2 words which may contain letters, ?
or !