Я знаю, что это - некоторая странная цель здесь, но для быстрой и грязной фиксации для одной из нашей системы мы не должны фильтровать вход и позволять повреждению войти в систему.
Мой текущий regex для этого"\^.*
"
Проблема с этим состоит в том, что это не соответствует символам как запланировано..., но для одного соответствия это действительно работает. Строка, которые заставляют его не работать, является ^ jj (в основном что-либо, что имеет ^...).
Каков был бы лучший способ не соответствовать каким-либо символам теперь? Я думал об удалении \
но только выполнение этого преобразует "не" в, "запускаются с"...
Символ ^
не означает «не», кроме как внутри класса символов ([]
). Если вы не хотите ничего сопоставлять, вы можете использовать отрицательный просмотр вперед, который соответствует чему угодно: (?!. *)
.
Вместо того, чтобы пытаться не сопоставить никакие символы, почему бы просто не сопоставить все символы? ^. * $
должно помочь. Если вам не нужно сопоставлять какие-либо символы, попробуйте ^ \ j $
(Конечно, при условии, что ваш обработчик регулярных выражений не выдаст ошибку, если вы предоставите ему недопустимый класс символов. Если это так, попробуйте ^ () $
. Быстрый тест с помощью RegexBuddy показывает, что это может сработать.
^ только не в классе (например, [^ a-z] означает что угодно, кроме a-z). Вы превратили его в буквальный ^ с помощью обратной косой черты.
Вы пытаетесь сделать [^] *, но это незаконно. Вы можете попробовать что-то вроде
" {10000}"
, которое будет соответствовать ровно 10 000 пробелов, если это больше, чем ваш максимальный ввод, он никогда не должен совпадать.
Эх, я знаю, что это немного поздно, но вы просто не можете прочитать ввод, если регулярное выражение пусто
Простое и дешевое регулярное выражение, которое никогда не будет соответствовать чему-либо, - это сопоставление с чем-то, что просто несовместимо, например: \ b \ B
.
Это просто невозможно для этого регулярного выражения, поскольку это противоречие.
\ B
- это инвертированная версия \ b
. \ B
соответствует в каждой позиции, где \ b
нет. Вы хотите ничего не искать? Neg lookarounds кажется очевидным, но может быть медленным, возможно ^$
(соответствует только пустой строке) как альтернатива?
Вы пробовали это простое регулярное выражение? [^.] *