Regex: запретить конец строки указанными специальными символами - PullRequest
0 голосов
/ 27 сентября 2018

Я использую подтверждение формы реагирования n в моем приложении Angular .

i У меня есть условие проверки формы, которое требует, чтобы моя строка не заканчивалась - или '

Я пробовал это, но, похоже, это не работает:

Validators.pattern('.*(?<!\-\')$')

Предложения?

1 Ответ

0 голосов
/ 27 сентября 2018

Шаблон (?<!\-\') представляет собой отрицательный внешний вид , который соответствует местоположению, которому непосредственно не предшествует подстрока -', в то время как вы хотите потерпеть неудачу при совпадении, если есть либо - или a ' в конце.

Вы можете использовать следующее решение, использующее нотацию regex literal , чтобы вам не приходилось писать шаблончтобы соответствовать всему вводу:

Validators.pattern(/[^-']$/)

Или, если строка может быть пустой,

Validators.pattern(/(?:^|[^-'])$/)

Шаблон (?:^|[^-'])$ соответствует либо началу строки (^), либолюбой символ, кроме - или ' (с помощью класса символов с отрицанием , [^-']) и $ устанавливает конец строки.

...