2015-05-14 2 views
0

Я получил это регулярное выражение:Regex с номерами в фигурных скобках

^\+[0-9]{12,12}$

Может кто-нибудь объяснить смысл этих двух значений между фигурными скобками {12,12}?

+4

цифр '[0-9] 'должно происходить в течение 12 мин и максимальной 12 раз. Это то же самое, что и запись '[0-9] {12}' – nu11p01n73R

+0

. Я бы выделил его [этот ответ] (http://stackoverflow.com/questions/17032914/what-does-comma-separated-numbers- in-curly-brace-at-the-end-of-regex-means) –

ответ

4

{12,12} - это квантификатор (см. Limiting Repetition section), сообщающий движку регулярных выражений, что предыдущий подшаблон должен повторять минимум 12 и максимум 12 раз. В ^+[0-9]{12,12}$ это означает, что цифра в диапазоне 0-9 должна повторяться ровно 12 раз. Строка должна начинаться с плюса и содержать только плюс + 12 цифр.

Синтаксис является {min,max}, где min равно нулю или положительное целое число, указывающее число минимальное количество совпадений, и max представляет собой целое число равно или больше, чем min указывающее максимальное число совпадений. Если запятая присутствует, но max опущено, максимальное число совпадений бесконечно. Таким образом, {0,1} совпадает с ?, {0,} - это то же самое, что и *, и {1,} - это то же самое, что и +. Опуская как запятую, так и max сообщает двигателю повторить токен точно min раз.

Таким образом, мы можем только использовать {12} (она равна {12,12}):

^\+[0-9]{12}$ 

См demo at regex101.com

+3

Другими словами: просто используйте '{12}' –

+0

Да, это именно то, что я хотел сказать в конце :) –