• re正则常用示例积累


    2019-12-7

    import re
    
    '''
    示例1: 提取网站的网址
    
    '''
    urls = ['https://blog.csdn.net/xxcupid/article/details/51993235',
            'https://mbd.baidu.com/newspage/data/landingsuper?context=%7B%22nid%22%3A%22news_9142246589774289071%22%7D&n_type=0&p_from=1',
            'https://www.jd.com/?cu=true&utm_source=baidu-pinzhuan&utm_medium=cpc']
    result = []
    for url in urls:
        result.append(re.sub(r"(https://.*?)/.*", lambda x: x.group(1), url))
    print(result)  # ['https://blog.csdn.net', 'https://mbd.baidu.com', 'https://www.jd.com']
    
    '''
    说明:
         (1) 使用了re.sub(p,f,s)方法,对匹配的内容进行替换, 本例f返回分组内容
         (2)  正则分组, group(1) 就是抽取第一个分组的内容
         (3) 取消贪婪模式
         (4) lambda表达式     入参:返回结果
    
    '''
    
    
    
    '''
        示例2: 获取句子中的单词
    '''
    
    s= 'this is s dog'
    
    r =  re.split(r"s+",s)  # 使用split进行切分
    print(r)  # ['this', 'is', 's', 'dog']
    
    r =  re.findall(r"w+",s)  # 两个代表单词的左右边界,w+ 单词
    print(r)  # ['this', 'is', 's', 'dog']
    
    """
        总结:
            re.split()方法是从分隔符的角度去考虑
            re.findAll()方法是从描述单词特征的角度去考虑
    
    """

    未完待续。。。。

  • 相关阅读:
    ZT 安卓手机的安全性 prepare for Q
    ZT pthread_cleanup_push()/pthread_cleanup_pop()的详解
    <Lord don’t move that mountain>
    C++浅拷贝和深拷贝的区别
    001 Python简介 输入输出
    016 可等待计时器对象.6
    016 EventDemo 5
    016 事件内核对象4
    016 内核对象的Signal状态3
    016 句柄2
  • 原文地址:https://www.cnblogs.com/z-qinfeng/p/12003369.html
Copyright © 2020-2023  润新知