Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python从列表中的变量搜索正则表达式_Python_Regex_List_Variables_Search - Fatal编程技术网

Python从列表中的变量搜索正则表达式

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

我有:

使用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 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