我不知道这有什么问题。我有一份物品清单:
int=['xe-0/1/1', 'xe-0/1/2', 'xe-0/1/3', 'xe-0/2/2', 'xe-0/2/3', 'xe-0/3/1', 'xe-1/0/2', 'xe-1/0/3', 'xe-1/1/1', 'xe-1/1/2', 'xe-1/2/2', 'xe-1/2/3', 'xe-1/3/1', 'xe-1/3/2', 'xe-2/0/2', 'xe-2/0/3', 'xe-2/1/1', 'xe-2/1/2', 'xe-2/1/3', 'xe-2/2/2', 'xe-2/2/3', 'xe-2/3/1', 'xe-2/3/2', 'xe-3/0/2', 'xe-3/0/3', 'xe-3/1/2', 'xe-3/1/3', 'xe-3/2/1', 'xe-3/2/2', 'xe-3/2/3', 'xe-3/3/2', 'xe-4/0/2', 'xe-4/0/3', 'xe-4/1/2', 'xe-4/1/3', 'xe-4/2/2', 'xe-4/2/3', 'xe-4/3/2', 'xe-4/3/3', 'xe-7/3/3', 'xe-8/0/7', 'xe-8/3/6', 'xe-8/3/7', 'xe-9/0/5', 'xe-9/0/6', 'xe-9/0/7', 'xe-9/1/5', 'xe-9/1/6', 'xe-10/0/4', 'xe-10/0/6', 'xe-10/0/7', 'xe-10/1/6', 'xe-10/2/4', 'xe-10/2/6', 'xe-10/2/7', 'xe-10/3/7', 'xe-11/0/6', 'xe-11/0/7', 'xe-11/1/6', 'xe-11/1/7', 'xe-11/2/6', 'xe-11/2/7', 'xe-11/3/6', 'xe-11/3/7']我想迭代这个列表,得到两个新的列表,其中只包含我在regex中定义的匹配项。
for i in range(2):
regex="xe-%s/1/*" %i
print regex
[x for x in int if re.match(r'regex',x)]结果: xe-0/1/* [] xe-1/1/* []
但这似乎不起作用。
发布于 2017-07-20 17:04:24
我相信您希望将表达式存储在regex中,而不是字符串“regex”中:
regex="xe-%s/1/*" %i
[x for x in numbers if re.match(regex,x)]注意,变量名int必须更改为其他名称,在本例中是numbers,因为int是内置的函数,在运行代码时会抛出一个错误。
https://stackoverflow.com/questions/45220957
复制相似问题