Forum Webscript.Ru

Программирование => Регулярные выражения => Тема начата: Beduir от 22 Июля 2005, 07:57:14

Название: Необходимо чтобы в строке были только цифры с запятыми
Отправлено: Beduir от 22 Июля 2005, 07:57:14
Немогу разобраться с регулярным выражением. Нужно чтобы в строке были только цифры, разделенные запятыми. т.е., к примеру, "1", "2,3", "134,3,123" и т.д. и цифры (между запятыми) должны быть не длиннее 3 символов (цифр). В конце запятой быть не должно. Проверить, что в стороке только цифры и запятые у меня получилось /^[0-9,]+$/ , но вот чтобы циры были не длиннее 3 симвлов, а в конце не было запятой, разобраться не могу.
Название: Необходимо чтобы в строке были только цифры с запятыми
Отправлено: ondr от 22 Июля 2005, 08:49:28

/^  \\d{1,3} # first number

    (?: \\,
      \\d{1,3}  # all other
  )*

$
/x
Название: Необходимо чтобы в строке были только цифры с запятыми
Отправлено: Beduir от 22 Июля 2005, 10:11:28
ondr
Спасибо, все работает как надо.
А что обозначает "?:"?
Название: Необходимо чтобы в строке были только цифры с запятыми
Отправлено: ondr от 22 Июля 2005, 10:18:20
отключает эффект памяти у конкретных скобок

perldoc perlre, глава "Extended patterns"