Почему мы не можем установить значение статической конечной переменной в статическом блоке через имя класса [duplicate]

Немного длинный, но рассчитанный на наличие только одного возможного пути для каждой цифры (для быстрого сбоя):

^(?:
[1-8][0-9]{3,}
|
9 (?:
      [0-4][0-9]{2,}   
    |
      [6-9][0-9]+     
    |
      5 (?:
            [5-9][0-9]*
          |
            [0-4][0-9]+
        )
  )
)$

Обратите внимание, что ветви сортируются по вероятности.

Сжатый:

^(?:[1-8][0-9]{3,}|9(?:[0-4][0-9]{2,}|[6-9][0-9]+|5(?:[5-9][0-9]*|[0-4][0-9]+)))$

Примечание: выполнение этого шаблона регулярного выражения в большинстве случаев является неуместным и сложным (регулярное выражение не предназначено для решения арифметических задач). Поэтому, если вы можете, введите свою строку в целое число и протестируйте ее с помощью простого сравнения.

21
задан Thiago Negri 16 December 2014 в 14:00
поделиться