Python如何判断正则表达式是否匹配成功
想知道这个正则表示式有没有匹配成功有没有办法importres=re.match("\d","abc")printsifs=='None':print1else:prin...
想知道 这个正则表示式有没有匹配成功 有没有办法
import re
s= re.match("\d","abc")
print s
if s=='None':
print 1
else:
print 2
输出结果为2
你们说的不对啊 展开
import re
s= re.match("\d","abc")
print s
if s=='None':
print 1
else:
print 2
输出结果为2
你们说的不对啊 展开
展开全部
提问者写的程序,逻辑是正确的,需要更改如下:
import re
s= re.match("\d","abc")
print s,type(s)
if str(s)=='None':
print 1
else:
print 2
第四行,提问者是想控制s是否是空,但是通过第三行的type(s)可以看得出来,s的类型和==号后面的类型本身就是不匹配的,所以肯定不会运行第五行的内容;
修改如下,将第四行的s改为:str(s),转化为字符串,这样才可以比较。
展开全部
直接匹配就行,匹配不成功,会返回None,成功则返回成功的匹配对象。
如:
if pat.match(‘a’)
print ‘match’
如果匹配了'a',则会输出match,否则if 条件不成立,也就什么都不输出。
你不要用=='None', None本来就是False
直接
if s:
print 1 #匹配成功
else:
print 2 #匹配失败
如:
if pat.match(‘a’)
print ‘match’
如果匹配了'a',则会输出match,否则if 条件不成立,也就什么都不输出。
你不要用=='None', None本来就是False
直接
if s:
print 1 #匹配成功
else:
print 2 #匹配失败
追问
输出结果还是2
追答
是2就对了啊,
re.match("\d","abc"),匹配本身就是不成功。
"\d" 匹配不上"abc",
哈哈哈。。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
t=re.search(r'a','bcab')
if t:
return t.group()
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询