题解 | #字符串通配符#

字符串通配符

http://www.nowcoder.com/practice/43072d50a6eb44d2a6c816a283b02036

这题难点我觉得在理解题目到底想让你干什么上面!!

理解了以后用正则其实非常简单

这道题问的是上面那个字符串能不能完全代表下面那个字符串!!

这就是为什么例子里面z不能匹配zz的原因,因为z只能代表一个字符,而zz有俩字符。所以能代表zz的有z*,z?,zz,??,,****,***...。

import re
while 1:
    try:
        a = input().lower()
        b = input().lower()
        a = a.replace('.','\.').replace('?','[a-z0-9]{1}').replace('*',"[a-z0-9]*")
        if b in re.findall(a,b):#这题问的是上面一个字符串能不能完全代表下面一个字符串
            print('true')
        else:
            print('false')
    except:
        break
全部评论
为什么写成 re.search('^$','')的形式速度非常慢?加上^和$速度就非常慢了。
1 回复 分享
发布于 2022-11-09 12:01 广东
6
点赞 回复 分享
发布于 2024-04-23 22:12 浙江
6啊
点赞 回复 分享
发布于 2023-10-14 18:03 广东
大佬经验老道啊
点赞 回复 分享
发布于 2022-08-04 11:55
.replace('.','\.')为什么要加这一串,不加一样能通过
点赞 回复 分享
发布于 2022-04-12 14:56
666
点赞 回复 分享
发布于 2022-03-09 22:05

相关推荐

不愿透露姓名的神秘牛友
10-04 05:12
瑞雪兆丰年_:可以贴个超级大的校徽,以防HR眼拙
点赞 评论 收藏
分享
评论
47
12
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务