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
你们说的不对啊
展开
 我来答
yycgis
推荐于2018-02-27 · TA获得超过8267个赞
知道大有可为答主
回答量:6831
采纳率:63%
帮助的人:1592万
展开全部

提问者写的程序,逻辑是正确的,需要更改如下:

import re
s= re.match("\d","abc")
print s,type(s)
if str(s)=='None':
    print 1
else:
    print 2
  1. 第四行,提问者是想控制s是否是空,但是通过第三行的type(s)可以看得出来,s的类型和==号后面的类型本身就是不匹配的,所以肯定不会运行第五行的内容;

  2. 修改如下,将第四行的s改为:str(s),转化为字符串,这样才可以比较。

554817608
推荐于2017-11-26 · TA获得超过275个赞
知道小有建树答主
回答量:193
采纳率:0%
帮助的人:224万
展开全部
直接匹配就行,匹配不成功,会返回None,成功则返回成功的匹配对象。
如:
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",
哈哈哈。。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xiangnanscu
2013-12-13 · TA获得超过852个赞
知道小有建树答主
回答量:318
采纳率:0%
帮助的人:332万
展开全部
t=re.search(r'a','bcab')
if t:
    return t.group()
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式