2024-04-19 23:47:01 发布
网友
我有一个这样结构的文件:
create "layer01"; attr "False"; create "layer02"; other_stuff; create "layer03"; attr "False";
我已经有了一个['layer01', 'layer02', 'layer03']的列表,我需要检查它们中的哪一个缩进了attr "False"(总是这个名称)。有没有干净/聪明的方法
['layer01', 'layer02', 'layer03']
attr "False"
你可以用
^ create\s+"([^"]+)";\s+ attr\s+"([^"]+)";
如在
import re data = """ create "layer01"; attr "False"; create "layer02"; other_stuff; create "layer03"; attr "False"; """ rx = re.compile(r""" ^ create\s+"([^"]+)";\s+ attr\s+"([^"]+)"; """, re.MULTILINE | re.VERBOSE) layers = [layer.group(1) for layer in rx.finditer(data) if layer.group(2) == "False"] print(layers)
这就产生了
['layer01', 'layer03']
见a demo on regex101.com
你可以用
如在
这就产生了
见a demo on regex101.com
相关问题 更多 >
编程相关推荐