![]() |
Модераторы: THandle, bems |
![]() ![]() ![]() |
|
Akella |
|
||||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 7 Всего: 329 |
С этого сайта
http://regexpstudio.com/ скачал библиотеку и exe`шник (RegExpr Test Program). Задача такая. Есть текст:
нужно из текста выцепить тип объекта недвижимости. Для этого нужно выцепить из текста конкретные слова. В данном случае: КВАРТИРА, Квартира, КВ, Кв. (1 строка = 1 одъявлений) Запускаю RegExpr Test Program (v.0947), копирую туда текст объявления, ввожу выражение:
И ещё, модификаторы нужно вводить так? (выражение)(ims) или по другому? Это сообщение отредактировал(а) Akella - 13.5.2009, 09:23 |
||||
|
|||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 7 Всего: 329 |
пока составил такую регулярку
![]()
|
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 7 Всего: 329 |
не могу допереть, как работать с окончаниями.
Есть в тексте 2 слова, которые нужно выцепить ИЗОЛИРОВАННАЯ и ИЗОЛИРОВАННУЮ эта регулярка: изолированн[ау] ловит ИЗОЛИРОВАННА или ИЗОЛИРОВАННУ а как полностью слова найти? Добавлено через 4 минуты и 49 секунд ![]() ураа
|
|||
|
||||
cemick |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 416 Регистрация: 6.7.2006 Где: Санкт-Петербург Репутация: 3 Всего: 6 |
?((\d)(-)К\.КВ|К\.|КВАРТИРА)
Добавлено через 1 минуту и 18 секунд ой, куда то пост исчез, в котором спрашивалось как вытащить квартиру... |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 7 Всего: 329 |
Всё, я допёр, что перед точкой нужно ставить слеш \
Добавлено через 1 минуту и 26 секунд зачем вопросительный знак? Добавлено через 4 минуты и 15 секунд количество комнат в отдельном месте нуна узнавать ![]() Просто из текста объявления нужно выцепить как можно больше интересной и нужной информации, как то: тип недвижимости, район, улицу, цену, телефоны, комнат, этажность, площади. Т.е. разбить объявление на части, шоб потом запихнуть всё красиво и аккуратно в базу. ![]() Пока потихоньку продвигаюсь. ![]() |
|||
|
||||
cemick |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 416 Регистрация: 6.7.2006 Где: Санкт-Петербург Репутация: 3 Всего: 6 |
||||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 7 Всего: 329 |
Красным выделены площади (общая, жилая, кухни), как будет выглядеть регулярка? Хотелось бы выцепить три группы цифр, разделённых слешем: 20/10,5/7 такое: 11/14 или такое: 1/9 нужно пропускать Это сообщение отредактировал(а) Akella - 14.5.2009, 17:20 |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 7 Всего: 329 |
Теперь задача усложнилась. Требуется найти только такое: 1/5 или 11/14, т.е. этажность, этаж/этажность дома
Зелёным выделено то, что нужно найти, красным выделено то, что брать во внимание не требеутся. |
|||
|
||||
cemick |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 416 Регистрация: 6.7.2006 Где: Санкт-Петербург Репутация: 3 Всего: 6 |
\s(\d*/\d*),\s
|
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 7 Всего: 329 |
cemick, супер!
|
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 7 Всего: 329 |
Тут выявилась проблема с поиском слов вначале предложения.
но если в тексте появляются слова, которые содержат в себе слово дом, например, домовитый, домашний, издому, то такие слова нужно пропускать Вот регулярка: (?ir)(уч-к|коттедж|([^а-Я]| )дом([^а-Я]| )|домик[^а-Я]|часть дома|полдома|пол дома|усадьб(а|у)|дач(а|у)|земля|зем. участок|зем.участок|земельный участок|участок зем.|участок земли|участок |ПОД ЗАСТРОЙКУ |ПОД ЗАСТРОЙКУ\.) Эта регулярка не видит слово ДОМ вначале предложения. Это сообщение отредактировал(а) Akella - 18.5.2009, 10:33 |
|||
|
||||
cemick |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 416 Регистрация: 6.7.2006 Где: Санкт-Петербург Репутация: 3 Всего: 6 |
Не видит потому, что ([^а-Я]| ) предполагает наличие хотя бы одного символа..
(?ir)(уч-к|коттедж|^([а-Я])*дом([а-Я])*|домик[^а-Я]|часть дома|полдома|пол дома|усадьб(а|у)|дач(а|у)|земля|зем. участок|зем.участок|земельный участок|участок зем.|участок земли|участок |ПОД ЗАСТРОЙКУ |ПОД ЗАСТРОЙКУ\.) |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 7 Всего: 329 |
А как "сказать" парсеру, что если в тексте встречается какое-нибудь слово или выражение, то не обрабатывать такой текст вообще?
Допустим есть текст. В нём мы ищем слово дом. Но если в тексте есть слово квартира, то не нужно обрабатывать такой текст. Это сообщение отредактировал(а) Akella - 18.5.2009, 10:36 |
|||
|
||||
cemick |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 416 Регистрация: 6.7.2006 Где: Санкт-Петербург Репутация: 3 Всего: 6 |
скорее всего ни как
|
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 7 Всего: 329 |
Тогда такой вопрос.
регулярка (?ir)((^м\.кв)|[^а-Я\ ]кв[^а-Я]|кв,|изолированн(ая|ую)|гостинк(а|у)|комнат(у|а|ы)|из\. кв\.|из\.кв\.|из\.кв,|ГОСТ\.|комн. из|комн.из) думает, что это квартира из-за выделенного красным цветом. Как указать, что бы на м кв м. кв м. кв. кв. м. кв м кв. м кв м. парсер не обращал внимание? |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi" | |
|
Добро пожаловать в форум группы "Delphi". В разделе разрешается:
Строго запрещено:
Если Вам понравилась атмосфера форума, заходите к нам чаще! Люблю, целую, вечно Ваш, THandle. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Форум группы: delphi | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |