regex alphanumeri c, но когда он получает число c, то только числовое - PullRequest
1 голос
/ 27 марта 2020

Мне нужно проверить ввод, который должен начинаться с альфы, а затем это может быть alphanumeri c, но один раз числовой; это должно быть число c до конца строки.

[a-z][a-z,0-9]{1,5}

Это только часть работы. Таким образом, это правильно для

a1
abc12
ab123

, но я не хочу

a1b2c1

, поэтому он получает цифру c, остальные должны быть цифрами c.

Ответы [ 2 ]

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

Попробуйте:

^(?=.{2,6}$)([a-z]+[0-9]*)$

Сначала проверьте 2-6 символов от начала до конца строки. Даже не имеет значения, какие они символы - вы просто проверяете длину.

Затем 1 или более букв, за которыми следует любое количество цифр. Поскольку вы уже проверили только 2-6 символов, вам все равно, сколько букв сопровождается количеством цифр. Сначала я подумал, что будет гораздо сложнее перечислить все возможности, но позитивный взгляд делает большую часть работы

См. https://regex101.com/r/HYQIf6/5

0 голосов
/ 27 марта 2020

Это должно работать для строки любой длины:

^[a-z]+([a-z]*|\d*)$

Это вернет true, если строка:

  • начинается с одной или нескольких букв от a до z
  • , за которым следует ноль или более: буквы или цифры до конца

См. Совпадения на Regex101

Редактировать:

Это также работает:

^[a-z]+\d*$

См. Новый регулярное выражение

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