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"\b\w+\b",s)  # 两个\b代表单词的左右边界,\w+ 单词
print(r)  # ['this', 'is', 's', 'dog']

"""
    总结:
        re.split()方法是从分隔符的角度去考虑
        re.findAll()方法是从描述单词特征的角度去考虑

"""

 

未完待续。。。。

 

 

 

 

posted on 2019-12-07 21:00  显示账号  阅读(192)  评论(0编辑  收藏  举报