2016-03-22 2 views
0

У меня есть текст, который выглядит как:извлечение информации поименованных СУБЪЕКТОВ Python 2.7

"<ENAMEX TYPE="PERSON">Edward R. Kimmel</ENAMEX>, one of Admiral <ENAMEX TYPE="PERSON">Jack</ENAMEX>'s two surviving sons and..." 

Я хочу вывод, как следующее:

PERSON Эдвард Р. Kimmel

ПЕРСОНА Джек

Любая идея с использованием RegEX?

Большое спасибо

+0

Поскольку вы используете Python, то почему бы не использовать 'ElementTree' для разбора XML? – dawg

+0

Я рассмотрю это, чтобы найти ответ, спасибо. Я никогда не использовал его раньше! –

ответ

2

Вы попробовали beautifulsoup?

from bs4 import BeautifulSoup 
txt = """<ENAMEX TYPE="PERSON">Edward R. Kimmel</ENAMEX>, one of Admiral <ENAMEX TYPE="PERSON">Jack</ENAMEX>'s twosurviving sons and...""" 
soup = BeautifulSoup(txt,"html.parser") 
for i in soup.findAll(attrs={'type' : 'PERSON'}): 
    print(i.text) 
+0

Работало :)))) –

0

Просто используйте .findall

import re 
x = '"<ENAMEX TYPE="PERSON">Edward R. Kimmel</ENAMEX>, one of Admiral <ENAMEX TYPE="PERSON">Jack</ENAMEX>"' 
mac = [] 
mac = re.findall("TYPE=\"PERSON\">(.+?)<",x) 


for i in mac: 
    print "PERSON "+i 
Смежные вопросы