Page 58 - 6734
P. 58

# функції об'єктів регулярного виразу мають параметри
           pos і endpos:
           mo=po.search(s,pos=7,endpos=10) # знаходить у s першу
           відповідність шаблону (шукає з 7 по 10)
           print(mo.group(0), mo.span()) # вміст знайденого
           (групи), початок і кінець
           #o (7, 8)

           mo=re.search('(H).*(W)', s) # пошук за шаблоном із
           групами
           print(mo.groups()) # усі групи
           #('H', 'W')
           print(mo.group(0)) # група 0 (рядок, що відповідає
           повному шаблону)
           #Hello W
           print(mo.group(1)) # група 1 (рядок, що відповідає H)
           #H
           print(mo.group(2)) # група 2 (рядок, що відповідає W)
           #W
           print(mo.group(1,2))
           #('H', 'W')
           print(mo.start(),mo.end()) # початок і кінець групи 0
           #0 7
           print(mo.start(2),mo.end(2)) # початок і кінець групи
           2
           #6 7
           print(mo.span(2)) # або
           #(6, 7)
           print(mo.expand(r'\1ello \2orld')) # підставляє вміст
           груп 1 і 2
           #Hello World

           mo=re.search('(?P<name1>H).*(?P<name2>W)', s) # пошук
           за шаблоном з іменованими групами
           print(mo.groupdict()) # словник груп

                                          57
   53   54   55   56   57   58   59   60   61   62   63