![]() |
Модераторы: THandle, bems |
![]() ![]() ![]() |
|
cemick |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 416 Регистрация: 6.7.2006 Где: Санкт-Петербург Репутация: 3 Всего: 6 |
Тут наверно надо более точно задавать условие поиска квартир, например, мы знаем что перед "кв" не может быть чисел:
[,;\A]{1}[\s\D]*кв[^а-Я] (сочетание букв "кв" до которых может быть куча пробельных символов и один терминальный, либо начало строки) вместо регулярного выражения: [^а-Я\ ]кв[^а-Я] для предложения ДОМ, Автовокзал, 2К, 50кв. м., хор.сост., газ, лет.кухня, вода во дворе |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 7 Всего: 329 |
За то теперь такое:
не может определить Это сообщение отредактировал(а) Akella - 18.5.2009, 15:43 |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 7 Всего: 329 |
(?ir)(уч-к|коттедж|^([а-Я])*дом([а-Я])*|домик[^а-Я]|часть дома|полдома|пол дома|усадьб(а|у)|дач(а|у)|земля|зем. участок|зем.участок|земельный участок|участок зем.|участок земли|участок |ПОД ЗАСТРОЙКУ |ПОД ЗАСТРОЙКУ\.) Нудно было убрать то, что красным |
|||
|
||||
cemick |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 416 Регистрация: 6.7.2006 Где: Санкт-Петербург Репутация: 3 Всего: 6 |
||||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 7 Всего: 329 |
Ну не знаю, вот щас так определяет:
Дом, 60 м2, газ, удобства, телефон, Люботин, экв. 26 т.д. Дом, 85 м*2, Хол. Гора, Лен. сторона, тел., вода, 6 сот., уч. ровн., 50 т.у.е. Дом Дом, Дом все 5 слов Дом |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 7 Всего: 329 |
Не могу найти в справке, как указать отрицание, несоотетствие.
Допустим предложение Дом ХТЗ Фрунзе флигель Зкомнаты, жилое состояние, вода во дворе, газ, канализация по улице, гараж, 3 сотки регулярка: ((?ir)(\d(к|-к[^у]| из|из|/из| к\.| -к| к[ом]){1,6})|Зиз|Зк.) определяем, что это квартира из-за выделенного красным Как бы указать что-то вроде: ((?ir)(\d(к|-к[НЕу]| из|из|/из| к\.| -к| к[ом][НЕомнаты]){1,6})|Зиз|Зк.) Добавлено через 4 минуты и 14 секунд там вообще буква "З" |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 7 Всего: 329 |
Вот хороший пример
Полдома в Люботине, 2 комнаты, большая кухня, Вот регулярка: ((?ir)(\d(к |-к[^у]| из|из|/из| к\.| -к| к[ом]){1,6})|Зиз|Зк\.) Из-за выделенного красным парсер думает, что это квартира, скорее всего из-за этого: к[о (выделено зелёным) Но вот это уже должно захавать, т.е. это изолированная квартира В Люботине, 2 комн. из. кв. , большая кухня, отапливаемая веранда, газ, вода, Что тут придумать? Добавлено через 6 минут и 26 секунд
смотря в каком месте этот символ ^ Добавлено через 8 минут и 35 секунд Пока придумал так: ((?ir)(\d(к |-к[^у]| из|из|/из| к\.| -к| к(ом\.|омн\.|[^ комнаты])){1,6})|Зиз|Зк\.) потом посмтотрим ![]() Это сообщение отредактировал(а) Akella - 18.5.2009, 16:51 |
|||
|
||||
cemick |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 416 Регистрация: 6.7.2006 Где: Санкт-Петербург Репутация: 3 Всего: 6 |
Дак разве может быть, что бы перед сокращением обозначающим квартиру сразу стояли стоит цифры????
Это похоже в них и нет. Можно только отрицание буквы.
[^ комнаты] ![]() Как вариант можно отдельно написать регулярное выражение, которым будешь проверять наличие упоминания о комнатах |
|||
|
||||
Akella |
|
||||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 7 Всего: 329 |
вот так часто начинаются объявления: 3-к. из.кв. 3-к. из. кв. 3-комн. из.кв. 3-ком. из. кв. 3-к. приват. кв. Добавлено через 1 минуту и 7 секунд
а если [^(комнаты)] |
||||
|
|||||
cemick |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 416 Регистрация: 6.7.2006 Где: Санкт-Петербург Репутация: 3 Всего: 6 |
||||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 7 Всего: 329 |
Ну вместо дефиса может быть проблел или ничего не может быть:
|
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 7 Всего: 329 |
Как сказать парсеру, что, например, слово: рядом не должно браться во внимание
![]() Это сообщение отредактировал(а) Akella - 19.5.2009, 10:26 |
|||
|
||||
Akella |
|
||||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 7 Всего: 329 |
cemick, тут в твоём примере небольшой казус:
вот твоя регулярка: (?ir)([,;\A][\s\D]{1}*кв[^а-Я]|изолированн(ая|ую)|гостинк(а|у)|комнат(у|а|ы)|из\. *кв\.|из\.*кв,|ГОСТ\.|комн. *из|комн. пр. *кв|З *из. *кв|3 из\? *кв.|3 *из. *кв) Красным выделено то, что ты недавно посоветовал использовать, чтобы пропускать в тексте квадратные метры, например
да, всё правильно, зелёный текст во внимание не берётся, теперь немного дёгтя ![]() вот текст, это всё квартиры, видно это по тому, что вначале текста 2-к. кв. 2-ком. кв. 5-к. кв.
но из-за выделенного красным куска регулярки... такие объявления не учитываются, а должны, что ещё можно придумать :( |
||||
|
|||||
cemick |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 416 Регистрация: 6.7.2006 Где: Санкт-Петербург Репутация: 3 Всего: 6 |
Ну смотря что надо
![]() Можно и просто добавить учет еще и точки ![]() |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 7 Всего: 329 |
||||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi" | |
|
Добро пожаловать в форум группы "Delphi". В разделе разрешается:
Строго запрещено:
Если Вам понравилась атмосфера форума, заходите к нам чаще! Люблю, целую, вечно Ваш, THandle. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Форум группы: delphi | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |