Python正则表达式ma = re.match(r'\d$','09') 这样不对呢

在python的正则表达式中例题中pattern = re.compile(r'\d+') r'\d+'是什么意思呢?~

r的意思是不转义,即\表示原样的\。否则有可能被视图按\d为一个字符解析转义。

re.match是从字符串开头进行匹配,re.search可以在字符串任何位置匹配
import re

find=re.match(r"world$","hello world")
print(find)
没有匹配,结果是None
find=re.search(r"world$","hello world")
print(find)
匹配,返回一个MatchObject对象

你的正则翻译过来就是匹配长度为一个字符的数字,所以是不对的,

match是从头开始,$是结尾标示,如果匹配1个或以上字符使用+

>>> re.match(r'\d+$','09').group()
'09'
>>> re.match(r'\d+','09').group()
'09'
>>> re.match(r'\d','09').group()
'0'
>>> re.search(r'\d$','09').group()
'9'


\d 只能匹配一个, 要匹配玩用
ma = re.match(r'\d+$','09')

我一般这样用
ma = re.search(r'\d+$','09')

匹配一个数字

IT评价网,数码产品家用电器电子设备等点评来自于网友使用感受交流,不对其内容作任何保证

联系反馈
Copyright© IT评价网