Форум сайта python.su
Я совсем недавно начал знакомство с python и наткнулся на регулярные выражения,
Прочитал - понял половину, мне все нужно объяснять на примерах для того чтобы материал усвоился нормально
Одна из непоняток это метасимвол * (greedy еще называется). Как его вообще использовать в программе, или хотя бы обозначить?
import re a=[r'a*b', 'abcdeaa'] #Как я себе это представляю
Отредактировано recidivist (Фев. 12, 2017 20:13:02)
Офлайн
recidivistСимвол * в регулярном выражении означает “совпадение с нулевым или большим количеством экземпляров”. Это значит, что группа перед звездочкой может встречаться в тексте любое количество раз подряд. Она может либо вообще отсутствовать, либо повторяться.
Одна из непоняток это метасимвол * (greedy еще называется). Как его вообще использовать в программе, или хотя бы обозначить?
>>> myRegex = re.compile(r'Bat(wo)*man') >>> mo1 = myRegex.search('The Adventures of Batman') >>> mo1.group() 'Batman' >>> mo2 = myRegex.search ('The Adventures of Batwoman') >>> mo2.group() 'Batwoman' >>> mo3 = myRegex.search('The Adventures of Batwowowowoman') >>> mo3.group() 'Batwowowowoman'
Отредактировано old_monty (Фев. 12, 2017 20:56:08)
Офлайн
Спасибо, помог
Офлайн