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#. А если копнуть глубже, то окажется, что можно обойтись вообще без регулярок.
цитата
09/07/13 в 22:35
JM
Ну регулярка нужна т.к. еще впереди меня ждет много увлекательного при парсинге прайсов
к стате в твоем примере небольшая ошибка как я понял
верно вроде так:
#\D\d{3}-\d{5}\D#
А вот что будет если спереди не будет ничего как тогда быть?
цитата
09/07/13 в 22:41
Yacc
JM писал:
впереди меня ждет много увлекательного при парсинге прайсов
Парсинг и регулярки вещи несовместимые в принципе. Я тебе больше скажу: тебя в рай не пустят только за то, что ты парсишь регулярками.
Что за прайсы? В каком формате? Подскажу как обойтись без регулярок.
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:
да там часть с артиклом вида выше, а часть без них было в базу занесенно... ручками
Вот терь над эт дело поправить... (не ручками)
Если что еще интересно нарисуется я тут отпишусь
Еще разок Всем спасибо за помощь!!!
цитата
11/07/13 в 10:01
Adrenal1ne
Здесь полезная инфа
"Регудярные выражения. Часть 1"
"Регудярные выражения. Часть 2"
Потратив пару часиков пожно создавать легко простые регулярки.
цитата
12/07/13 в 08:13
freeek
вот еще
Введение в Perl. Регулярные выражения (шаблоны).
цитата
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:
Новая тема
Ответить
Эта страница в полной версии