python正则去除所有html标签只保留内容
时间: 2023-09-22 07:15:24 浏览: 142
可以使用Python中的re模块和正则表达式来去除HTML标签,只保留内容。具体方法如下:
```python
import re
def remove_html_tags(html):
# 定义正则表达式
pattern = re.compile(r'<[^>]+>')
# 去除HTML标签
result = pattern.sub('', html)
# 返回结果
return result
```
`remove_html_tags`函数接收一个包含HTML标签的字符串作为参数,使用正则表达式去除所有HTML标签并返回结果。在正则表达式中,`<[^>]+>`代表匹配所有的HTML标签。`sub`方法可以将匹配到的内容替换为空字符串,即去除HTML标签。
相关问题
python正则去除所有html标签只保留内容写入到csv
可以使用Python中的re模块和csv模块来实现这个功能。
首先,我们需要读取HTML文件并使用正则表达式删除所有HTML标签。然后,我们将清理后的文本写入CSV文件中。
下面是一个示例代码:
```python
import re
import csv
# 读取HTML文件
with open('example.html', 'r', encoding='utf-8') as f:
html_text = f.read()
# 删除HTML标签
clean_text = re.sub('<.*?>', '', html_text)
# 将清理后的文本写入CSV文件中
with open('example.csv', 'w', newline='', encoding='utf-8') as f:
writer = csv.writer(f)
writer.writerow(['Content'])
writer.writerow([clean_text])
```
在这个例子中,我们首先使用`open()`函数打开HTML文件并使用`read()`方法读取其内容。然后,我们使用`re.sub()`函数和正则表达式`'<.*?>'`删除所有HTML标签。
最后,我们使用`csv.writer()`函数将清理后的文本写入CSV文件中,其中`writerow()`函数用于写入一行数据,`newline=''`参数用于避免在Windows系统上出现多余的空行。
python通过正则分别删除<img><a><storong>标签并保留内容
可以使用Python的re模块来实现通过正则表达式删除html标签。
以下是一段示例代码,可以去掉<img><a><strong>标签并保留内容:
```python
import re
def remove_html_tags(text):
clean = re.compile('<.*?>')
return re.sub(clean, '', text)
text = "<p><strong>Hello</strong> <a href='http://example.com'>world</a> <img src='image.png'></p>"
result = remove_html_tags(text)
print(result)
```
输出:
```
Hello world
```
其中,`<.*?>`是一个正则表达式,表示匹配所有的html标签。`re.sub()`方法可以用来替换字符串中的匹配项,这里用它来将匹配到的html标签替换成空字符串。
阅读全文