
Igor
16.12.2016
05:42:15
минус атома в том, что он прилично грузит процессор (по крайней мере, при моем опыте)

Varya
16.12.2016
05:42:30
после цикла выводит все, как надо, но после кучи операций над словарем итоговый результат выходит неверный
А что покажет print(files) в ровно следующей после цикла строке?

Igor
16.12.2016
05:42:37
он достаточно полпуярен, есть все нужное (опять же, лично для меня), но меня смущает перебор с CPU usage

Google

Johnnie
16.12.2016
05:43:50

Amaro
16.12.2016
05:44:05

Varya
16.12.2016
05:45:20
да не ругайтесь вы. Когда values стали множеством, результат стал нормальным, вот я и думала, что причина в этом. Извините.

Amaro
16.12.2016
05:45:38
А разница в том, что из одного куска кода получается список, а из другого - множество. И обрабатываются они кучей операций по-разному.
Разные объекты с разным поведением.

Varya
16.12.2016
05:46:37
я поняла. не углядела, поторопилась.

Johnnie
16.12.2016
05:52:10

Varya
16.12.2016
05:54:59
отладка и показала странную картину на этапе заполнения словаря. просто я не в установленном питоне все это делала, а в визуализаторе.
а вообще отладка в помощь, чтобы понять на каком этапе что-то пошло не так

Johnnie
16.12.2016
05:56:18
визуализаторе?

Varya
16.12.2016
06:01:00
да, на одном из сайтов, где я изучаю питон, есть визуализатор. там есть форма для ввода данных, форма для кода, форма для вывода. а справа можно пошагово наблюдать что и как выполняет программа. скрины оттуда.

Johnnie
16.12.2016
06:10:19
женщина-загадка

Google

Roman
16.12.2016
06:30:31
чет рофлю

Johnnie
16.12.2016
06:42:36
чет туплю
есть номера пунктов вида 1.1 и 1.1.1
первое число [1..9], второе [1..99], третье [1..99]
первое может быть может не быть
[\d\.]?\d{1,2}\.\d{1,2}\.\s
почему эта регулярка не работает?
[\d\.]? без вот этого находит всякие 1.1.
а из 2.1.3 например берет только .1.3.

Amaro
16.12.2016
06:45:11
? на * поменяй
? Это ноль или один

Johnnie
16.12.2016
06:45:36
это же 0 or more
ну, мне так и надо
либо 1.1.1 либо 1.1

Amaro
16.12.2016
06:46:11
1. Это джва
Не один ;)

Dmitriy
16.12.2016
06:47:10

Johnnie
16.12.2016
06:47:49
1.2.3 это 1 раздел, 2 пункт, 3 подпункт
1.2 это 1 раздел, 2 пункт
надо оба этих случая ловить
я хотел это сделать через "первая цифра с точкой" может быть а может не быть

Google

Johnnie
16.12.2016
06:48:41
раздел от 1 до 9, пункты и подпункты от 1 до 99

Amaro
16.12.2016
06:48:49
Тогда другие скобки надо
Не квадратные
В квадратных и с вопросом получается одна цифра или точка или ничего

Johnnie
16.12.2016
06:50:31
(\d\.)?\d{1,2}\.\d{1,2}\.\s
так находит, но выделяет в Group 1 2. для 2.1.3.
или это пофигу?
https://regex101.com/ я здесь проверяю

Dmitriy
16.12.2016
06:51:30
https://regex101.com/r/IHwxYi/1

Johnnie
16.12.2016
06:52:06
01.10.2011 г.

Johnnie
16.12.2016
06:52:18
Match 1
Full match 303-310 1.10.20
Group 1. 307-310 .20
а пункт 1.1. наоборот не захватил)

Dmitriy
16.12.2016
06:53:47

Johnnie
16.12.2016
06:53:59
мой косяк
пункты с точкой на конце

Dmitriy
16.12.2016
06:54:30
если точка должна - вынеси из скобок
решение с датами - добавь разделители
\b\d{1}\.\d{1,2}(\.\d{1,2})?\b например

Google

Johnnie
16.12.2016
06:58:57
и группа в начале, а не в конце

