Как проверить строку, разделенную двоеточием, но не концом строки - PullRequest
1 голос
/ 07 марта 2020

В настоящее время я пытаюсь проверить ввод, разделенный двоеточиями. Но возможно, что пользователь вводит одно слово без двоеточия. Не должно быть разрешено заканчивать строку двоеточием. Разрешены только строчные буквы. Шаблон должен позволять дальнейшую цепочку, как указано в примерах ниже.

Это разрешенные тестовые строки:

auto
auto:vehicle
auto:vehicle:face
auto:vehicle:face:subject
auto:vehicle:face:subject:classic

Это то, что я получил до сих пор, но это не так. t работает, как и ожидалось:

/([a-z]+:[a-z]+:?)/g

Как я могу сказать шаблону, чтобы он проверял, содержит ли оно только одно слово, так что следующее двоеточие не нужно и как я могу разрешить шаблон повторение матчей (цепочка)?

Любая помощь будет с благодарностью:)

Ответы [ 2 ]

3 голосов
/ 07 марта 2020

Это будет сделано:

^[a-z]+(?::[a-z]+)*$

Демо

Регулярное выражение гласит: «соответствовать одной или нескольким строчным буквам в начале строки, после чего следует ноль или более строк, каждая из которых начинается с двоеточия и сопровождается одной или несколькими строчными буквами, за которыми следует конец строки ".

1 голос
/ 07 марта 2020

это также должно работать

^([a-z]+:)*[a-z]+$

сопоставлять строчные буквы, заканчивающиеся на : 0 до n раз, а затем заканчиваться строчными буквами без двоеточия

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