python基础(5)--正则表达式

时间:2021-08-28 18:40:43

In [8]: import re          #加载正则表达式模块

In [9]: url = 'www.hello.com

In [10]: pat = re.compile(r'he..')     #定义匹配的模式

In [11]: mat = pat.search(url)      #将定义的模式用于url搜索   ,search只搜索匹配第一次出现的,findall搜索出全部匹配的返回为列表。

In [12]: mat.group()           #返回搜索的内容,mat.groups()是返回的列表,当出现多次时候就会出现列表 

Out[12]: 'hell'

In [14]: mat.pos               #属性,搜索字符串的起始位置(从字符串的哪个位置开始搜索的)

Out[14]: 0

In [15]: mat.endpos     #搜索字符串的结束位置(从字符串的哪个位置结束搜索的)

Out[15]: 15

In [16]: mat.start             #这个是函数

Out[16]: <function start>

In [17]: mat.start()               #匹配到的起始位置

Out[17]: 4

In [18]: mat.end()                  #匹配到的结束位置

Out[18]: 8

In [19]: re.findall('m',url)        #返回多次匹配到的结果,形成列表

Out[19]: ['m', 'm']


分割 re.split()

In [38]: f1=open('/etc/passwd','r')

In [39]: re.split(':',f1.read)        #将冒号替换为分隔符

f1.read       f1.readinto   f1.readline   f1.readlines  

In [39]: re.split(':',f1.readli)

f1.readline   f1.readlines  

In [39]: re.split(':',f1.readline())

Out[39]: ['root', 'x', '0', '0', 'root', '/root', '/bin/bash\n']

原文件内容: root:x:0:0:root:/root:/bin/bash

查找替换

In [42]: re.sub('he','HE',url)

Out[42]: 'www.HEllo.com'