Dmitriy
16.12.2016
07:00:11

Johnnie
16.12.2016
07:01:16
[abc]+ значит любой символ из a, b, c встречается 1 раз и более
а (abc)+ значит 'abc' встречается 1 раз и более
верно?
я почему-то думал что круглые скобки нужны только тогда, когда нужно по частям разобрать

Dmitriy
16.12.2016
07:02:24

Admin
ERROR: S client not available

Johnnie
16.12.2016
07:02:35
все спасибо тогда, понятно
неправильно думал :)
только вот это (\d\.)?\d{1,2}\.\d{1,2}\.\s в питоне не взлетело с .findall, а вот так взлетело \d?\.?\d{1,2}\.\d{1,2}\.\s
еще и телеграм сломал

Igor
16.12.2016
07:26:31
In [4]: re.findall(r'(\d{1,2}?\.?\d{1,2}\.\d{1,2}\.\s)', '1.2.3. Hello')
Out[4]: ['1.2.3. ']
In [5]: re.findall(r'((\d{1,2}\.)?\d{1,2}\.\d{1,2}\.\s)', '1.2.3. Hello')
Out[5]: [('1.2.3. ', '1.')]

Johnnie
16.12.2016
07:28:00
блин, вот этого и боялся) нафига мне этот '1.'

Igor
16.12.2016
07:29:19
ну можно .search или .match и потом .groups()[0]

Rita
16.12.2016
07:29:29
In [4]: re.findall(r'(\d{1,2}?\.?\d{1,2}\.\d{1,2}\.\s)', '1.2.3. Hello')
Out[4]: ['1.2.3. ']
In [5]: re.findall(r'((\d{1,2}\.)?\d{1,2}\.\d{1,2}\.\s)', '1.2.3. Hello')
Out[5]: [('1.2.3. ', '1.')]
Это че, блин, такое!?

Igor
16.12.2016
07:29:34

Rita
16.12.2016
07:29:42
Это для питона?

Google

Johnnie
16.12.2016
07:30:00
я думал она щас будет ругать за плохие регулярки :(

Igor
16.12.2016
07:30:02
что "это для питона"?
это питон, да. модуль re. регулярные выражения.

Rita
16.12.2016
07:30:06
Выглядит страшно и непонятно

Dmitriy
16.12.2016
07:30:11
https://www.youtube.com/watch?v=H0anBADA5pc

Igor
16.12.2016
07:30:22

Rita
16.12.2016
07:30:43
Я ни разу не видела таких монстров

Igor
16.12.2016
07:31:40
это не монстр

Johnnie
16.12.2016
07:32:10
In [4]: re.findall(r'(\d{1,2}?\.?\d{1,2}\.\d{1,2}\.\s)', '1.2.3. Hello')
Out[4]: ['1.2.3. ']
In [5]: re.findall(r'((\d{1,2}\.)?\d{1,2}\.\d{1,2}\.\s)', '1.2.3. Hello')
Out[5]: [('1.2.3. ', '1.')]
pick_out_clases_exp = r'((\d?\.)?\d{1,2}\.\d{1,2}\.\s+\w*)'
clauses = re.findall(pick_out_clases_exp, text, flags=re.MULTILINE)
TypeError: expected string or bytes-like object
чейта?

Igor
16.12.2016
07:33:21
чейта?
хз, у тебя точно text - строка или b?
и че за питон?

Johnnie
16.12.2016
07:34:44
text = get_text()
print(type(text))

Dmitriy
16.12.2016
07:34:47
В 3 вроде дургое сообщение на байтовые строки

Johnnie
16.12.2016
07:34:48
<class 'str'>
[Finished in 0.3s]
питон 3.5.2
винда :(
это он так ругается когда регулярку заворачиваю в скобки

Max
16.12.2016
07:35:47

Johnnie
16.12.2016
07:36:56
def get_text():
return """1.1. test {one} asdsad {oneoneone}
1.2. jwioqejqoiwjekwqejsalkjdijwqdoijds f {two} {two two}"""
тут я тоже не вижу подвоха
Эта группа больше не существует