Автор Тема: Необходимо чтобы в строке были только цифры с запятыми  (Прочитано 6032 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Beduir

  • Гость
Немогу разобраться с регулярным выражением. Нужно чтобы в строке были только цифры, разделенные запятыми. т.е., к примеру, "1", "2,3", "134,3,123" и т.д. и цифры (между запятыми) должны быть не длиннее 3 символов (цифр). В конце запятой быть не должно. Проверить, что в стороке только цифры и запятые у меня получилось /^[0-9,]+$/ , но вот чтобы циры были не длиннее 3 симвлов, а в конце не было запятой, разобраться не могу.

Оффлайн ondr

  • Модератор
  • Глобальный модератор
  • Старожил
  • *****
  • Сообщений: 440
  • +0/-0
  • 0
    • Просмотр профиля

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

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

$
/x
0 OK, 0:1

Beduir

  • Гость
ondr
Спасибо, все работает как надо.
А что обозначает "?:"?

Оффлайн ondr

  • Модератор
  • Глобальный модератор
  • Старожил
  • *****
  • Сообщений: 440
  • +0/-0
  • 0
    • Просмотр профиля
отключает эффект памяти у конкретных скобок

perldoc perlre, глава "Extended patterns"
0 OK, 0:1

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28