Вы можете использовать свое второе регулярное выражение, поместив его в отрицательный взгляд вперед и использовать первое регулярное выражение в качестве набора символов и объединить оба, чтобы получить следующее регулярное выражение, которое вы можете использовать,
^(?!.*g[o0]+gle)[-a-z0-9!@$^&+%=_(){}<>'";:\/.,~`|]+$
Здесь этот (?!.*g[o0]+gle)
отрицательный взгляд вперед отклонит любые строки, содержащие google
или любой вариант, поддерживаемый вашим регулярным выражением, и этот набор символов [-a-z0-9!@$^&+%=_(){}<>'";:\/.,~
|] + `будет соответствовать одному или нескольким символам, разрешенным им .
Кроме того, вам не нужно экранировать большинство специальных символов, пока они находятся в наборе символов, поэтому я исключил большинство из них, кроме /
, а также всегда ставлю дефис -
либо в качестве самого первого символа, либо очень последний символ в наборе символов, иначе в зависимости от диалектов регулярных выражений, вы можете увидеть странное поведение.
Regex Demo