Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Регулярное выражение - поиск по условию

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

X11



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В объявлениях кроме номеров телефонов часто встречаются цены. Но цены на автомобили, недвижимость и т.п. зело велики.
 
Например
 
кусок объявления

Цитата:
Цена 3 047 500 руб, экв. 84 652 $, Цена за м.кв. 1 286 $, (8911) 179-0197

 
 
Выражение "\d[\d-() ]{6,}" находит и цены.
Поэтому вопрос. Что добавить в выражение, чтобы функция не обращала внимание на группу цифр, позади которой есть "пробел и грн или есть пробел и знак доллара $, или если перед группой цифр есть пробел и слово цена или слово экв."?

----------
/не мы такие, жизнь такая/

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 13:25 15-08-2014 | Исправлено: X11, 13:26 15-08-2014
data man



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
X11
А телефоны всегда с кодом города и/или с дефисом?
Тогда примерно так:

Код:
((\(\d*\)\s*){0,1}\d+-\d+)


----------
Любой достаточно развитый тролль неотличим от подлинно помешанного на какой-либо идее.
Кекс. Антибиотики. Ламбада.

Всего записей: 1696 | Зарегистр. 13-10-2005 | Отправлено: 09:42 18-08-2014
X11



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вы не поняли, меня интересует НЕ поиск телефонов.

----------
/не мы такие, жизнь такая/

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 10:18 18-08-2014
data man



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
X11

Цитата:
интересует НЕ поиск телефонов

А что?
Если
Цитата:
Выражение "\d[\d-() ]{6,}" находит и цены.
, значит и не цены.

Цитата:
Вы не поняли

А вы и не объяснили, что же именно должна искать функция.

----------
Любой достаточно развитый тролль неотличим от подлинно помешанного на какой-либо идее.
Кекс. Антибиотики. Ламбада.

Всего записей: 1696 | Зарегистр. 13-10-2005 | Отправлено: 10:38 18-08-2014
X11



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
А что?  

я ж написал, что интересует

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 10:49 18-08-2014
idiMAN

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
X11
Перечитал три раза Ваше первое сообщение и тоже так и не понял, о какой именно искомой группе цифр идёт речь, если это не номер телефона и не цена...

Всего записей: 466 | Зарегистр. 05-05-2003 | Отправлено: 19:29 18-08-2014
X11



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Что добавить в выражение, чтобы функция не обращала внимание на группу цифр, позади которой есть "пробел и грн или есть пробел и знак доллара $, или если перед группой цифр есть пробел и слово цена или слово экв."?  
 
 
1. любой текст 123456789, любой текст.
2. Цена 123456789, любой текст.
3. Любой текст 123456789 $, любой текст
 
Наверное так будет понятнее.
Видите, во втором и третьем случаях есть слово "Цена" и есть знак доллара? Теперь нужно сделать так, чтобы второй и третий случай игнорировались.
 
В том-то и проблема, что и цена, и номер телефона зело похожи.

----------
/не мы такие, жизнь такая/

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 20:03 18-08-2014
idiMAN

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Все мои попытки наводят на вывод, что одним регулярным выражением такого не добиться...

Всего записей: 466 | Зарегистр. 05-05-2003 | Отправлено: 15:33 20-08-2014
exteris

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Доллар можно так отсечь - "\d[\d-() ]{6,}\s*[^$]"
Как быть с руб и грн идей нет.

Всего записей: 382 | Зарегистр. 14-04-2003 | Отправлено: 09:22 21-08-2014
data man



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Копать нужно в сторону Lookahead/Lookbehind (или по-русски 1 и 2)

----------
Любой достаточно развитый тролль неотличим от подлинно помешанного на какой-либо идее.
Кекс. Антибиотики. Ламбада.

Всего записей: 1696 | Зарегистр. 13-10-2005 | Отправлено: 09:58 21-08-2014 | Исправлено: data man, 10:02 21-08-2014
idiMAN

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
exteris
Ваше регулярное выражение по отсечке доллара не работает. Нужно так "\d[\d-() ]{6,}\s+[^$]"

Всего записей: 466 | Зарегистр. 05-05-2003 | Отправлено: 10:15 21-08-2014
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Регулярное выражение - поиск по условию


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru