Page 59 - 6734
P. 59

#{'name2': 'W', 'name1': 'H'}

           print(re.findall('o', s)) # усі відповідності, що не
           перекриваються
           #['o', 'o']

           for mo in re.finditer('o',s): # те саме, але ітератор
               print(mo.group(0))
           #o
           #o

           print(re.split(' ', s)) # розділює за шаблоном
           #['Hello', 'World']

           print(re.sub(' ','_',s)) # заміна за шаблоном
           #Hello_World
           print(re.subn(' ','_',s)) # або показувати кількість
           зроблених замін
           #('Hello_World', 1)

           print(re.sub(r'"(.*?)"',r'<a href="\g<1>">\g<1></a>',
           r'"dir\file.html"')) # заміна з використанням груп
           (\g<1>)
           #<a href="dir\file.html">dir\file.html</a>

           def repl(mo): # повертає новий рядок, яким замінює
           re.sub
               path=mo.group(1) # рядок знайденої групи
               return "["+path+"]"
           pattern=re.compile(u'<img src="(.*?)" />') # що
           заміняти
           print(re.sub(pattern, repl, u'***<img src="1.png"
           />***')) # замінити все
           #***[1.png]***

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