0

是否有任何内置的python原型来实现以下目标?有人可以建议如何完成以下任务..

我正在尝试获取所有数据并根据以块和或之间开头的行进行[ ]拆分\s+||-|-}

   {| border="1" cellspacing="1" cellpadding="1"
    |-
    Ignore block
    |-
    | [http://data/code SEC.12.0]
    | [file://data\\loc \\DATA\LOC]<br>
    |
    [file://\\ftp\\location \\ftp\\location] <br> <br> &

    |-
    | [http://data/code2 SEC.13.0]
    | [file://data\\loc2 \\DATA\LOC2]<br>]
    |
    [file://\\ftp\\location2 \\ftp\\location2] <br> <br> &
    |
    }

预期输出:-

SEC.12.0
\\DATA\LOC
\\ftp\\location


SEC.13.0
\\DATA\LOC2
\\ftp\\location2
4

1 回答 1

1

例如:

import re

data = []

for block in re.findall(r'(?s)\|-(.+?)(?=\|-|})', text):
    r = [x.split()[-1] for x in re.findall(r'\[(.+?)\]', block)]
    if r:
        data.append(r)

print data

结果:

[['SEC.12.0', '\\DATA\\LOC', '\\ftp\\location'], ['SEC.13.0', '\\DATA\\LOC2', '\\ftp\\location2']]
于 2013-03-24T23:21:52.647 回答