我有一个正则表达式 PROTO\s*\{(\n*\s*\w+,)+\n*\s*\} 来匹配如下所示的文本文件
PROTO {
product1,
product2,
product3,
product4,
product5,
product6,
}
SAVE_LOG: True
SUMMARY: True
如何使用上面提到的正则表达式来输出列表中的内容
['product1', 'product2', 'product3', 'product4', 'product5', 'product6']
请您参考如下方法:
这将得到你想要的数组:
import itertools
protos = re.findall(r'PROTO\s*\{(.*?)\}', data, flags=re.DOTALL)
lines = [re.findall(r'(\w+),', x) for x in protos]
products = list(itertools.chain.from_iterable(lines))
