1. 程式人生 > >python 基礎 8.4 re的 spilt() findall() finditer() 方法

python 基礎 8.4 re的 spilt() findall() finditer() 方法

div 使用 for split() findall ace import wrap msu

#/usr/bin/python #coding=utf-8 #@Time :2017/11/18 18:24 #@Auther :liuzhenchuan #@File :re的split findall finditer 方法.py import re #re.compile 將正則表達式編譯成對象 #split() 方法,是分割 p = re.compile(r‘\d+‘) a_str = ‘one1two2three3foure4‘ #把p的正則當成分隔符,把字符串用p進行割,最後返回 print ‘###‘*5 + ‘以數字\d進行分隔‘ + ‘###‘*5 print p.split(‘one1two2three3foure4‘)
#使用正則匹配分隔字符串 print p.split(a_str) print ‘###‘*30 + \n #以空白字符進行分隔 print‘###‘*5 + ‘以空白字符\s進行分隔‘ + ‘###‘*5 m = re.compile(r‘\s+‘) print m.split(‘123 456 7890 890‘) # #以非單詞進行分隔 print ‘###‘*5 + ‘以非單詞串進行分隔‘ + ‘###‘*5 n = re.compile(r‘\W+‘) print n.split(‘1234**4567P890**op‘) print ‘###‘*30 + \n ##正則對象findall() ,來查找符合對象的字符串.以列表的形式返回
print ‘查找符合純數字的‘ p = re.compile(r‘\d+‘) a_str = ‘one1two2three3foure4‘ print p.findall(a_str) print ‘###‘*5 + \n print ‘finditer()方法‘ #finditer()方法,finditer可叠代的對象,可叠代的方法比findall方法好 for i in p.finditer(a_str): print i.group() >>> ###############以數字\d進行分隔############### [‘one‘, ‘two‘, ‘three‘, ‘foure‘, ‘‘]
[‘one‘, ‘two‘, ‘three‘, ‘foure‘, ‘‘] ########################################################################################## ###############以空白字符\s進行分隔############### [‘123‘, ‘456‘, ‘7890‘, ‘890‘] ###############以非單詞串進行分隔############### [‘1234‘, ‘4567P890‘, ‘op‘] ########################################################################################## 查找符合純數字的 [‘1‘, ‘2‘, ‘3‘, ‘4‘] ############### finditer()方法 1 2 3 4

python 基礎 8.4 re的 spilt() findall() finditer() 方法