在Python中使用正则表达式去掉字符串里的html标签

用python处理html代码的转义与还原

转义 escape:

import html
s = cgi.escape("""& < >""")
print(s)
>>>  '& < >'

反转义 unescape:

#使用标准库
import html
s = html.unescape('& < >')  
print(s)
>>> '& < >'

有时候会获得一些带html标签的字符串,需要把html标签去掉,获得干净的字符串,这时候可以使用正则表达式。

代码如下:

import re
htmeString = '''<ul id="TopNav"><li><a href="/EditPosts.aspx" id="TabPosts">随笔</a></li>
        <li><a href="/EditArticles.aspx" id="TabArticles">文章</a></li>
        <li><a href="/EditDiary.aspx" id="TabDiary">日记</a></li>
        <li><a href="/Feedback.aspx" id="TabFeedback">评论</a></li>
        <li><a href="/EditLinks.aspx" id="TabLinks">链接</a></li>
        <li id="GalleryTab"><a href="/EditGalleries.aspx" id="TabGalleries">相册</a></li>
        <li id="FilesTab"><a href="Files.aspx" id="TabFiles">文件</a></li>
        <li><a href="/Configure.aspx" id="TabConfigure">设置</a></li>
        <li><a href="/Preferences.aspx" id="TabPreferences">选项</a></li></ul>'''
# 方法 1
pre = re.compile('>(.*?)<')
s1 = ''.join(pre.findall(htmlString))
print(s1)   # '随笔文章日记评论链接相册文件设置选项'
# 方法 2
s2 = re.sub(r'<.*?>','',htmlString)
print(s2)   # '\n\n随笔\n文章\n日记\n评论\n链接\n册\n文件\n设置\n选项\n\n'
# 再用str.replace()函数去掉'\n'
s2 = s2.replace('\n','')
print(s2)   # '随笔文章日记评论链接相册文件设置选项'
(0)

相关推荐

  • Python正则表达式初识(一)

    作者 Python进阶者 首先跟大家简单唠叨两句为什么要学习正则表达式,为什么在网络爬虫的时候离不开正则表达式.正则表达式在处理字符串的时候扮演着非常重要的角色,在网络爬虫的时候也十分常用,大家可以把 ...

  • 第67天:PyQuery 详解

    PyQuery 库是一个非常强大又灵活的网页解析库,如果你有前端开发经验,那么你应该接触过 jQuery ,那么 PyQuery 就是你非常绝佳的选择,PyQuery 是 Python 仿照 jQue ...

  • 前端教程:JavascriptString对象

    String对象与一系列字符和包装JavaScript的字符串原始数据类型一些辅助方法. 因为JavaScript字符串元和String对象之间自动转换,可以调用任何String对象的字符串原始的辅助 ...

  • python爬虫整理| 原来我曾经拥有过这么多爬虫啊

    一.requests模块的学习 使用事前:pip install requests 1)发送get,post请求,获取相应: response = requests.get(url) #发送get请求 ...

  • 说说Python中的正则表达式?

    公众号新增加了一个栏目,就是每天给大家解答一道Python常见的面试题,反正每天不贪多,一天一题,正好合适,只希望这个面试栏目,给那些正在准备面试的同学,提供一点点帮助! 小猿会从最基础的面试题开始, ...

  • 【Python】长文详解python中的正则表达式

    0 引言 正则表达式(Regular Expression, RE)就是一组定义某种搜索模式(pattern)的字符. 最简单的 RE 例子如下. 'steven' 很明显,这样一个 RE 只能搜索出 ...

  • 再见,python中的正则表达式

    从一段指定的字符串中,取得期望的数据,正常人都会想到正则表达式吧?写过正则表达式的人都知道,正则表达式入门不难,写起来也容易.但是正则表达式几乎没有可读性可言,维护起来,真的会让人抓狂,别以为这段正则 ...

  • Python中什么是有序序列?列表元组及字符串

    Q:Python中的列表.元组.字符串是有序序列吗? A:当然,列表.元组.字符串是Python中的有序序列,其中列表是可变对象,元组和字符串是不可变对象,接下来我们一起来看看具体的内容介绍吧. 什么 ...

  • 面试题-re正则表达式替换字符串中的英文和数字

    题目 字符串 s="hello 1234 world xx 上海 18 悠悠",用正则过滤掉英文和数字 得到:上海  悠悠 sub 过滤 re正则表达式中,过滤字符可以用替换的方法 ...

  • 说说Python中字符串大小写转换?

    公众号新增加了一个栏目,就是每天给大家解答一道Python常见的面试题,反正每天不贪多,一天一题,正好合适,只希望这个面试栏目,给那些正在准备面试的同学,提供一点点帮助! 小猿会从最基础的面试题开始, ...

  • 说说Python中连接字符串用join还是+?

    公众号新增加了一个栏目,就是每天给大家解答一道Python常见的面试题,反正每天不贪多,一天一题,正好合适,只希望这个面试栏目,给那些正在准备面试的同学,提供一点点帮助! 小猿会从最基础的面试题开始, ...

  • python中列表,元组,字符串如何互相转换

    python中有三个内建函数:列表,元组和字符串,他们之间的互相转换使用三个函数,str(),tuple()和list(),具体示例如下所示:>>> s = "xxxxx& ...

  • 京剧《狮吼记》好夫妻理当在家中厮守,帐幔里度春光君子好逑!

    京剧《狮吼记》好夫妻理当在家中厮守,帐幔里度春光君子好逑!