Название: Парсинг адреса (номер дома, кв. телефон) Отправлено: nixman05 от Октябрь 25, 2010, 20:28 Есть некоторая таблица в базе данных.
Одно из его полей содержит адресс. Причем аддресс заполнен в произольном виде. для извлечения номера телефона я использовал следующее регулярное выражение: т\.?\s?\d{1}-\d{1,2}-\d{1,2} -- номер пятизначный, начинается с буквы "т", после которого может идти точка и/или пробел. Затем следует сам номер. Номер дома квартиры может храниться в следующем виде (1) (дом номер_дома кв. номер квартиры) -- для этого случая всё прекрастно находится. а может и в виде (2) номер_дома/номер_квартиры -- для нахождения данного случая я использую следующее регулярное выражение: \d+\w*\b(-|/)\w+ оно находит номер дома и квартиры эсли они указаны сторым способон, но если они указаны первым способом возвращается часть номера телефона. Каким образом модифицировать это регулярное выражение, чтобы выполнялась проверка на наличие "т. " перед местом извлечения предпологаемого адресса? (Каким образом предотвратить извлечение части номера телефона, если адрес записан в (1) виде? ) Название: Re: Парсинг адреса (номер дома, кв. телефон) Отправлено: crossly от Октябрь 30, 2010, 14:56 это бред... храните в отдельных полях...
Название: Re: Парсинг адреса (номер дома, кв. телефон) Отправлено: alexman от Октябрь 30, 2010, 14:57 или же в xml
|