Форум сайта python.su
Сегодня увидел пример выражения для выделения email из текста. Выражение такое:
r'([\w\.-]+)@([\w\.-]+)(\.[\w\.]+)
>>>pattern=r'([\w\.-]+)@([\w\.-]+)(\.[\w\.]+)' >>>re.search(pattern, 'test contact abc@test-group.ru.com').groups() ('abc', 'test-group.ru', '.com')
Офлайн
zzx1@R2D2Он ищет с конца, подбирает эту последнюю группу в кратчайшем виде, потом подбирает остальные группы. Если он там остальные группы не подберёт, он эту последнюю группу удленнит снова до кратчайшего вида и опять остальные группы начнёт подбирать. Но так как остальные группы совпали сразу, то он останавливается.
Как устроен механизм перебора строки
Отредактировано py.user.next (Апрель 18, 2017 01:37:55)
Офлайн