Python 正则表达式 re.match() 和 re.search() 方法

正文

re.match() 方法

调用方法:

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

用法说明:
该函数在字符串的起始位置处进行匹配,若匹配到则返回该值,若没有匹配到,则返回None。可以匹配到,但是不在字符串的起始位置,仍旧会返回None。代码如下:

示例一

import re

str1 = "I want to be a scientist"
pattern = "I"
result = re.match(pattern, str1)
print(result)
"""
result:
<re.Match object; span=(0, 1), match='I'>
"""

可以看到,我们成功地在字符串起始位置处匹配到了字符I

示例二

import re

str1 = "I want to be a scientist"
pattern = "to"
result = re.match(pattern, str1)
print(result)
"""
result:
None
"""

当我们把pattern换为to时,即使需要被匹配的字符串中含有to,但是有于to并不处于被匹配字符串的起始位置,因此匹配不到,所以返回值为None

re.search()

调用方法:

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

用法说明:
扫描整个 字符串,找到匹配样式的第一个位置,并返回一个相应的 匹配对象。如果没有匹配,就返回一个None。 注意这和找到一个零长度匹配是不同的。

示例一

import re

str1 = "I want to be a scientist"
pattern = "to"
result = re.search(pattern, str1)
print(result)
"""
reuslt:
<re.Match object; span=(7, 9), match='to'>
"""

可以看到,之前我们使用re.match()函数时没有能够匹配到to,当我们使用re.search()函数时我们成功地匹配到了字符to。可以说,re.search()函数的功能是包含re.match()函数的。因此在实际应用时,推荐使用re.search()函数。

示例二

import re

str1 = "I am I, I am the colorful firework in the sky"
pattern = "I"
result = re.search(pattern, str1)
print(result)
"""
result:
<re.Match object; span=(0, 1), match='I'>
"""

当我们匹配字符I时,会匹配到从左向右的第一个字符对象I。这与re.serach()函数的用法说明一致。

如果大家觉得有用,就点个赞让更多的人看到吧~

  • 9
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

勤奋的大熊猫

你的鼓励将是我写作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值