Not tested but I'd add something like
(?!.*[ '-]{2})
after the '^' at the start.
This is a negative lookahead that will scan forward for 2 consecutive blanks, apostrophes or hyphens. If it finds any then it will reject the whole pattern
BTW, I'm asssuming that you mean a blank and a hyphen (for example) cannot be adjacent.
Susan