python 基礎 8.4 re的 spilt() findall() finditer() 方法
阿新 • • 發佈:2017-11-19
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() 方法