2013-03-24 30 views
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 
+0

那如何HTML逃逸中有多少是真實的 - 這是哪裏的數據來自哪裏?看起來像破損wikimarkup – Eric 2013-03-24 21:54:20

+0

@Eric - 文字來自維基,但代碼看起來完全一樣 – user2125827 2013-03-24 21:56:46

+0

我發現很難相信維基包含'"'字符。你在這裏的網頁上弄錯了錯誤的觀點。 – Eric 2013-03-24 22:09:21

回答

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']] 
+0

謝謝..那麼工作 – user2125827 2013-03-25 03:24:57