Как взять цену из текстового описания?

Vega$

Client
Регистрация
18.09.2015
Сообщения
9
Благодарностей
0
Баллы
1
Здравствуйте, есть текст такого вида:
Текст текст текст текст. Текст текст текст текст. 10 тыс. Текст.
Или вот такого:
Текст текст текст текст. Текст текст текст текст. 10000. Текст.

И тот и тот вариант присутствует в рамках одной выгрузки. Как мне забрать стоимость в переменную? Пробовал с помощью конструктора рег выражений (?<=\.).*?000 берется весь текст перед ценой. А нужна конкретно стоимость. Причем цену нужно забрать и в том и в другом виде.

Помогите кто в курсе. Спасибо!
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
\d+(\sтыс)?(?=\.)
При условии, что точка обязательно есть в обоих случаях. Не проверял.
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 122
Баллы
113
Код:
\d+ \w+|\d+
 

Vega$

Client
Регистрация
18.09.2015
Сообщения
9
Благодарностей
0
Баллы
1
В тексте встречаются цифры и данные берутся произвольно :(. Это объявление по продаже недвижимости. Т.е. встречается номер дома. А можно как-то прописать чтобы данные брались только в том случае если в искомом тексте присутствует 000. Либо после текст идет тыс.
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 122
Баллы
113
Код:
\d+ тыс.|\d+000
 

Vega$

Client
Регистрация
18.09.2015
Сообщения
9
Благодарностей
0
Баллы
1
Спасибо помогло. Еще может поможете. Телефоны встречаются по разном указанные два типа: 8-914-11-11. или 11-11-11. В первом случае я также сделал простое рег выражение 8-.*?(?=\.) он забирает телефон только с 8. Как забрать и короткие номера? Но так чтобы сохранился его первоначальный вид, т.е. 11-11-11. Т.к. я его потом удаляю из общего содержимого. Заранее спасибо.
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 122
Баллы
113
Код:
[\d+\-]{8,}
 
  • Спасибо
Реакции: Vega$

Vega$

Client
Регистрация
18.09.2015
Сообщения
9
Благодарностей
0
Баллы
1

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 122
Баллы
113

Vega$

Client
Регистрация
18.09.2015
Сообщения
9
Благодарностей
0
Баллы
1
Еще вопрос, я выбераю общий текст объявления этим выражением (?<=<strong>).*?(?=8 -) но в том случае если номер телефона отличается, т.е. начинается с другой цифры то данные не берутся. Как указать условие, брать либо до 8-, либо до любой цифры количество которых не менее 6 зн (шестизначный номер 11-11-11).
 
Последнее редактирование:

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 122
Баллы
113
Еще вопрос, я выбераю общий текст объявления этим выражением (?<=<strong>).*?(?=8 -) но в том случае если номер телефона отличается, т.е. начинается с другой цифры то данные не берутся. Как указать условие, брать либо до 8-, либо до любой цифры количество которых не менее 6 зн (шестизначный номер 11-11-11).
Код:
(?<=<strong>).*?(?=\ (8-|\d{2}-\d{2}-\d{2}))
 
  • Спасибо
Реакции: Vega$

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)