Отрицание в регулярке
От: milvic  
Дата: 03.09.19 07:37
Оценка:
Всем привет.
Может знает кто, как сделать отрицание в регулярке, именно в шаблоне?



тестю на
https://regex101.com

пока что мой шаблон выбарет как раз не нужные значения)
шаблон:
^([tt]{2,2})$

проверка:
sf
t
T
tt
TT
tT
Tt

tTt
rtty
cv
dfg
ttt
sf

результат:
должно быть выбрано все кроме перечеркнутых.
Re: Отрицание в регулярке
От: RushDevion Россия  
Дата: 03.09.19 09:06
Оценка: 3 (1)
Negative lookahead:
/^(?![t]{2}$).*$/mig


Но, имхо, проще и быстрее будет пройтись прямым перебором
if (str.Length == 2 && str.Equals("tt", StringComparison.OrdinalIgnoreCase)) return false;
Отредактировано 03.09.2019 9:09 RushDevion . Предыдущая версия .
Re[2]: Отрицание в регулярке
От: milvic  
Дата: 03.09.19 11:13
Оценка:
Здравствуйте, RushDevion, Вы писали:

RD>Negative lookahead:

RD>
RD>/^(?![t]{2}$).*$/mig
RD>

годно, спасибо)

RD>Но, имхо, проще и быстрее будет пройтись прямым перебором

это для angular-а, js валидация, и было два варианта, либо пилить кастомную валидацию, либо regex.
общая беда что regex используется редко, и .. я может тупой, конечно, но синтаксис апще не тривиальный.
если не готоворе решение, то приходится раз за разом с нуля его разбирать, обычно получалось, а тут упёрся.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.