Python从列表中的变量搜索正则表达式
我有: 使用regex我要搜索并返回:Python从列表中的变量搜索正则表达式,python,regex,list,variables,search,Python,Regex,List,Variables,Search,我有: 使用regex我要搜索并返回: data = [[u'text'],[u'element'],[u'text00']] pattern = text pattern2 = EL pattern3 = 00 我想你要找的是: 我想你要找的是: 或者,更简洁地说: import re data = [[u'text'], [u'element'], [u'text00']] patterns = [u'text', u'EL', u'00'] results = [] for patte
data = [[u'text'],[u'element'],[u'text00']]
pattern = text
pattern2 = EL
pattern3 = 00
我想你要找的是:
我想你要找的是: 或者,更简洁地说:
import re
data = [[u'text'], [u'element'], [u'text00']]
patterns = [u'text', u'EL', u'00']
results = []
for pattern in patterns:
results.append([x[0] for x in data if re.search(pattern, x[0], flags=re.I)])
print results
或者,更简洁地说:
import re
data = [[u'text'], [u'element'], [u'text00']]
patterns = [u'text', u'EL', u'00']
results = []
for pattern in patterns:
results.append([x[0] for x in data if re.search(pattern, x[0], flags=re.I)])
print results
你在期待什么?找到模式。如果用户输入“red”,并且列表为[“red”、“lightred”、“橙红色”、“blue”],那么它应该返回true。这就是数据中的If模式:已经存在的情况returns@Haidro我认为OP希望将“红色”、“浅红色”、“橙红色”返回给
red
@SantoshKumar hm,我也这么认为。奇怪的是,示例结构中已经包含了red
,您希望看到什么?找到模式。如果用户输入“red”,并且列表为[“red”、“lightred”、“橙红色”、“blue”],那么它应该返回true。这就是数据中的If模式:已经存在的情况returns@Haidro我认为OP希望将“红色”、“浅红色”、“橙红色”返回给red
@SantoshKumar hm,我也这么认为。奇怪的是,示例结构在itOK中已经有了red
,这很有用,但是我得到:TypeError:预期的字符串或缓冲区。请注意,L将是这样一个列表:[[u'red']],[u'blue'],[[u'lightred']],关键字是userinput@rebHelium这是一个非常奇怪的列表。使用代码,展平列表,然后使用我的代码OK,这很有用,但是我得到:TypeError:预期的字符串或缓冲区。请注意,L将是这样一个列表:[[u'red']],[u'blue'],[[u'lightred']],关键字是userinput@rebHelium这是一个非常奇怪的列表。使用代码,将列表展平,然后使用我的代码是的,成功了,tks!是的,成功了,tks!
import re
data = [[u'text'], [u'element'], [u'text00']]
patterns = [u'text', u'EL', u'00']
results = []
for pattern in patterns:
results.append([x[0] for x in data if re.search(pattern, x[0], flags=re.I)])
print results
import re
data = [[u'text'], [u'element'], [u'text00']]
patterns = [u'text', u'EL', u'00']
results = [[x[0] for x in data if re.search(pattern, x[0], flags=re.I)] for pattern in patterns]
print results