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()方法是从描述单词特征的角度去考虑 """
未完待续。。。。
日拱一卒无有尽,功不唐捐终入海