[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите составить регулярку чисел от 10 до 25
BorodinKO
Помогите составить регулярку чисел от 10 до 25 типа PERL



Спустя 2 минуты, 44 секунды (21.03.2011 - 21:58) sharki написал(а):
Кстати вот инфа по ним, может даже сам разберешься http://phpfaq.ru/regexp

Спустя 30 минут, 41 секунда (21.03.2011 - 22:29) BorodinKO написал(а):
Попробую разобратся, но все же буду ждать ответа на вопрос .... =]

Спустя 9 минут, 59 секунд (21.03.2011 - 22:39) kirik написал(а):
Цитата (BorodinKO @ 21.03.2011 - 13:56)
Помогите составить регулярку чисел от 10 до 25 типа PERL

Нужно из строки вытащить все числа от 10 до 25? Если так, то сделать это можно, но это не задача регулярных выражений сравнивать числа. Поэтому реализация будет не красивая smile.gif
Как лучше? Выбрать все двухзначные числа с помощью регулярок, а затем перебрать их в цикле и сравнивая забирать нужные.

Спустя 2 минуты, 40 секунд (21.03.2011 - 22:42) sharki написал(а):
kirik
Ему нужно составить рег. выражение чтобы он выдавал 1 или 0, т.е входит ли значение в этот промежуток или нет, это для REGEXP MySql

Спустя 9 секунд (21.03.2011 - 22:42) quickxyan написал(а):
/^[1-2][0-9]$/

тут от 10 до 29 вроде, а вот как до 25 хз)
не факт, что именно так, а то я подзабыл чуть)

Спустя 3 минуты, 38 секунд (21.03.2011 - 22:46) kirik написал(а):
Цитата (quickxyan @ 21.03.2011 - 14:42)
тут от 10 до 29 вроде, а вот как до 25 хз)

Как-то так \D?[12][0-5]\D? smile.gif

Цитата (sharki @ 21.03.2011 - 14:42)
это для REGEXP MySql

Там posix, знач эта должна подойти.

Спустя 1 минута, 14 секунд (21.03.2011 - 22:47) sharki написал(а):
kirik
Там PERL вроде, или я ошибаюсь?)

Спустя 21 минута, 37 секунд (21.03.2011 - 23:08) BorodinKO написал(а):
^[1-2][0-5]$ - работает как мне и было нужно ...
Всем спасибо!

Спустя 15 минут, 39 секунд (21.03.2011 - 23:24) quickxyan написал(а):
а если 19 ?

Спустя 5 часов, 53 минуты, 36 секунд (22.03.2011 - 05:18) kirik написал(а):
Цитата (quickxyan @ 21.03.2011 - 15:24)
а если 19 ?

Злой хацкер... все что от 16 до 19 - плохие числа smile.gif

Спустя 12 часов, 42 минуты, 47 секунд (22.03.2011 - 18:00) quickxyan написал(а):
ну вот и я хотел об это скахать) тут походу нада сначала от 10 до 29, а потом откидать от 26 по 29)

Спустя 1 час, 55 минут, 51 секунда (22.03.2011 - 19:56) DedMorozzz написал(а):
<?php

$a = 20;

echo (preg_match('#^([1][0]||[1][1-9]||[2][0-5])$#',$a)) ? "Yes" : "No";

Спустя 3 минуты, 16 секунд (22.03.2011 - 20:00) quickxyan написал(а):

<?php

$a = 20;

echo (preg_match('#^(([1][0])||([1][1-9])||([2][0-5]))$#',$a)) ? "Yes" : "No";


походу так - там же по 25

Спустя 1 минута, 38 секунд (22.03.2011 - 20:01) DedMorozzz написал(а):
исправил, заодно удалил лишние внутренние скобки, они там ни к чему

Спустя 2 минуты, 23 секунды (22.03.2011 - 20:04) neadekvat написал(а):
quickxyan, а теперь сюрприз - если передать пустую строку - она тоже подойдет под условие.
| и || в регулярных выражениях ой как дорого могут обойтись.

Спустя 5 минут, 54 секунды (22.03.2011 - 20:09) DedMorozzz написал(а):
нет, не "дорого". Если можно сделать СКЛ инъекцию это не значит что надо отказываться от БД, а всего лишь фильтровать данные.
Эта ситуация идентична

Спустя 54 секунды (22.03.2011 - 20:10) quickxyan написал(а):
мм, вообще-то регулярка не моя, я просто одну цифру поменял, но такую интересную штуку запомню авось когда-то пригодится, спасибо

Спустя 4 минуты, 26 секунд (22.03.2011 - 20:15) neadekvat написал(а):
Меня не поняли :(
Вот это:
[1][0]||[1][1-9]

значит "10 или пустое место или 11..19"
Так что в регулярке как минимум надо || заменить на |
Ну, а вообще, я бы так записал:
'#^(1[0-9]|2[0-5])$#'

Спустя 11 минут, 21 секунда (22.03.2011 - 20:26) quickxyan написал(а):

[1][0]||[1][1-9]

пересмотрел всю тему и что-то не увидел такого выражения!

Спустя 2 минуты, 9 секунд (22.03.2011 - 20:28) quickxyan написал(а):
или ты все таки про ту регулярку DedMorozzz"а где я цифру поменял на 5

Спустя 53 секунды (22.03.2011 - 20:29) neadekvat написал(а):
Цитата (quickxyan @ 22.03.2011 - 20:26)
пересмотрел всю тему и что-то не увидел такого выражения!

Так я сам его придумал smile.gif Мне делать ведь нечего по вечерам.

Линк.

Спустя 4 минуты, 14 секунд (22.03.2011 - 20:33) DedMorozzz написал(а):
neadekvat
Цитата
Так что в регулярке как минимум надо || заменить на |
Конечно же ты прав. Тут я тупанул, как раз занимался формами, где пишется &&, || smile.gif Конечно 1 палочка.

Спустя 3 минуты, 32 секунды (22.03.2011 - 20:37) neadekvat написал(а):
Цитата (DedMorozzz @ 22.03.2011 - 20:33)
Тут я тупанул, как раз занимался формами, где пишется &&, ||

Да я так и подумал - не переключился на регэкспы, вот и написал "на автомате", со всяким бывает smile.gif Просто отлавливаются такие баги долго - я про эту дороговизну сказал.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.