python正则表达式
1.re.match(pattern,string,flags=0)
参数 | 描述 |
pattern | 匹配正则表达式 |
string– | 要匹配的字符串– |
flags– | 匹配方式:是否大小写,多行匹配– |
re.match().span() 匹配字符串在字符中对应的位置
2.re.search(pattern,string,flags=0)
参数 | 描述 |
pattern | 匹配正则表达式 |
string– | 要匹配的字符串– |
flags– | 匹配方式:是否大小写,多行匹配– |
3.re.match 与re.search区别
re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None,而re.search匹配整个字符串,直到找到一个匹配。
4.检索和替换
re.sub(pattern,rep1,string,count=0,flags=0)
参数 | 描述 |
pattern | 匹配正则表达式 |
– | – |
repl | 替换的字符串 |
– | – |
string– | 要被查找替换的原始字符串– |
count– | 模式匹配后替换的最大次数– |
5.re.complie函数
complie函数用于编译出正则表达式,生成一个正则表达式对象
实例:
>>>import re >>> pattern = re.compile(r'\d+') # 用于匹配至少一个数字 >>> m = pattern.match('one12twothree34four') # 查找头部,没有匹配 >>> print m None >>> m = pattern.match('one12twothree34four', 2, 10) # 从'e'的位置开始匹配,没有匹配 >>> print m None >>> m = pattern.match('one12twothree34four', 3, 10) # 从'1'的位置开始匹配,正好匹配 >>> print m # 返回一个 Match 对象 <_sre.SRE_Match object at 0x10a42aac0> >>> m.group(0) # 可省略 0 '12' >>> m.start(0) # 可省略 0 3 >>> m.end(0) # 可省略 0 5 >>> m.span(0) # 可省略 0 (3, 5)
6.findall和split
match和search是匹配一次,findall匹配所有
split方法按照能够匹配到的子串将字符串分割后返回列表
7.正则表达模式