Главная страница
    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.009 c
15-1148876589
lobach
2006-05-29 08:23
2006.06.25
Триал


3-1146563364
D@Nger
2006-05-02 13:49
2006.06.25
запрет на редактирование в колонке DBGrid


8-1137837125
deamon_t
2006-01-21 12:52
2006.06.25
Алгоритм сравнения двух TBitmap


4-1143525270
stas77
2006-03-28 09:54
2006.06.25
события windows


15-1149234197
Loginov Dmitry
2006-06-02 11:43
2006.06.25
Вопрос по Visual C 6.0





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский