正则表达式 - python html 标签剔除
黄舟
黄舟 2017-04-17 13:52:02
[Python讨论组]

例如

【11月25日 AFP】バラク・オバマ(<a href=\"http://www.afpbb.com/search?fulltext=Barack%20Obama&category%5B%5D=AFPBB>%E8%A8%98%E4%BA%8B&category%5B%5D=%E3%83%AF%E3%83%BC%E3%83%AB%E3%83%89%E3%82%AB%E3%83%83%E3%83%97&category%5B%5D=%E4%BA%94%E8%BC%AA\">Barack Obama</a>)米大統領は24日

期待抽取结果是:AFP】バラク・オバマ(Barack Obama)米大統領は24日

_EXTRA_HTML_TAGS_RE = re.compile(r'<(\/)?(a|b).*?>', re.IGNORECASE)
text = = _EXTRA_HTML_TAGS_RE.sub('', text)

实际结果为:AFP】バラク・オバマ(%E8%A8%98%E4%BA%8B&category%5B%5D=%E3%83%AF%E3%83%BC%E3%83%AB%E3%83%89%E3%82%AB%E3%83%83%E3%83%97&category%5B%5D=%E4%BA%94%E8%BC%AA">Barack Obama)米大統

链接里的>影响了正则匹配,如何写这个正则才能达到预期输出结果,同时,又满足之前的功能

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(1)
PHP中文网
preg = re.compile(r'<(.+?) .*>(.+?)<\/\1>', re.IGNORECASE)
preg.sub(r'\2', text)

不过推荐还是用专门的HTML解析工具去做这件事,随便搜到一个就顺手推荐一下叻:http://old.zope.org/Members/chrisw/StripOGram/readme/

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号