не удалось повторно задать определенный шаблон

Я пытаюсь написать регулярное выражение со следующими требованиями:
(1) не разрешать #
(2)
(3) не разрешить \ t (tab)
(3) не допускать множественные пробелы (одно пробел в порядке)

Вот я пробовал:

^[^#&\t\s+]*$ 

Однако я не могу получить свой результат, как хочу. Что я делаю не так?
Кто-нибудь может мне помочь?

Related of "не удалось повторно задать определенный шаблон"

Это будет работать во многих вариантах регулярных выражений (включая PCRE и JavaScript):

 ^(?!.* )[^#&\t]*$ 

Во-первых, сделайте негативный прогноз, чтобы убедиться, что нет двух пробелов, а затем совпадают ноль или более символов, которые не являются # , & или \t .

Regex101 Протестировано

Перерыв задачи в базовое выражение для символов, которые разрешены, плюс негативный взгляд вперед, чтобы начать для утверждения «нет двойных пространств»:

 ^(?!.* )[^#&\t]*$