Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.128.203.143] |
|
Сообщ.
#1
,
|
|
|
Есть выражение для поиска номеров телефонов:
(\d[\d-•() ]{6,17})|(/\d{3,3}/[\d-•() ]{6,17}) но в тексте часто встречается не только номер телефона, но и цена, или какой-нибудь номер, например, номер объявления Цитата м Голосеевская 3-7 мин., №64423457, дата: 25.05.2012 Цитата тип: Монолитный, цена 154500 у.е. продам Нежелательные символы выделены красным Вопрос. Как построить выражение, которое будет пропускать такие вот совпадения, если в совпавшем тексте найден нежелательный(е) символ(ы)? |
Сообщ.
#2
,
|
|
|
Если используются перлосовместимые выражения, то можно использовать утверждения (assertions).
|
Сообщ.
#3
,
|
|
|
да, что-то в этом есть, но опять проблема
вот выражение (?<!тел\. )(\d[\d-•() ]{5,18})|(/\d{3,3}/[\d-•( ]{6,18}) вот текст Цитата ertv rgdfs g dfsgsd тел. 7585239 ывафвыапфвапрывар всё-таки есть совпадение жирным выделил то, что выражение находит, а как бы зацепить весь номер телефона, а не только семерку |
Сообщ.
#4
,
|
|
|
Цитата как бы зацепить весь номер телефона, а не только семерку Например, с помощью управляющего кода \b (граница "слова"). Или указать, что предыдущий символ не должен быть цифрой. |
Сообщ.
#5
,
|
|
|
Не понял, что не так.
Вот выражение (?!№)\d[\d-•() ]{6,17}|(?!№)/\d{3,3}/[\d-•() ]{6,17} Вот текст: Цитата Смирнова-Ласточкина, . ТЛФ: +380-67-8763116, цена: 7 000 грн., (067)8763116P.S. Возможна сдачи квартиры под EURO-2012 Call., №68651705, дата: 20.06.2012 Выражение находит все три группы цифр, в том числе и 68651705, хотя это нужно пропускать. что не так в этом выражении? |
Сообщ.
#6
,
|
|
|
(?<!№|\d)
|
Сообщ.
#7
,
|
|
|
это что-то не то
|
Сообщ.
#8
,
|
|
|
Ой.
|
Сообщ.
#9
,
|
|
|
В тексте объявлений есть телефоны.
А также есть вот такой текст: Цитата решения соответствуют требованиями СНиП 31-01-2003 Здания Получается так, что выделенная группа цифр определяется, как номер телефона. Можно что-то придумать такое, что если перед номером есть слово: "СНиП ", то игнорировать найденный текст? |
Сообщ.
#10
,
|
|
|
Цитата X11 @ Можно что-то придумать такое, что если перед номером есть слово: "СНиП ", то игнорировать найденный текст? http://ru.wikipedia.org/wiki/%D0%A0%D0%B5%...%BD%D0%B8%D1%8F смотри про "Просмотр вперёд и назад" но не все движки это поддерживают |
Сообщ.
#11
,
|
|
|
Я знаю про это и у меня получается с одним символом.
(?<!#)(?<!\d)(?:\d|\/\d{3,3}\/)[\d-() ]{6,17} т.е. если перед цифрами стоит решётка, то будет пропущено, а как вместо решётки вставить "СНиП "? Так и написать? |