爬虫小知识(三):正则表达式匹配中文

目前我用过的正则表达式匹配中文的方法有两种:

1.re.compile(’[\u4E00-\u9FA5]’)

实例:
>>> text = """【傅首尔打董婧】《奇葩说》辩手<a href="https://m.weibo.cn/p/searchall?containerid=231522type%3D1%26q%3D%23%E8%91%A3%E
5%A9%A7%23%26t%3D10&luicode=10000011&lfid=100103type%3D60%26q%3D%E5%82%85%E9%A6%96%E5%B0%94%E6%89%93%E8%91%A3%E5%A9%A7%26t%3D0" dat
a-hide=""><span class="surl-text">#董婧#</span></a>发文自曝在化妆间被<a href="https://m.weibo.cn/p/searchall?containerid=231522type
%3D1%26q%3D%23%E5%82%85%E9%A6%96%E5%B0%94%23%26t%3D10&isnewpage=1&luicode=10000011&lfid=100103type%3D60%26q%3D%E5%82%85%E9%A6%96%E5
%B0%94%E6%89%93%E8%91%A3%E5%A9%A7%26t%3D0" data-hide=""><span class="surl-text">#傅首尔#</span></a>打骂,称其不准化妆师为自己化妆,
多次咒骂后直接冲上来厮打,导致自己左膝盖和右大腿都被踹破皮淤青<span class="url-icon"><img alt="[傻眼]" src="//h5.sinaimg.cn/m/emoti
con/icon/default/d_shayan-e51a9b4069.png" style="width:1em; height:1em;"/></span>随后傅首尔发文称:“在忍受烂人的过程里,没有成长,
只有膈应”,“很想知道小人宣扬真善美宽容和爱的时候是什么心态,给自己 ​...<a href="/status/4286417041490268">全文</a>"""
>>> pattern = re.compile('[\u4E00-\u9FA5]')
>>> after_findall_text = ''.join(pattern.findall(text))
>>> after_findall_text
'傅首尔打董婧奇葩说辩手董婧发文自曝在化妆间被傅首尔打骂称其不准化妆师为自己化妆多次咒骂后直接冲上来厮打导致自己左膝盖和右大腿都被踹
破皮淤青傻眼随后傅首尔发文称在忍受烂人的过程里没有成长只有膈应很想知道小人宣扬真善美宽容和爱的时候是什么心态给自己全文

2.re.sub()

实例:
>>> text = """【傅首尔打董婧】《奇葩说》辩手<a href="https://m.weibo.cn/p/searchall?containerid=231522type%3D1%26q%3D%23%E8%91%A3%E
5%A9%A7%23%26t%3D10&luicode=10000011&lfid=100103type%3D60%26q%3D%E5%82%85%E9%A6%96%E5%B0%94%E6%89%93%E8%91%A3%E5%A9%A7%26t%3D0" dat
a-hide=""><span class="surl-text">#董婧#</span></a>发文自曝在化妆间被<a href="https://m.weibo.cn/p/searchall?containerid=231522type
%3D1%26q%3D%23%E5%82%85%E9%A6%96%E5%B0%94%23%26t%3D10&isnewpage=1&luicode=10000011&lfid=100103type%3D60%26q%3D%E5%82%85%E9%A6%96%E5
%B0%94%E6%89%93%E8%91%A3%E5%A9%A7%26t%3D0" data-hide=""><span class="surl-text">#傅首尔#</span></a>打骂,称其不准化妆师为自己化妆,
多次咒骂后直接冲上来厮打,导致自己左膝盖和右大腿都被踹破皮淤青<span class="url-icon"><img alt="[傻眼]" src="//h5.sinaimg.cn/m/emoti
con/icon/default/d_shayan-e51a9b4069.png" style="width:1em; height:1em;"/></span>随后傅首尔发文称:“在忍受烂人的过程里,没有成长,
只有膈应”,“很想知道小人宣扬真善美宽容和爱的时候是什么心态,给自己 ​...<a href="/status/4286417041490268">全文</a>"""
>>> after_sub_text = re.sub('<span.*?>|</span>|<img.*?>|<br />|<a.*?>|</a>', '', text)
>>> after_sub_text
'【傅首尔打董婧】《奇葩说》辩手#董婧#发文自曝在化妆间被#傅首尔#打骂,称其不准化妆师为自己化妆,多次咒骂后直接冲上来厮打,导致自己左
膝盖和右大腿都被踹破皮淤青随后傅首尔发文称:“在忍受烂人的过程里,没有成长,只有膈应”,“很想知道小人宣扬真善美宽容和爱的时候是什
么心态,给自己 \u200b...全文'

3.总结:

可以看到,使用第一种方法的话,标点符号是匹配不出来的(有知道怎么匹配出来的大佬,麻烦告诉一下),所以一般情况下,不推荐第一种,个人倾向第二种,巧妙利用sub代替了多余的标签

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值