Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / регулярное выражение на php /[0-9.]{4,6}/ не работает( / 15 сообщений из 15, страница 1 из 1
14.06.2012, 14:22:36
    #37837915
Kreol
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
регулярное выражение на php /[0-9.]{4,6}/ не работает(
доброго времени суток.
Я не первый но и не я последний.)
Прошу помощи с регулярным выражением.
Вид строки в
Код: php
1.
$ret[0]; $5.95/mo


Нужно вычленить лишь 5.95
пишу так в калькуляторе рег выражений Калькулятор
Код: php
1.
[0-9.]{4,6}

все класно все работает имеем 5.95
пишу в пхп
Код: php
1.
echo preg_match("/[0-9.]{4,6}/", $ret[0]);



пробую просто вывести строку
Код: php
1.
\W[0-9.]{4,6}\W[a-z]{2,3}

в калькуляторе работает в пхп нет.
Где я лажаю?
Заранее спасибо.
...
Рейтинг: 0 / 0
14.06.2012, 14:25:29
    #37837923
SharuPoNemnogu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
регулярное выражение на php /[0-9.]{4,6}/ не работает(
Kreol,

Код: php
1.
[0-9].[0-9]+



хапнет только 5.95
...
Рейтинг: 0 / 0
14.06.2012, 14:28:47
    #37837928
Програмёр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
регулярное выражение на php /[0-9.]{4,6}/ не работает(
Kreol,

"пробую просто вывести строку" каким образом пробуешь?

если так:
Kreol echo preg_match("/[0-9.]{4,6}/", $ret[0]);
то смотрим справку по функции описание preg_match
...
Рейтинг: 0 / 0
14.06.2012, 14:31:13
    #37837931
Kreol
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
регулярное выражение на php /[0-9.]{4,6}/ не работает(
SharuPoNemnogu,

не работает, это тоже хапнет
Код: php
1.
[0-9.]{4,6}


сам скрипт
Код: php
1.
2.
3.
4.
5.
6.
<?php
include('simple_html_dom.php');
$html = file_get_html('http://www.inmotionhosting.com/wordpress-hosting.html');
$ret = $html->find('.price1_hpdspecial');
echo preg_match("/[[0-9].[0-9]+/", $ret[0]);
?>
...
Рейтинг: 0 / 0
14.06.2012, 14:41:56
    #37837952
Kreol
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
регулярное выражение на php /[0-9.]{4,6}/ не работает(
ПрограмёрKreol,
то смотрим справку по функции описание preg_match
и что я не так написал?
ну напишу я так:
Код: php
1.
2.
3.
$subject = $ret[0];
$pattern = '/[[0-9].[0-9]+/';
print_r(preg_match($pattern, $subject));


Результат, что и в посте выше "1"
...
Рейтинг: 0 / 0
14.06.2012, 14:42:13
    #37837953
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
регулярное выражение на php /[0-9.]{4,6}/ не работает(
Код: plaintext
/\d+\.d+/
...
Рейтинг: 0 / 0
14.06.2012, 14:42:36
    #37837955
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
регулярное выражение на php /[0-9.]{4,6}/ не работает(
Код: plaintext
/\d+\.\d+/

hotfix
...
Рейтинг: 0 / 0
14.06.2012, 14:53:10
    #37837968
Kreol
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
регулярное выражение на php /[0-9.]{4,6}/ не работает(
Hett,

вы его хоть запускали ????
Код: php
1.
2.
echo $ret[0]; // получаем $5.95/mo
echo preg_match("/\d+\.d+/", $ret[0]); // получаем 0
...
Рейтинг: 0 / 0
14.06.2012, 15:01:40
    #37837983
Програмёр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
регулярное выражение на php /[0-9.]{4,6}/ не работает(
KreolПрограмёрKreol,
то смотрим справку по функции описание preg_match
и что я не так написал?
ну напишу я так:
Код: php
1.
2.
3.
$subject = $ret[0];
$pattern = '/[[0-9].[0-9]+/';
print_r(preg_match($pattern, $subject));


Результат, что и в посте выше "1"

справкаВозвращаемые значения

Функция preg_match() возвращает количество найденных соответствий шаблона pattern. Это может быть 0 (совпадения не найдены) и 1, поскольку preg_match() прекращает свою работу после первого найденного совпадения. Функция же preg_match_all(), наоборот, будет продолжать свою работу пока не достигнет конца subject. Функция preg_match() возвращает FALSE в случае, если во время выполнения возникли какие-либо ошибки.

Тут нигде не написано что функция preg_match() возвращает список вхождений... она возвращает "количество найденных соответствий"

А вообще справку читать надо...
...
Рейтинг: 0 / 0
14.06.2012, 15:05:21
    #37837998
Програмёр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
регулярное выражение на php /[0-9.]{4,6}/ не работает(
P.S.
А сама регулярка должна выглядеть так:
Код: php
1.
/\d+(\.\d+)?/


Просто потому, что не все числа имеют дробную часть...
...
Рейтинг: 0 / 0
14.06.2012, 15:27:31
    #37838046
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
регулярное выражение на php /[0-9.]{4,6}/ не работает(
KreolHett,

вы его хоть запускали ????
Код: php
1.
2.
echo $ret[0]; // получаем $5.95/mo
echo preg_match("/\d+\.d+/", $ret[0]); // получаем 0



Почитайте манул по preg_match теперь
...
Рейтинг: 0 / 0
14.06.2012, 15:28:01
    #37838049
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
регулярное выражение на php /[0-9.]{4,6}/ не работает(
ПрограмёрP.S.
А сама регулярка должна выглядеть так:
Код: php
1.
/\d+(\.\d+)?/



Просто потому, что не все числа имеют дробную часть...

В задаче этого не сказано, может там форматируется как 5.00
...
Рейтинг: 0 / 0
14.06.2012, 15:29:11
    #37838055
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
регулярное выражение на php /[0-9.]{4,6}/ не работает(
HettKreolHett,

вы его хоть запускали ????
Код: php
1.
2.
echo $ret[0]; // получаем $5.95/mo
echo preg_match("/\d+\.d+/", $ret[0]); // получаем 0




Почитайте манул по preg_match теперь

И за одно прочитайте чем отличаются одинарные кавычки от двойных.
...
Рейтинг: 0 / 0
14.06.2012, 15:36:34
    #37838069
Програмёр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
регулярное выражение на php /[0-9.]{4,6}/ не работает(
HettПрограмёрP.S.
А сама регулярка должна выглядеть так:
Код: php
1.
/\d+(\.\d+)?/



Просто потому, что не все числа имеют дробную часть...

В задаче этого не сказано, может там форматируется как 5.00

просто взял более общий случай...
Хотя в данном случае это и правда лишнее)) это ведь цены))
...
Рейтинг: 0 / 0
14.06.2012, 22:39:43
    #37838668
Kreol
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
регулярное выражение на php /[0-9.]{4,6}/ не работает(
Програмёр,

принял во внимание. Спасибо за помощь
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / регулярное выражение на php /[0-9.]{4,6}/ не работает( / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]