Python 正则表达式之爬取古诗文名句 概述: 山有木兮木有枝,心悦君兮君不知。 概念介绍: 正则表达式:正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。简单来说就是利用事先规定好的符号规则进行组合,然后过滤匹配,得到自己想要的数据! Python 正则表达式:import导入re模块使 Python 语言拥有全部的正则表达式功能。 基本知识: 正则表达式常用字符: 元字符 含义 . 匹配一个除了\n的任意字符 * 匹配前面的表达式0次或者任意次 ? 匹配前面的表达式0次或者1次 最多一次 + 匹配前面的表达式1次或者任意次 最少一次 () 只返回匹配的内容 .* 贪婪匹配,一直匹配到最后一个 .*? 非贪婪匹配,匹配到第一个及结束 {n} 匹配n次 \d 匹配任何一个数字 D为不匹配任何数字 \w 匹配任何一个字母 W为不匹配任何数字 Python 正则表达式常用函数 函数 含义 re.findall 可以获取字符串中所有匹配的字符串,返回一个数组 re.S 忽略换行 re.I 忽略大小写 本地爬取: 首先本地保存文件1.txt,里面保存的时我比较喜欢的一首诗 When you are old. import re #导入正则匹配模块 text = '' file = open('1.txt') #打开本地文档 for line in file: #line =line.strip('\n') 如果想过滤掉每行换行符,可以加该语句 text = text + line #将每一行取出,放到text里 file.close() result = re.findall(' a\w*