【Python】正则表达式案例

本文详细介绍了如何通过特定的字符串模式来判断一篇文章是否为腾讯原创,包括版权申明、作者归属和内容出品等关键信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考链接:
https://baijiahao.baidu.com/s?id=1633792644929614025&wfr=spider&for=pc

匹配寻找特定字符串,该字符串的开头和末尾固定,中间要控制在特定范围的字符数

案例:

判断文章是否为腾讯原创,特征样例有如下:

(1)(【版权声明】|版权声明|【声明】|声明|本作品|本文|此文) … 腾讯…(不得转载|禁止转载|谢绝转载)

(2)腾讯…讯(但是要排除 腾讯xxxx腾讯 这种情况),比如 如下这种就不能算原创特征:

免责声明:本文来自腾讯新闻客户端自媒体,不代表腾讯新闻、腾讯网的观点和立场。

(3)…出品| 腾讯新闻
(4)作者为腾讯xxx
(5)腾讯xx (文/xx) 腾讯xx (撰写/xx)

def judge_original_for_tencent(author,content):
    content = content.replace("\n","")
    regex_str_list = [
        r'腾讯.{0,10}[^腾]讯',
        #r'腾讯.{0,10}讯',
        r'腾讯.{0,20}(文/|撰写/|/文).{0,10})',
        r'(【版权声明】|【声明】|版权声明|声明|本文|此文|本作品|权责声明).{0,50}腾讯.{0,70}(法律责任|不得转载|谢绝转载|禁止转载|转载)',
        r'出品.{0,20}腾讯',
    ]
    head_tags = ["腾讯体育","腾讯娱乐","腾讯科技"]
    for reg_str in regex_str_list:
        regex_obj = re.compile(reg_str)
        matchObj = regex_obj.search(content)
        if matchObj:
            return matchObj[0]
    if "腾讯" in author:
        return "作者为: " + author
    for head_tag in head_tags:
        if head_tag in content[:100]:
            return head_tag
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值