На данный момент ваше регулярное выражение будет соответствовать началу строки (^
), затем точно одному из символов в квадратных скобках (то есть недопустимых символов), затем конец строки ($
).
Так что это, вероятно, не работает, потому что строка длиной> 1 будет просто не соответствовать регулярному выражению, и, таким образом, будет рассматриваться как ОК.
Вероятно, вам не нужны начальный и конечный якоря (^
и $
). Если вы удалите их, то регулярное выражение должно соответствовать одному из символов в квадратных скобках, встречающихся в любом месте входного текста, что вам и нужно.
(В зависимости от точного диалекта регулярных выражений вам может потребоваться меньше обратных косых черт в квадратных скобках, но они вряд ли повредят в любом случае).