是否有任何内置的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]&nbsp;<br> <br> &
|-
| [http://data/code2 SEC.13.0]
| [file://data\\loc2 \\DATA\LOC2]<br>]
|
[file://\\ftp\\location2 \\ftp\\location2]&nbsp;<br> <br> &
|
}
预期输出: -
SEC.12.0
\\DATA\LOC
\\ftp\\location
SEC.13.0
\\DATA\LOC2
\\ftp\\location2
答案 0 :(得分: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']]