Модераторы: THandle, bems

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Примеры регулярных выражений 
:(
    Опции темы
Akella
  Дата 13.5.2009, 08:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 7
Всего: 329



С этого сайта
http://regexpstudio.com/
скачал библиотеку и exe`шник (RegExpr Test Program). 
Задача такая.
Есть текст:
Цитата

1-К. Квартира, 13 ЖМР, маг.Жигули, 5/5, 32/5.5, балкон 5.4, пластик, окна, пластик, трубы, хор. сост., т. 4771803, 807704702287, ЗООООу.е.

1-К.КВАРТИРА, 13 ЖМР, маг.Квартира, Жигули, 5/5, 32/5.5, балкон 5.4, пластик, окна, пластик, трубы, хор. сост., т. 49003, 81504702287, ЗООООу.е.

1-К.КВ, 13 ЖМР, маг.Квартира, Жигули, 5/5, 32/5.5, балкон 5.4, пластик, окна, пластик, трубы, хор. сост., т. 49003, 81504702287, ЗООООу.е.
1-К.Кв, 13 ЖМР, маг.Квартира, Жигули, 5/5, 32/5.5, балкон 5.4, пластик, окна, пластик, трубы, хор. сост., т. 49003, 81504702287, ЗООООу.е.

нужно из текста выцепить тип объекта недвижимости. Для этого нужно выцепить из текста конкретные слова. В данном случае: КВАРТИРА, Квартира, КВ, Кв.
(1 строка = 1 одъявлений)
Запускаю RegExpr Test Program (v.0947), копирую туда текст объявления, 
ввожу выражение:
Цитата
(Квартира)


И ещё, модификаторы нужно вводить так? (выражение)(ims) или по другому?

Это сообщение отредактировал(а) Akella - 13.5.2009, 09:23
PM MAIL   Вверх
Akella
Дата 13.5.2009, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 7
Всего: 329



пока составил такую регулярку smile 
Цитата
(?i)(кв[, ][^а-я]|из.кв[^а-я ]|дом[^а-я ]|гостинка[^а-я ])

PM MAIL   Вверх
Akella
  Дата 13.5.2009, 15:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 7
Всего: 329



не могу допереть, как работать с окончаниями.

Есть в тексте 2 слова, которые нужно выцепить
ИЗОЛИРОВАННАЯ и ИЗОЛИРОВАННУЮ

эта регулярка: изолированн[ау]
ловит
ИЗОЛИРОВАННА или ИЗОЛИРОВАННУ
а как полностью слова найти?

Добавлено через 4 минуты и 49 секунд
 smile 
ураа
Цитата

изолированн(ая|ую)

PM MAIL   Вверх
cemick
Дата 13.5.2009, 16:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 416
Регистрация: 6.7.2006
Где: Санкт-Петербург

Репутация: 3
Всего: 6



?((\d)(-)К\.КВ|К\.|КВАРТИРА)

Добавлено через 1 минуту и 18 секунд
ой, куда то пост исчез, в котором спрашивалось как вытащить квартиру...
PM MAIL WWW   Вверх
Akella
Дата 13.5.2009, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 7
Всего: 329



Всё, я допёр, что перед точкой нужно ставить слеш \

Добавлено через 1 минуту и 26 секунд
зачем вопросительный знак?

Добавлено через 4 минуты и 15 секунд
Цитата(cemick @  13.5.2009,  16:00 Найти цитируемый пост)
?((\d)(-)К\.

количество комнат в отдельном месте нуна узнавать smile 
Просто из текста объявления нужно выцепить как можно больше интересной и нужной информации, как то: тип недвижимости, район, улицу, цену, телефоны, комнат, этажность, площади. Т.е. разбить объявление на части, шоб потом запихнуть всё красиво и аккуратно в базу. smile 

Пока потихоньку продвигаюсь. smile 
PM MAIL   Вверх
cemick
Дата 13.5.2009, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 416
Регистрация: 6.7.2006
Где: Санкт-Петербург

Репутация: 3
Всего: 6



Цитата(Akella @  13.5.2009,  16:36 Найти цитируемый пост)
Добавлено через 1 минуту и 26 секунд
зачем вопросительный знак?

случайно там оказался

PM MAIL WWW   Вверх
Akella
Дата 14.5.2009, 17:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 7
Всего: 329



Цитата

1к. кв., в рне зд «Октябрь», ул. Готфейская, 1/1, площадь 20/10, 5/7, удобства во дворе, возможна пристройка. АН «Мир квартир».

1к. кв., Имаго, 11/14, 38, 2/19/8, моск., застекл. лодж., углов., рем., пл. трубы, счетч., во дворе садик, школа, 


1к. кв., Имаго, 7/9, 32, 5/17, 2/7, чешка, не углов., балкон, обмен на 2 комн. кв. в Ж. р

Красным выделены площади (общая, жилая, кухни), как будет выглядеть регулярка?
Хотелось бы выцепить три группы цифр, разделённых слешем: 20/10,5/7

такое: 11/14 или такое: 1/9 нужно пропускать

Это сообщение отредактировал(а) Akella - 14.5.2009, 17:20
PM MAIL   Вверх
Akella
Дата 15.5.2009, 09:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 7
Всего: 329



Теперь задача усложнилась. Требуется найти только такое: 1/5 или 11/14, т.е. этажность, этаж/этажность дома
Цитата

1к. кв., в рне зд «Октябрь», ул. Готфейская, 1/1, площадь 20/10,5/7, удобства во дворе, возможна пристройка. АН «Мир квартир».

1к. кв., Имаго, 11/14, 38, 2/19/8, моск., застекл. лодж., углов., рем., пл. трубы, счетч., во дворе садик, школа, 

1к. кв., Имаго, 7/9, 32, 5/17,2/7, чешка, не углов., балкон, обмен на 2 комн. кв. в Ж. р


Зелёным выделено то, что нужно найти, красным выделено то, что брать во внимание не требеутся.
PM MAIL   Вверх
cemick
Дата 15.5.2009, 09:22 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 416
Регистрация: 6.7.2006
Где: Санкт-Петербург

Репутация: 3
Всего: 6



 \s(\d*/\d*),\s
PM MAIL WWW   Вверх
Akella
Дата 15.5.2009, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 7
Всего: 329



cemick, супер!
PM MAIL   Вверх
Akella
  Дата 17.5.2009, 20:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 7
Всего: 329



Тут выявилась проблема с поиском слов вначале предложения.
Цитата

ДОМ, Автовокзал, 2К, 50кв. м., хор.сост., газ, лет.кухня, вода во дворе
ДОМ, Автовокзал, 3 комн.,60/32/10,5, котел, удва вдоме, тел., сост. отл., 


но если в тексте появляются слова, которые содержат в себе слово дом, например, домовитый, домашний, издому, то такие слова нужно пропускать

Вот регулярка:

(?ir)(уч-к|коттедж|([^а-Я]| )дом([^а-Я]| )|домик[^а-Я]|часть дома|полдома|пол дома|усадьб(а|у)|дач(а|у)|земля|зем. участок|зем.участок|земельный участок|участок зем.|участок земли|участок |ПОД ЗАСТРОЙКУ |ПОД ЗАСТРОЙКУ\.)

Эта регулярка не видит слово ДОМ вначале предложения.

Это сообщение отредактировал(а) Akella - 18.5.2009, 10:33
PM MAIL   Вверх
cemick
Дата 18.5.2009, 10:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 416
Регистрация: 6.7.2006
Где: Санкт-Петербург

Репутация: 3
Всего: 6



Не видит потому, что ([^а-Я]| ) предполагает наличие хотя бы одного символа..

 (?ir)(уч-к|коттедж|^([а-Я])*дом([а-Я])*|домик[^а-Я]|часть дома|полдома|пол дома|усадьб(а|у)|дач(а|у)|земля|зем. участок|зем.участок|земельный участок|участок зем.|участок земли|участок |ПОД ЗАСТРОЙКУ |ПОД ЗАСТРОЙКУ\.)
PM MAIL WWW   Вверх
Akella
Дата 18.5.2009, 10:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 7
Всего: 329



А как "сказать" парсеру, что если в тексте встречается какое-нибудь слово или выражение, то не обрабатывать такой текст вообще? 
Допустим есть текст. В нём мы ищем слово дом. Но если в тексте есть слово квартира, то не нужно обрабатывать такой текст.

Это сообщение отредактировал(а) Akella - 18.5.2009, 10:36
PM MAIL   Вверх
cemick
Дата 18.5.2009, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 416
Регистрация: 6.7.2006
Где: Санкт-Петербург

Репутация: 3
Всего: 6



скорее всего ни как
PM MAIL WWW   Вверх
Akella
Дата 18.5.2009, 13:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 7
Всего: 329



Тогда такой вопрос.
Цитата

ДОМ, Автовокзал, 2К, 50кв. м., хор.сост., газ, лет.кухня, вода во дворе
  Дачи: Коротыч 45м.кв без внутренних работ, красный кирпич, лес, пруд

регулярка
(?ir)((^м\.кв)|[^а-Я\ ]кв[^а-Я]|кв,|изолированн(ая|ую)|гостинк(а|у)|комнат(у|а|ы)|из\. кв\.|из\.кв\.|из\.кв,|ГОСТ\.|комн. из|комн.из)

думает, что это квартира из-за выделенного красным цветом.
Как указать, что бы на 
м кв
м. кв
м. кв.
кв. м.
кв м
кв. м
кв м.

парсер не обращал внимание?
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle

Добро пожаловать в форум группы "Delphi".

В разделе разрешается:

  • Флудить (в приемлемых величинах)
  • Обсуждать модерирование данного раздела (но не его модератора)
  • Добавлять свои правила если они не противоречат существующим
  • Делать наезды на пешеходов***

Строго запрещено:

  • Размещать рекламу
  • Совершать оскорбления личностей
  • Материться
  • *** Пешеходами не являются (ко)модераторы, админы, участники клуба.

Если Вам понравилась атмосфера форума, заходите к нам чаще! Люблю, целую, вечно Ваш, THandle.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Форум группы: delphi | Следующая тема »


 




[ Время генерации скрипта: 0.0955 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.