Сводка: Какую строку регулярного выражения я бы использовал для удаления тегов в документе HTML?Хотя это может быть дубликатом предыдущего ответа: Как удалить только HTML-теги в строке? и Удалить HTML-теги в строке , я пока не могу полностью программировать на этих языкахВот почему я задаю вопрос.
Я выполняю Python Exercise от Google: https://developers.google.com/edu/python/exercises/baby-names он требует двух разборов HTML-данных с использованием регулярных выражений (HTML структурирован, поэтому его проще).У меня возникли проблемы при удалении тегов, окружающих данные:
def extract_names(filename):
"""
Given a file name for baby.html, returns a list starting with the year string
followed by the name-rank strings in alphabetical order.
['2006', 'Aaliyah 91', Aaron 57', 'Abagail 895', ' ...]
"""
# +++your code here+++
#open and read file
file = open(filename,'r')
HTML = file.read()
#html file
#print(HTML)
#extract date
date = re.search(r'(Popularity in )([\d]+)',HTML)
print('Date: ',date.group(2))
#find rank and name remove html tags
ranking_tags = re.findall(r'<td>[\d]</td>',HTML)
rankings = []
name_tags = re.findall(r'<td>[a-z]</td>',HTML,re.IGNORECASE)
names = []
for value in ranking_tags:
rankings.append(re.sub('[<td></td>]','',value))
for value in name_tags:
names.append(re.sub('[<td></td>]','',value))
print(rankings)
print(names)
В настоящее время мое регулярное выражение не заменяет теги, поскольку они ошибочны.Я уже пытался научить себя, как убрать метки, но безрезультатно: http://www.cbs.dtu.dk/courses/27610/regular-expressions-cheat-sheet-v2.pdf и https://www.tutorialspoint.com/python/python_reg_expressions.htm, а также посмотреть на другие достопримечательности, прежде чем писать это.
Любые предложения будут очень полезныоценили.