Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: Народ помогите с регуляркой и пхп как найти 106-01140?
цитата
09/07/13 в 21:37
 JM
В общем надо по шаблону найти есть ли такой шаблон в тексте три цифры тире пять цифр.
Пример
106-01140
998-01440

Ну и подобный две цфиры тире две цифры

10-40
88-44
цитата
09/07/13 в 21:55
 andreich
JM: что то не понятно както описанно
залей на сервак да и проверь
тыже в роде в не/ре - гулярках шаришь
цитата
09/07/13 в 22:02
 Yacc
#\d{3}-\d{5}#
цитата
09/07/13 в 22:03
 JM
Да нуна типа этого
if(!preg_match("/[0-9]/i", $pages))
Ток шаблон другой ЦифраЦифраЦифраТиреЦифраЦифраЦифраЦифраЦифра
цитата
09/07/13 в 22:04
 JM
Yacc: if(preg_match("\d{3}-\d{5}", $pages)) верно?
цитата
09/07/13 в 22:11
 Pentarh
\d -цифра
{3} -3 штуки

Не помню точно, но имхо в кавычках надо писать \\d

Последний раз редактировалось: Pentarh (09/07/13 в 22:12), всего редактировалось 1 раз
цитата
09/07/13 в 22:11
 Yacc
Код:
preg_match_all($pattern, $string, $matches);

if(count($matches[0]) > 0) {
    // Match
}
цитата
09/07/13 в 22:13
 Pentarh
JM писал:
Yacc: if(preg_match("\d{3}-\d{5}", $pages)) верно?

preg_match("#\d{3}-\d{5}#", $pages)
цитата
09/07/13 в 22:18
 JM
Yacc: спасибо разобрался!!!
if (preg_match("/\d{3}-\d{5}/", $string))
Pentarh: и тебе
цитата
09/07/13 в 22:25
 Mika
JM писал:
if (preg_match("/\d{3}-\d{5}/", $string))

Только не забывай, что сюда же попадут 1234-56789, 123-456789 и т.п.
цитата
09/07/13 в 22:29
 JM
Mika писал:
Только не забывай, что сюда же попадут 1234-56789, 123-456789 и т.п.

Спасибо за совет!
Но я впринципе вырезаю строчку предварительно из 9 символов...
Т.е. меня больше парит не будет ли такой ситуации например:
1234-5678
Но вроде не подходит это дело под условия...
цитата
09/07/13 в 22:32
 Yacc
Mika писал:
Только не забывай, что сюда же попадут 1234-56789, 123-456789 и т.п.

Не, попадут 234-56789 и 123-45678. Если на границе слов надо, то шаблон будет #\b\d{3}-\d{5}\b#. А если копнуть глубже, то окажется, что можно обойтись вообще без регулярок. icon_smile.gif
цитата
09/07/13 в 22:35
 JM
Ну регулярка нужна т.к. еще впереди меня ждет много увлекательного при парсинге прайсов icon_smile.gif к стате в твоем примере небольшая ошибка как я понял icon_smile.gif верно вроде так:
#\D\d{3}-\d{5}\D#
А вот что будет если спереди не будет ничего как тогда быть?
цитата
09/07/13 в 22:41
 Yacc
JM писал:
впереди меня ждет много увлекательного при парсинге прайсов

Парсинг и регулярки вещи несовместимые в принципе. Я тебе больше скажу: тебя в рай не пустят только за то, что ты парсишь регулярками. icon_smile.gif Что за прайсы? В каком формате? Подскажу как обойтись без регулярок.

JM писал:
#\D\d{3}-\d{5}\D#

Не, так не пойдёт.
цитата
09/07/13 в 22:45
 Mika
Yacc писал:
Не, попадут 234-56789 и 123-45678.

Они попадут в matches, если он указан, а я про условие писал.
цитата
09/07/13 в 23:00
 JM
Yacc: да там часть с артиклом вида выше, а часть без них было в базу занесенно... ручками icon_smile.gif
Вот терь над эт дело поправить... (не ручками)
Если что еще интересно нарисуется я тут отпишусь icon_smile.gif
Еще разок Всем спасибо за помощь!!!
цитата
11/07/13 в 10:01
 Adrenal1ne
Здесь полезная инфа
"Регудярные выражения. Часть 1"
"Регудярные выражения. Часть 2"
Потратив пару часиков пожно создавать легко простые регулярки.
цитата
12/07/13 в 11:33
 JM
Adrenal1ne писал:
Здесь полезная инфа
"Регудярные выражения. Часть 1"
"Регудярные выражения. Часть 2"
Потратив пару часиков пожно создавать легко простые регулярки.

phpclub.ru не работает, мне так повезло?
цитата
12/07/13 в 21:46
 Adrenal1ne
JM: Ну да, что-то не работает сайт.
Держи другую ссылку на ту же статью
Регулярные выражения
цитата
12/07/13 в 22:05
 JM
Adrenal1ne: smail54.gif


Эта страница в полной версии