[转]正则表达式中re.match、re.search、re.findall的用法和区别

技术_编程语言 专栏收录该内容
128 篇文章 1 订阅

re.match 用法

re.match语法:re.match(pattern,string,flags=0)
pattern:表示正则表达式
string:要匹配的字符
flags:控制匹配的方式
**re.match匹配方式:**从字符起始位置匹配,若起始位置匹配不成功返回none。即只匹配起始位置

import re 
string='www.baidu.com'
pattern1='www'
pattern2='com'
m_match1=re.match(pattern1,string)
m_match2=re.match(pattern2,string)
print(m_match1)
print(m_match2)

 

#结果
<re.Match object; span=(0, 3), match='www'>
None

 

re.search用法

re.match 只能在起始位置匹配,而re.search可以扫描整个字符串并返回第一个成功的匹配

import re 
string='www.baidu.com'
pattern='com'
m_match1=re.match(pattern,string)
m_match2=re.search(pattern,string)
print(m_match1)
print(m_match2)

 

#结果
None
<re.Match object; span=(10, 13), match='com'>

 

re.findall 方法

上述两个都只能找到一个匹配结果,而findall可以找到所有满足匹配条件的结果,并以列表的形式返回

import re 
string='www.baidu.com,www.runoob.com,www.163.com'
pattern='www'
m_match1=re.match(pattern,string)
m_match2=re.search(pattern,string)
m_match3=re.findall(pattern,string)
print(m_match1)
print(m_match2)
print(m_match3)

 

#结果
<re.Match object; span=(0, 3), match='www'>
<re.Match object; span=(0, 3), match='www'>
['www', 'www', 'www']

 

三者的区别

在这里插入图片描述
#有错多多指教

 

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 程序猿惹谁了 设计师:白松林 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值