我有一个其他人可以更改的字符串格式(只需说)

sample = f"This is a {pet} it has {number} legs"

我现在有两个字符串

a = "This is a dog it has 4 legs"
b = "This was a dog"

如何判断哪个字符串符合此sample格式?

推荐答案

我喜欢这些方法,但我找到了一个两行解决方案:


def pattern_match(input, pattern):
    regex = re.sub(r'{[^{]*}','(.*)', "^" + pattern + "$")
    if re.match(regex, input):
        print(f"'{input}' matches the pattern '{pattern}'")

pattern_match(a, sample)
pattern_match(b, sample)

输出

'This is a dog it has 4 legs' matches the pattern 'This is a {pet} it has {number} legs'

Python相关问答推荐

处理Gekko的非最优解

在用于Python的Bokeh包中设置按钮的样式

如何获得满足掩码条件的第一行的索引?

以极轴表示的行数表达式?

BeatuifulSoup从欧洲志愿者服务中获取数据和解析:一个从EU-Site收集机会的小铲子

多索引数据帧到标准索引DF

如何在Python中实现高效地支持字典和堆操作的缓存?

#将多条一维曲线计算成其二维数组(图像)表示

搜索结果未显示.我的URL选项卡显示:http://127.0.0.1:8000/search?";,而不是这个:";http://127.0.0.1:8000/search?q=name";

如何从多个词典中制作Pandas 数据帧?

对齐多个叠置多面Seborn CAT图

Pandas:根据系列词典中的值筛选行

如何从表示音频的Numy数组中提取持续时间和偏移量?

Python开发依赖项

如何在Polars DataFrame中使用`isin‘?

如何在Python中更改按钮的值(Flask )

为什么我在Django中收到错误&无法解包不可迭代的bool对象?

将共同的交付成果分解为单独的变量

在python的Pandas框架中完成两个条件时删除行

PythonRequests.get以不同的编码提供响应