Я пытаюсь написать регулярное выражение, которое будет позволять только строчные буквы и до 10 символов. Что у меня до сих пор выглядит так:
pattern: /^[a-z]{0,10}+$/
Это не работает и не компилируется. У меня был рабочий, который позволял бы использовать только строчные буквы:
pattern: /^[a-z]+$/
Но мне нужно ограничить количество символов до 10.
^[a-z]{0,10}+$
компилируется на некоторых языках, и некоторые из известных - это Java, Perl (5.10+), PHP, Ruby (1.9+). Смотрите эту страницу для более подробной информации.Ответы:
Вы можете использовать фигурные скобки, чтобы контролировать количество вхождений. Например, это означает от 0 до 10:
Варианты:
Смотрите ссылку на регулярное выражение .
Ваше выражение имеет + после закрывающей фигурной скобки, отсюда и ошибка.
источник
^
ТОЛЬКО с именем вроде1234
или5678
, и мне пришлось включить знак $/^[a-z]{0,10}$/
должно сработать./^[a-z]{1,10}$/
если вы хотите сопоставить хотя бы один символ, как это/^[a-z]+$/
делает.источник
Возможно, было бы полезно добавить жадное сопоставление в конец строки, чтобы вы могли принимать строки> 10, и регулярное выражение вернет только до первых 10 символов.
/^[a-z0-9]{0,10}$?/
источник
Это очень сильно зависит от программы, которую вы используете. Различные программы ( Emacs , vi , sed и Perl ) используют немного разные регулярные выражения. В этом случае я бы сказал, что в первом шаблоне последний «+» должен быть удален.
источник
Дает количество с точным количеством совпадений с лимитом
источник