python的正则表达式

正则表达式

    • group(num)与groups(num)
    • re.match函数
    • re.search函数
    • re.match与re.search的区别
    • 检索和替换
      • re.sub函数
      • re.compile 函数
      • findall函数

python的正则表达式_第1张图片
python的正则表达式_第2张图片

参数 描述
pattern 匹配的正则表达式
string 字符串
flags 标志位,匹配方式,是否区分大小写

group(num)与groups(num)

匹配对象获取匹配表达式.

匹配对象方法 描述
group(num=0) 匹配的整个表达式字符串一次可以输入多个组号,返回一个包含那些组所对应值的元组.
groups 返回一个包含所有小组字符串的元组,从 1 到 所含的小组号.

re.match函数

re.match(pattern, string, flags=0)

匹配成功re.match方法返回一个匹配对象,否者返回None.

import re
s="yma16"
result=re.match("yma16",s)#匹配yma16
print(result)

python的正则表达式_第3张图片
span=(0,5)位置0-4

re.search函数

re.search(pattern, string, flags=0)

re.search 扫描整个字符串并返回第一个成功的匹配.

import re
s="yma16"
result=re.search("ma",s)#查找ma
print(result)

python的正则表达式_第4张图片

re.match与re.search的区别

re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None;而re.search匹配整个字符串,直到找到一个匹配.

检索和替换

re.sub函数

Python 的 re 模块提供了re.sub用于替换字符串中的匹配项

re.sub(pattern, repl, string, count=0, flags=0)

参数:

  • pattern : 正则中的模式字符串。
  • repl : 替换的字符串,也可为一个函数。
  • string : 要被查找替换的原始字符串。
  • count : 模式匹配后替换的最大次数,默认 0 表示替换所有的匹配。
import re
s="yma16"
result=re.sub(s,"yongma16",s)#替换成yongma16
print(result)

python的正则表达式_第5张图片

re.compile 函数

re.compile(pattern, flags)

compile 函数用于编译正则表达式,生成一个正则表达式( Pattern )对象,供 match() 和 search() 这两个函数使用

import re
s="yma16"
pattern=re.compile('yma16')#匹配yma16
result=pattern.match(s)
print(result)

python的正则表达式_第6张图片

findall函数

findall(string, pos, endpos)

在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表

import re
s="yma16 yma16 yma16"
pattern=re.compile('ma')#查找ma
result=pattern.findall(s)
print(result)

python的正则表达式_第7张图片

你可能感兴趣的:(python,正则表达式)