Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2006.06.25;
Скачать: [xml.tar.bz2];

Вниз

Регулярные выражения в 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.011 c
4-1142613185
AndreyRus
2006-03-17 19:33
2006.06.25
Аналог IOCTL_SCSI_RESCAN_BUS в Windows 2003


3-1146556261
Oleguslu
2006-05-02 11:51
2006.06.25
просмотр данных


15-1149110794
Kolan
2006-06-01 01:26
2006.06.25
Среда виснет при отладки в потоках.


15-1148972466
TButton
2006-05-30 11:01
2006.06.25
тех.док.


2-1149757702
Gamer
2006-06-08 13:08
2006.06.25
Изменение размера выпавшего окна ComboBox





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский