соответствие определенному слову в конце предложения - PullRequest
0 голосов
/ 20 ноября 2018

У меня есть это регулярное выражение, чтобы проверить, что предложение в указанном поле должно заканчиваться выделенными буквами.Вот выражение регулярного выражения

$scope.pattern = /\b(?:za(?:ZA)?|dtn?|ZA?|DTN)$/;
$scope.error = "must end in za or dtn"

. Вышеприведенная идея состоит в том, что поле с моделью «pattern» должно заканчиваться либо za, либо ZA, либо dtn, либо DTN.Но в тот момент, только когда он заканчивается именно za, ошибка помечается

Ответы [ 2 ]

0 голосов
/ 20 ноября 2018

Для передачи регистра вы должны использовать (? I) флаг, а не делать так много комбинаций для разных регистров букв. Я думаю, что вы можете просто изменить свое регулярное выражение и написать это так:

/(?:\bza|DTN)$/i
0 голосов
/ 20 ноября 2018

Ваш RegEx выглядит излишне сложным. Попробуйте это:

/(za|ZA|dtn|DTN)$/

Или это:

/(za|dtn)$/i
// Uses the 'i' flag to indicate "case-insensitive"

Оба из них будут совпадать, если вход заканчивается za, ZA, dtn или DTN.

Если все, что вы делаете - это простое совпадение, указывать (?:non-capturing group).

необязательно.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...