LINUX.ORG.RU

Ответ на: комментарий от lodin

Re^2: regex диапазон

> (199|200|201)

> вот если диапазон подлиннее, то надо думать...

А зачем думать? Вот для 167 - 238: (1(6[7-9]|[7-9][0-9])|2([012][0-9]|3[0-8])) остальное аналогично.

А вообще, регекспы -- не совсем правильный язык для сравнения чисел.

gaa ★★
()
Ответ на: комментарий от lioncub

Re^4: regex диапазон

> а чем лучше или еще можно сравнивать на perl?

Распарсить число, а далее if (a > 666 && a < 777) ...

gaa ★★
()
Ответ на: Re^2: regex диапазон от gaa

Как раз в perl-то регэкспы для проверки диапазона и можно использовать:

m!
(\d{3})                     # Берем трехзначное число.
(?                          # Если оно
  (?{$1 < 167 && $1 < 238}) # вне указанного диапазона,
  (?!)                      # то грустно обламываемся с совпадением.
)
!x

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.