Так что я хочу, чтобы позволить A-Z с длиной 8 или 12.regex: совпадение нескольких допустимых длин?
Я попытался:
^[a-z]{8|12}$
, но это не работает. Какое правильное решение? (Без повторения)
Так что я хочу, чтобы позволить A-Z с длиной 8 или 12.regex: совпадение нескольких допустимых длин?
Я попытался:
^[a-z]{8|12}$
, но это не работает. Какое правильное решение? (Без повторения)
в качестве альтернативы типов шаблонов «точно 8 или точно 12», вот «8 и, возможно, 4 более» тип картина:
^[a-z]{8}([a-z]{4})?$
Вы должны использовать чередование, как это:
^([a-z]{8}|[a-z]{12})$
Там нет другого регулярного выражения решения, которое не будет включать в себя повторением [a-z]
части. По крайней мере, вам не нужно повторять привязки ^
и $
, если вы используете конструкцию группировки.
В качестве альтернативы вы можете использовать необязательную группу, но это хорошо, только если ваш шаблон статичен. На самом деле, разница небрежная (проверено на regexhero):
Попробуйте
^[a-z]{8}$|^[a-z]{12}$
Опция множественной длиной поле не существует, вы должны дать им отдельно, включая регулярное выражение
Невозможно без повторения. – nicael
'^ [a-z] {8} (?: [A-z] {4})? $' –