Size: a a a

Сообщество Python Программистов

2020 August 14

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Строим массив
[s, s[:-1], s[:-2], ...]
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
И по вертикали чекаем
источник

AT

Alexander T in Сообщество Python Программистов
Dimitrii Recruiter
всем привет, как регулярками убрать повторяющиеся символы в конце слова?
(\w+)\1+ матчит повторяющиеся буквы в конце, и в группе сами эти буквы
источник

DR

Dimitrii Recruiter in Сообщество Python Программистов
Alexander T
(\w+)\1+ матчит повторяющиеся буквы в конце, и в группе сами эти буквы
спасибо большое, буду пробовать
источник

K

KarmaBot in Сообщество Python Программистов
Dimitrii Recruiter
спасибо большое, буду пробовать
Вы увеличили карму Alexander T до 1255.24 (+1.0)
источник

I

ITFY forum informer in Сообщество Python Программистов
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Alexander T
(\w+)\1+ матчит повторяющиеся буквы в конце, и в группе сами эти буквы
А чо, так можно было?
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Что делает вот это \1 ?
источник

AT

Alexander T in Сообщество Python Программистов
Бензофуран Гетероцикл
А чо, так можно было?
да, в регулярках есть довольно много всего для работы с элементами.
можно разбирать даты на год месяц день и еще куча более сложной логики.
только с рекурсией и контекстозависимостью они плохо справляются.

\1 это то, что заматчила первая группа.
группам можно имена давать)
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Прикольно
источник

AT

Alexander T in Сообщество Python Программистов
сам матч-обжект в себе содержит все группы, если что.
источник

<Юрий> 👨‍🔬 Чеб... in Сообщество Python Программистов
Alexander T
да, в регулярках есть довольно много всего для работы с элементами.
можно разбирать даты на год месяц день и еще куча более сложной логики.
только с рекурсией и контекстозависимостью они плохо справляются.

\1 это то, что заматчила первая группа.
группам можно имена давать)
Вот то, что можно квантификатор к группе применить почему-то неожиданно, хотя вроде логично
источник

AT

Alexander T in Сообщество Python Программистов
<Юрий> 👨‍🔬 Чебышев
Вот то, что можно квантификатор к группе применить почему-то неожиданно, хотя вроде логично
к чему угодно можно, почему неожиданно-то)
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Language:
py3


Source:
import re
s = "xyzyzyz"
r = re.search(r"(\w+)\1+", s)
print(r)
if r: print(r.groups())


Result:
<_sre.SRE_Match object; span=(1, 7), match='yzyzyz'>
('yz',)
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Прикольно
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Правда до конца не выкупаю как это работает
источник

AT

Alexander T in Сообщество Python Программистов
к именованым группам как к словарю можно вроде, ну или почти, типа .group(key)
т.е. ты можешь грубо говоря регуляркой распарсить в словарь
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
И почему это работает
источник

AT

Alexander T in Сообщество Python Программистов
Бензофуран Гетероцикл
Правда до конца не выкупаю как это работает
(это называется capturing group)
она захватывает в себя символы какие-то, в данном случае \w+, любые буквы
и чтоб регулярка сматчилась, после этой группы должно быть еще 1 или больше такая же группа.

он видит слово xyyy, смотрит x, это \w, смотрит дальше - ТАКОЙ ЖЕ группы дальше нет, не берет.
идет дальше, берет y. смотрит - дальше есть 1+ такая же группа. он матчит yyy и в группе у тебя y
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Отсюда же и метч двух-трёх-дохрена повторяющихся
источник