Regex - не содержит определенных символов

Мне нужно регулярное выражение для сопоставления, если где-либо в предложении нет или <или>.

Если в строке есть либо <, либо>, он должен вернуть false.

У меня был частичный успех с этим, но только если мои <> в начале или в конце:

(?!<|>).*$

Я использую .Net, если это имеет значение.

Спасибо за помощь.

Ответ 1

^[^<>]+$

Каретка в классе символов ([^) означает совпадение с чем угодно, но это означает начало строки, затем одно или несколько из ничего, кроме < и >, а затем конец строки.

Ответ 2

Здесь вы идете:

^[^<>]*$

Это проверит строку, у которой нет < и no >

Если вы хотите протестировать строку, которая может иметь < и >, но также должна иметь что-то другое, вы должны использовать только

[^<>] (or ^.*[^<>].*$)

Где [<>] означает любое из < или > и [^<>] означает любое, что не принадлежит < или >.

И, конечно, обязательная ссылка.

Ответ 3

^((?!hatespeech).)*$

выделяет строки без предложения "hatespeech"