• RegExp exim Что-то странное. match ловит начальные нули. Их может быть нуль, один или два. Последовательности 0{,2}$item и 0{0,2}$item вроде бы эквивалентны, но почему-то первый вариант не срабатывает.

Replies (9)

  • @beard, Может через класс ([]) объявлять?
  • @beard, По-моему, допустим только такой синтаксис: {n,}. "Открывающая фигурная скобка, расположенная в недопустимой для квантификатора позиции, либо не соответствующая синтаксису квантификатора, интерпретируется как обыкновенная символьная строка. Например, {,6} не является квантификатором, а интерпретируется как символьная строка из четырех символов." — цитата из php.net
  • @pavlik, ДЛя ruby и js обе записи сработали бы.
  • @wyldrodney, меня вполне устраивает 0{0,2}$item
  • @pavlik, под рукой справочника нет, посмотрел википудии:
    {,n} | Не более n | colou{,3}r | color, colour, colouur, colouuur
  • @beard, Верно. Но в PHP, например, этот пример тоже не работает. Сам недавно столкнулся.
  • @beard, Имхо, так даже лучше — читабельнее.
  • @beard, вопщем надо ещё что-то почитать
  • @wyldrodney, а вот в жабаскрипте тоже не работает — pcre.ru
    0{0,2}[1-9]+ — ок, 0{,2}[1-9]+ — не ок