gpt4 book ai didi

Python通配符匹配

转载 作者:太空狗 更新时间:2023-10-30 03:06:13 26 4
gpt4 key购买 nike

我有一个 python 脚本,它使用如下模式获取输入:1** 然后在之后接受多个输入,如 100、110、011 等。我需要测试估算的数据是否与模式匹配,* 可以代表 1 或 0。执行此操作的最佳方法是什么?我是 Python 的新手,所以解释会很有帮助。

更新:添加了输入和输出示例

正确输入输出示例:

输入:**1(图案)001、101、000输出:001、101

最佳答案

我建议使用输入字符串和 replace 生成一个简单的正则表达式:

>>> '1**0*'.replace('*', '[01]')
'1[01][01]0[01]'

现在可以以任何你想要的方式使用它了:

>>> import re
>>> pattern = '1**0*'.replace('*', '[01]')
>>> bool(re.match(pattern, '00000'))
False
>>> bool(re.match(pattern, '10000'))
True

如果您不熟悉正则表达式,您可能需要阅读 tutorial或两个。但基本思想是括号之间的任何一个字符都是允许的。因此,[01] 匹配 1 或 0,正如您在问题中所要求的那样。

关于Python通配符匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9151584/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com