помощь с регулярным выражением

feniks_06

Пользователь
Регистрация
10.04.2016
Сообщения
39
Благодарностей
2
Баллы
8
<div class="price ball-1">435,750</div> - это на странице через pm

(?<=<div\ class="price\ ball-1">).*(?=</div>) - это регулярка которую я сделал, как и все свои предыдущие.
Но она упорно не работает - результат выдаёт всю страницу начиная с цифр 435,750ит.д.
как обрубить чтобы шло ток 7 знаков 6 цифр и запятая?

прошу помощи, спасибо.

(пробелы уже ставил, и остальной код так же перебирал, результат всегда один и тот же).
если поставить пробел перед </div> -прожект зависает.
 

evgen_po

Client
Регистрация
27.08.2013
Сообщения
848
Благодарностей
532
Баллы
93
Такую регулярку попробуйте. Разница лишь в том, что нужно выбирать самое короткое совпадение:
(?<=<div\ class="price\ ball-1">).*?(?=</div>)
 

zortexx

Client
Регистрация
19.09.2011
Сообщения
2 520
Благодарностей
1 226
Баллы
113

feniks_06

Пользователь
Регистрация
10.04.2016
Сообщения
39
Благодарностей
2
Баллы
8
Спасибо помогло! странно в том, что я уже так делал, видимо когда переберал другие варианты.!
Ещё раз спасибо - zortexx and evgen_po!
 

feniks_06

Пользователь
Регистрация
10.04.2016
Сообщения
39
Благодарностей
2
Баллы
8
А подскажите пожалуйста ещё, (?<=<div\ class="price\ ball-1">).*?(?=</div>) в этой регулярке, что добавить? чтобы ограничить цифры в поиске (с диапазона 10.000 до 100.000 (и возможно ли такие значения - 10.000 и 100.000 задать через переменную) ??
 

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 451
Благодарностей
1 885
Баллы
113

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
(и возможно ли такие значения - 10.000 и 100.000 задать через переменную)
Это вряд ли. Просто отсеивай то, что не попадет в диапазон, после парсинга
 

feniks_06

Пользователь
Регистрация
10.04.2016
Сообщения
39
Благодарностей
2
Баллы
8
как отсеивать ? в список ложится много значений - я сделал, беру строчку проверяю диапазон если не входит - удаляю. Но моя бабуля пешком быстрее ходит, чем я добираюсь до нужных чисел.
Предполагаю, что можно на c# как то список обработать, но у меня нет нужных навыков.
Навыков хватило только зену купить :-)

Жду помощи, возможно на мат основе, за разумное предложение.
Жду помощи, спасибо тем кто ответил.
 

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 451
Благодарностей
1 885
Баллы
113

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 451
Благодарностей
1 885
Баллы
113
как отсеивать ? в список ложится много значений - я сделал, беру строчку проверяю диапазон если не входит - удаляю. Но моя бабуля пешком быстрее ходит, чем я добираюсь до нужных чисел.
Предполагаю, что можно на c# как то список обработать, но у меня нет нужных навыков.
Навыков хватило только зену купить :-)

Жду помощи, возможно на мат основе, за разумное предложение.
Жду помощи, спасибо тем кто ответил.
Та ну что ж все так обленились то? Вам мёд, да еще и ложку, еще и ко рту поднеси...
Соберите свою регулярку с моей, получится
Код:
(?<=<div\ class="price\ ball-1">)(\d{2}.\d{3}|100\.000)(?=</div>)
дописал, чтобы и 100.000 тоже брало.
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
Ну как же вряд ли, если я выше написал как )
он хочет динамический диапазон, задаваемый из переменных. Я бы с удовольствием посмотрел на такую регулярку) Только тут понадобиться целый скрипт для генерации регулярки
 

feniks_06

Пользователь
Регистрация
10.04.2016
Сообщения
39
Благодарностей
2
Баллы
8
Doc прав, Moderator- не ругайся, я тебя прекрасно понимаю, так как сам верстальщик, и порой для меня поправить css, элементарно, а другие сверстать поап не могут. Не так легко разобраться во всех нюансах зеннопостер.
Спасибо, что отвечаете )

Остался вопрос по поводу переменных в регулярке. Это вообще возможно ? какими средствами? что читать?
 

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 451
Благодарностей
1 885
Баллы
113

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
переменные суй в регулярки куда хочешь. В конечно итоге регулярка просто возьмет в себя значение переменной.
например, если в переменной {переменная} ты хранишь id элемента, какого-нибудь дива, то можешь в регулярке прописать
<div\ id="{переменная}">.+?</div>
но в зависимости от значения переменной, может понадобиться её экранировать
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
Всё по ситуации. Ну а по поводу динамического диапазона - не стоит тратить силы на генератор регулярки. Парси всё и отсеивай потом то, что не входит в диапазон
 

feniks_06

Пользователь
Регистрация
10.04.2016
Сообщения
39
Благодарностей
2
Баллы
8
Благодарю, завтра с утра попробую - думаю получится, то что мне нужно. Ещё есть вопрос по поиску (там тоже втыкаю переменную).
Его завтра задам если не смогу разобраться.
 

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