
Aragaer
07.03.2019
05:56:45
регексп ([0-9]{1,3}%) матчит только первое вхождение

Vk
07.03.2019
05:59:22
Мне все отдает. т.е. самим регексом это не ораничить?

Tishka17
07.03.2019
05:59:36
А ты как берёшь?

Google

Vk
07.03.2019
06:00:04
Я не в питоне. Регексы учу прост

Tishka17
07.03.2019
06:01:49
А в чём?

Vk
07.03.2019
06:02:55
В онлайн хрене какой-то

Tishka17
07.03.2019
06:03:27
Ну тогда наверно в это херне и проблема.

Aragaer
07.03.2019
06:03:42
ну да
а, стоп
посмотри флажочки

Tishka17
07.03.2019
06:03:51
Она вообще, матч, серч или что делает?

Aragaer
07.03.2019
06:04:09
там помимо регекспа еще есть флаги, конкретно флажок global отвечает за то, хочешь ты взять одно вхождение или все

Vk
07.03.2019
06:04:34

Aragaer
07.03.2019
06:04:49
ну да, справа g стоит
сними флажок global и получишь только первое

Vk
07.03.2019
06:05:07
А флаги в регексе как ставить?

Google

Aragaer
07.03.2019
06:05:27
Global pattern flags
g modifier: global. All matches (don't return after first match)
в регексе никак. Они ставятся при вызове регекса

Vk
07.03.2019
06:06:03
Беда... понял, спасибо

Aragaer
07.03.2019
06:06:10
в перле например /pattern/g

Alfred
07.03.2019
06:06:11
Добрый день!
Делаю курсач по базам на python.
Использую pyqt для доступа к базе.
Хочу применить кэширование изменений, но не смог найти в документации как это вызвать.
Есть ли возможность это сделать и как?

Aragaer
07.03.2019
06:06:16
по умолчанию этого флага нету

Vk
07.03.2019
06:06:53
самим регекс точно нельзя ограничить поиск первым результатом?

Aragaer
07.03.2019
06:08:21
ну ты можешь извратиться. Но не надо

Марк
07.03.2019
06:08:22

Aragaer
07.03.2019
06:08:25
нет
^.*?(паттерн).*$
растягиваем паттерн на всю строку, захватываем ровно одно вхождение

Марк
07.03.2019
06:09:11
Я в целом

Tishka17
07.03.2019
06:10:07
\d{1,3}%(?=.*$)
Не
Можно через negative lookbehind ещё

Vk
07.03.2019
06:12:46

Aragaer
07.03.2019
06:13:19
стоп
забудь об этом и никогда так не делай
я этот пример показал только чтобы сказать, что это делается в целом

Google

Vk
07.03.2019
06:14:30
Почему?
А еще. Оно не пашет, если строк много?

Aragaer
07.03.2019
06:14:56
потому что надо использовать флаги. И по умолчанию флагов нет.
Если строк много, то надо ставить дополнительный флаг ... ээ single line вроде

Tishka17
07.03.2019
06:15:13

Vk
07.03.2019
06:15:29

Tishka17
07.03.2019
06:15:47
Бед флагов никак

Aragaer
07.03.2019
06:15:52
мм.. не помню, какой из них включает чтобы ^ и $ матчились на внутренних ньюлайнах

Tishka17
07.03.2019
06:16:07
Без флагов ты не сможешь например . матчить перенос строки

Aragaer
07.03.2019
06:16:11
а какой из них включает чтобы . матчила ньюлайн

Vk
07.03.2019
06:16:15
Черт. Недопиленный регекс

Aragaer
07.03.2019
06:16:32
да, single line включает "точка матчит ньюлайн"

Tishka17
07.03.2019
06:16:41

Aragaer
07.03.2019
06:16:46
а multi line включает "анкоры матчат ньюлайны"

Tishka17
07.03.2019
06:17:18

Alfred
07.03.2019
06:17:39

Tishka17
07.03.2019
06:17:42

Alfred
07.03.2019
06:18:31

Google

Tishka17
07.03.2019
06:18:50
да
Ого. Первый раз вижу живого человека, кто его юзает
И зачем тебе понадобился кэш

gl3b
07.03.2019
06:19:44
есть DataFrame с несколькими columns, в одной из них числа имеют запятую вместо точек => определяет данные в ней как str. подскажите, пжл, как заменить запятые но точки только в одном столбце из всего датафрейма?

Tishka17
07.03.2019
06:19:57
И да, кэшируют не изменения, а наоборот данные, которые редко меняются

Alfred
07.03.2019
06:20:01

Tishka17
07.03.2019
06:20:09

Марк
07.03.2019
06:21:53
Кстати, не прошло и пары лет, как я, наконец, понял, нахера нужен repr. Смотрел-смотрел я на него, смотрел-сморел - и чушь какая-то мутная, стринга штоле мало?
А на днях отлаживал парсер - и хуякс! Да тут же как раз он и нужен!!!
Люблю такие моменты, когда долго не отстреливаешь, а потом "да это же очевидно!!!"

Admin
ERROR: S client not available

Tishka17
07.03.2019
06:22:12
да
На всякий случай: это десктопное приложение или сервер?

Alfred
07.03.2019
06:22:33

Shieldy
07.03.2019
06:22:55
Добро пожаловать, @rolexhero!
Не забудь ознакомиться с правилами чата: https://t.me/ru_python/802295!

Марк
07.03.2019
06:23:02

Tishka17
07.03.2019
06:23:54

Vladislav
07.03.2019
06:24:09
Лучшая музыка и путешествия
@travelbyrolenko

Tishka17
07.03.2019
06:24:24

Антон
07.03.2019
06:26:53
поясните дураку, pyqt платный или нет? Насколько я знаю qt платный для си

Tishka17
07.03.2019
06:27:18

Google

Антон
07.03.2019
06:27:42

Alfred
07.03.2019
06:28:11
Давай формулировку
Есть подобная работа, но использует zeoslib.
в Zquery есть свойство 'CachedUpdates'.
Как я понял из работы это что вроде кэширования изменений. Мне нужно подобную работу перенести c Delphi + zeoslib на python + pyqt.

Tishka17
07.03.2019
06:28:43

Антон
07.03.2019
06:29:19

Tishka17
07.03.2019
06:29:47
большое спасибо
и до кучи: Есть Qt for Python (он же PySide2), он LGPL, то есть как сам Qt и от атворов Qt


Марк
07.03.2019
06:29:53
Расскажи подробнее, почему repr, а str не хватило?
Парсер флоу с другого демона несколько месяцев назад выдал одну ошибку, мол, ключа нет. Я порылся по исходникам - все ключи ВРОДЕ БЫ должны быть. Ну и каждый раз, когда она, ошибка вываливалась, смотрел на нее и не знал, что делать. А на днях в чатике другом один крутой чувак глянул на ошибку, посмотрел исходники - и сказал, что такого не может быть, возможно парсер глючит. А я даже в мыслях такого не предполагал(там миллионы валидно обработанных событий). Начал разбираться. Задампил нормальное трафло и "невалидное". Выяснилось, что залетает CRLF в каких-то редчайших случаях, разбивая флоу(а парсер у меня ориентировался по пустым строкам). И тут то мне repr и пригодился.
А еще я доволен собой вплане, что не стал закрывать багу через уксепшны, хотя она настолько редкая, что можно было бы и забить. И в итоге оказалось, что ситуация гораздо хуже(ненадежный алгоритм парсинга)


Tishka17
07.03.2019
06:30:32
Парсер флоу с другого демона несколько месяцев назад выдал одну ошибку, мол, ключа нет. Я порылся по исходникам - все ключи ВРОДЕ БЫ должны быть. Ну и каждый раз, когда она, ошибка вываливалась, смотрел на нее и не знал, что делать. А на днях в чатике другом один крутой чувак глянул на ошибку, посмотрел исходники - и сказал, что такого не может быть, возможно парсер глючит. А я даже в мыслях такого не предполагал(там миллионы валидно обработанных событий). Начал разбираться. Задампил нормальное трафло и "невалидное". Выяснилось, что залетает CRLF в каких-то редчайших случаях, разбивая флоу(а парсер у меня ориентировался по пустым строкам). И тут то мне repr и пригодился.
А еще я доволен собой вплане, что не стал закрывать багу через уксепшны, хотя она настолько редкая, что можно было бы и забить. И в итоге оказалось, что ситуация гораздо хуже(ненадежный алгоритм парсинга)
эм, а почему именно repr, а не str?

Антон
07.03.2019
06:30:57

Марк
07.03.2019
06:31:06

Tishka17
07.03.2019
06:31:13

Марк
07.03.2019
06:31:48
Репр отображает как есть, а стр - шоб приятней было.

Tishka17
07.03.2019
06:31:58
неа
оби пишутся разработчиком как хочется
но да, str чтоб приятнее, но в целом тоже на усмотрение разработчика

Марк
07.03.2019
06:32:31
Ты не понял
я за str и repr без магических
Ток не занудствуйте. Суть я передал выше.

Tishka17
07.03.2019
06:33:19
ты для своего класса делал сейчас __repr__ или вызывал repr для чужого?