Skip to main content
 首页 » 编程设计

python之如何在 Python 代码中实现上述正则表达式

2024年10月24日31softidea

我有一个正则表达式 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))