Python 在字符串中的任意位置匹配字符串,而不使用常规exp模块
我正在尝试匹配列表中的字符串。如果输入的字符串存在于执行搜索的字符串中的任何位置,我想返回Python 在字符串中的任意位置匹配字符串,而不使用常规exp模块,python,Python,我正在尝试匹配列表中的字符串。如果输入的字符串存在于执行搜索的字符串中的任何位置,我想返回True。我知道,它可以通过使用re.search实现,但我正在尝试在不使用正则表达式模块的情况下实现这一点。我试着做得尽可能简单 一个简单的例子可能是: drinks = ['cola_with_ice', 'icetea', 'lemonade', 'coffee'] if 'cola_with_ice' in drinks: print 'Requested drink or a varia
True
。我知道,它可以通过使用re.search
实现,但我正在尝试在不使用正则表达式模块的情况下实现这一点。我试着做得尽可能简单
一个简单的例子可能是:
drinks = ['cola_with_ice', 'icetea', 'lemonade', 'coffee']
if 'cola_with_ice' in drinks:
print 'Requested drink or a variant of it exists'
但是,我希望我的代码返回True
,例如,即使输入了“cola”:
if 'cola' in drinks:
...
我想知道这是否可能。我想,这是可以做到的,可能是通过使用通配符等…使用和:
使用和:
在您的示例中,
饮料
是一个列表,您正在列表中搜索字符串的子字符串,因此您必须在列表中循环(可能使用生成器表达式),如下所示:
drinks = ['cola_with_ice', 'icetea', 'lemonade', 'coffee']
if any('cola' in x for x in drinks):
# your code
在您的示例中,
饮料
是一个列表,您正在列表中搜索字符串的子字符串,因此您必须在列表中循环(可能使用生成器表达式),如下所示:
drinks = ['cola_with_ice', 'icetea', 'lemonade', 'coffee']
if any('cola' in x for x in drinks):
# your code
非常感谢。我必须使用生成器或迭代器表达式。。。我想可能是一个通配符或类似的东西就足够了…谢谢!我必须使用生成器或迭代器表达式。。。我想可能是一个通配符或者类似的东西就足够了。。。