Python 如何在多个cature中进行多个捕获

Python 如何在多个cature中进行多个捕获,python,regex,Python,Regex,我有以下资料: <Total Slots :> <8 (4-channel per CPU, 8 DIMM per CPU)> <Capacity :> <Maximum up to 1024GB RDIMM> <Memory Type :> <fd4 2933/2666/2400 /2133 RDIMM bbh567 2933/2666/2400

我有以下资料:

<Total Slots :>
        <8 (4-channel per CPU, 8 DIMM per CPU)>
    <Capacity :>
        <Maximum up to 1024GB RDIMM>
    <Memory Type :>
        <fd4 2933/2666/2400 /2133  RDIMM
        bbh567 2933/2666/2400 /2133  LRDIMM>
    <screen :>
        <720>
    <color :>
        <blue>
    <Memory Quality :>
        <Certain 3452345tte  READ
        Non certain 7JJEN232  LREAD>
如果我使用regex:
内存类型[\s\s]+?
,它将返回:

screen :
fd4 2933/2666/2400 /2133  RDIMM
        bbh567 2933/2666/2400 /2133  LRDIMM
如果我使用regex:
内存类型[\s\s]+?
,它将返回:

screen :
fd4 2933/2666/2400 /2133  RDIMM
        bbh567 2933/2666/2400 /2133  LRDIMM
我不明白如何创建一个正则表达式,它首先捕获
内存
标记,然后捕获中间数据


我正在使用Python。谢谢。

正则表达式可能不是您想要的。正则表达式用于解析普通语言,如tweet或报纸。但是,假设这里有很多关于输入和输出的信息,您可以使用以下内容:

r“(?P\d{4}/\d{4}/\d{4}\s/\d{4})\s+L?RDIMM|(某些\s(?P\w+)

使用不区分大小写的标志。这将在python中生成您可以提取的命名组。不确定是否存在语法分析器,或者是否要花时间编写语法分析器。

Regex可能不是正确的工具。