【发布时间】:2019-05-12 05:48:29
【问题描述】:
我正在尝试使用正则表达式来提取给定 HTML 代码行中的开始标记。在以下几行中,我希望在第一行中仅将“body”和“h1”作为开始标签,在第二行中将“html”、“head”和“title”作为开始标签:
我已经尝试使用以下正则表达式来做到这一点:
start_tags = re.findall(r'<(\w+)\s*.*?[^\/]>',line)
'<body data-modal-target class=\'3\'><h1>Website</h1><br /></body></html>'
'<html><head><title>HTML Parser - II</title></head>'
但我第一行的输出是:['body','h1','br'],而我不希望捕获 'br',因为我排除了 '/'。
第二行是['html','title'],而我也希望能抓住'head'。如果您让我知道我的代码的哪一部分是错误的,那将是一种很好的方式?
【问题讨论】:
标签: regex tags extract regex-group regex-greedy