题解 | #字符串通配符#

字符串通配符

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 广东
666
点赞
送花
回复
分享
发布于 2022-03-09 22:05
蔚来
校招火热招聘中
官网直投
.replace('.','\.')为什么要加这一串,不加一样能通过
点赞
送花
回复
分享
发布于 2022-04-12 14:56
大佬经验老道啊
点赞
送花
回复
分享
发布于 2022-08-04 11:55
6啊
点赞
送花
回复
分享
发布于 2023-10-14 18:03 广东
6
点赞
送花
回复
分享
发布于 04-23 22:12 浙江

相关推荐

29 10 评论
分享
牛客网
牛客企业服务