Python 正则表达式是什么?

"本文详细介绍了Python中的re.match()方法,强调它必须从字符串开头匹配的特性。通过实例展示了如何使用该方法进行字符串匹配,并讨论了匹配对象、group()和span()等方法的使用。同时,解释了单字符匹配的情况,如点号"."在正则表达式中的作用。文章最后通过示例说明了当起始位置匹配不成功时,re.match()将返回None。"
摘要由CSDN通过智能技术生成

re.match()必须从字符串开头匹配!match方法尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。主要参数如下:

re.match(pattern, string)
# pattern     匹配的正则表达式
# string      要匹配的字符串

匹配字符串 

举个例子

import re
a = re.match('test','testasdtest')
b = re.match('te','testasdtest')
c = re.match('t','testasdtest')
print(a)
print(b)
print(c)#返回一个匹配对象
print(a.group(0))
print(a.group())   #返回test,获取不到则报错
print(a.span())           #返回匹配结果的位置,左闭右开区间
print(re.match('test','atestasdtest'))  #返回None

输出:

<re.Match object; span=(0, 4), match='test'>
<re.Match object; span=(0, 2), match='te'>
<re.Match object; span=(0, 1), match='t'>
test
test
(0, 4)
None

re.match()方法返回一个匹配的对象,而不是匹配的内容。如果需要返回内容则需要调用group()。通过调用span()可以获得匹配结果的位置。而如果从起始位置开始没有匹配成功,即便其他部分包含需要匹配的内容,re.match()也会返回None。

单字符匹配 

以下字符,都匹配单个字符数据。且开头(从字符串0位置开始)没匹配到,即使字符串其他部分包含需要匹配的内容,.match也会返回none

匹配任意一个字符

使用几个点号就代表几个字符

import re
a = re.match('..','testasdtest')
print(a)
print(a.group())   #输出te
print(a.group(0))   #输出te
b = re.match('ab.','abtestasdtest')
c = re.match('test.','testasdtest')
print(b) #返回none,因为表达式是以固定的ab开头然后跟上通配符. 所以必须要先匹配上ab才会往后进行匹配
print(c)
print(b.group())
print(c.group())

 

输出:

<re.Match object; span=(0, 2), match='te'>
te
te
<re.Match object; span=(0, 3), match='abt'>
<re.Match object; span=(0, 5), match='testa'>
abt
testa

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值