Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.06.25;
Скачать: CL | DM;

Вниз

Регулярные выражения в php   Найти похожие ветки 

 
php   (2006-05-23 20:33) [0]

Конечно знаю, что начнёте посылать читать документацию, но нормальной документации не удалось найти, а той, что нашёл - мало.
В общем проблема то пустяковая.... Определить, является ли строка числом, но с условием, что число не отрицательно и не равно 0 или 0000... (в общем нескольким нулям).


 
wicked ©   (2006-05-23 20:41) [1]

сам регексп - "([0-9]+)" или "([\d]+)"
потом то, что он нашел, конвертируем в число и проверяем на неравенство 0....


 
DillerXX ©   (2006-05-23 20:46) [2]


if ($str=~/^(\d+)/) {
 unless ($1=~/^0+$/) Die "Bad string\n"; else print "Good String\n";

вроде так, правда это на Перле, как на ПХП хз... на работоспособность тоже не проверял


 
php   (2006-05-23 22:00) [3]

Что-то не могу заставить работать эти регэкспы.
Вот мой пример:

 $var1="110c";
 var_dump($var1);

 if ((ereg("[0-9]", $var1)) && ($var1>0))
 {
   echo "=)";
 }
 else
 {
   echo "=(";
 }

При таком значении $var1 такое условие удовлетворяется.
Что здесь модифицировать, чтобы строка просматривалась на предмет наличия символов отличных от цифр?


 
Loginov Dmitry ©   (2006-05-23 22:04) [4]

php   (23.05.06 20:33)
Конечно знаю, что начнёте посылать читать документацию, но нормальной документации не удалось найти, а той, что нашёл - мало.


Начнем посылать :)

http://phpclub.ru/detail/article/regexp_1


 
php   (2006-05-23 22:11) [5]

О! Это я ещё не читал =))


 
wicked ©   (2006-05-23 22:12) [6]

> php   (23.05.06 22:00) [3]
а регекспы не судьба полностью копировать из приведенных примеров?....


 
php   (2006-05-23 22:17) [7]


> wicked ©   (23.05.06 22:12) [6]

Не работает =(


 
wicked ©   (2006-05-23 22:54) [8]

> php   (23.05.06 22:17) [7]
ааа, ну да, и не будет работать..... я то перловый регексп привел, для него preg* функции есть.... не заметил сразу.....


 
McSimm ©   (2006-05-23 23:22) [9]

preg_match("/^\d+$/", $s) && ($s > 0)


 
Некто ©   (2006-05-24 10:31) [10]

Всем спасибо за ответы. :)
Вроде сам разобрался.

if ((!ereg("[^0-9]", $var1)) && ($var1>0))
{
 echo "=)";
}
else
{
 echo "=(";
}


 
vidiv ©   (2006-06-01 03:57) [11]

ereg - медленные функции...

п.с. в некоторых случаях надо быть осторожным с числами с ведущими нулями, т.к. они могут распознаваться, как будто записаны в 8ричной системе счисления



Страницы: 1 вся ветка

Текущий архив: 2006.06.25;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.054 c
4-1143199326
slaga
2006-03-24 14:22
2006.06.25
Как получить ссылку на работающий Thread имея его ID


2-1149614577
Revan
2006-06-06 21:22
2006.06.25
Как поменять иконку exe файла?


1-1147975944
anton773
2006-05-18 22:12
2006.06.25
Преобразование типов


15-1149229010
oleggar
2006-06-02 10:16
2006.06.25
репортер


11-1129708447
Dodfr
2005-10-19 11:54
2006.06.25
Rpt parameters problem when upgrading 2.10 to 2.17